OpenGL:用VBO绘制线条

时间:2011-04-28 15:24:45

标签: opengl lines vbo

如何使用单个VBO绘制几个单独的行?

2 个答案:

答案 0 :(得分:19)

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

答案 1 :(得分:8)

在OpenGL-3.1及更高版本中,有一个名为 primitive restart 的功能。它的工作原理是指定一个特殊的顶点数组元素索引,该索引会导致重新启动当前基元。这样,单个元素数组允许绘制多个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

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

相关问题