我正在尝试使用 OpenGL 屏蔽图像,使其部分透明。这是我的代码,它不起作用:
draw_img(background);
...
glEnable(GL_BLEND);
glDisable(GL_DEPTH_TEST);
glBlendFunc(GL_ONE, GL_ZERO);
draw_img(mask);
glBlendFunc(GL_DST_ALPHA, GL_ONE_MINUS_DST_ALPHA);
draw_img(foreground);
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
这是我正在尝试绘制的背景图像:
这里分别是纹理和蒙版(蒙版中的白色真的是透明的,我只是将其展平以便您看到):
这是我期望得到的:
这就是我实际得到的:
知道可能是什么问题吗?