What is Java 3D and is it for me? | Chapter 1
Hello Friends,
This is my new requested tutorial from a facebook fan page for JAVA 3D Programming...
Let's come to the point
What is Java 3D and is it for me? | Chapter 1
Java 3D is an application programming interface (API) developed at Sun Microsystems for rendering interactive 3D graphics using the Java programming language. Java 3D is a client−side Java API. Other examples of Sun client−side APIs include the Abstract Windows Toolkit (AWT) and Java Foundation Classes (JFC/Swing), which are both Java class libraries for building applications with a Graphical User Interface (GUI). The client−side Java APIs are in contrast to Sun’s server−side APIs such as Enterprise Java−Beans (EJB) and the other components of Java 2 Enterprise Edition (J2EE).
Making 3D graphics interactive
is a long−standing problem, as evidenced by its long history of algorithms,
APIs, and vendors. Sun is not a major player in the 3D graphics domain,
although its hardware has long supported interactive 3D rendering. The dominant
industry standard for interactive 3D graphics is OpenGL, created by Silicon
Graphics (SGI). OpenGL was designed as a cross−platform rendering architecture
and is supported by a variety of operating systems, graphics card vendors, and
applications. The OpenGL API is written in the C programming language, and
hence not directly callable from Java. A number of open source and independent
programming efforts have provided simple Java wrappers over the OpenGL API that
allow Java programmers to call OpenGL functions, which are then executed in
native code that interacts with the rendering hardware. One of the most popular
is GL4Java, which you can find at http://www.jausoft.com/gl4java/.
However,
there are few advantages to using a Java wrapper over OpenGL, as opposed to
coding in C and calling OpenGL directly. Although programmers can use the more friendly
Java APIs, they must incur the overhead of repeated calls through the Java
Native Interface (JNI) to call the native OpenGL libraries.
Java 3D relies on
OpenGL or DirectX to perform native rendering, while the 3D scene description,
application logic, and scene interactions reside in Java code. When Sun set out
to design Java 3D, although they did not have the resources or industry backing
to replace OpenGL, they wanted to leverage more of Java’s strengths as an
object−oriented programming (OOP) language instead of merely delegating to a
procedural language such as C. Whereas OpenGL’s level of description for a 3D
scene consists of lists of points, lines, and triangles, Java 3D can describe a
scene as collections of objects. By raising the level of description and
abstraction, Sun not only applied OOP principles to the graphics domain, but
also introduced scene optimizations that can compensate for the overhead of
calling through JNI.
See You In Next Tutorial BBye Next Tutorial
See You In Next Tutorial BBye Next Tutorial
Comments
Post a Comment