glFramebufferTexture2D性能

时间:2010-06-14 07:39:27

标签: iphone opengl-es framebuffer render-to-texture

我正在使用GPU进行繁重的计算,这涉及大量的渲染到纹理操作。这是一个迭代计算,因此对纹理进行大量渲染,然后将纹理渲染到另一个纹理,然后将第二个纹理渲染回第一个纹理,依此类推,每次都将纹理传递到着色器。

我的问题是:为每个想要渲染的纹理都有一个单独的FBO,或者我应该更好地拥有一个FBO并且每当我想要更改渲染目标时使用glFramebufferTexture2D绑定目标纹理?

我的平台是iPhone上的OpenGL ES 2.0。

3 个答案:

答案 0 :(得分:6)

在iPhone实现上,假设旧的和新的纹理是相同的尺寸/格式/等,更改附件是便宜的。否则,驱动程序必须做一些额外的工作来重新配置帧缓冲区。

答案 1 :(得分:3)

AFAIK,只使用一个FBO,并根据需要更改纹理附件,可以获得更好的性能。

答案 2 :(得分:0)

最好的方法是做基准。