1
我正試圖在黑色背景上繪製一個半透明的黑色三角形。WebGL blendFunc錯誤或誤解?
這裏是我的示例: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)
其是黑色,是嗎?
那麼灰色從哪裏來?
您也可以在不使用的αcanvas.getContext(「實驗 - WebGL的」,{阿爾法:假})創建你的畫布; – gman 2012-07-19 16:04:17
輝煌,謝謝! – Spongman 2012-07-19 17:09:33