Skip to content

Over-Run/overrungl

Repository files navigation

OverrunGL - Overrun Game Library

License

Maven Central Sonatype Nexus (Snapshots)

Java CI with Gradle OpenSSF Best Practices

Introduction

Overrun Game Library is a high-performance library implemented with Java 22, which enables cross-platform access to a set of C/C++ library bindings, and provides some useful utilities.

OverrunGL vs. LWJGL

LWJGL 3 is also a Java library that enables native access.

LWJGL 3 uses JNI to access native functions, but OverrunGL uses FFM API, which provides better memory management.

Getting Started

You can check our wiki or the samples.

Import as a Dependency

We provided a modules customizer here.

Currently, we are developing with the first version, and it uses preview features, which prevent users from using newer JDKs, so you have to use -SNAPSHOT version.

You can import with io.github.over-run:overrungl-bom:{the version} and other submodules.

Using -SNAPSHOT Versions

We publish -SNAPSHOT versions frequently.

For -SNAPSHOT versions, you can use the list of available versions and include this maven repository:

maven { url "https://s01.oss.sonatype.org/content/repositories/snapshots" }

Enable native access

You must enable the access of OverrunGL by adding a VM argument or a manifest attribute.

--enable-preview-access=overrungl.core,...

List of Supported Bindings

Khronos APIs

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

Display and Input

Library Description
GLFW 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.
Native File Dialog Extended A small C library that portably invokes native file open, folder select and file save dialogs.

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
JOML A Java math library for OpenGL rendering calculations

Contact

Release Notes

See doc/notes.

Additional

Javadoc can be found here.

The documentation of OpenGL can be found from references and docs.gl.

OverrunGL uses Marshal.

Credits

JetBrains Logo (Main) logo.

About

Overrun Game Library is a high-performance library implemented with Java 22, enables cross-platform access to a set of C/C++ library bindings, and provides some useful utilities.

Topics

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks