A Full-Screen Version of the Application

The AnimTourFS application is essentially AnimTour3D, but with the original AnimTour3D and WrapAnimTour3D classes replaced by a single new class, AnimTourFS. AnimTourFS contains the new FSEM-related code. The rest of the classes are unchanged, as Figure 19-7 shows.

Application invocation must include the option -Dsun.java2d.noddraw=true:

    java -cp %CLASSPATH%;ncsa\portfolio.jar  -Dsun.java2d.noddraw=true AnimTourFS

The nodraw property switches off the use of Window's DirectDraw for drawing AWT elements and off-screen surfaces. This avoids a problem which first appeared when using the OpenGL version of Java 3D 1.3 with J2SE 1.4 and DirectX 7.0. Version numbers have moved on since then, so you may want to see what happens without the nodraw option.

Creating the Full-Screen Scene

Figure 19-8 shows all the methods in the AnimTourFS class and should be compared with Figure 19-3, which lists the methods in the old WrapAnimTour3D class.

main() is new; all the other changes are inside the AnimTourFS() constructor (with the addition of some new private global variables).

Class diagrams for AnimTourFS

Figure 19-7. Class diagrams for AnimTourFS

Methods in AnimTourFS

Figure 19-8. Methods in AnimTourFS

FSEM works poorly with Swing components, so AnimTourFS() uses a Frame object as the top-level window and embeds ...

Get Killer Game Programming in Java now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.