Games Programming with Java and Java 3D
htm). Unfortunately, the timings
have not been repeated with the latest version of Java 3D.
Marner's code shows other striking differences between Java 3D and OpenGL. The
C++ and GL4Java programs are of comparable sizes (about 10 classes; 30 pages of
code with documentation), while the Java 3D application is much smaller (5 classes
and 11 pages). Marner comments on the complexity of the OpenGL code which
required a kd-tree data structure, a culling algorithm around the view frustum, and
preprocessing vertex operations. All of these capabilities are built into Java 3D, and so
were not required in the Java 3D program. In the GL4Java source, the optimized view
frustum algorithm is very hard to understand, but is responsible for an order of
magnitude speedup over the simpler version. Also, the OpenGL applications could
have been considerable faster if extensions available for the graphics card were
employed.