LWJGL (en anglès, Lightweight Java Game Library) és una llibreria de codi obert per a Java destinada a desenvolupadors de videojocs. Proporciona llibreries multiplataforma d'alt nivell generalment utilitzades en desenvolupament de videojocs i títols multimèdia, com ara OpenGL, Vulkan, OpenAL i OpenCL. A més, proporciona accés multiplataforma a controladors, com ara controladors de videojoc (gamepads), volants i palanques de control (o joysticks).

L'objectiu principal del projecte és proporcionar una manera de que els desenvolupadors de Java, tinguin accés a recursos que són altrament inutilitzables o mal implementats en la plataforma actual de Java. La filosofia principal és proporcionar tecnologia subjacent com un embolcall prim, i així es crea una API propera a l'original. També es la base d'altres motors de jocs d'alt nivell, com ara libGDX o jMonkeyEngine.

LWJGL es troba disponible sota llicència BSD.

El 13 de novembre de 2014, es va anunciar la versió 3, alliberada com a versió alfa el 27 d'abril de 2015. És una reescriptura completa de LWJGL. Es van incloure molts enllaços nous com GLFW, EGL i Objective-C. El suport per al desenvolupament d'Oculus Rift es va afegir amb enllaços a LibOVR. La nova versió va ser alliberada el 4 de juny de 2016, després de més de 3 anys i mig de desenvolupament.

Vinculacions La biblioteca accedeix a codi C natiu a través de la Interficie Nativa de Java (JNI). Les vinculacions de cada llibreria nativa existeixen com a diferents mòduls, d'aquesta manera els desenvolupadors poden generar programes només amb les coses que necessiten.

Mentre que les classes d'utilitat estan escrites en Java pur, la majoria de les classes vincluades són automàticament generades per un generador implementat a Kotlin.

Des de la versió 3.1 LWJGL està dividida en uns 20 mòduls que es poden descarregar i usar separadament. Per fer aquest procés més fàcil, el projecte proporciona un configurador en línia, el qual permet als usuaris descarregar combinacions de mòduls i automàticament genera arxius Maven i Gradle de configuració per alleujar el seu ús amb projectes existents. «LWJGL 3.1.0 Released!». , 30-10-2016 [Consulta: 11 novembre 2016].«Download – LWJGL». [Consulta: 11 novembre 2016]. Nuklear (Llibreria) + Proporcionat bindings Vincle Descripció Notes EGL Interfície entre la renderització de les APIs de Khronos i la finestra de plataforma nativa subjacent al sistema. OpenCL API multiplataforma per computació paral·lela. OpenGL 3D especificació de gràfics implementada per la majoria de venedors de GPU. La majoria d'extensions suportades, però les menys populars seran afegides a sol·licitud. OpenGL ES OpenGL Per embedded sistemes com telèfons mòbils, tauletas o consoles. VulkanProperament una API de gràfics en 3D multi plataforma. GLFW Biblioteca d'administració de la finestra necessitada per manejar OpenGL i Vulkan així com l'entrada d'usuari. JAWTinterficie nativa d'AWT. nfdPetita biblioteca multiplataforma nativa de diàlegs d'arxius. tinyfd Petita llibreria de diàleg natiu. OpenAL API d'àudio tridimensional. ALC i altres extensions són donats suport. OpenAL SoftImplementació de codi lliure d'OpenAL. bgfxBiblioteca multiplataforma de renderització que dona suport a múltiples mòduls posteriors gràfics. LibOVR API d'Oculus Rift SDK. NanoVGLlibreria de renderització de vectors en 2D fent servir OpenGL. Biblioteca senzilla de GUIs. par shapes Generador per paramètric i altres formes senzilles. STB Biblioteca d'arxiu sol lleugera per carregar imatges, sons i fonts. dyncall Biblioteca per cridar dinàmicament funcions C d'una manera portable. jemallocLlibreria de baix nivell per al management de la memòria. LMDB Biblioteca de base de dades ràpida que utilitza memory-mapped files. xxHashAlgoritme ràpid de hash.

Usos notables Minecraft«minecraft.net – Credits». [Consulta: 6 agost 2016].

Referències

Enllaços externs

Categoria:APIs de Java Categoria:Programari per al desenvolupament de videojocs Categoria:Programari escrit en Java