Lightweight Java Game Library
LWJGL (Lightweight Java Game Library) ist eine externe Programmbibliothek für die Programmiersprache Java von Sun Microsystems mit dem Fokus auf Spieleentwicklung. Mithilfe von LWJGL kann ein Java-Programmierer auf OpenGL- und OpenAL-Funktionen zugreifen. Außerdem übernimmt LWJGL die Behandlung von Tastatur- und Mauseingaben. Damit stellt LWJGL eine plattformunabhängige Alternative zu Microsoft DirectX dar.
Die aktuelle Version von LWJGL ist 0.97 Alpha, die am 19. Mai 2005 veröffentlicht wurde.
Vorteile
Geschwindigkeit
Hohe Geschwindigkeit durch
- Entfernung von Methoden, die in C effizient sind, aber nicht in Java, wie z. B.
glColor3fv
- Auswerfen einer Exception wenn Hardwarebeschleunigung auf Windows nicht verfügbar ist
Portabilität
Die Library wurde so entworfen, dass sie sowohl auf kleinen Geräten wie Handys als auch auf Multiprozessor-Rendering-Servern läuft (derzeit gibt es jedoch noch keine Handys, die so schnell sind um 3D-Spiele mit LWJGL richtig darzustellen).
Einfach
LWJGL wurde so entwickelt, dass es sowohl für Anfänger leicht zum benutzen ist, als auch für Profis, die damit professionelle Anwendungen entwickeln wollen.
Klein
Damit die Portabilität bestehen bleiben kann, muss die API klein sein.
- Klein = Einfach. Je weniger Wege es gibt etwas zu machen, desto einfacher ist der einzige Weg wie es richtig funktioniert herauszufinden.
- Klein = Weniger Fehler im Code.
- Klein = Besser zum herunterladen.
- Klein = J2ME.
Sicherheit
- Es werden keine Pointer sondern Buffer verwendet.
- Überprüfungen von Buffer-Positionen und Limits um sicherzustellen, dass die Werte innerhalb des erlaubten Bereichs sind.
Robustheit
- OpenGL-Fehlerüberprüfung im Java-Code anstatt in einer separaten DLL
- Runtime-Exceptions statt Checked-Exceptions (weniger Try-Catch-Anweisungen nötig)
Minimal
Es wurden nur Methoden in die Library aufgenommen, die nicht direkt mit Java ausgeführt werden können, deshalb wurde auch GLU bis auf einige wichtige Methoden entfernt.