跳过元素缓冲区中的索引

时间:2018-03-07 05:55:17

标签: c++ opengl glsl

所以我记得有一个opengl函数,你可以调用它来设置你的元素缓冲区中可能会导致opengl跳过三角形的索引值。

如果您的跳过值为-1,则可以有3个三角形,但要删除一个。

元素缓冲区对象:1 2 3 -1 -1 -1 3 2 4

我希望我能明白我的观点。我无法在线找到这个功能。

1 个答案:

答案 0 :(得分:1)

您不能只跳过索引列表中的顶点。有primitive restart功能,允许特定索引表示“启动新原语”。但这与跳过顶点不同。

如果您正在绘制GL_TRIANGLES基元,并且想要更改索引列表以使某些三角形不显示,则只需重复相同的索引3次。这将生成一个没有区域的三角形,并且由于您使用了相同的索引,因此VS只需要调用一次。如果您使用与前一个三角形的最后一个索引相同的索引,则根本不需要为任何缺失的三角形顶点调用VS:

1 2 3 3 3 3 3 2 4

对于三角形列表,原始重启毫无意义;它的主要用途是创建多个fans/strips,而不必引入退化三角形或新的渲染命令。