OpenGL的glColorPointer重复颜色吗?
题
想象一下,你有这些家伙中的一个:
结果 <子>(来源: codesampler.com )子>
阿卡GL_TRIANGLE_STRIP。如果您在使用不同的颜色想的颜色,你可以使用:
glColorPointer(4, GL_UNSIGNED_BYTE, 0, colorArray);
glEnableClientState(GL_COLOR_ARRAY);
其中每个“项目”的颜色阵列中的条的顶点匹配。但是,如果颜色的两个不同颜色之间交替刚?感觉没有必要来定义颜色为每个顶点,如果只有两个“真正的”不同的颜色。所以我的问题是,如果有可能在它来定义只有两个颜色的colorArray,并以某种方式使这两个之间的OpenGL交替时,它的循环在顶点数组。
和亲爱的,我在OpenGL的一个完整的小白,所以也许这是一个愚蠢的问题...
解决方案
您可以通过使用的OpenGL颜色索引模式下做到这一点。但是,要知道,在我的经验,这其实是最先进的显卡不仅仅是指定每个顶点颜色慢。
在颜色索引模式下,发送单独的颜色阵列,则每一个顶点指定一个索引到阵列,而不是一个完整的RGB / RGBA。因为在大多数的硬件驱动程序优化它更高效的存储器,但并不
其他提示
您可以使用一个顶点着色器通过在布尔标志发送每个顶点描述是什么颜色做到这一点。真正最简单的/最快的东西可能只是提交颜色为每个顶点。
如果OpenGL的必须有多个顶点流和索引可能工作(也可能不会是值得的)的能力。
不隶属于 StackOverflow