JOGL
# JOGL

Java Bindings for OpenGL (JOGL) ist ein im Jahr 2003 durch die Zusammenarbeit von Sun Microsystems und SGI geschaffenes Open-Source-Projekt. Ursprünglich wurde es von Kenneth Russell und Chris Kline begonnen. Ziel von JOGL war es, dass damit die Spielindustrie auf die Programmiersprache Java bei Spielentwicklungen zurückgreift, da es vorher keine Unterstützung für OpenGL gab. OpenGL stellt einen Standard für die Umsetzung von 2D- und 3D-Applikationen dar. Mithilfe von JOGL können die Javaprogrammierer nun auf alle Funktionen von OpenGL und OpenGL ES, sowie deren Erweiterungen zugreifen. Bei der Erschaffung von JOGL wurde versucht, die Vorteile der vorherigen OpenGL-Bindings gl4java, LWJGL und Magician zu kombinieren. Die Benutzung von JOGL setzt die Installation des Java Development Kits (JDK) voraus. Es ist davon auszugehen, dass JOGL in eine der späteren Java-Versionen standardmäßig integriert wird. Die Weiterentwicklung erfolgt durch die Game Technology Group von Sun Microsystems.

## Funktionsweise

JOGL ist die Referenzimplementierung für den Java Specification Request 231 (Java Bindings for OpenGL). Es stellt für den Zugriff auf die nativen Funktionen von OpenGL spezielle Java-Wrapperklassen zur Verfügung. Die angebotenen Methoden führen dabei in der Regel einfach korrespondierenden nativen C-Code aus.

Jogl unterstützt folgende Plattformen:

* Windows/x86 + x64
* Linux/x86 + x64
* Solaris/SPARC 2.8+
* Solaris/x86 2.9+
* Mac OS X 10.3+

Auf allen Plattformen wird J2SE 1.4 oder höher benötigt.

## Alternativen

Neben JOGL gibt es noch zwei weitere bekannte OpenGL-Bindings für Java:

* Lightweight Java Game Library (LWJGL) – Eine Binding mit dem Fokus auf Spielentwicklung.
* GL4Java – Der Vorgänger von JOGL, seit 2001 nicht mehr aktualisiert.

## Verwendung

Auf JOGL aufbauende Programmierschnittstellen:

* Xith3D – eine Szenengraph-API basierend auf JOGL und LWJGL.
* jMonkeyEngine – eine Szenengraph-API basierend auf JOGL und LWJGL.
* Ardor3D – ebenfalls eine Szenengraph-API, die aus jMonkeyEngine 2.0 entstanden ist.

Auf JOGL aufbauende Software:

* RuneScape – ein Massively Multiplayer Online Role-Playing Game.
* Jake2 – eine Java-Portierung von Quake II.
* Scilab – ein Software-Paket für numerische Mathematik.
