## OpenGLTM for JavaTM / Overview / Purpose

## Accessing Native OpenGL From The Java Side

- OpenGL is the industry standard 3D API originally created by SGI (-> http://www.opengl.org ).

OpenGL is known as the standard 3D API for serious CAD development, creation & visualisation.

Today, also games does use OpenGL as its underlying 3D renderer machine,
because of its reliability and the existing consumer graphic cards with OpenGL hardware acceleration.

The benefits of OpenGL are described under: http://www.opengl.org/About/About.html .

- GL4Java adds native OpenGL access to the Java Virtual Machine (JVM).

Applications as well as Applets can use OpenGL,
if the GL4Java-Extension is installed on the users machine.

Currently the following JVM's are supported

- Sun's JVM (all types of: Blackdown, IBM, ...)

- GNU/Linux
- Other Unices (Solaris, Irix, ..)
- Win9x, WinNT, ...
- Macintosh ...

- MS-JVM (build >=3186 )

The Installation can be made via the GL4Java-Installer,
which can be start from a Web-Browser and installs GL4Java on the fly from the Web,
or runs as a standalone application from your local harddisk.

- The performance of GL4Java applications depends on:

- The underlying JVM implementation (Native Threads/JIT/Hotspot/...)
- The underlying OpenGL implementation (Hardware Accelerated vs Software Rendering)

With new world JVM's and OpenGL graphic cards and their libraries,
you can expect a very usable performance - nearly high as the native applications.
The biggest performance difference is the algorythm part
of your GL4Java application, which you might use and need for geometric calculations,
game logic, etc. The OpenGL glue in the GL4Java-Extension, which makes the connection
to the native OpenGL library, is as small as it can be !