title: JavaFX 8 Z-buffer issue
body: <p>My problem is with Z-Buffer in JavaFX 3D, it does not seem to work as intended on my machine. </p>
  
  <p>I'am aware of questions:
  <a href="https://stackoverflow.com/questions/19589210/overlaping-shapes-wrong-overlapping-shapes-behaviour">Overlapping shapes</a>
  and
  <a href="https://stackoverflow.com/questions/28567195/javafx-8-3d-z-order-overlapping-shape-behaviour-is-wrong">...Z Order...</a></p>
  
  <p>However I do have Z-Buffer enabled, and nodes are still being rendered in the order they are added to the scenegraph. </p>
  
  <p>Maybe I'm missing some dependencies or whatsoever?</p>
  
  <p>I'm posting the code, I hope someone can help me. I'm creating a transition that moves the node around another on an elliptic path.</p>
  
  <p>Thank you in advance!</p>
  
  <pre><code>public class OrbitExp extends Application {
  Group root = new Group();
  Scene scene = new Scene(root, 800, 600, true, SceneAntialiasing.BALANCED);
  PerspectiveCamera camera = new PerspectiveCamera();
  @Override
  public void start(Stage primaryStage) {
      root.setDepthTest(DepthTest.ENABLE); 
  //Tried to set Depthtest explicitly. Assumed maybe it did not inherit:S
      System.out.println(
          "3D supported? " +
          Platform.isSupported(ConditionalFeature.SCENE3D)
      );    // returns true
  
      System.out.println("root z-buffer: " + root.getDepthTest());
      initCamera();
      Box 
              box1 = new Box(50,50,50),
              box2 = new Box(10,10,10);
      root.setTranslateX(scene.getWidth()/2);
      root.setTranslateY(scene.getHeight()/2);
      PhongMaterial 
              pmat = new PhongMaterial(Color.BLUE),
              pmat2 = new PhongMaterial(Color.RED);
      box1.setMaterial(pmat);
      box2.setMaterial(pmat2);
      scene.setFill(Color.LIGHTGREEN);
      root.getChildren().addAll(box1,box2);
      SequentialTransition sqt = orbit(box1, box2, 40, 40, Duration.seconds(3), 360);
      sqt.play();
      scene.setOnMouseClicked(click-&gt;{
          Node node = (Node)(click.getPickResult().getIntersectedNode());
          System.out.println("Tx: "+node.getTranslateX());
          System.out.println("Ty: "+node.getTranslateY());
          System.out.println("Tz: "+node.getTranslateZ());
      }); 
  // just for debugging, but coords does seem to be alright
      primaryStage.setScene(scene);
      primaryStage.show();
  }
  public static void main(String[] args) {
      launch(args);
  }
  private void initCamera() {
      camera.setTranslateZ(-50);
      camera.setTranslateY(20);
      camera.setFarClip(5000);
      camera.setNearClip(0);
      scene.setCamera(camera);
  }
  SequentialTransition orbit(Node node1, Node node2,double a, double b, Duration totalDuration, int N) {
      SequentialTransition sqt = new SequentialTransition();
      Duration dur = new Duration(totalDuration.toMillis()*(1.0d/N));
      node2.setTranslateX(a+node1.getTranslateX());
      node2.setTranslateZ(node1.getTranslateZ());
      for (int i = 1; i &lt; N; i++) {
          TranslateTransition tt = new TranslateTransition(dur, node2);
          double 
                  angle = i*(360.0d/N),
                  toX = (Math.cos(Math.toRadians(angle))*a)+node1.getTranslateX(),
                  toZ = (Math.sin(Math.toRadians(angle))*b)+node1.getTranslateZ();
          tt.setToX(toX);
          tt.setToZ(toZ);
          tt.setInterpolator(Interpolator.LINEAR);
          sqt.getChildren().add(tt);
          System.out.println("angle = " + angle + "\nangle in rads: " + Math.toRadians(angle) + "\ntoX = " + toX + "\ntoZ = " + toZ);
      }
      sqt.setCycleCount(Timeline.INDEFINITE);
      return sqt;
  }
  </code></pre>
  
  <p>}</p>
  
  <p>This was my first post by the way:)</p>