JOGL - Descripción general
Este capítulo presenta OpenGL, sus funciones, los enlaces OpenGL en java (GL4java, LWJGL, JOGL) y las ventajas de JOGL sobre otros enlaces OpenGL.
Java vinculante para ObolígrafoGL(JOGL) es el enlace reciente para la API de gráficos OpenGL en Java. Es una biblioteca contenedora, que puede acceder a la API de OpenGL, y está diseñada para crear aplicaciones de gráficos 2D y 3D codificadas en Java. JOGL es una biblioteca de código abierto desarrollada inicialmente por los ex estudiantes graduados del MIT Ken Russell y Chris Kline. Más tarde, fue adoptado por el grupo de juegos de Sun Microsystems, y ahora es mantenido por Java on Graphics Audio and Processing (JOGAMP). JOGL funciona en varios sistemas operativos como Windows, Solaris, Mac OS X y Linux (en x86).
¿Qué es OpenGL?
OpenGL son las siglas de Open Graphics Library, que es una colección de comandos para crear gráficos 2D y 3D. Con OpenGL, puede crear formas 3D complicadas utilizando primitivas muy básicas como puntos, líneas, polígonos, mapas de bits e imágenes.
Aquí hay algunas características de OpenGL:
Puede funcionar en múltiples plataformas.
Tiene enlaces en varios lenguajes como C ++, Python, etc.
Puede renderizar gráficos vectoriales 2D y 3D.
Interactúa con la Unidad de procesamiento gráfico (GPU) para lograr un renderizado rápido y de alta calidad. El renderizado es el proceso de crear una imagen a partir de un modelo 2D o 3D.
Es una API estándar de la industria para escribir aplicaciones de gráficos 3D. Por ejemplo, juegos, salvapantallas, etc.
Contiene alrededor de 150 comandos, que los programadores pueden usar para especificar objetos y operaciones para desarrollar aplicaciones.
Contiene la biblioteca de utilidades OpenGL (GLU) que proporciona varias funciones de modelado, como superficies cuádricas y curvas NURBS. GLU es un componente estándar de OpenGL.
El diseño de OpenGL se centra en la eficiencia, la eficacia y su implementación en múltiples plataformas utilizando múltiples lenguajes. Para mantener la simplicidad de una API OpenGL, las tareas de ventanas no están incluidas.
Por lo tanto, OpenGL depende de otros lenguajes de programación para tareas de ventanas.
Enlace de Java para la API de OpenGL
Es una especificación API Java Specification Request (JSR), que permite usar OpenGL en la plataforma Java.
Especificaciones | Detalles |
---|---|
JSR 231 | Este paquete de enlace de Java es compatible con la plataforma Java SE. |
JSR 239 | Este paquete de enlace de Java es compatible con la plataforma Java ME. |
Hay varios enlaces OpenGL en Java. Se discuten a continuación
GL4java
Se conoce como tecnología OpenGL para Java. Tiene enlaces a OpenGL 1.3 y a casi todas las extensiones de proveedores. Además, se puede utilizar con Abstract Window Toolkit (AWT) y Swings. Es un enlace OpenGL centrado en el juego, que es una ventana única que muestra aplicaciones en pantalla completa.
LWJGL
Biblioteca de juegos Java de peso ligero (LWJGL), utiliza OpenGL 1.5 y funciona con la última versión de Java.
Puede utilizar las capacidades de pantalla completa de JSE 1.4. Tiene soporte limitado para AWT / Swings.
Es adecuado para dispositivos livianos como teléfonos móviles, dispositivos integrados, etc.
JOGL
JOGL se centra únicamente en la representación 2D y 3D. Las interfaces que tratan con sonido y entrada-salida no están incluidas en JOGL.
Incluye Graphics Utility Library (GLU), GL Utility toolkit (GLUT) y su propia API: Native Windowing Toolkit (NEWT).
¿Por qué JOGL?
Proporciona acceso completo a las API de OpenGL (versión 1.0, 4.3, ES 1, ES 2 y ES 3), así como a casi todas las extensiones de los proveedores. Por lo tanto, todas las funciones de OpenGL están incluidas en JOGL.
JOGL se integra con AWT, Swing y Standard Widget Toolkit (SWT). También incluye su propio kit de herramientas de ventanas nativas (NEWT). Por lo tanto, proporciona soporte completo para ventanas.
Historia de JOGL
1992 - Silicon Graphics Inc. lanzó la primera especificación OpenGL.
2003 - Se lanzó el sitio web Java.net con nuevas funciones y JOGL se publicó por primera vez en el mismo sitio web.
2010 - Desde el año 2010, ha sido un proyecto de código abierto independiente bajo licencia BSD, que es una licencia liberal para software de computadora.