使用alpha到FBO渲染位图图层

时间:2016-11-08 18:27:26

标签: opengl rendering blending fbo

我需要绘制几个"层"对FBO半透明的位图(用于以后的回读)。

我目前的做法是创建一个FBO,为其附加纹理并使用glTexSubImage2D来绘制"然而,FBO的位图并不起作用,因为glTexSubImage2D不会绘制/混合像素,而只是覆盖纹理中当前的像素。

最好的方法是什么?

1 个答案:

答案 0 :(得分:2)

  • 您创建一个附加了干净纹理R的FBO以保存最终结果。
  • 对于您的每个位图,您:
    • 将位图上传到纹理T(T和R是不同的纹理)。
    • 在启用了GL_BLEND并正确设置的情况下,将带有T的四边形纹理渲染到FBO中。

最终结果是R保持您的混合位图。您现在可以将其读回或用于其他纹理操作。