2011-04-28 171 views

回答

19

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

+2

是。其实没有什么别的。这是正确的答案。每对点形成一条线。所以,你可以在一个巨大的VBO中存储无限制的行。 – TheBuzzSaw 2011-04-28 16:12:05

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

除此之外可以使用其中顶点不共享的基本类型和炸毁元素索引阵列的位。

+0

glDrawElements应该足够了 - 正如你所说的基本重启在所有版本中都不可用。 – paulm 2014-02-10 13:27:50