Lightweight Java Game Library

From Wikipedia, the free encyclopedia
Jump to: navigation, search
Lightweight Java Game Library (LWJGL)
Developer(s) LWJGL team
Stable release 3.0.0a / 27 April 2015 (3 months ago) (2015-04-27)
Written in Java, C
Operating system Windows, Linux, OS X
Type Java software library
License BSD license

The Lightweight Java Game Library (LWJGL) is an open source Java software library for computer game developers.

LWJGL exposes high performance cross-platform libraries commonly used in developing software games and multimedia titles. The main ones are OpenGL (Open Graphics Library), OpenAL (Open Audio Library) and OpenCL (Open Computing Language). It further provides access to controllers such as gamepads, steering wheels and joysticks in a platform-neutral way.[1]

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 a simple API. It is also the basis of many Java game engines and libraries.

LWJGL is available under a BSD license.[2]

On 13 November 2014 version 3 was announced, which was released in alpha version on 27 April 2015 and is a complete rewrite of LWJGL.[3][4][5] Two of the main changes are the use of GLFW as the windowing system and the (upcoming) implementation of OpenGL ES bindings, as well as Objective-C bindings.[2][4] Support for Oculus Rift was also added with LibOVR bindings and is currently in beta.[2][5]


The library accesses native C code through the Java Native Interface (JNI). Bindings to each of the native libraries exist as different modules so developers can make custom builds with only the things they need in a certain program.[2][5][6]

Provided bindings[2]
Binding Description Notes
GLFW Window management library needed for handling an OpenGL context.
OpenGL 3D graphics specification implemented by most GPU vendors. Most extensions supported, but less popular ones will be added on request.
OpenAL Three-dimensional audio API. ALC and other extensions are supported.
OpenCL API for parallel programming.
OpenGL ES OpenGL for embedded systems like smartphones, tablets or consoles.
LibOVR API of the Oculus Rift. As of July 2015 still in beta status.
STB Lightweight single-file library for loading images, sounds and fonts.

See also[edit]

  • Java OpenGL, another wrapper library that allows OpenGL to be used in the Java programming language
  • JMonkeyEngine, game engine using LWJGL
  • Minecraft, popular game using LWJGL
  • LibGDX, game-development application framework using LWJGL[7]


  1. ^ "LWJGL Wiki". Retrieved 2 June 2015. 
  2. ^ a b c d e "LWJGL Website". Retrieved 2 June 2015. 
  3. ^ "LWJGL Blog – Welcome to LWJGL 3". 13 November 2014. 
  4. ^ a b "LWJGL 3 Roadmap". Retrieved 2 June 2015. 
  5. ^ a b c "LWJGL Blog – LWJGL 3.0.0a released". 27 April 2015. 
  6. ^ "Bindings FAQ". 27 December 2014. Retrieved 27 July 2015. 
  7. ^ "libGDX github page". Retrieved 2 June 2015. 

External links[edit]