没有任何代码,首先让我描述问题。使用8个索引顶点时脸部颜色不唯一
我重新创建了旋转立方体的基本教训。第4课学习Webgl http://learningwebgl.com/lessons/lesson04/index.html
该代码有4个顶点,每个面共列出24个顶点。它使用这些24个顶点0-23的索引来执行drawElements(...),并且它使用了24种不同颜色的颜色缓冲区数组。
所以最终结果当然是一个旋转的立方体,每个脸部都分配了不同的颜色。
我所做的事情是,一个立方体实际上只有8个顶点而不是24个。所以我做了一个8个顶点的数组。我重新设置了位置索引数组,以使用0-7的索引而不是0-23的索引。由于我将相同的顺序放置到了原始课程中的脸部创作中,因此我单独离开了颜色缓冲区数组。
当我完成drawElements(...)时,我确实有一个完美的旋转立方体。但立方体着色不正确。每个顶点具有单一颜色,因此只使用前八个颜色数组元素(24个)。基本上,上半部分是一种颜色,下半部分是另一种颜色。立方体的面没有独特的颜色。
问题是:有没有办法给顶点索引分配颜色而不是顶点? 我怀疑我可以在着色器中使用gl_vertexID,但我想我会首先得到一些意见?
谢谢...
感谢您的直接回答。顺便说一句好的教程。我将处理案例二,计算着色器中的脸部颜色。 – SteveWeber 2012-03-17 17:50:26