如何使深度缓冲区在 JavaFX 中为子场景工作

How to make depth buffer work for sub scene in JavaFX

我已经创建了子场景来显示 3D 对象,但我遇到了一些深度缓冲区问题,如下所示。

球体当然大小相同。

在 fxml 文件中我得到了

<SubScene fx:id="subScene" depthBuffer="true">

subScene.isDepthBuffer() returns 正确。

我尝试用

创建子场景
subScene = new SubScene(root, 800, 800, true, SceneAntialiasing.BALANCED);
pane.getChildren().set(0, subScene);

运气不好。

如有任何帮助,我们将不胜感激。我还想知道这只是一些 JavaFX 错误,还是我在做或理解错误。
提前致谢。

我终于解决了这个问题。 深度缓冲不起作用,因为我有

camera.setNearClip(Double.MIN_VALUE);

这不是我最好的主意。将其更改为

camera.setNearClip(0.01);

解决了问题。