我用一个绘制调用glDrawElements
绘制了许多不同的三角形。
我将顶点存储在glBufferData
缓冲区中。
我现在可以通过将颜色数据存储在与存储顶点相同的缓冲区中,为每个三角形赋予不同的颜色。然后,我可以使用glVertexAttribPointer
告诉opengl颜色在哪里。在顶点着色器中,我定义了一个属性,然后将其复制到一个变量中,以便将其传递给片段着色器。
这意味着我必须为三角形的每个顶点定义颜色。所以我必须定义3种颜色,但每个三角形只需要1种颜色。
有没有一种方法可以更有效地做到这一点?有关系吗我可以在服务器端缓冲区内为每个三角形存储1种颜色吗?