OpenGL渲染为透明纹理

时间:2017-01-04 09:23:16

标签: opengl transparency framebuffer

我有一个系统,可以使用C ++中的OpenGL将不同的对象渲染成不同的RGBA纹理。我想将这些纹理层叠在彼此之上,但我的问题是每个纹理都将glClearColor渲染到其中。

如何告诉OpenGL使纹理的ClearColor部分透明(0.0f alpha),所以我仍然可以看到其他图层后面的部分图层?

1 个答案:

答案 0 :(得分:2)

glClearColor的第四个参数允许您指定清除渲染目标时要设置的Alpha值,因此您只需传递0即可使其清晰透明。

你的渲染目标显然需要有一个alpha通道。此外,可以使用glColorMask启用或禁用使用glClearColor指定的值清除Alpha通道。