Spinny Cube (demo) Mac OS
Here is a little sample to show you how to create 3D content in JavaFX 2.0. More complex and fun examples will be coming in the future.
The main thing to learn here is any node in the JavaFX scene can be translated and rotated in 3D space. Basic transforms are provided for convenance on the Node class itself with translateX/Y/Z and rotate/rotateAxis properties. For more complex transforms you can get the Transforms list from a node with getTransforms() and add javafx.scene.transform.* classes. In this case I am adding javafx.scene.transform.Rotate transforms so that I can set the pivot point around which the node is rotated. By default if you use the rotate property on node it translates around the center of the node, which is the most common case for 2D but may not be what you want for 3D.
To setup a scene for doing 3D there are two things you need to set: stage.initDepthBuffer(true) and scene.setCamera(new PerspectiveCamera()). The first enables 3D Z-Ordering or Depth Testing this means that what ever is nearest the camera is drawn on top, with the furthest away stuff behind just as you would expect in a 3D world. The second means use a camera with perspective which means that two parallel lines will look closer together the further they are away from the camera. These two properties make the scene resemble the everyday 3D world we live in.