使用TRIANGLE_FAN的OpenGL ES退化三角形?

时间:2013-04-05 04:13:34

标签: android performance opengl-es

在OpenGL ES中,是否可以使用退化三角形(带有0区域的三角形)来分离顶点数组中的TRIANGLE_FAN对象?或者这只能用TRIANGLE_STRIP吗?

如果答案是否定的,那么将多个TRIANGLE_FAN顶点数组绘制调用的最佳方法放在一个?

2 个答案:

答案 0 :(得分:2)

你是对的,答案是否定的,因为所有三角形扇形三角形共享相同的顶点。

如果您想批量处理多个三角形粉丝,最好使用Vertex Buffer Objects或VBO与GL_TRIANGLES模式。将会有一个小的索引缓冲区开销,但它会提供更好的灵活性。

答案 1 :(得分:1)

您还可以将表面三角测量为条带而不是扇形。它允许您使用退化三角形并将绘制调用批处理为一个。

如果你的表面是n-gon,那很简单。只需更改顶点创建的顺序即可。而不是围绕中心,选择一个顶点开始并通过在两侧迭代生成其他顶点。以下是Hexagon的示例。左图使用三角形条,中间使用扇形。