--- old/apps/toys/FX8-3DFeatures/src/fx83dfeatures/NearAndFarClipTest.java 2013-12-02 16:38:58.453887400 +0400 +++ new/apps/toys/FX8-3DFeatures/src/fx83dfeatures/NearAndFarClipTest.java 2013-12-02 16:38:58.293878200 +0400 @@ -29,7 +29,9 @@ import javafx.scene.Group; import javafx.scene.PerspectiveCamera; import javafx.scene.Scene; +import javafx.scene.control.Slider; import javafx.scene.input.MouseEvent; +import javafx.scene.layout.VBox; import javafx.scene.paint.Color; import javafx.scene.shape.Rectangle; import javafx.stage.Stage; @@ -72,9 +74,9 @@ insideNearClip.setTranslateZ(nearClipDistance + nearClipDistanceOffset); insideNearClip.setId("Blue"); - Rectangle outsideNearClip = new Rectangle(16, 16, Color.YELLOW); - outsideNearClip.setLayoutX(242); - outsideNearClip.setLayoutY(242); + Rectangle outsideNearClip = new Rectangle(8, 8, Color.YELLOW); + outsideNearClip.setLayoutX(246); + outsideNearClip.setLayoutY(246); outsideNearClip.setTranslateZ(nearClipDistance - nearClipDistanceOffset); outsideNearClip.setId("Yellow"); @@ -94,6 +96,9 @@ // Render in painter order (far to near) root.getChildren().addAll(outsideFarClip, insideFarClip, insideRect, insideNearClip, outsideNearClip); + Slider near = new Slider(NEAR*0.9, NEAR*1.1, NEAR); + Slider far = new Slider(FAR*0.9, FAR*1.1, FAR); + root.getChildren().addAll(new VBox(near, far)); // Intentionally set depth buffer to false to reduce test complexity Scene scene = new Scene(root, WIDTH, HEIGHT, false); @@ -106,8 +111,8 @@ PerspectiveCamera camera = new PerspectiveCamera(); camera.setFieldOfView(FOV); - camera.setNearClip(NEAR); - camera.setFarClip(FAR); + camera.nearClipProperty().bind(near.valueProperty()); + camera.farClipProperty().bind(far.valueProperty()); scene.setCamera(camera); return scene; } @@ -120,7 +125,7 @@ stage.setResizable(false); stage.show(); System.out.println("You should expect to see 3 overlapping squares in" - + " the order of Blue is on top of Green and Green is on top Red.");; + + " the order of Blue is on top of Green and Green is on top Red."); } public static void main(String[] args) {