## OpenGLTM for JavaTM / Overview / Benefits

## The Features Of GL4Java

- Open Standard in the meaning of the GNU community.

GL4Java is licensed under the ´GNU Library General Public License (LGPL)´ !
People can use it freely and can contribute code and ideas into this living project.
The API, of course, should being left stable. Changes should not affect the current usage
and should made compatible.

Because the API and its implementation is free,
there is no reason of being afraid that GL4Java will stop existing.
The worst case is, that you must maintain GL4Java by yourself, if nobody other does.
But you are allowed to do so and everything you need is freely avaiable !

- It is avaiable for different OS / architectures.

GL4Java can be seen as an Java extension, which has a native and a java part.
The native part is prepared for:

- Unices

- GNU/Linux + XFree86 3.Y.Z - 4.Y.Z
- Solaris
- Irix
- ...

- Windows 9x-NT
- Macintosh OS 9.Y.Z

The number of precompiled libraries for the different OS is growing.
Currently the most Unices, Windows and Macintosh is supported with precompiled libs.

- GL4Java Applets can run with Netscape (Unices+Windows) and with MS-IE (Windows)

- Can be installed via the WWW with a browser and the Installer-Applet.

The Installer-Applet can be used for a local installation also.

- Supports Java with a complete OpenGL 1.2 and GLU native library mapping.

Any modifications and extensions to the OpenGL library will be followed.

Uses true hardware accelerated (if supported by the OS) for AWT-Canvas components,
and currently offscreen rendered (may be hardware accelerated) Swing components.

- Supports a Java written glutimplementation (subset), included the glut-fonts.

- Offers convinient classes and functions to:

- Access OpenGL/GLU with a C like API.
- Bind the OpenGL context to the native Java window, or to an offscreen Image.
- Base classes to provide the user with basic Canvas features for still and animation rendering, like glut.

- Complete event handling for window refresh, etc.
- OpenGL context creation and binding
- Multi-Threading handling for animation
- Texture loading / saving in different formats: TGA, PNG, JPG, ...
- Applet integration and test classes
- Creating snapshots and displaying images
- ...