我在webGL工作。我是OpenGL的新手。混合功能有问题。我的选择如下:
gl.enable(gl.BLEND)
gl.blendFunc(gl.SRC_ALPHA, gl.ONE_MINUS_SRC_ALPHA)
我在颜色为[0,0,0,0.5]
的目标背景上渲染颜色为[0,0,0,1]
的源矩形。根据我读过的所有内容,我希望结果是黑色的。相反,它看起来大约是25%的白色。这是我渲染red and black rectangles with alpha values ranging from 0.0 to 1.0时得到的结果。
View live demo and source here。我是否误解了混合功能,如果是这样,我如何得到我所期望的?谢谢!
答案 0 :(得分:0)
您应该为alpha指定单独的函数:
gl.enable(gl.BLEND);
gl.blendEquation(gl.FUNC_ADD);
gl.blendFuncSeparate(
gl.SRC_ALPHA,
gl.ONE_MINUS_SRC_ALPHA,
gl.ONE,
gl.ONE_MINUS_SRC_ALPHA
);