LWJGL

De Viquipèdia
Jump to navigation Jump to search
Infotaula de programariLightweight Java Game Library (LWJGL)
Versió inicial 4 febrer 2007; fa 11 anys (2007-02-04)[1]
Versió estable

3.1.2

/ 15 maig 2017; fa 13 mesos (2017-05-15)[2]
Estat actual Active
Escrit en Java, C, Kotlin[3][4]
Sistema operatiu Windows, Linux, OS X
Plataforma Java platform
Tipus Free computer library
Llicència BSD,[5] alguns vincles estan sota altres llicències[3]
Més informació
Lloc web Web oficial
Blog Blog oficial
Twitter LWJGL
Stack Exchange Etiqueta
SourceForge java-game-lib
Seguiment d'errors Pàgina de seguiment d'errors
Modifica dades 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 a 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.[6]

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.[7][8] 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 dóna 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 1.0 Released».
  2. «LWJGL 3.1.2 Released!». , 15-05-2017.
  3. 3,0 3,1 «LWJGL/lwjgl3».
  4. «lwjgl3/doc – Generator», 11-08-2015.
  5. «Official website».
  6. «LWJGL 3.0.0 Released!», 04-06-2016. [Consulta: 29 maig 2017].
  7. «LWJGL 3.1.0 Released!». , 30-10-2016 [Consulta: 11 novembre 2016].
  8. «Download – LWJGL». [Consulta: 11 novembre 2016].
  9. «minecraft.net – Credits». [Consulta: 6 agost 2016].

Error de citació: L'etiqueta <ref> amb el nom "wiki" definida a <references> no s'utilitza en el text anterior.
Error de citació: L'etiqueta <ref> amb el nom "welcome-to-lwjgl-3" definida a <references> no s'utilitza en el text anterior.
Error de citació: L'etiqueta <ref> amb el nom "lwjgl-3-release" definida a <references> no s'utilitza en el text anterior.
Error de citació: L'etiqueta <ref> amb el nom "roadmap" definida a <references> no s'utilitza en el text anterior.

Error de citació: L'etiqueta <ref> amb el nom "bindings-faq" definida a <references> no s'utilitza en el text anterior.

Enllaços externs[modifica]