浏览器窗口中WebGLRenderingContext与CanvasRenderingContext2D最终合成效果差异的技术咨询
浏览器窗口中WebGLRenderingContext与CanvasRenderingContext2D最终合成效果差异的技术咨询
我最近碰到个挺困惑的问题,想跟大家请教下:我做了两个透明的<canvas>元素,一个用的是常规的2D渲染上下文,另一个用的是WebGL渲染上下文,而且我给它们俩都填充了同一种半透明颜色——比如0x00008080。
可最后在浏览器窗口里实际合成出来的效果却不一样,我琢磨着这大概率是因为WebGL画布用的是预乘alpha(premultiplied alpha),而普通2D画布用的是直alpha(straight alpha)的缘故?
(注:此处原配有对比示意图,能直观看到两个画布呈现出的不同视觉效果)
备注:内容来源于stack exchange,提问作者obscure




