GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — GitHub - aecsocket/jolt-java: Java bindings for JoltPhysics

BranchesTags
Open more actions menu

Latest commit

 

History

141 Commits
141 Commits

Folders and files

NameName
Last commit message
Last commit date
.github/workflows
.github/workflows
 
 
JoltPhysicsC
JoltPhysicsC
 
 
build-logic
build-logic
 
 
gradle
gradle
 
 
jolt-java-headers
jolt-java-headers
 
 
jolt-java-natives-linux-x86
jolt-java-natives-linux-x86
 
 
jolt-java-natives-macos-x86
jolt-java-natives-macos-x86
 
 
jolt-java-natives-windows-x86
jolt-java-natives-windows-x86
 
 
src
src
 
 
.gitignore
.gitignore
 
 
LICENSE
LICENSE
 
 
README.md
README.md
 
 
build.gradle.kts
build.gradle.kts
 
 
gradle.properties
gradle.properties
 
 
gradlew
gradlew
 
 
gradlew.bat
gradlew.bat
 
 
settings.gradle.kts
settings.gradle.kts
 
 

Repository files navigation

JoltJava

License CI Release Snapshot

Java bindings for JoltPhysics with C bindings based on zig-gamedev JoltPhysicsC

These bindings are still feature-incomplete and unstable.

Coverage

Features:

  • Rigid bodies
    • Body interface
    • Body locking
    • Motion properties
  • Shapes
    • Convex
    • Compound
    • Decorator
    • Mesh/height field
  • Queries
    • Broad phase
    • Narrow phase
  • Listeners
    • Step
    • Contact
  • Double precision
  • Constraints
    • Two-body constraints
  • Vehicles
  • Ragdolls
  • Characters

Platforms:

  • Linux (x86_64)
  • Windows (x86_64)
  • MacOS (x86_64)

Build types (change with Gradle flag -PbuildType= or property buildType):

  • debug
  • release
  • distribution (default)

Flavors (change with Gradle flag -PbuildFlavor= or property buildFlavor):

  • sp (single-precision floating point, default)
  • dp (double-precision floating point)

Usage

repositories {
    mavenCentral()
}

dependencies {
    implementation("io.github.aecsocket", "jolt-java", "VERSION")
    runtimeOnly("io.github.aecsocket", "jolt-java-natives-linux-x86", "VERSION")
    runtimeOnly("io.github.aecsocket", "jolt-java-natives-windows-x86", "VERSION")
    runtimeOnly("io.github.aecsocket", "jolt-java-natives-macos-x86", "VERSION")
}

Usage is very similar to JoltPhysics. See HelloJolt.java to get a minimal implementation.

Note: these bindings are fairly low-level. For some classes such as the vector and matrix classes, you are expected to write your own wrappers around them.

Setup

// Load the native libraries from the jar (in `jolt/`)
Jolt.load();
// Or load them manually
// System.load("name-of-lib-file");

// Do some Jolt setup
Jolt.registerDefaultAllocator();
Jolt.createFactory();
Jolt.registerTypes();

Building from source

On Windows, you need Ninja installed.

git clone https://github.com/aecsocket/jolt-java
cd jolt-java
./gradlew build

About

Java bindings for JoltPhysics

Topics

game-developmentgame-enginejavajniphysicsphysics-enginephysics-simulation

Resources

Readme
MIT license
Activity

Stars

27 stars

Watchers

2 watching

Forks

2 forks
Report repository

Releases

Packages

Used by

Contributors

Languages

You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.