LWJGL, the Light Weight Java Game Library, just released version 3.1.2. LWJGL is series of low level language bindings to critical game development related APIs such as OpenGL and OpenAL. LWJGL is the underlying technology Java libraries such as LibGDX and jMonkeyEngine depend on for desktop targets. The 3.1.2 release brings several new fixes and features, including new VR oriented library bindings.
Details from the release log:
- Added OpenVR bindings.
- Added Tiny OpenEXR bindings.
- Added Yoga bindings.
- bgfx: Updated to API version 41 (up from 34)
- glfw: Updated to pre-release 3.3.0 version (up from 3.2.1). Includes many fixes and new features:
- Last error code query (
- Requesting attention from the user (
- Platform dependent scancodes for keys (
- Window maximization events (
- Window attribute modification (
- Joystick hats (
- Library initialization hints (
- Headless OSMesa backend
- Cursor centering control (
- macOS: Cocoa hints (
- macOS: Vulkan support via MoltenVK
- X11: Moved to XI2
XI_RawMotionfor disabled cursor mode motion input
- EGL: Added support for
- jemalloc: Updated to 4.5.0 (up from 4.4.0)
- LibOVR: Update to 1.14.0 (up from 1.10.0)
- lmdb: Updated to 0.9.20 (up from 0.9.18)
- NanoVG: Added support for fallback fonts.
- nuklear: Updated to 1.37.0 (up from 1.29.1, with the new versioning)
- OpenAL: Added
stb_dxtto 1.0.6 (up from 1.0.4)
stb_easy_fontto 1.0 (up from 0.7)
stb_imageto 2.15 (up from 2.13)
stb_image_resizeto 0.94 (up from 0.91)
stb_image_writeto 1.05 (up from 1.02)
stb_perlinto 0.3 (up from 0.2)
stb_rect_packto 0.11 (up from 0.10)
stb_truetypeto 1.15 (up from 1.12)
stb_vorbisto 1.10 (up from 1.09)
- tinyfiledialogs: Updated to 2.8.3 (up from 2.7.2)
- Vulkan: Updated to 1.0.49 (up from 1.0.38)
MemoryStack: Increased default stack size to 64kb (up from 32kb)
- Shared library loading can now utilize a
ClassLoaderspecified by the caller. (#277)
- Significantly reduced
DEBUG_STACKoverhead in Java 9 using the new
- Migrated windows builds to appveyor and updated to Visual Studio 2017 (up from 2015)
- EGL: The core API now includes javadoc links to the Khronos references pages
- OpenGL ES: The core API now includes javadoc links to the Khronos references pages
- Assimp: Struct member nullability fixes
- Linux: Removed dependencies to newer GLIBC versions.
- LibOVR: Fixed layout of the
- OpenAL: Removed buffer auto-sizing from
alcCaptureSamples. The number of samples must now be specified explicitly, similar to
- Vulkan: Function addresses are now retrieved only once, using the optimal method for each function type.
- This avoids warnings on pedantic validation layers.
- Fixed callback invocation bugs on 32-bit architectures.
- Fixed various javadoc formatting issues (#308)
- Mapped more integer parameters and return values to Java
boolean, that were missed while working on #181.
- Moved JNI global reference functions from
MemoryUtilto the generated
- The Vulkan capabilities have been split into two classes:
- Flags for core Vulkan versions exist in both classes.
- Flags for instance extensions exist only in
- Flags for device extensions exist only in
- Functions that dispatch on
VkPhysicalDeviceexist only in
- Functions that dispatch on
VkDeviceand device-derived handles exist only in
- Bootstrapping functions can be retrieved with