2013-04-05 99 views
1

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

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

回答

2

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

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

+1

谢谢,这有助于。此外,这里是[另一个链接](http://www.learnopengles.com/android-lesson-seven-an-introduction-to-vertex-buffer-objects-vbos/)VBO特定于Android/Java OpenGL ES使用情况的信息有一些很好的例子。 – khiner 2013-04-06 02:40:02

1

你也可以将你的表面三角化为条而不是风扇。它将允许您使用退化三角形并将您的绘图调用分组到一个中。

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

+0

这不仅仅是一个答案而是一个评论。 – 2014-10-17 22:07:41

+0

啊我没有足够的声望发表评论:( – Milo 2014-10-17 22:26:02

+0

似乎像一个捕获22,但获得这种声誉的最佳方式是提出良好的问题,给出良好的答案,并对有问题的文本进行良好的编辑。每天限制200个信誉,并且奖励和接受的答案不在此限制范围内;) – 2014-10-17 22:36:49

相关问题