多个glPrimitiveRestartIndex调用

Gut*_*gao 1 opengl

我已经将我要用GL_TRIANGLE_FAN绘制的多个多边形加载到我的顶点数组中.我试图通过一次调用glDrawArrays并使用glPrimitiveRestartIndex来指定这个,以指定新多边形的开始位置.我可以多次调用glPrimitiveRestartIndex吗?例如,如果我已经加载了3个8个顶点的多边形(总共24个顶点).我可以这样做:

glPrimitiveRestartIndex(8);
glPrimitiveRestartIndex(16);
Run Code Online (Sandbox Code Playgroud)

然后调用glDrawArrays?似乎没有用.似乎OpenGL只考虑了对glPrimitiveRestartIndex的最后一次调用.

Nic*_*las 5

只有一个原始重启索引.该glPrimitiveRestartIndex函数设置一个重启索引.

想想看:你如何把一个指数(这样它不再是重启指数),如果有不止一个人?

不要glDrawArrays与原始重启一起使用.

  • @Guto:重启索引是从索引缓冲区提取时(提示提示)实际上没有指定顶点的索引.相反,它意味着应该重新启动基元.因此,如果将重启索引设置为65535,并将{0,1,2,3,4,6535,5,6,7,8}绘制为"GL_TRIANGLE_STRIP",则将获得5个三角形.前5个索引中的前三个,以及后一个4. 65535中的后两个是重启的说法. (3认同)
  • 首先,它是原始的重启** index **,因此它只影响索引模式,即`glDrawElements`,而不会影响`glDrawArrays`。其次,它用于指定表示原始值结束(重新启动原始值)的索引值。 (2认同)