WebGL半透明呈现白色

时间:2012-07-05 11:55:43

标签: opengl-es webgl alpha alphablending

我遇到了WebGL问题。半透明纹理看起来是半透明的,但它们也变白了,渲染时不考虑纹理的颜色......

这就是我设定的内容: gl.blendFunc(BlendingFactorSrc.SRC_ALPHA,BlendingFactorDest.ONE_MINUS_SRC_ALPHA);

有哪些可能的解决方案?

1 个答案:

答案 0 :(得分:0)

通常,如果白色在WebGL场景中意外出现,则会从网页本身的CSS背景中混入(默认为白色,除非您更改)。

换句话说,使用默认的WebGL设置,将小于1.0的alpha值写入颜色缓冲区的任何着色器都会使<canvas>本身变为半透明并显示网页的背景。我相信您可以更改WebGLContextAttributes设置以禁用此行为,或者只是确保着色器始终输出Alpha值为1.0。