Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Defining Lights

Code Block
 // Create point light and add it to the Scene
 PointLight light = new PointLight();
 light.setColor(Color.RED);
 scene.getLights().add(light);

 // Add light to scene graph (so it can move)
 Group lightGroup = new Group();
 lightGroup.getChildren().add(light);
 root.getChildren().add(lightGroup);

 // Rotate the light
 light.rotate(45);

 // Move the lightGroup (light moves with it)
 lightGroup.setTranslateZ(-75);

Defining Materials

Code Block
 // Create material
 Material mat = new PhongMaterial();
 Image diffuseMap = new Image("diffuseMap.png");
 Image bumpMap = new Image("normalMap.png");

 // Set material properties
 mat.setDiffuseMap(diffuseMap);
 mat.setBumpMap(normalMap);
 mat.setSpecularColor(Color.WHITE);

 // Use the material for a shape
 shape3d.setMaterial(mat);

...

3D picking

  • 3D ray picking already used for 2D primitives with PerspectiveCamera
  • Existing limitation when used with depth buffer will be fixed (JIRA: RT-13740)
  • We will add support for picking 3D geometry

Loader support

  • Many 3D file formats exist, such as:
    •  Obj, Maya, 3D Studio Max, Collada, KRML
  • We will not provide a loader as part of the JavaFX runtime
  • We will make sample code available for one or two popular formats