【发布时间】:2017-01-17 18:00:27
【问题描述】:
在场景中我只有透明对象,因此启用深度测试会导致对象相互隐藏。我知道深度测试不考虑任何透明度,它只是写入深度缓冲区查看z 的值。那么如何正确渲染两个透明物体呢?
我这样做了renderer.context.disable(renderer.context.DEPTH_TEST);,但没有任何改变
立方体是MeshLambertMaterial({color: ..., transparent: true, opacity: 0.6})
飞机是MeshLambertMaterial({color: ..., transparent: true, opacity: 0.4})
立方体是在平面之后渲染的,但如果立方体是不透明的,那么整个立方体将被正确渲染而没有任何丢弃(还要查看它们也是不透明的点,因此是可见的)。
那么如何让它考虑透明度并且不关心渲染顺序以便两个透明对象不会相互隐藏?
【问题讨论】:
标签: three.js transparency depth-testing