Although a VRML program may enable the user to control shapes and carry out some
simple animation and interaction, it is often necessary for the programmer to write some
ior. This node can provide additional functionality and flexibility in the 3D application.
However, these scripts are external to VRML and are therefore not compiled. As a result,
complicated interactions that use sophisticated scripts may slow down the application.
Another missing functionality in VRML is the capability to accessing databases and to
carry out further parameterization.
Forming part of a Java API (application programmer interface), Java 3D is a set of stan-
dardized classes that have been extended under Java 2 for the creation of 3D graphics
(Bouvier, 2006; Burrows & England, 2002; Java 3D API Specification, 2006; Selman,
2002; Walsh & Gehringer, 2002). Specifically, these are designed on top of lower level
graphical API of OpenGL and DirectX, and can provide Java developers the ability to
write Web-based applets as well as 3D interactive applications. It is a good representative
example of a scene graph-based 3D toolkit, and has been used to implement a wide range
of applications including computer aided design, Web advertising, motion picture special
effects and computer games.
A variety of implementation examples using Java 3D are available. As examples, Java
and Java3D are used in model visualization applications involving product components
(Blanchebarbe & Diehl, 2001), proteins (Geroimenko & Geroimenko, 2000), and conscious-
ness content (Can, Wan, Wang, & Su, 2003). Some examples for education and research
purposes can be found in Zhang and Liang (2005), Tori, Jr, and Nakamura (2003), and
Stritch and Best (2005). Other examples involving collaborative implementation are pro-
vided by Mendoza, Méndez, Ramos, Boyacá, and Pinzón (2006), Peralta and Silva (2006),
Purnamadjaja, Iskandar, and Russell (2007), Wang, Wong, Shen, and Lang (2002), Wang
(2003), Yu, Wu, & Wu (2005), and Xia, Song, and Zheng (2006).
One of the main advantages of Java 3D is that, being an API extension of Java, it is
platform independent. Other advantages are:
High-levelandobject-orientedviewof3Dgraphics: Java 3D accomplishes this
by using a scene graph -based 3D graphics model. This approach can be important
to programmers without much graphics or multimedia programming experience.
Specifically, learning Java 3D is a rather straightforward and intuitive affair when
compared with, say, OpenGL based on lower level and procedural 3D API.