Movatterモバイル変換


[0]ホーム

URL:


Aller au contenu
Wikipédial'encyclopédie libre
Rechercher

Java OpenGL

Un article de Wikipédia, l'encyclopédie libre.
Java OpenGL

Description de l'image JOGL Refrection Demo Screenshot.png.
Informations
CréateurKenneth Bradley Russell(d) et Christopher John Kline(d)Voir et modifier les données sur Wikidata
Écrit enJavaVoir et modifier les données sur Wikidata
EnvironnementMachine virtuelle JavaVoir et modifier les données sur Wikidata
TypeBibliothèque logicielle
Bibliothèque Java(d)Voir et modifier les données sur Wikidata
LicenceBSD 2-clauses(en)Voir et modifier les données sur Wikidata
Site webjogamp.org/jogl/wwwVoir et modifier les données sur Wikidata

modifier -modifier le code -voir Wikidata(aide)

Java OpenGL (JOGL) est une bibliothèque qui permet d'utiliserOpenGL avec lelangage de programmation Java[1],[2]. Elle était développée à l'origine par Kenneth Bradley Russell et Christopher John Kline, et fut développée par la suite par leSun Microsystems Game Technology Group. Depuis 2010, c'est un projetopen source indépendant souslicence BSD. C'est l'implémentation de référence deJava Bindings for OpenGL (JSR-231).

JOGL permet d'accéder à la plupart des fonctionnalités disponibles enC, à l'exception notable des appels OpenGL utility toolkit (GLUT) relatifs ausystème de fenêtrage, comme Java a les siens,Abstract Window Toolkit (AWT),Swing, et quelquesextensions.

Architecture

[modifier |modifier le code]

L'API de base enOpenGLC API, ainsi que sonAPI de fenêtrage associée[3], sont accédées en JOGLvia des appelsJava Native Interface (JNI). Pour cette raison, le système sousjacent doit supporter OpenGL pour que JOGL fonctionne.

JOGL diffère des quelques autres bibliothèques en Java enveloppant OpenGL en cela qu'il expose plus ou moins l'API procédurale d'OpenGLvia des méthodes dans peu de classes, plutôt que d'essayer d'appliquer le paradigme de laprogrammation orientée objet à OpenGL. Ainsi, une grande partie du code de JOGL est auto-générée à partir des fichiers d'entête d'OpenGL en Cvia un outil de conversion appeléGlueGen, qui avait été programmé spécialement pour faciliter la création de JOGL.

Cette décision d'architecture a à la fois ses avantages et ses inconvénients. La nature procédurale et sous forme de machine à états d'OpenGL se marie mal avec la manière typique de programmer en Java, ce qui est fastidieux pour beaucoup de programmeurs. Cependant, la correspondance directe entre l'API OpenGL en C et les méthodes Java rend le portage d'applications existantes écrites en C et des exemples de code bien plus simple. La fine couche d'abstraction fournie par JOGL rend l'exécution efficace, mais elle est plus difficile à coder en comparaison à des bibliothèques d'abstraction de haut niveau tel queJava3D. Comme la plupart du code est auto-générée, les changements d'OpenGL peuvent être rapidement ajoutés à JOGL.

Statut et standardisation

[modifier |modifier le code]

À partir de 2007, JOGL fournit un accès complet à la spécificationOpenGL 2.0. La dernière version1.1.0 est l'implémentation de référence pourJSR-231 (Java Bindings for OpenGL)[4]. La version1.1.1 donne un accès limité auxGLUNURBS, permettant le rendu de courbes et de surfaces par le biais des APIs traditionnelles de GLU.

La version 2.0.2 ajoute le support des versions d'OpenGL jusqu'à 4.3 et des versions d'OpenGL-ES 1, 2, and 3.

Java2D-OpenGL inter-operabilité

[modifier |modifier le code]

Depuis la versionJava SE 6 du langageJava,Java2D (l'API pour dessiner en 2D en Java) et JOGL sont devenus inter-opérables, ce qui permet :

  • Superposer des composantsSwing (menus légers, bulles, et d'autreswidgets) au-dessus du renduOpenGL.
  • Dessiner des graphismes 3D enOpenGL au-dessus du renduJava2D (voirici pour un bouton avec une icône en OpenGL).
  • Utiliser des graphismes 3D n'importe où, ordinairement, unwidgetSwing pourrait être utilisé (à l'intérieur d'une JTable, JTree, ...).
  • Dessiner des graphismesJava2D au-dessus d'un rendu 3D enOpenGL.

Voir aussi

[modifier |modifier le code]
  • Java Bindings for OpenGL, The Java Community Specification Request for which JOGL provides an implementation
  • Ardor3D, un scénographe très performant, professionnel utilisant JOGL
  • Xith3D, un scénographe utilisant JOGL
  • Elflight Engine, un moteur de jeu très performant optimisé pour le Web
  • JMonkey Engine, un scénographe très performant, professionnel utilisant JOGL (uniquement dans JMonkeyEngine 2.0, support non officiel dans JMonkeyEngine 3)
  • Wakfu, un jeu de rôle multijoueur en ligne utilisant JOGL
  • Poxnora, un jeu multijoueur en ligne utilisant JOGL
  • Wurm Online, un MMORPG dans un univers fantastique utilisant JOGL
  • RuneScape, un MMORPG utilisant JOGL
  • Jake2, le portage Java deQuake II utilisant JOGL comme API graphique de bas niveau
  • Scilab, un programme de calcul numérique utilisant JOGL pour le rendu 2D et 3D
  • Jreality, un paquetage devisualisation scientifique utilisant JOGL

Références

[modifier |modifier le code]
  1. « Open source Java projects: Java Binding for OpenGL (JOGL) »,JavaWorld,(consulté le) :« JOGL originated as a project named Jungle, which was created by 3D graphics experts Ken Russell (of Sun Microsystems) and Chris Kline (of Irrational Games). »
  2. « Hello JOGL »,JavaWorld,(consulté le)
  3. « 3D & Multimedia Across Platforms and Devices Using JOGL »,SIGGRAPH,(consulté le)
  4. « JSR-000231 Java Bindings for the OpenGL API »,Java Community Process(consulté le) :« In order to facilitate maximum community participation for the Java Binding for the OpenGL API, we use the JOGL project on java.net found athttps://jogl.dev.java.net. The JOGL source code can be found there, licensed under a liberal source code license (mostly licensed as BSD except where we use other parties' licensed code). We take a snapshot of the code from this project every few months, run the Technology Compatibility Kit on the source code, and then officially make it the Reference Implementation for each formal Java Binding for the OpenGL API release. »

Liens externes

[modifier |modifier le code]
Ce document provient de « https://fr.wikipedia.org/w/index.php?title=Java_OpenGL&oldid=194707138 ».
Catégories :
Catégories cachées :

[8]ページ先頭

©2009-2025 Movatter.jp