我正在尝试在完全不透明的背景上绘制图像,使用加法混合或乘性混合(取决于切换)。
两者均可,但是在进行乘法混合时,图像的Alpha值将被忽略,而在累加混合中,图像的Alpha值将起作用。
对于添加剂,我有:
glBlendFunc(GL_SRC_ALPHA, GL_ONE);
对于乘法,我有:
glBlendFunc(GL_DST_COLOR, GL_ZERO);
加法运算符按预期工作,乘法运算会忽略alpha。
我知道我可以交换着色器来实现所需的功能,但是如果我可以通过 glBlendFunc 做到这一点,那就更好了。