在OpenGL ES中,是否可以使用退化三角形(带有0区域的三角形)来分离顶点数组中的TRIANGLE_FAN对象?或者这只能用TRIANGLE_STRIP吗?
如果答案是否定的,那么将多个TRIANGLE_FAN顶点数组绘制调用的最佳方法放在一个?
答案 0 :(得分:2)
你是对的,答案是否定的,因为所有三角形扇形三角形共享相同的顶点。
如果您想批量处理多个三角形粉丝,最好使用Vertex Buffer Objects或VBO与GL_TRIANGLES
模式。将会有一个小的索引缓冲区开销,但它会提供更好的灵活性。
答案 1 :(得分:1)
您还可以将表面三角测量为条带而不是扇形。它允许您使用退化三角形并将绘制调用批处理为一个。
如果你的表面是n-gon,那很简单。只需更改顶点创建的顺序即可。而不是围绕中心,选择一个顶点开始并通过在两侧迭代生成其他顶点。以下是Hexagon的示例。左图使用三角形条,中间使用扇形。