9

如何使用单个 VBO 绘制多条单独的线?

4

2 回答 2

19

glDrawElements(GL_LINES, ..., ..., ...);

于 2011-04-28T15:37:03.040 回答
8

在 OpenGL-3.1 及更高版本中,有一个称为原始重启的功能。它通过指定一个特殊的顶点数组元素索引来工作,该索引导致当前图元重新启动。这样一个元素数组就可以绘制多个 GL_LINE_STRIP、GL_LINE_LOOP、GL_TRIANGLE_FAN、GL_TRIANGLE_STRIP、GL_QUAD_STRIP。

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

这主要基于 NV_primitive_restart 扩展:http ://www.opengl.org/registry/specs/NV/primitive_restart.txt

除此之外,您可以使用不共享顶点的原始类型并稍微放大元素索引数组。

于 2011-04-28T16:25:28.987 回答