0

我目前通过遍历四边形三角形条并分别绘制每个三角形条来体验非常缓慢的性能,因此我想将所有矩形批处理到一个单独的绘制调用中。

环顾四周,似乎最好的方法是简单地发生复制顶点的开销并使用 GL_TRIANGLES 而不是 GL_TRIANGLE_STRIP,只需为每个矩形绘制两个单独的三角形。

问题是每个矩形都可以有不同的颜色,我需要以编程方式更改任何矩形的颜色。所以简单地使用一个 GL_TRIANGLES 调用并不能解决问题。相反,看起来我需要以某种方式用我的顶点数据索引颜色数据,将颜色与每个矩形相关联。我该怎么办?

谢谢!

4

1 回答 1

2

您可以使用顶点着色。

每个顶点都可以有多个数据通道,包括位置、颜色、(多个)纹理、法线等。

我建议直接交错你的顶点以一个接一个地包含位置和颜色。尽管您可以设置一个单独的仅包含颜色的数组并且也可以这样做(只需确保将颜色与位置正确对齐)。

(这些教程是面向 iPhone 的,但 OpenGL ES 代码应该可以在 Android 上正常工作)

于 2013-04-05T04:03:09.613 回答