当您在Three.js / WebGL中有两个平面并且其中一个或两个都是透明的时,有时后面的平面会被上方的透明平面隐藏。为什么是这样?

最佳答案

这不是错误,这只是OpenGL(以及WebGL)的工作方式。透明表面不能很好地与z缓冲区配合使用,因此必须手动排序并从前到后渲染。三个JS正在尝试为您执行此操作(这就是为什么当您将X值设置为> 0时问题消失了的原因),但无法如实显示那样可靠地处理相交几何的情况。

我已经在different SO question中更深入地解释了该问题,因此您可能需要引用它。

关于javascript - Three.js/WebGL-透明平面将其他平面隐藏在它们后面,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/64192764/

10-13 09:17