1.1 Strengths | JAVA 3D Programming | Chapter 1
1.1 Strengths
The foremost strength of Java 3D for Java developers is that it
allows them to program in 100 percent Java. In any sizeable 3D application, the
rendering code will compose only a fraction of the total application. It is
therefore very attractive to have all the application code, persistence, and
user interface (UI) code in an easily portable language, such as Java. Although
Sun’s promise of Write−Once−Run−Anywhere is arguably more of a marketing dream
than a reality, especially for client−side programming, Java has made important
inroads toward enabling application developers to write applications that can
be easily moved between platforms. The platforms of most interest today are
Microsoft Windows 98/NT/2000, Sun Solaris, LINUX, and Macintosh OS X.
Java has
arguably become the language of networked computing and the Internet.
High−level support for remote method invocation (RMI), object serialization,
platform independent data types, UNICODE string encoding, and the security
model all provide persuasive arguments for adopting the Java language for
applications that are increasingly gravitating away from a desktop−centric
worldview. Many of the state−of−the−art 3D graphics applications being built
with Java 3D today are leveraging the strengths of Java as a language for the
Internet.
The Java 3D API itself has much to offer the application developer.
By allowing the programmer to describe the 3D scene using coarser−grained
graphical objects, as well as by defining objects for elements such as appearances,
transforms, materials, lights, and so forth, code is more readable,
maintainable, reusable, and easier to write. Java 3D uses a higher level scene
description model, the scenegraph, which allows scenes to be easily described,
transformed, and reused.
Java 3D includes a view model designed for use with
head−mounted displays (HMDs) and screen projectors. By insulating the
programmer from much of the complex trigonometry required for such devices,
Java 3D eases the transition from a screen−centric rendering model to a
projected model, where rendering in stereo allows for greater realism.
Java 3D
also includes built−in support for sampling 3D input devices and rendering 3D
spatial sound. By combining all of the above elements into a unified API, Java 3D
benefits from a uniformity of design that few other APIs can match.
Java 3D’s
higher level of abstraction from the mechanics of rendering the scene have also
opened the field of interactive 3D graphics to a new class of audience, people
who would typically have been considered 3D content creators. Think of 3D
graphics creation as a spectrum, with resources and talents distributed across
a variety of tasks, as illustrated in figure 1.1.
Figure 1.1 Java 3D fills an important gap between VRML, which is
centered around describing 3D content, and OpenGL, which is a C API for
rendering points, lines, and triangles
|
Many new programmers have moved from Virtual Reality Modeling
Language (VRML) into Java 3D. They are 3D content creation specialists; and
they require the greater flexibility offered by a programming API, though they
are reluctant to learn OpenGL and C. For this audience, Java 3D fills an
important niche, allowing them to concentrate on content creation and
application logic, without choking on the details of rendering and arcane
programming syntax.
Comments
Post a Comment