我正在尝试在黑色背景上绘制一个半透明的黑色三角形。
这是我的示例:http ://codewithoutborders.com/posted/blend.html
blendFunc 已设置并启用(第 151 行):
gl.blendFunc(gl.SRC_ALPHA, gl.ONE_MINUS_SRC_ALPHA);
gl.enable(gl.BLEND);
缓冲区被清除为黑色(第 129 行):
gl.clearColor(0.0, 0.0, 0.0, 1.0);
gl.clear(gl.COLOR_BUFFER_BIT | gl.DEPTH_BUFFER_BIT);
着色器填充半透明黑色(第 10 行):
gl_FragColor = vec4(0.0, 0.0, 0.0, .5);
我希望三角形是黑色的,因为文档指出
result = {foreground}*sourceAlpha + {background}*(1-sourceAlpha)
= (0,0,0,.5)*.5 + (0,0,0,1)*.5
= (0,0,0,.75)
哪个是黑色的,对吧?
那么灰色是从哪里来的呢?