如何在WebGLDeferredRenderer中设置透明度



我正在为场景使用WebGLDeferredRenderer,并且我已经意识到材质属性透明度根本不起作用。

如果我设置为透明:true-材质根本不显示如果我设置透明:false-使用透明度的材质:1.0如果我更改透明度属性-没有区别

案例1:透明:真,透明度:0.5没有材料

案例2:透明:假,透明度:0.5有透明度为1.0的材料

您知道延迟渲染在透明材质和混合方面存在某些问题吗?

我不知道目前是否有任何对透明材料的支持,我会等到有更新的Three.js版本和至少一个演示。

你有两个选择:

  • 更改为WebGLRenderer,因此根本没有延迟的管道
  • 有延迟的管道,但也有额外的WebGLRenderer,它将转发渲染透明材质,然后使用深度缓冲区或任何其他已知技术混合场景

如果你没有真正的理由使用延迟渲染,那么切换到具有前向管道的"基本"WebGLRendering,你就不会有问题。

最新更新