java game library,Lightweight Java Game Library

This article has multiple issues. Please help talk page.

The topic of this article Please help to establish notability by citing reliable secondary sources that are independent of the topic and provide significant coverage of it beyond a mere trivial mention. If notability cannot be established, the article is likely to be merged, redirected, or deleted. (March 2016)

This article Please improve this by adding secondary or tertiary sources. (August 2015)

Lightweight Java Game Library (LWJGL)220px-LWJGL_logo.svg.png

Initial release4 February 2007; 13 years ago(2007-02-04)

3.2.3

/ 2 September 2019; 11 months ago(2019-09-02)

3.2.4 b5

/ 21 January 2020; 6 months ago(2020-01-21)

BSD,

The Lightweight Java Game Library (LWJGL) is an open-source Java software library for video game developers. It exposes high performance cross-platform libraries commonly used in developing video games and multimedia titles, such as Vulkan, OpenGL, OpenAL and OpenCL. It further provides access to controllers, steering wheels and joysticks in a platform-neutral way.

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. It is also the basis of many high-level Java game engines and libraries, such as libGDX or the jMonkeyEngine.

LWJGL is available under a BSD license.

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.GLFW, EGL and Objective-C, were added.Oculus Rift development was also added with LibOVR bindings.

Bindings

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.

While utility classes are written in pure Java, most of the binding classes are automatically generated by a custom generator implemented in Kotlin.

Since version 3.1, LWJGL is fully split into 51 modules that can be downloaded and used separately. To make this process easier, the project provides an online build configurator, which allows users to download custom combinations of modules and automatically generates Maven and Gradle configuration files to ease their use with existing projects.

Provided bindings

Binding

Category

Description

Notes

Interface between Khronos rendering APIs and the underlying native platform window system.

3D graphics specification implemented by most GPU vendors.

Most extensions supported, but less popular ones will be added on request.

OpenGL for embedded systems like mobile phones, tablets or consoles.

Upcoming cross-platform 3D graphics API.

Display and Input

Window management library needed for handling OpenGL and Vulkan contexts as well as user input.

JAWT

AWT native interface.

nfd

Small cross-platform native file dialogs library.

tinyfd

Small native dialog library.

Audio

Three-dimensional audio API.

ALC and other extensions are supported.

OpenAL Soft

Freely licensed software implementation of OpenAL.

Open, royalty-free audio codec.

Graphics

Portable open source library to import various 3D model formats.

bgfx

Cross-platform rendering library supporting multiple graphics backends.

DriftFX

Library to render OpenGL content into JavaFX nodes.

LibOVR

API of the Oculus Rift SDK.

meshoptimizer

A mesh optimization library that makes meshes smaller and faster to

NanoSVG

Simple SVG parser.

NanoVG

2D vector graphics rendering library using OpenGL.

Nuklear (library)

Simple GUI library.

par shapes

Generator for parametric and other simple shapes.

par_streamlines

Triangulate wide lines and curves.

An API runtime that allows access to VR hardware from multiple vendors without requiring applications have specific knowledge of the type of hardware they are targeting.

Shaderc

A collection of libraries for shader compilation

SPIRV-Cross

A library for performing reflection on SPIR-V and disassembling SPIR-V back to high level languages.

A small, single-header library to load and save OpenEXR (.exr) images.

Tootle (AMD)

A 3D triangle mesh optimization library that improves on existing mesh preprocessing techniques.

Vulkan Memory Allocator

An easy to integrate Vulkan memory allocation library.

Yoga

An open-source, cross-platform layout library that implements CSS Flexbox.

STB

STB

Lightweight single-file libraries for loading images, sounds and fonts.

Bullet Physics

Other

Real-time collision detection and multi-physics simulation for VR, games, visual effects, robotics, machine-learning, etc.

A parallel computing platform and programming model developed by NVIDIA for general computing on GPUs.

dyncall

Library for dynamically calling C functions in a portable way.

Low-level memory management.

libdivide

A library that replaces expensive integer divides with comparatively cheap multiplication and bitshifts.

A collection of modular and reusable compiler and toolchain technologies.

Fast database library using memory-mapped files.

A lossless data compression algorithm that is focuses on speed.

Meow Hash

A C-language interface that makes it possible for applications to access data from a variety of database management systems.

Remotery

Realtime CPU/GPU profiler.

rpmalloc

Cross-platform thread caching memory allocator.

A fast lossless compression algorithm.

Notable uses

References

"LWJGL 1.0 Released". forum.lwjgl.org. 4 February 2007. Retrieved 23 July 2016.

"LWJGL 3.2.3". github.com. 2 September 2019. Retrieved 13 October 2019.

"lwjgl3/doc – Generator". . Retrieved 30 August 2015.

"Official website". Retrieved 14 August 2015.

"LWJGL Wiki". . Retrieved 2 June 2015.

Tsakpinis, Ioannis (13 November 2014). "Welcome to LWJGL 3". blog.lwjgl.org.

Tsakpinis, Ioannis (27 April 2015). "LWJGL 3.0.0a released". blog.lwjgl.org.

"LWJGL 3.0.0 Released!". blog.lwjgl.org. 4 June 2016. Retrieved 4 June 2016.

"Bindings FAQ". . Retrieved 27 July 2015.

"LWJGL 3.1.0 Released!". blog.lwjgl.org. 30 October 2016. Retrieved 11 November 2016.

"Download – LWJGL". lwjgl.org. Retrieved 11 November 2016.

External links

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值