Java OpenGL

Java OpenGL (JOGL) is een wrapper-bibliotheek voor het gebruik van OpenGL in de programmeertaal Java. Het wordt ontwikkeld door de Game Technology Group bij Sun Microsystems.

Java OpenGL
OntwikkelaarSun Microsystems
Recentste versie2.3.1 
(27 maart 2015)
Laatste bètaversie2.3.1 
(27 maart 2015)
BesturingssysteemMultiplatform
CategorieWrapperbibliotheek
LicentieBSD-licentie
Website(en) Projectpagina
Portaal    Informatica

Kenmerken

JOGL biedt toegang tot de meeste functionaliteit die C programmeurs kunnen gebruiken, uitgezonderd de venstergerelateerde aanroepen aan het systeem in OpenGL Utility Toolkit (GLUT) aangezien Java zelf systemen bevat voor het beheren van vensters, namelijk AWT en Swing. Ook ontbreken enkele uitbreidingen. JOGL is de referentie-implementatie van Java Specifiation Request 231: Java Binding for the OpenGL API.

De basis OpenGL C API is toegankelijk in JOGL via Java Native Interface (JNI) aanroepen. Het onderliggende systeem moet hierdoor OpenGL ondersteunen om JOGL te kunnen gebruiken.

Ontwerp

JOGL verschilt van sommige andere Java OpenGL bibliotheken aangezien het de OpenGL API alleen toegankelijk maakt via een aantal klassen in plaats van het overbrengen van de OpenGL functionaliteit naar het objectgeöriënteerde programmeerparadigma. Het meeste van de JOGL code is automatisch gegenereerd met behulp van de OpenGL C headerbestanden met een conversieprogramma genaamd GlueGen.

Deze ontwerpkeuze heeft voor- en nadelen. De procedurele en eindige toestandsautomaat kenmerken van OpenGL komen niet overeen met de gebruikelijke manier van programmeren in Java, wat veel programmeurs tegenstaat. Aan de andere kant maakt de directe overeenkomst tussen de functionaliteit van de OpenGL C API en de methoden in JOGL het gemakkelijk om bestaande C programma's over te zetten. Het vereenvoudigt ook voorbeeldcode om te leren werken met JOGL. De dunne laag van abstractie die door JOGL wordt geboden maakt het uitvoeren van programma's vrij efficiënt maar het is lastiger om te programmeren in vergelijking met bibliotheken met een hoger niveau van abstractie, zoals Java3D. Aangezien de meeste code automatisch gegenereerd is kunnen veranderingen in OpenGL snel toegevoegd worden aan JOGL.

Zie ook

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.