环境: WebGL,Chrome。当我将透明PNG作为模型的纹理时,出现以下行为:
- 图像A - 树遮挡了它后面的建筑物,我看到了世界盒子纹理。它也隐藏了自身(背部树枝不可见)
- 同时 - 图像B - 正常工作,窗户是透明的,我可以看到后面的东西
两个截图在同一场景中从不同的摄像机位置拍摄而成。纹理由相同算法生成。
我无法理解窗户和树枝的透明度之间的区别。我的主要问题是 - 如何修复树枝,使其不会隐藏在其后面的对象?Shader代码如下:
gl_FragColor = vec4(textureColor.rgb * vLightWeighting, textureColor.a);
我尝试过启用/禁用混合和深度测试,有时可以得到所需的结果,但不确定这是否是正确的做法。