La biblioteca ligera de juegos Java ( LWJGL ) es una biblioteca de software de código abierto que proporciona enlaces a diversas bibliotecas C para desarrolladores de videojuegos en Java . Expone bibliotecas multiplataforma comúnmente utilizadas en el desarrollo de videojuegos y títulos multimedia, como Vulkan , OpenGL , GLFW , OpenAL y OpenCL .
El objetivo principal del proyecto es proporcionar a los desarrolladores de Java una forma de acceder a recursos que, de otro modo, no estarían disponibles o estarían mal implementados en la plataforma Java actual. La filosofía principal consiste en exponer la tecnología subyacente como una capa de abstracción, creando así una API similar a la original. LWJGL es la base de ciertos motores y bibliotecas de juegos Java de alto nivel, como libGDX [ 4 ] y jMonkeyEngine [ 5 ] .
Historia
El desarrollo de la biblioteca comenzó en 2002 con el lanzamiento de J2SE 1.4 , aprovechando las operaciones de E/S no bloqueantes y el acceso a memoria fuera del montón recientemente añadidos . Estas incorporaciones al JDK permitieron un mejor acceso a la memoria nativa y a bibliotecas que no formaban parte del JDK. La primera versión oficial de la biblioteca se lanzó el 4 de febrero de 2007. [ 1 ]
El 13 de noviembre de 2014 se anunció la versión 3, que se lanzó en versión alfa el 27 de abril de 2015 y es una reescritura completa de LWJGL. [ 6 ] [ 7 ] [ 8 ] La versión 3 añadió soporte para Vulkan y muchos enlaces nuevos, incluidos GLFW , EGL y Objective-C . [ 8 ] [ 9 ] También se añadió soporte para el desarrollo de Oculus Rift con enlaces LibOVR. [ 8 ] La nueva versión se lanzó el 4 de junio de 2016, después de más de 3 años y medio de desarrollo. [ 10 ]
Encuadernaciones
La biblioteca accede al código C nativo a través de la Interfaz Nativa de Java (JNI). Los enlaces a cada una de las bibliotecas nativas existen como módulos diferentes para que los desarrolladores puedan crear compilaciones personalizadas con solo lo que necesitan en un programa determinado. [ 8 ] [ 11 ] [ 2 ]
Si bien las clases de utilidad están escritas en Java puro , la mayoría de las clases de enlace se generan automáticamente mediante un generador personalizado implementado en Kotlin . [ 2 ] [ 3 ]
Desde la versión 3.1, LWJGL está completamente dividido en 51 módulos que se pueden descargar y usar por separado. Para facilitar este proceso, el proyecto ofrece un configurador de compilación en línea que permite a los usuarios descargar combinaciones personalizadas de módulos y genera automáticamente archivos de configuración de Maven y Gradle para facilitar su uso con proyectos existentes. [ 12 ] [ 13 ]
Usos notables
- Minecraft: Java Edition [ 14 ] [ 15 ]
- Proyecto Zomboid [ 14 ] [ 16 ]
- Caballeros espirales [ 14 ]
- Sector estelar [ 14 ]
Referencias
- 1 2 Matzon, Brian (4 de febrero de 2007). "LWJGL 1.0 lanzado" . Foro de LWJGL . Recuperado el 23 de julio de 2016 .
- 1 2 3 4 5 "LWJGL/lwjgl3" . github.com . Consultado el 13 de agosto de 2016 .
- 1 2 "lwjgl3/doc – Generador" . github.com . 11 de agosto de 2015. Consultado el 30 de agosto de 2015 .
- ↑ "Introducción al desarrollo de videojuegos: configuración de LibGDX" . Universidad de Cornell . Consultado el 29 de marzo de 2026 .
- ↑ Fleischauer, Mike (15 de noviembre de 2021). "LWJGL: Lanzamiento de la biblioteca de juegos Java ligera 3.3.0" . GameFromScratch.com . Consultado el 29 de marzo de 2026 .
- ^ Tsakpinis, Ioannis (13 de noviembre de 2014). "Bienvenidos a LWJGL 3" . blog.lwjgl.org .
- ↑ "Hoja de ruta de LWJGL 3" . github.com . Consultado el 2 de junio de 2015 .
- ^ Tsakpinis, Ioannis (27 de abril de 2015 ) . "Lanzamiento de LWJGL 3.0.0a" . blog.lwjgl.org .
- ↑ Larabel, Michael (3 de junio de 2016). "LWJGL 3.0 trae soporte para Vulkan, nuevos enlaces y otras mejoras para juegos Java" . Phoronix . Recuperado el 29 de marzo de 2026 .
- ↑ "¡LWJGL 3.0.0 lanzado!" . blog.lwjgl.org . 4 de junio de 2016 . Consultado el 4 de junio de 2016 .
- ↑ "Preguntas frecuentes sobre enlaces" . github.com . 27 de diciembre de 2014. Consultado el 27 de julio de 2015 .
- ↑ "¡LWJGL 3.1.0 lanzado!" . blog.lwjgl.org . 30 de octubre de 2016 . Consultado el 11 de noviembre de 2016 .
- ↑ "Descargar – LWJGL" . lwjgl.org . Consultado el 11 de noviembre de 2016 .
- ^ Boadas , Jesús (18 de enero de 2016 ) . "Tutorial Lwjgl" . Frikis del código Java . Consultado el 29 de marzo de 2026 .
- ↑ "Atribuciones de Minecraft | Minecraft" . Minecraft.net . Consultado el 9 de julio de 2020 .
- ↑ "APZDTISA #3: ¡Esta vez con MULTIJUGADOR EN VIVO!" . Project Zomboid . 17 de febrero de 2014 . Consultado el 25 de enero de 2022 .
Enlaces externos
- Software libre multiplataforma
- Bibliotecas informáticas gratuitas
- Motores de juegos gratuitos
- Software libre programado en Java.
- Bibliotecas gráficas
- Bibliotecas de Java (lenguaje de programación)
- Software para el desarrollo de videojuegos
- Software de desarrollo de videojuegos para Linux