Lightweight Java Game Library 3
What is LWJGL 3?
LWJGL is a Java library that enables cross-platform access to popular native APIs useful in the development of graphics (OpenGL), 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.
LWJGL is open source software and freely available at no charge.
Direct access to OpenGL, OpenCL, OpenAL, GLFW and other native APIs with uncompromised performance and a Java-friendly binding layer.
Get great auto-complete and inline documentation without leaving the comfort of your favorite IDE.
Write your game or application once, deploy on Windows, Mac, Linux.
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.
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.
The ultimate standard for cross-platform parallel programming on any hardware. LWJGL supports all OpenCL versions (including the latest 2.1 specification) and many useful extensions.
Cross-platform multichannel three-dimensional positional audio. A powerful API for music playback and audio effects. ALC and many extensions are also supported.
Everything you need to create exciting 2D and 3D graphics. LWJGL supports all OpenGL versions (including the latest 4.5 specification), all ARB, Khronos, and OS-specific extensions ever released and dozens of popular vendor-specific extensions. If your favorite extension is missing, ask for it and it will be added in no time!
OpenGL® ES Bindings
A royalty-free, cross-platform API for full-function 2D and 3D graphics on embedded systems - including consoles, phones, appliances and vehicles. It consists of well-defined subsets of desktop OpenGL, creating a flexible and powerful low-level interface between software and graphics acceleration.
An interface between Khronos rendering APIs such as OpenGL ES or OpenVG and the underlying native platform window system. It handles graphics context management, surface/buffer binding and rendering synchronization and enables high-performance, accelerated, mixed-mode 2D and 3D rendering using other Khronos APIs.
LibOVR Bindings (beta)
Create exciting virtual reality experiences with LibOVR, the API of the Oculus VR SDK.
Use the Objective-C Runtime to interface your JVM application with Cocoa APIs on Mac OS X.
Your favorite API here!
Think LWJGL should have bindings to your favorite API? Let us know or contribute it yourself!
OpenGL® and the oval logo are trademarks or registered trademarks of Silicon Graphics, Inc. in the United States and/or other countries worldwide.
OpenCL and the OpenCL logo are trademarks of Apple Inc. used by permission by Khronos.
OpenGL ES logo is a trademark of Silicon Graphics Inc. used by permission by Khronos.
EGL, the EGL logo, Vulkan and the Vulkan logo are trademarks of the Khronos Group Inc.
Oculus, Oculus VR, Oculus Rift, and the Oculus eye logo are trademarks or registered trademarks of Oculus VR, LLC.
Looking for LWJGL 2?
LWJGL 3 is a fresh start and LWJGL 2 is its predecessor. LWJGL 2 has been used in the creation of dozens of games, including titles like Minecraft by Mojang and Revenge of the Titans by Puppygames. It is also used in popular game engines, like libGDX and jMonkeyEngine.