So lassen sich in Java OpenGL-Funkionen nutzen

Seit dem Erscheinen der Java-SE-6-Version sind Java 2D und JOGL interoperabel. Dadurch kann JOGL Swing-Komponenten über das OpenGL-Rendering legen, OpenGL-3D-Grafiken über das Java-2D-Rendering zeichnen, Java-2D-Grafiken über das 3D-OpenGL-Rendering zeichnen und so weiter.

JOGL wird momentan von der Game Technology Group entwickelt, die zu Sun Microsystems gehört. Die Programmbibliothek gilt als Referenzimplementierung für JSR-231 (Java Bindings for OpenGL).


Der Screenshot zeigt das Rendering mit OpenGL unter der Verwendung von JOGL. Er liefert ein Beispiel für Lichtbrechungs- und Spiegelungseffekte.

Das Design von JOGL

In JOGL erfolgt der Zugriff auf die Basis-OpenGL-C-API über JNI-Aufrufe (Java Native Interface). Das zugrunde liegende System muss also OpenGL unterstützen, damit JOGL funktioniert. JOGL unterscheidet sich von so manch anderen Java-OpenGL-Wrapper-Bibliotheken: Es verwendet kaum die prozedurale OpenGL-API und arbeitet mit nur wenigen Wrapperklassen. Es versucht also nicht, die OpenGL-Funktionalität auf das objektorientierte Programmierparadigma abzubilden.

Den JOGL-Code erstellen die OpenGL-C-Header-Dateien großteils automatisch. Dafür kommt das Konvertierungstool Gluegen zum Einsatz. Es wurde eigens zur Vereinfachung der Entwicklung von JOGL programmiert. Diese Design-Entscheidung hat Vor- und Nachteile.

OpenGL ist eher eine Zustandsmaschine und prozedural angelegt. Das passt eigentlich nicht zur typischen Verfahrensweise des Programmierens unter Java. Viele Programmierer finden das sehr lästig. Das unkomplizierte Mapping der OpenGL-C-API auf Java-Methoden erleichtert aber die Konvertierung bestehender C-Anwendungen und des Beispielcodes enorm. Durch die dünne Abstraktionsschicht von JOGL funktioniert die Laufzeitausführung sehr effizient. JOGL ist jedoch viel schwieriger zu programmieren als Bibliotheken mit höherer Abstraktion, beispielsweise Java 3D. Da der größte Teil des Codes automatisch erstellt wird, können Veränderungen an OpenGL auch rasch zu JOGL hinzugefügt werden.

Page: 1 2 3 4

ZDNet.de Redaktion

Recent Posts

AMD steigert Umsatz und Gewinn im ersten Quartal

Server-CPUs und Server-GPUs legen deutlich zu. Das Gaming-Segment schwächelt indes.

37 Minuten ago

Google stopft schwerwiegende Sicherheitslöcher in Chrome 124

Zwei Use-after-free-Bugs stecken in Picture In Picture und der WebGPU-Implementierung Dawn. Betroffen sind Chrome für…

1 Tag ago

Studie: 91 Prozent der Ransomware-Opfer zahlen Lösegeld

Die durchschnittliche Lösegeldzahlung liegt bei 2,5 Millionen Dollar. Acht Prozent der Befragten zählten 2023 mehr…

2 Tagen ago

DMA: EU stuft auch Apples iPadOS als Gatekeeper ein

Eine neue Analyse der EU-Kommission sieht vor allem eine hohe Verbreitung von iPadOS bei Business-Nutzern.…

2 Tagen ago

Chips bescheren Samsung deutlichen Gewinnzuwachs

Das operative Ergebnis wächst um fast 6 Billionen Won auf 6,64 Billionen Won. Die Gewinne…

2 Tagen ago

Chrome: Google verschiebt das Aus für Drittanbietercookies

Ab Werk blockiert Chrome Cookies von Dritten nun frühestens ab Anfang 2025. Unter anderem gibt…

3 Tagen ago