Entstehung
Ende 1995 veröffentlichte Sun Microsystems die
Programmiersprache Java. Das Ziel war es, eine objektorientierte
und plattformunabhängige Hochsprache zur Verfügung zu
stellen. Durch umfangreiche Bibliotheken und deren durchgängiger
Dokumentation sollte so Programmierern ein mächtiges Werkzeug
für die Umsetzung verschiedenster Aufgaben, wie z.B. Anwendungsentwicklung
und Netzwerkprogrammierung in die Hand gegeben werden.
Speziell in der Spieleindustrie konnte sich Java jedoch nicht durchsetzen,
da es keine Unterstützung für OpenGL gab. OpenGL allerdings
war und ist einer der Standards für die Umsetzung von 2D und
3D Applikationen. Eigene Entwicklungen wie Java3D konnten mit der
Schnelligkeit von OpenGL nicht mithalten.
Einige Entwickler erkannten das Problem. Dies führte
zu der Entwicklung von sogenannten OpenGL-Bindings, wie z.B. gl4java
(OpenGL for Java Technology), LWJGL (Lightweight Java Game Library)
und Magician. Diese drei Bindings hatten jedoch verschiedene Probleme,
die ihre Durchsetzungskraft hemmten. So unterstützt gl4java
OpenGL nur bis Version 1.3, die Benutzung neuer I/O-Geräte
wird nur beschränkt gewährleistet und die umfangreiche
API macht es Programmierern schwer, den Einstieg zu finden.
Während LWJGL zwar neueste I/O-Geräte unterstützt
und auch für die aktuellste OpenGL Version geeignet ist, liegt
der Hauptnachteil in der nicht zulässigen Einbindung von AWT
oder Swing Komponenten.
Das dritte Binding Magician löst zwar das Problem der AWT und
Swing Einbindung, jedoch wird es weder weiterentwickelt, noch unterstützt
es neue I/O-Geräte. Ein weiterer Nachteil liegt darin, dass
Magician nie OpenSource war.
Diese Bindings stellten zwar einen Anfang dar, aber die erste wirklich
vielversprechende Entwicklung stellte August 2003 die Veröffentlichung
von JOGL dar. Dies liegt vor allem an der Unterstützung durch
Sun (Java) und SGI (OpenGL). Ken Russel (Sun Microsystems) und Chris
Kline (Irrational Games) entwickelten unter dem Namen Jungle die
Grundlage für JOGL. Dabei wurde versucht, die Vorteile der
bereits erwähnten Bindings zu kombinieren. Die Weiterentwicklung
erfolgt heute durch die Game Technology Group von Sun Microsystems.
|