Creating the Scene
Figure 18-3 shows the methods defined in WrapTour3D.

Figure 18-3. WrapTour3D methods
WrapTour3D sets up the checkered floor and lights (similar to previous Wrap classes). However, addBackground() uses a scaled image, and there are three new methods: makeScenery(), addTourist(), and addAlien(). These methods are called by createSceneGraph() to add scenery, obstacles, and sprites to the scene.
The application's scene graph is shown in Figure 18-4. Its details will be explained in subsequent sections.

Figure 18-4. Scene graph for the Tour3D scene
Adding a Background Image
A Java 3D Background node can use a solid color, an image, or a geometric shape (e.g., a sphere or a box) with an image rendered onto it. Here, the application utilizes a picture of a hazy sky, 400 × 400 pixels in size, stored in bigSky.jpg:
TextureLoader bgTexture = new TextureLoader("models/bigSky.jpg", null);
Background back = new Background(bgTexture.getImage());
back.setImageScaleMode(Background.SCALE_FIT_MAX); // fit the display
back.setApplicationBounds( bounds );
sceneBG.addChild( back );The image is loaded as a texture and then converted to ImageComponent2D form for the Background object. Java 3D 1.3 added several scaling modes to Background; the one employed here scales the image to fit the display ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access