2017-02-20 113 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

這解決了我的問題!謝謝! –