我發現WebGL時混亂關閉時呈現奇怪的行爲。我轉載於this simplest tutorial。 只需更改字符串:奇怪的行爲,沒有在WebGL混合alpha
gl_FragColor = vec4(1.0,1.0,1.0,1.0); 至 gl_FragColor = vec4(0.0,0.0,0.0,0.5);
and gl.clearColor(0.0,0.0,0.0,1.0); 至 gl.clearColor(1.0,1.0,1.0,1.0);
因此,由於混合關閉,我應該看到白色背景上的黑色形狀(像素的alpha 0.5不應該產生影響)。但我看到白色背景上的灰色形狀。我相信我錯過了一些東西,但我無法承擔什麼。有任何想法嗎?
P.S. gl.disable(gl.BLEND)不會改變結果。
可能發生的事情是,OpenGL在白色背景上呈現黑色形狀,因此RGB與您期望的完全相同,但它呈現的A通道對於黑色形狀爲0.5。 問題是,窗口系統如何將OpenGL的輸出與瀏覽器窗口合成?如果合成過程使用alpha通道進行混合,並且背景爲白色,那麼這可以解釋您所看到的灰色形狀。 – Columbo