使用glPrimitiveRestartIndex绘制GL_LINE_LOOPS

时间:2013-01-18 08:35:45

标签: opengl primitive

我对glPrimitiveRestartIndex以及如何使用它有一些疑问。基本上,我想用GL_LINE_LOOP绘制一些轮廓,其顶点存储在一个数组中。 我已经阅读了OpenGL超级圣经中有关使用glPrimitiveRestart的章节,但对我来说并不是很清楚。 根据我的理解,你只能使用glDrawElements这个函数,而不是glDrawArrays通过在数组中存储“spectial vertex”...这是正确的吗? 另外,如果轮廓/线环具有不同的顶点数量,如何使用glPrimitiveRestart ...假设一个循环位于z = 100平面中,其中有40个顶点,另一个环位于z = 99 -plane,只有16个顶点。 我怎样才能设置glPrimitiveRestartIndex,以便正确呈现不同的循环?

1 个答案:

答案 0 :(得分:2)

您没有将重启索引设置为您现有的顶点索引之一,您选择一个不用作索引的值,并在基元之间插入。

显然,如果你没有使用索引绘图,它将无效。