lwjgl java_LWJGL - 轻量级的Java游戏库

68747470733a2f2f6d6176656e2d6261646765732e6865726f6b756170702e636f6d2f6d6176656e2d63656e7472616c2f6f72672e6c776a676c2f6c776a676c2f62616467652e73766768747470733a2f2f696d672e736869656c64732e696f2f62616467652f4150492d646f63732d626c75652e7376673f7374796c653d666c61742d73717561726568747470733a2f2f696d672e736869656c64732e696f2f62616467652f6c6963656e73652d4253442d626c75652e73766768747470733a2f2f736c61636b696e2d6266786e65716d7a73702e6e6f772e73682f62616467652e737667

68747470733a2f2f6f70656e636f6c6c6563746976652e636f6d2f6c776a676c2f6261636b6572732f62616467652e73766768747470733a2f2f6f70656e636f6c6c6563746976652e636f6d2f6c776a676c2f73706f6e736f72732f62616467652e73766768747470733a2f2f7265706f73732e6865726f6b756170702e636f6d2f3f706174683d6c776a676c2f6c776a676c3368747470733a2f2f7472617669732d63692e6f72672f4c574a474c2d43492f6c776a676c332e7376673f6272616e63683d6d61737465722d6c696e75783634

LWJGL - Lightweight Java Game Library 3

