我需要一个以给定纹理开头的着色器,然后每个动画帧都在着色器的上一个输出加上其他输入上运行。
如何组织帧缓冲区,以便每个帧都可以访问前一帧的输出而无需从CPU来回移动缓冲区?
答案 0 :(得分:2)
OpenGL ES 2.0具有帧缓冲对象(FBO),您可以使用它直接渲染到纹理中,并且可以将该纹理用作下一次迭代的输入。
这是唯一的方法。使用两个FBO和两个纹理,每个纹理都附加到每个FBO。从一个纹理读取并写入另一个纹理,然后交换纹理,以便从最后写入读取,并写入第一个。这称为“乒乓”渲染。