GL_BLEND-更改哪个通道用作Alpha

时间:2018-07-16 06:04:47

标签: opengl alphablending

如果我有一个使用不带Alpha的颜色格式的渲染缓冲区,例如GL_RG8,如何告诉Alpha混合器将绿色通道用于Alpha?可以使用旋转遮罩在纹理中完成此操作,但是由于渲染缓冲区不支持这些纹理,我该怎么办?

我当前的blendFunc是GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA

1 个答案:

答案 0 :(得分:3)

片段着色器的每个用户定义的输出均包含4个通道:RGBA。不管输出将写入的目标图像格式为何,这都是正确的。这些输出是混合操作的源颜色。

因此,只需照常写入输出的Alpha。不会将Alpha写入帧缓冲区图像没关系。它仍然是源颜色的一部分,因此仍可以用于混合。