【发布时间】:2019-05-20 09:18:05
【问题描述】:
我正在创建一个包含各种对象的场景,并受到这个 CodePen (https://codepen.io/gnauhca/pen/VzJXGG) 的启发。在示例中,ShaderMaterial 上的 DepthTest 被禁用,但我需要启用它,因为我想在粒子波前面渲染对象。但是当我启用 DepthTest 时,我得到了一个奇怪的效果,似乎只有材料的左侧是用 AdditiveBlending 渲染的,而右侧的视线似乎失去了混合/透明度。此外,当我倾斜相机时,效果会根据角度变得更好或更差。例如,请参阅此 jsfiddle:https://jsfiddle.net/hnmftqjp/ 和展示我的问题的 gif:https://imgur.com/2p3yBAM
var shaderMaterial = new THREE.ShaderMaterial({
uniforms: uniforms,
vertexShader: waveVertexShader,
fragmentShader: waveFragmentShader,
blending: THREE.AdditiveBlending,
depthTest: true,
transparent: true
});
非常感谢任何帮助!
【问题讨论】:
标签: javascript three.js shader