Also known as LWJGL
The Lightweight Java Game Library (LWJGL) is an open-source software library that provides bindings to a variety of C libraries for video game developers to Java. It exposes cross-platform libraries commonly used in developing video games and multimedia titles, such as Vulkan, OpenGL, GLFW, OpenAL and OpenCL.
via Wikipedia infobox
~7 min read
The Lightweight Java Game Library (LWJGL) is an open-source software library that provides bindings to a variety of C libraries for video game developers to Java. It exposes cross-platform libraries commonly used in developing video games and multimedia titles, such as Vulkan, OpenGL, GLFW, OpenAL and OpenCL.
The primary goal of the project is to provide a way for Java developers to get access to resources that are otherwise unavailable or poorly implemented on the existing Java platform. The main philosophy is to expose underlying technology as a thin wrapper, thus creating an API close to the original. LWJGL is the basis of certain high-level Java game engines and libraries, such as libGDX and jMonkeyEngine.
LWJGL ( is a Java library that enables cross-platform access to popular native APIs useful in the development of graphics (OpenGL/Vulkan), audio (OpenAL) and parallel computing (OpenCL) applications. This access is direct and high-performance, yet also wrapped in a type-safe and user-friendly layer, appropriate for the Java ecosystem. LWJGL is an enabling technology and provides low-level access. It is not a framework and does not provide higher-level utilities than what the native libraries expose. As such, novice programmers are encouraged to try one of the frameworks or game engines that make use of LWJGL, before working directly with the library. If you'd like to contribute, see doc/README for a quick overview of the project structure, installation instructions and configuration options. As of version 3.4.0 and JDK 25, LWJGL supports the FFM API and is fully functional when running with --sun-misc-unsafe-memory-access=deny . See the FFM documentation for details. The build configurator generates Maven & Gradle declarations that can be added to existing projects. This is the easiest way to use LWJGL while developing. To compile and run an LWJGL application, the base and natives JAR files of the core module and each binding used should be added to the classpath. LWJGL extracts the natives to a temporary folder and loads them automatically, so no further configuration is necessary. If more customization is required (e.g. when creating a platform-specific installer) the natives may be extracted manually and loaded via java.library.path . See the Configuration class for more options. For migrating LWJGL 2 code to LWJGL 3, see the Migration Guide. LWJGLX/debug is a Java Agent that will automatically detect a lot of these issues. It can also generate a trace log that's useful when reporting issues to LWJGL. When asking for help or when you suspect a bug in LWJGL, preparing an MVCE (Minimal, Complete, and Verifiable example) that reproduces the issue will improve the chances of a quick and useful response. EGL An interface between Khronos rendering APIs such as OpenGL ES or OpenVG and the underlying native platform window system. KTX (Khronos Texture) A lightweight container for textures for OpenGL®, Vulkan® and other GPU APIs. OpenCL An open, royalty-free standard for cross-platform, parallel programming of diverse processors found in personal computers, servers, mobile devices and embedded platforms. OpenGL The most widely adopted 2D and 3D graphics API in the industry, bringing thousands of applications to a wide variety of computer platforms. OpenGL ES A royalty-free, cross-platform API for full-function 2D and 3D graphics on embedded systems - including consoles, phones, appliances and vehicles. OpenXR A royalty-free, open standard that provides high-performance access to Augmented Reality (AR) and Virtual Reality (VR)—collectively known as XR—platforms and devices. Vulkan A new generation graphics and compute API that provides high-efficiency, cross-platform access to modern GPUs used in a wide variety of devices from PCs and consoles to mobile phones and embedded platforms. GLFW Create multiple windows, handle user input (keyboard, mouse, gaming peripherals) and manage contexts. Also features multi-monitor support, clipboard access, file drag-n-drop, and much more. SDL Simple DirectMedia Layer is a cross-platform development library designed to provide low level access to audio, keyboard, mouse, joystick, and graphics hardware via OpenGL/Direct3D/Metal/Vulkan. JAWT The AWT native interface. Native File Dialog Extended A small C library that portably invokes native file open, folder select and file save dialogs. tinyfd A native dialog library. FMOD An end-to-end solution for adding sound and music to any game. OpenAL A cross-platform 3D audio API appropriate for use with gaming applications and many other types of audio applications. OpenAL Soft An LGPL-licensed, cross-platform, software implementation of the Open
Excerpt from the source-code README · 14,023 chars · not written by Vinony
via Wikidata · CC0
Discovered by embedding cosine similarity (sentence-transformers MiniLM, 384-dim).