我遇到了WebGL问题。半透明纹理看起来是半透明的,但它们也变白了,渲染时不考虑纹理的颜色......
这就是我设定的内容: gl.blendFunc(BlendingFactorSrc.SRC_ALPHA,BlendingFactorDest.ONE_MINUS_SRC_ALPHA);
有哪些可能的解决方案?
答案 0 :(得分:0)
通常,如果白色在WebGL场景中意外出现,则会从网页本身的CSS背景中混入(默认为白色,除非您更改)。
换句话说,使用默认的WebGL设置,将小于1.0的alpha值写入颜色缓冲区的任何着色器都会使<canvas>
本身变为半透明并显示网页的背景。我相信您可以更改WebGLContextAttributes设置以禁用此行为,或者只是确保着色器始终输出Alpha值为1.0。