Skip to content

squid233/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 has better performance.

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

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 82.8%
  • Kotlin 17.2%