变换反馈和glMultiDrawArrays之间的相互作用?

时间:2015-02-24 21:25:11

标签: opengl transform-feedback

我有一个绘制缓冲区和一个相同长度的变换反馈缓冲区(比如1000个顶点),但绘制缓冲区不是连续的 - 例如我感兴趣的数据是索引0-100和900 -1000。现在我宁愿不处理额外的800个顶点或进行两次绘制调用,所以我使用glMultiDraw *将两个范围一起批处理。我还没有找到文档,说明转换反馈是否会被类似地填充(索引0-100和900-1000中的数据),浓缩成连续的部分(0-100,101-201),或完全不同的东西。有谁知道会发生什么,或者在文档中指定了这种行为?

1 个答案:

答案 0 :(得分:0)

转换反馈存储基元。对于在glBeginTransformFeedback / glEndTransformFeedback块中呈现的每个基元,它将按顺序将其中的每个顶点写入绑定反馈缓冲区。它没有索引的概念,从更高级的绘制模式(GL_LINE_STRIPGL_TRIANGLE_STRIP等)生成的基元被分成最基本的基本类型:GL_POINT,{{1 }和GL_LINE

更多阅读:https://www.opengl.org/wiki/Transform_Feedback