OpenGL颜色索引模式不工作,颜色贴图大小为0

OpenGL颜色索引模式不工作,颜色贴图大小为0,opengl,color-mapping,Opengl,Color Mapping,我正在学习一些OpenGL,我已经找到了一个使用颜色索引模式的例子。在第6章中,示例6-4建立了颜色索引模式下的线条反序列化。我在中编写了代码并进行了编译。代码运行,但问题是应该着色的行只是白色的。我在init()函数中插入了这一行: printf("The size of the color map is %d entries\n", glutGet(GLUT_WINDOW_COLORMAP_SIZE)); 哪个打印的“彩色地图的大小为0个条目” 我是否初始化错误,或者我的OpenGL实现是

我正在学习一些OpenGL,我已经找到了一个使用颜色索引模式的例子。在第6章中,示例6-4建立了颜色索引模式下的线条反序列化。我在中编写了代码并进行了编译。代码运行,但问题是应该着色的行只是白色的。我在init()函数中插入了这一行:

printf("The size of the color map is %d entries\n", glutGet(GLUT_WINDOW_COLORMAP_SIZE));
哪个打印的“彩色地图的大小为0个条目”


我是否初始化错误,或者我的OpenGL实现是否真的没有任何颜色索引颜色映射条目?这么没用吗?这很奇怪吗?

颜色索引模式从未真正起作用,而且当前的OpenGL实现也不支持它。最好的情况下,您可以使用一些软件回退。最坏的情况是你得到了丑陋的渲染。别费心了,把那一章全部跳过


另外,您正在阅读的指南已经严重过时。

不要。曾经使用。颜色指数模式别这样。这是完全不赞成的。我编辑了你文章的标题,使之更便于搜索。我希望你能接受。我希望每个搜索“OpenGL颜色索引模式”的人都能找到这个,这样他们就知道不应该使用它。它似乎仍然作为一个选项出现在Windows
PIXELFORMATDESCRIPTOR
结构中。这显然并不意味着实现支持它。当然也不是说任何人都应该使用它。大约5年前,当它最初在Mac OS中被删除时,人们发出了强烈的抗议,因为人们仍然在玩一款旧游戏(暗黑破坏神?),它显然在使用它。我相信它是在那个时候放回去的,但我相信它已经很久没有了。@RetoKoradi:如果微软关心一件事的话,那就是它的向后兼容性。如果它们在一个结构中引入了一些标志或元素,那么只要存在对使用这些结构的API的支持,这些标志或元素就会存在。但是,SetPixelFormat必须选择给定系统配置实际支持的像素格式。@datenwolf谢谢。对于《指南》时代的价值,我计划在完成这项工作后,投入到更现代的openGL中。红皮书涵盖了很多基础知识,希望能帮助我以后理解更高级的东西。