2017-02-20 130 views
0

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

out vec4 out0; 
out vec4 out1; 

而且我已经生成了他们两个缓冲对象:

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

我如何可以绑定id0out0id1out1

我试过glBindBuffersBaseglBindBufferRange,但似乎也没有这样做。

+0

您使用的是桌面OpenGL还是OpenGL ES? –

+0

我正在使用桌面。有什么区别? –

回答

1

使用GL_SEPARATE_ATTRIBS作为bufferMode参数为glTransformFeedbackVaryings,您将得到每个输出的一个缓冲绑定点。但是,请注意,变换反馈缓冲区的数量是最大的,所以如果要同时捕获大量输出,这并不总是奏效。

一旦你这样做了,那么你需要为每个变换反馈位置绑定一个缓冲区GL_TRANSFORM_FEEDBACK_BUFFER

+0

这解决了我的问题!谢谢! –