LWJGL (https://www.lwjgl.org) 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. 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.

Useful links:

Contact:

If you'd like to contribute, see doc/README for a quick overview of the project structure, installation instructions and configuration options.

Getting Started

As of version 3.1.0, LWJGL is distributed as a set of modules. Only the core module is required and all bindings are optional (but some bindings depend on other bindings). The easiest way to download LWJGL is to use the build configurator on the website.

The build configurator generates Maven & Gradle declarations that can be added to existing projects. This is the easiest way to use LWJGL while developing.

LWJGL can also be downloaded as a simple set of JAR files. Each module consists of the following files:

lwjgl-.jar

lwjgl--sources.jar

lwjgl--javadoc.jar

lwjgl--natives-.jar (for some bindings)

To compile and run an LWJGL application, the base and natives JAR files of the core module and each binding used should be added to the classpath. LWJGL extracts the natives to a temporary folder and loads them automatically, so no further configuration is necessary. If more customization is required (e.g. when creating a platform-specific installer) the natives may be extracted manually and loaded via java.library.path. See the Configuration class for more options.

LWJGL 3 requires Java 8 or later to build and run and currently supports the following platforms/architectures:

Linux x64

macOS x64

Windows x86

Windows x64

Example code:

Samples (simple samples covering basic usage of LWJGL bindings)

Demo suite (includes advanced OpenGL and Vulkan demos)

For migrating LWJGL 2 code to LWJGL 3, see the Migration Guide.

Troubleshooting

Most common issues faced by LWJGL users are trivially addressed with the following:

LWJGLX/debug is a Java Agent that will automatically detect a lot of these issues. It can also generate a trace log that's useful when reporting issues to LWJGL.

When asking for help or when you suspect a bug in LWJGL, preparing an MVCE (Minimal, Complete, and Verifiable example) that reproduces the issue will improve the chances of a quick and useful response.

List of Supported Bindings

Khronos APIs

Library

Description

An interface between Khronos rendering APIs such as OpenGL ES or OpenVG and the underlying native platform window system.

An open, royalty-free standard for cross-platform, parallel programming of diverse processors found in personal computers, servers, mobile devices and embedded platforms.

The most widely adopted 2D and 3D graphics API in the industry, bringing thousands of applications to a wide variety of computer platforms.

A royalty-free, cross-platform API for full-function 2D and 3D graphics on embedded systems - including consoles, phones, appliances and vehicles.

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.

Display and Input

Library

Description

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.

The AWT native interface.

A tiny, neat C library that portably invokes native file open and save dialogs.

A native dialog library.

Audio

Library

Description

A cross-platform 3D audio API appropriate for use with gaming applications and many other types of audio applications.

An LGPL-licensed, cross-platform, software implementation of the OpenAL 3D audio API.

Graphics

Library

Description

A portable Open Source library to import various well-known 3D model formats in a uniform manner.

Cross-platform, graphics API agnostic, “Bring Your Own Engine/Framework” style rendering library, licensed under permissive BSD-2 clause open source license.

The API of the Oculus SDK.

A simple stupid SVG parser.

A small antialiased vector graphics rendering library for OpenGL.

A minimal state immediate mode graphical user interface toolkit written in ANSI C and licensed under public domain.

Generate parametric surfaces and other simple shapes.

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

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

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

An easy to integrate Vulkan memory allocation library.

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

stb - single-file public domain libraries for C/C++

Library

Description

stb_easy_font

Quick-and-dirty easy-to-deploy bitmap font for printing frame rate, etc.

stb_image

Image loading/decoding from file/memory: JPG, PNG, TGA, BMP, PSD, GIF, HDR, PIC

stb_image_resize

Resize images larger/smaller with good quality.

stb_image_write

Image writing to disk: PNG, TGA, BMP

stb_perlin

Revised Perlin noise (3D input, 1D output).

stb_rect_pack

Simple 2D rectangle packer with decent quality.

stb_truetype

Parse, decode, and rasterize characters from truetype fonts.

stb_vorbis

Decode ogg vorbis files from file/memory to float/16-bit signed output.

Other

Library

Description

Encapsulates architecture-, OS- and compiler-specific function call semantics in a virtual bind argument parameters from left to right and then call interface allowing programmers to call C functions in a completely dynamic manner.

A general purpose malloc implementation that emphasizes fragmentation avoidance and scalable concurrency support.

An extraordinarily fast, memory-efficient database. With memory-mapped files, it has the read performance of a pure in-memory database while retaining the persistence of standard disk-based databases.

A lossless data compression algorithm that is focused on compression and decompression speed.

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

A realtime CPU/GPU profiler hosted in a single C file with a viewer that runs in a web browser.

A public domain cross platform lock free thread caching 16-byte aligned memory allocator implemented in C.

An Extremely fast Hash algorithm, running at RAM speed limits.

A fast lossless compression algorithm, targeting real-time compression scenarios at zlib-level and better compression ratios.

Use of a binding is subject to the terms of the corresponding license.

Contributors

This project exists thanks to all the people who contribute. [Contribute]. 68747470733a2f2f6f70656e636f6c6c6563746976652e636f6d2f6c776a676c2f636f6e7472696275746f72732e7376673f77696474683d383930

Backers

Thank you to all our backers!

🙏 [Become a backer]

68747470733a2f2f6f70656e636f6c6c6563746976652e636f6d2f6c776a676c2f6261636b6572732e7376673f77696474683d383930

Sponsors

Support this project by becoming a sponsor. Your logo will show up here with a link to your website. [Become a sponsor]

68747470733a2f2f6f70656e636f6c6c6563746976652e636f6d2f6c776a676c2f73706f6e736f722f302f6176617461722e73766768747470733a2f2f6f70656e636f6c6c6563746976652e636f6d2f6c776a676c2f73706f6e736f722f312f6176617461722e73766768747470733a2f2f6f70656e636f6c6c6563746976652e636f6d2f6c776a676c2f73706f6e736f722f322f6176617461722e73766768747470733a2f2f6f70656e636f6c6c6563746976652e636f6d2f6c776a676c2f73706f6e736f722f332f6176617461722e73766768747470733a2f2f6f70656e636f6c6c6563746976652e636f6d2f6c776a676c2f73706f6e736f722f342f6176617461722e73766768747470733a2f2f6f70656e636f6c6c6563746976652e636f6d2f6c776a676c2f73706f6e736f722f352f6176617461722e73766768747470733a2f2f6f70656e636f6c6c6563746976652e636f6d2f6c776a676c2f73706f6e736f722f362f6176617461722e73766768747470733a2f2f6f70656e636f6c6c6563746976652e636f6d2f6c776a676c2f73706f6e736f722f372f6176617461722e73766768747470733a2f2f6f70656e636f6c6c6563746976652e636f6d2f6c776a676c2f73706f6e736f722f382f6176617461722e73766768747470733a2f2f6f70656e636f6c6c6563746976652e636f6d2f6c776a676c2f73706f6e736f722f392f6176617461722e737667

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值