2012-07-05 130 views
0

我遇到了WebGL的問題。半透明紋理看起來是半透明的,但它們也變白了,紋理中的顏色在渲染時不被考慮......WebGL半透明出現白色

這就是我設置的: gl.blendFunc(BlendingFactorSrc.SRC_ALPHA, BlendingFactorDest.ONE_MINUS_SRC_ALPHA);

什麼是可能的解決方案?

+0

正在使用多紋理唯一的解決方案?如何使用片段着色器來完成? – esz 2012-07-05 12:07:56

+1

這太模糊了。請發佈完整的代碼示例,最好帶有問題圖片,以便我們可以看到您正在談論的內容。 – Tim 2012-07-05 15:55:42

回答

0

通常,如果白色在WebGL場景中意外出現,它將從網頁本身的CSS背景(其默認爲白色,除非您更改它)混合。

換句話說,使用默認WebGL設置,任何將小於1.0的alpha值寫入顏色緩衝區的着色器都會使<canvas>本身變得半透明並顯示網頁的背景。我相信您可以更改WebGLContextAttributes設置以禁用此行爲,或者只是確保着色器始終輸出1.0的Alpha值。