JOGL - Panoramica

Questo capitolo introduce OpenGL, le sue funzioni, i collegamenti OpenGL in java (GL4java, LWJGL, JOGL) ei vantaggi di JOGL rispetto ad altri collegamenti OpenGL.

Java binding per OpennaGL(JOGL) è la recente associazione per l'API grafica OpenGL in Java. È una libreria wrapper, che può accedere all'API OpenGL, ed è progettata per creare applicazioni grafiche 2D e 3D codificate in Java. JOGL è una libreria open source inizialmente sviluppata dagli ex studenti laureati del MIT Ken Russell e Chris Kline. Successivamente, è stato adottato dal gruppo di gioco di Sun Microsystems e ora è mantenuto da Java su Graphics Audio and Processing (JOGAMP). JOGL funziona su vari sistemi operativi come Windows, Solaris, Mac OS X e Linux (su x86).

Cos'è OpenGL?

OpenGL sta per Open Graphics Library, che è una raccolta di comandi per creare grafica 2D e 3D. Con OpenGL, puoi creare complicate forme 3D utilizzando primitive di base come punti, linee, poligoni, bitmap e immagini.

Ecco alcune funzionalità di OpenGL:

  • Può funzionare su più piattaforme.

  • Ha collegamenti in diversi linguaggi come C ++, Python, ecc

  • Può eseguire il rendering di grafica vettoriale 2D e 3D.

  • Interagisce con la GPU (Graphical Processing Unit) per ottenere un rendering veloce e di alta qualità. Il rendering è il processo di creazione di un'immagine da un modello 2D o 3D.

  • È un'API standard del settore per la scrittura di applicazioni grafiche 3D. Ad esempio, giochi, screensaver, ecc.

  • Contiene circa 150 comandi, che i programmatori possono utilizzare per specificare oggetti e operazioni per sviluppare applicazioni.

  • Contiene OpenGL Utility Library (GLU) che fornisce varie funzionalità di modellazione, come superfici quadriche e curve NURBS. GLU è un componente standard di OpenGL.

  • Il design di OpenGL è incentrato sull'efficienza, l'efficacia e la sua implementazione su più piattaforme utilizzando più lingue. Per mantenere la semplicità di un'API OpenGL, le attività di windowing non sono incluse.

Pertanto, OpenGL dipende da altri linguaggi di programmazione per le attività di windowing.

Binding Java per API OpenGL

Si tratta di una specifica API JSR (Java Specification Request), che consente di utilizzare OpenGL su piattaforma Java.

Specifiche Dettagli
JSR 231 Questo pacchetto di binding Java supporta la piattaforma Java SE.
JSR 239 Questo pacchetto di binding Java supporta la piattaforma Java ME.

Esistono vari collegamenti OpenGL in Java. Sono discussi di seguito

GL4java

È noto come OpenGL per la tecnologia Java. Ha collegamenti a OpenGL 1.3 e a quasi tutte le estensioni dei fornitori. Inoltre, può essere utilizzato con Abstract Window Toolkit (AWT) e Swings. È un'associazione OpenGL incentrata sul gioco, che è una singola finestra che visualizza le applicazioni a schermo intero.

LWJGL

  • Light Weight Java Game Library (LWJGL), utilizza OpenGL 1.5 e funziona con l'ultima versione di java.

  • Può utilizzare le funzionalità a schermo intero di JSE 1.4. Ha un supporto limitato per AWT / Swings.

  • È adatto per dispositivi leggeri come telefoni cellulari, dispositivi incorporati, ecc.

JOGL

  • JOGL si concentra solo sul rendering 2D e 3D. Le interfacce che si occupano di suono e input-output non sono incluse in JOGL.

  • Include Graphics Utility Library (GLU), GL Utility toolkit (GLUT) e la sua API - Native Windowing Toolkit (NEWT).

Perché JOGL?

  • Fornisce pieno accesso alle API OpenGL (versione 1.0, 4.3, ES 1, ES 2 ed ES 3) nonché a quasi tutte le estensioni del fornitore. Quindi, tutte le funzionalità di OpenGL sono incluse in JOGL.

  • JOGL si integra con AWT, Swing e Standard Widget Toolkit (SWT). Include anche il proprio Native Windowing Toolkit (NEWT). Quindi, fornisce un supporto completo per le finestre.

Storia di JOGL

  • 1992 - Silicon Graphics Inc. ha rilasciato la prima specifica OpenGL.

  • 2003 - Il sito Web Java.net è stato lanciato con nuove funzionalità e JOGL è stato pubblicato per la prima volta sullo stesso sito Web.

  • 2010 - Dal 2010, è un progetto open source indipendente con licenza BSD, che è una licenza liberale per il software per computer.