2011-03-16 87 views
1

我想依次運行多個着色器(主要是圖像處理),其中一個輸出是以下輸入。我想知道是否有性能增益只使用一個綁定到所有需要的紋理的FBO,或者如果爲每個紋理創建一個FBO是相同的?將2個紋理綁定到一個或兩個FBO會更快嗎?

萬一它很重要,目標平臺是iPhone,因此使用OpenGL ES 2.0。

感謝

回答

1

我不熟悉的OpenGL ES,但在PC平臺上它通常最好只使用一個FBO,我不明白爲什麼這應該是對ES(但不同的,我可能會錯誤)。儘管綁定的所有紋理都具有相同的大小(例如,視口大小),對於FBO的完整性非常重要,否則它將不起作用。 通常,您最初將所有紋理附加到一個FBO,然後在每個幀中只更改每次傳遞中的rendertarget通道。這爲您節省了很多由fbo綁定引起的狀態更改。 請注意,可以綁定的紋理的最大數量受GL_MAX_COLOR_ATTACHMENTS_EXT限制。 您也可能會有所幫助:http://www.songho.ca/opengl/gl_fbo.html

乾杯, 萊因霍爾德

相關問題