Lehká knihovna her Java - Lightweight Java Game Library - Wikipedia
![]() | Tento článek má několik problémů. Prosím pomozte vylepši to nebo diskutovat o těchto otázkách na internetu diskusní stránka. (Zjistěte, jak a kdy tyto zprávy ze šablony odebrat) (Zjistěte, jak a kdy odstranit tuto zprávu šablony)
|
![]() | |
První vydání | 4. února 2007[1] |
---|---|
Stabilní uvolnění | 3.2.3 b13 / 2. září 2019[2] |
Náhled verze | 3.2.4 b6 / 15. září 2020 |
Úložiště | github |
Napsáno | Jáva, C, Kotlin[3][4] |
Operační systém | Okna, Linux, OS X |
Plošina | Java platforma |
Typ | Knihovna počítače zdarma |
Licence | BSD,[5] některá vázání pod různými licencemi[3] |
webová stránka | www![]() |
The Lehká knihovna her Java (LWJGL) je open-source Jáva softwarová knihovna pro vývojáři videoher. Vystavuje vysoký výkon napříč platformami knihovny běžně používané při vývoji videoher a multimediálních titulů, jako je Vulkan, OpenGL, OpenAL a OpenCL. Dále poskytuje přístup k ovladačům, volantům a joystickům neutrálním způsobem.[6]
Primárním cílem projektu je poskytnout vývojářům prostředí Java přístup k prostředkům, které jsou jinak k dispozici nebo jsou špatně implementovány na stávající platformě Java. Hlavní filozofií je vystavit základní technologii jako tenký obal a vytvořit tak API blízko k originálu. Je také základem mnoha herních engineů a knihoven na vysoké úrovni Java, jako je libGDX nebo jMonkeyEngine.
LWJGL je k dispozici pod a Licence BSD.[5]
Dne 13. listopadu 2014 byla oznámena verze 3, která byla vydána v alfa verzi 27. dubna 2015 a je úplným přepsáním LWJGL.[7][8][9] Mnoho nových vazeb, včetně GLFW, EGL a Cíl-C, byly přidány.[5][8] Podpora pro Oculus Rift vývoj byl také přidán s LibOVR vazby.[5][9] Nová verze byla vydána dne 4. června 2016, po více než 3 a půl letech vývoje.[10]
Vázání
Knihovna přistupuje nativně C kód přes Nativní rozhraní Java (JNI). Vázání ke každé z nativních knihoven existují různé moduly, takže vývojáři mohou vytvářet vlastní sestavy pouze s věcmi, které v určitém programu potřebují.[5][9][11]
Zatímco třídy nástrojů jsou psány čistě Jáva, většina tříd vazeb je automaticky generována vlastním generátorem implementovaným v Kotlin.[3][4]
Od verze 3.1 je LWJGL plně rozdělena na 51 modulů, které lze stáhnout a použít samostatně. Aby byl tento proces snazší, poskytuje projekt online konfigurátor sestavení, který umožňuje uživatelům stahovat vlastní kombinace modulů a automaticky generovat Maven a Gradle konfigurační soubory pro usnadnění jejich použití se stávajícími projekty.[12][13]
Vazba | Kategorie | Popis | Poznámky |
---|---|---|---|
EGL | Khronos API | Rozhraní mezi API pro vykreslování Khronos a základním systémem oken nativní platformy. | |
OpenCL | API pro různé platformy paralelní výpočty. | ||
OpenGL | Specifikace 3D grafiky implementovaná většinou GPU prodejci. | Většina rozšíření je podporována, ale méně populární budou přidána na vyžádání. | |
OpenGL ES | OpenGL pro vestavěné systémy jako mobilní telefony, tablety nebo konzoly. | ||
Vulkan | Připravovaný multiplatformní 3D grafický API. | ||
GLFW | Displej a vstup | Knihovna pro správu oken potřebná pro zpracování kontextů OpenGL a Vulkan i pro vstup uživatele. | |
JAWT | AWT nativní rozhraní. | ||
nfd | Knihovna nativních souborových dialogů pro malé platformy. | ||
tinyfd | Malá nativní dialogová knihovna. | ||
OpenAL | Zvuk | Trojrozměrné zvukové API. | ALC a další rozšíření jsou podporovány. |
OpenAL Soft | Zdarma licencovaná softwarová implementace OpenAL. | ||
Opus | Otevřený, bez licenčních poplatků zvukový kodek. | ||
Asimp | Grafika | Přenosná open source knihovna pro import různých 3D model formáty. | |
bgfx | Cross-platformová vykreslovací knihovna podporující více grafických backendů. | ||
DriftFX | Knihovna pro vykreslování obsahu OpenGL do uzlů JavaFX. | ||
LibOVR | API Oculus Rift SDK. | ||
meshoptimizer | Knihovna optimalizace sítě, díky níž jsou sítě menší a rychlejší | ||
NanoSVG | Jednoduchý SVG analyzátor. | ||
NanoVG | Knihovna pro vykreslování 2D vektorové grafiky pomocí OpenGL. | ||
Nuklear (knihovna) | Jednoduchý GUI knihovna. | ||
par tvary | Generátor pro parametrické a další jednoduché tvary. | ||
par_streamlines | Triangulujte široké čáry a křivky. | ||
OpenVR | Modul runtime API, který umožňuje přístup k hardwaru VR od více dodavatelů, aniž by vyžadovaly aplikace, mají konkrétní znalosti o typu hardwaru, na který cílí. | ||
Shaderc | Sbírka knihoven pro shader sestavení | ||
SPIRV-Cross | Knihovna pro provádění reflexe SPIR-V a rozebrání SPIR-V zpět na jazyky vysoké úrovně. | ||
OpenEXR | Malá knihovna s jednou hlavičkou pro načtení a uložení obrázků OpenEXR (.exr). | ||
Tootle (AMD) | Knihovna optimalizace 3D trojúhelníkových sítí, která vylepšuje stávající techniky předzpracování sítí. | ||
Vulkan Memory Allocator | Snadno integrovatelná knihovna pro přidělování paměti Vulkan. | ||
Jóga | Knihovna rozložení s otevřeným zdrojovým kódem pro různé platformy, která se implementuje CSS Flexbox. | ||
STB | STB | Lehké knihovny pro jednotlivé soubory pro načítání obrázků, zvuků a písem. | |
Bullet Physics | jiný | Detekce kolizí v reálném čase a simulace více fyziky pro VR, hry, vizuální efekty, robotiku, strojové učení atd. | |
CUDA | Platforma pro paralelní výpočty a programovací model vyvinutý společností NVIDIA pro obecné výpočty na GPU. | ||
dyncall | Knihovna pro dynamické volání funkcí C přenosným způsobem. | ||
jemalloc | Nízkoúrovňová správa paměti. | ||
libdivide | Knihovna, která nahradí drahé celé číslo, se rozdělí poměrně levným násobením a bitovými posuny. | ||
LLVM | Kolekce modulárních a opakovaně použitelných technologií kompilátorů a nástrojů. | ||
LMDB | Rychlá knihovna databáze pomocí soubory mapované do paměti. | ||
LZ4 | Bezztrátový komprese dat algoritmus, který se zaměřuje na rychlost. | ||
Meow Hash | Rychlýkryptografický hash. | ||
ODBC | Rozhraní v jazyce C, které aplikacím umožňuje přístup k datům z různých systémů pro správu databází. | ||
Remotery | CPU / GPU v reálném čase profiler. | ||
rpmalloc | Meziplatformový alokátor paměti pro ukládání mezipaměti vláken. | ||
xxHash | Rychle hash algoritmus. | ||
Zstandard | Rychlý bezztrátový kompresní algoritmus. |
Pozoruhodná použití
Reference
- ^ „Vydáno LWJGL 1.0“. forum.lwjgl.org. 4. února 2007. Citováno 23. července 2016.
- ^ „LWJGL 3.2.3“. github.com. 2. září 2019. Citováno 13. října 2019.
- ^ A b C d „LWJGL / lwjgl3“. github.com. Citováno 13. srpna 2016.
- ^ A b "lwjgl3 / doc - generátor". github.com. 11. srpna 2015. Citováno 30. srpna 2015.
- ^ A b C d E F "Oficiální webové stránky". Citováno 14. srpna 2015.
- ^ „LWJGL Wiki“. github.com. Citováno 2. června 2015.
- ^ Tsakpinis, Ioannis (13. listopadu 2014). „Vítejte v LWJGL 3“. blog.lwjgl.org.
- ^ A b „Plán LWJGL 3“. github.com. Citováno 2. června 2015.
- ^ A b C Tsakpinis, Ioannis (27. dubna 2015). „Vydáno LWJGL 3.0.0a“. blog.lwjgl.org.
- ^ „LWJGL 3.0.0 Vydáno!“. blog.lwjgl.org. 4. června 2016. Citováno 4. června 2016.
- ^ "Vazby FAQ". github.com. 27. prosince 2014. Citováno 27. července 2015.
- ^ „LWJGL 3.1.0 Vydáno!“. blog.lwjgl.org. 30. října 2016. Citováno 11. listopadu 2016.
- ^ „Stáhnout - LWJGL“. lwjgl.org. Citováno 11. listopadu 2016.
- ^ "Minecraft Attribution | Minecraft". Minecraft.net. Citováno 9. července 2020.