TransformFeedback 绑定多个输出缓冲区

TransformFeedback binding multiple output buffers

我正在使用 GL 的 TransformFeedback 功能。是否可以绑定多个输出缓冲区而不是单个缓冲区?假设我有两个输出变量:

out vec4 out0;
out vec4 out1;

并且我已经为它们生成了两个缓冲区对象:

glGenBuffers(1, &id0);
glGenBuffers(1, &id1);

如何将 id0 绑定到 out0 并将 id1 绑定到 out1

我试过 glBindBuffersBaseglBindBufferRange,但似乎都不行。

使用 GL_SEPARATE_ATTRIBS 作为 glTransformFeedbackVaryingsbufferMode 参数,您将在每个输出中获得一个缓冲区绑定点。但是,请注意变换反馈缓冲区的最大数量,因此如果您想同时捕获大量输出,这并不总是有效。

完成后,您需要为每个变换反馈位置绑定一个缓冲区 GL_TRANSFORM_FEEDBACK_BUFFER