Recommended: Sing it, brah! 5 fabulous songs for developers
JW's Top 5
Optimize with a SATA RAID Storage Solution
Range of capacities as low as $1250 per TB. Ideal if you currently rely on servers/disks/JBODs
Page 5 of 6
v9711-beta2-win32.exe, approximately 970 KB.As with our previous installation of the Java 3D runtime itself, you may also want to download and install the VRML97 browser documentation and examples. Both are available from Sun or the VRML working group. Assuming you download and install the Sun packaged VRML97 browser, the class files will be placed in the /jre/lib/ext directory discussed in last month's column. The browser classes are archived in vrml97.jar.
You can test out your installation of the VRML97 browser by loading the default world, a cube similar to our previous OBJ
content. Do this by changing into the VRML97 examples directory and executing the Vrml97Viewer application.

Vrml97Viewer displays the default simple.wrl cube.
The browser provides basic menu commands and allows the user
to rotate and examine the loaded object.
A slow 3D graphics runtime is useless. Every ounce of speed that can be squeezed out should be squeezed out, except of course for concessions pertaining to usability and understandability (though some graphics programmers might even disagree with that).
With OpenGL being the longstanding champion of cross-platform, high-performance 3D graphics, Java 3D has a certain heritage to live up to if it is to be accepted by graphics aficionados. Sun has made every effort to see that it has a chance to meet those expectations. Because implementation-specific optimizations are subject to rapid change, I've decided not to go into great detail here. Sun does a good job of documenting its performance decisions anyway; please refer to the company's Performance Guide (see Resources) for details. I have instead decided to illustrate the obvious and important parts of the API that help to boost performance.
In Sun's own words, some of the major performance-related API features are:
We briefly covered capability bits last month. In a nutshell, they allow the Java 3D runtime to optimize the scene graph for faster rendering performance. They work in concert with compilation, which I'll discuss in greater detail in a moment.
You will no doubt encounter capability bits at some point when you attempt to modify something and receive a compile-time exception from Java 3D. In order to work around the exception, you must set one or more capability bits. These tell the runtime that you will want to modify some portion of the scene graph at a later time, and thus, that it cannot optimize away your ability to do so.