LWJGL

De la Viquipèdia, l'enciclopèdia lliure
LWJGL

TipusJava software library (en) Tradueix Modifica el valor a Wikidata
Versió estable
3.3.3 (16 setembre 2023) Modifica el valor a Wikidata
Llicènciallicència BSD de 3 clàusules Modifica el valor a Wikidata
Característiques tècniques
Sistema operatiuMicrosoft Windows, Linux i macOS Modifica el valor a Wikidata
Plataformaplataforma Java Modifica el valor a Wikidata
Escrit enC, Java i Kotlin Modifica el valor a Wikidata
Equip
Desenvolupador(s)Ioannis Tsakpinis (en) Tradueix Modifica el valor a Wikidata
Més informació
Lloc weblwjgl.org (anglès) Modifica el valor a Wikidata
BlogBlog oficial Modifica el valor a Wikidata
Stack ExchangeEtiqueta Modifica el valor a Wikidata
SourceForgejava-game-lib Modifica el valor a Wikidata
Seguiment d'errorsSeguiment d'errors Modifica el valor a Wikidata

Twitter (X): LWJGL GitHub: lwjgl Modifica el valor a Wikidata

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[5]. 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.[1]

Vinculacions[modifica]

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.[2][3] 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.
Vulkan Properament 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.
JAWT interficie nativa d'AWT.
nfd Petita 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 Soft
Implementació de codi lliure d'OpenAL.
bgfx Biblioteca multiplataforma de renderització que dona suport a múltiples mòduls posteriors gràfics.
LibOVR API d'Oculus Rift SDK.
NanoVG Llibreria 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.
jemalloc Llibreria de baix nivell per al management de la memòria.
LMDB Biblioteca de base de dades ràpida que utilitza memory-mapped files.
xxHash Algoritme ràpid de hash.

Usos notables[modifica]

Referències[modifica]

  1. «LWJGL 3.0.0 Released!», 04-06-2016. [Consulta: 29 maig 2017].
  2. «LWJGL 3.1.0 Released!». , 30-10-2016 [Consulta: 11 novembre 2016].
  3. «Download – LWJGL». [Consulta: 11 novembre 2016].
  4. «minecraft.net – Credits». [Consulta: 6 agost 2016].

Enllaços externs[modifica]