OpenGL混合之前的N个渲染而不使用N个目标

  • 本文关键字:目标 混合 OpenGL opengl
  • 更新时间 :
  • 英文 :


我在同一FBO中有5个渲染目标,在每帧中混合我以前的5个渲染。在每一帧我绑定

base_target + frame%5

和在片段着色器中,我从base_target到base_target + 4遍历所有纹理,并将它们相加并显示结果。很好,但我想要混合更多,比如10个。问题是渲染目标的最大数量是8。

有办法克服这个吗?我可以有一个渲染目标,实际上是一个纹理数组与大量的元素,然后选择,在每次迭代,其中的纹理渲染到?

实际上只需要三个渲染目标:

  • 第一个RT为积累缓冲。

算法:

  1. 将当前帧渲染为当前帧
  2. 将累积RT与当前RT混合,并将结果放入临时RT。
  3. 交换累积RT和临时RT
  4. 当前累积量

相关内容

最新更新