TransformFeedback 绑定多个输出缓冲区
TransformFeedback binding multiple output buffers
我正在使用 GL 的 TransformFeedback 功能。是否可以绑定多个输出缓冲区而不是单个缓冲区?假设我有两个输出变量:
out vec4 out0;
out vec4 out1;
并且我已经为它们生成了两个缓冲区对象:
glGenBuffers(1, &id0);
glGenBuffers(1, &id1);
如何将 id0
绑定到 out0
并将 id1
绑定到 out1
?
我试过 glBindBuffersBase
和 glBindBufferRange
,但似乎都不行。
使用 GL_SEPARATE_ATTRIBS
作为 glTransformFeedbackVaryings
的 bufferMode
参数,您将在每个输出中获得一个缓冲区绑定点。但是,请注意变换反馈缓冲区的最大数量,因此如果您想同时捕获大量输出,这并不总是有效。
完成后,您需要为每个变换反馈位置绑定一个缓冲区 GL_TRANSFORM_FEEDBACK_BUFFER
。
我正在使用 GL 的 TransformFeedback 功能。是否可以绑定多个输出缓冲区而不是单个缓冲区?假设我有两个输出变量:
out vec4 out0;
out vec4 out1;
并且我已经为它们生成了两个缓冲区对象:
glGenBuffers(1, &id0);
glGenBuffers(1, &id1);
如何将 id0
绑定到 out0
并将 id1
绑定到 out1
?
我试过 glBindBuffersBase
和 glBindBufferRange
,但似乎都不行。
使用 GL_SEPARATE_ATTRIBS
作为 glTransformFeedbackVaryings
的 bufferMode
参数,您将在每个输出中获得一个缓冲区绑定点。但是,请注意变换反馈缓冲区的最大数量,因此如果您想同时捕获大量输出,这并不总是有效。
完成后,您需要为每个变换反馈位置绑定一个缓冲区 GL_TRANSFORM_FEEDBACK_BUFFER
。