【发布时间】:2013-07-05 15:03:14
【问题描述】:
这是我在three.js中的测试应用程序-http://zheden.elitno.net/
有 2 个立方体 - 绿色是上面的那个。如果您取消选中“Cube 2”(黄色内部立方体),它将变得不可见。当您旋转相机并旋转后检查“Cube 2”时,它变成了外部。它不是在所有旋转角度下都可以复制的。
添加“renderer.sortObjects = false”解决了这个问题。但是你能解释一下这种行为的原因吗?渲染器根据对象的位置对对象进行排序。当某些对象是透明的时,为什么会更改渲染顺序?它的位置没有改变。
这和Transparent textures behaviour in WebGL有关吗?
谢谢, 振亚
【问题讨论】:
-
您的演示中没有透明对象,只有不透明对象。您在完全相同的位置有两个大小和方向完全相同的立方体。这绝不是一个好主意。你想达到什么目的?另请参阅:stackoverflow.com/questions/15994944/…
-
我希望在场景中显示对象的顺序相同,即使其中一些变得不可见,然后又变得可见。在您提供的链接中,您写道“WegGLRenderer 根据对象的位置对对象进行排序,并按排序顺序呈现对象”。但是为什么当我改变对象的可见性时渲染顺序会改变?它的位置还是一样的。
标签: three.js rendering webgl depth-buffer