我在同一FBO中有5个渲染目标,在每帧中混合我以前的5个渲染。在每一帧我绑定
base_target + frame%5
和在片段着色器中,我从base_target到base_target + 4遍历所有纹理,并将它们相加并显示结果。很好,但我想要混合更多,比如10个。问题是渲染目标的最大数量是8。
有办法克服这个吗?我可以有一个渲染目标,实际上是一个纹理数组与大量的元素,然后选择,在每次迭代,其中的纹理渲染到?
实际上只需要三个渲染目标:
- 第一个RT为积累缓冲。
算法:
- 将当前帧渲染为当前帧
- 将累积RT与当前RT混合,并将结果放入临时RT。
- 交换累积RT和临时RT
- 当前累积量