|LWJGL - The Lightweight Java Game Library Version 3.3 Released|
|Written by Nikos Vaggalis|
|Friday, 26 November 2021|
After more than two years, the long-awaited release of this open source library is finally here, and with a lot to offer.
Per the the project's official definition , 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.
The part to note in this definition is that LWJGL provides access to native APIs through Java. That it is a wrapper over the APIs doesn't mean that you should not be familiar with the semantics of the underlying API. Hence to get the most out of LWJGL a good understanding of the native APIs is essential too.
At this point it is important to disambiguate between a library and a framework. LWJGL is a library and as such is low level; it is not a gamedev framework like libgdx (which itself uses LWJGL under the covers!) or a gamedev engine like GoDot which provide higher level of abstractions. For this reason, it is not recommended for novice programmers to start out writing games with it.
And, of course, it is debatable whether Java is a good language for gamedev over the classic value of C++. Some advantages of using Java are its support of multiple operating systems and, of course, the easy learning curve in comparison to C++. Minuses could be garbage collection, performance and a smaller dev community. In any case, it depends on the use case; as they say, choose the best tool for the job at hand.
The number of supported bindings is impressive: EGL, OpenCL, OpenGL ,OpenGL ES and Vulkan (the new generation graphics and compute API) are supported.
Then there's bindings for Display and Input, Audio, Graphics, public domain libraries for C/C++ as well as CUDA. An exhaustive list can be found on the project's Github repo, while the demo directory contains code samples in many APIs.
Version 3.2.3 was released back in September 2019, so this 3.3.0 release comes after two years plus. It comes with more bindings, updated components to newer versions, bug fixes, various improvements and in some instances breaking backwards compatibility. Some of those changes in not a particular order are:
Full list of changes on the project's release notes.
Also make sure to check this legacy list of games made with LWJGL.
Cooperative AI Beats Humans at Quake CTF
How To Create A Viral Mobile Game
To be informed about new articles on I Programmer, sign up for our weekly newsletter, subscribe to the RSS feed and follow us on Twitter, Facebook or Linkedin.
or email your comment to: email@example.com
|Last Updated ( Friday, 26 November 2021 )|