opengl es,ios和三角粉丝

时间:2013-04-13 23:09:22

标签: ios opengl-es vertex-buffer gl-triangle-strip

我目前正在使用带有以下代码的三角形渲染场景:

        glBindVertexArrayOES(_mVertexArrayObjectTriangles);
        glBindBuffer(GL_ARRAY_BUFFER, _mVertexPositionNormalTriangles);
        glDrawElements(GL_TRIANGLES, _mCRBuffer->GetIndexTriangleData()->size(), GL_UNSIGNED_INT, 0);
        glBindBuffer(GL_ARRAY_BUFFER, 0);
        glBindVertexArrayOES(0);

_mVertexArrayObjectTriangles是我的顶点数组对象,包含通过三角形呈现的元素

_mVertexPositionNormalTriangles是我的顶点和顶点法线数组

_mCRBuffer-> GetIndexTriangleData()是我的顶点数组索引数组。这是一个简单的整数数组,它对每个三角形进行编码(a,b,c,a,b,d将编码两个三角形abc和abd)。

一切正常,但我想使用三角扇而不是三角形来渲染我的图元。如何使用类似

之类的东西设置三角形扇形阵列(即多于一个)
glDrawElements(GL_TRIANGLE_FAN, ....

如何设置我的索引数组来索引一组三角形扇形以进行渲染(而不是三角形)。顶点本身不需要改变,只需使用三角形扇形而不是三角形来渲染它们。

我可以找到使用三角形条带(here)的好例子,包括如何设置索引数组,但三角形粉丝没有。

1 个答案:

答案 0 :(得分:1)

从条带更换为风扇非常重要,因为您需要相应地设置数据。你必须有一个中心顶点,所有其他三角形都从这个顶点发出

enter image description here

如果您选择这样做,您只需要以图中所示的方式对顶点进行排序,并确保在具有公共顶点的顶点块中进行顶点。

相关问题