OpenGL三角扇

时间:2012-12-24 16:04:53

标签: opengl

我有一个点的顶点缓冲区,它们是每个圆的中心(三角形扇形)。我怎么拿这些,让我们说在这个点周围画10个三角形,然后移动到下一个点?我找不到任何示例代码。

2 个答案:

答案 0 :(得分:6)

如果您使用旧管道,则必须glEnd()然后glBegin()

如果要发出绘制调用,则可以使用原始重启函数,其中索引可以指定为开始新原语。所有归功于datenwolf指出这一点,我已经把它从我的记忆中清空了。

然而,我个人仍然认为你最好只使用索引三角形,然后你可以随时重复使用你想要的任何顶点。它更简单,驱动程序/硬件会感谢你。

(换句话说,不要使用GL_TRIANGLE_FAN - 只需使用GL_TRIANGLES。无论如何都是硬件绘制。

答案 1 :(得分:2)

您可以使用原始重启索引执行此操作。您设置了一个特殊的索引值(通常是用于索引的类型可表示的最大数字)。然后,只要在索引缓冲区中遇到此索引,就会启动一个新的原语,就好像已经发出多次调用glDraw ...一样。

http://www.opengl.org/sdk/docs/man3/xhtml/glPrimitiveRestartIndex.xml