2011-04-28 170 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