All Projects → stephengold → Libbulletjme

stephengold / Libbulletjme

Licence: other
A JNI interface to Bullet Physics and V-HACD

Programming Languages

C++
36643 projects - #6 most used programming language
java
68154 projects - #9 most used programming language
c
50402 projects - #5 most used programming language

Projects that are alternatives of or similar to Libbulletjme

Spirit
Atomistic Spin Simulation Framework
Stars: ✭ 67 (+21.82%)
Mutual labels:  physics, physics-simulation
Dynamics
A Compositional Object-Based Approach to Learning Physical Dynamics
Stars: ✭ 159 (+189.09%)
Mutual labels:  physics, physics-simulation
Qrack
Comprehensive, GPU accelerated framework for developing universal virtual quantum processors
Stars: ✭ 79 (+43.64%)
Mutual labels:  physics, physics-simulation
Py3ODE
Port of PyODE for Python 3
Stars: ✭ 29 (-47.27%)
Mutual labels:  physics, physics-simulation
sentencepiece-jni
Java JNI wrapper for SentencePiece: unsupervised text tokenizer for Neural Network-based text generation.
Stars: ✭ 26 (-52.73%)
Mutual labels:  jni, java-bindings
Latticeboltzmann
A 2D Lattice Boltzmann program
Stars: ✭ 34 (-38.18%)
Mutual labels:  physics, physics-simulation
Matter Js
a 2D rigid body physics engine for the web ▲● ■
Stars: ✭ 12,522 (+22667.27%)
Mutual labels:  physics, rigid-bodies
Bounce
Bounce is a 3D physics engine for games.
Stars: ✭ 300 (+445.45%)
Mutual labels:  physics, collision-detection
physx-js
PhysX for JavaScript
Stars: ✭ 80 (+45.45%)
Mutual labels:  physics, physics-3d
BowlerStudio
A Full-Stack Robotics Development Environment
Stars: ✭ 95 (+72.73%)
Mutual labels:  physics, physics-simulation
Gjk.c
Gilbert-Johnson-Keerthi (GJK) collision detection algorithm in 200 lines of clean plain C
Stars: ✭ 660 (+1100%)
Mutual labels:  physics, collision-detection
gopem
GUI for OPEM library
Stars: ✭ 20 (-63.64%)
Mutual labels:  physics, physics-simulation
Picongpu
Particle-in-Cell Simulations for the Exascale Era ✨
Stars: ✭ 452 (+721.82%)
Mutual labels:  physics, physics-simulation
Mcmd
Monte Carlo and Molecular Dynamics Simulation Package
Stars: ✭ 52 (-5.45%)
Mutual labels:  physics, physics-simulation
Sicmutils
Scmutils in Clojure
Stars: ✭ 447 (+712.73%)
Mutual labels:  physics, physics-simulation
Nphysics
2 and 3-dimensional rigid body physics engine for Rust.
Stars: ✭ 1,530 (+2681.82%)
Mutual labels:  physics, rigid-bodies
GAMES103
notes and related materials for GAMES103
Stars: ✭ 21 (-61.82%)
Mutual labels:  physics, physics-simulation
N-body-numerical-simulation
Script written in Python to integrate the equations of motion of N particles interacting with each other gravitationally. The script computes the equations of motion and use scipy.integrate to integrate them. Then it uses matplotlib to visualize the solution.
Stars: ✭ 40 (-27.27%)
Mutual labels:  physics, physics-simulation
Classic Pool Game
Classic 8 Ball pool game written in JavaScript
Stars: ✭ 177 (+221.82%)
Mutual labels:  physics, collision-detection
btogre
Now in the main repository as Component
Stars: ✭ 13 (-76.36%)
Mutual labels:  physics-simulation, bullet-physics

Libbulletjme Project logo

The Libbulletjme Project adds JNI "glue code" to portions of Bullet Physics and Khaled Mamou's V-HACD Library, enabling 3-D physics simulation from Java applications.

Complete source code (in C++ and Java) is provided under a mixed open-source license.

The project supports the 3 major desktop operating systems: Windows, Linux, and macOS. Both the x86 and x86-64 architectures are supported for each operating system. It also supports Linux on ARM (armel, armhf, and aarch64) and macOS on ARM and provides native libraries for the 4 supported Android ABIs (armeabi-v7a, arm64-v8a, x86, and x86_64), making a total of 14 platforms.

For each desktop platform, 4 native libraries are distributed:

  • a release build using single-precision arithmetic (the default library)
  • a release build using double-precision arithmetic
  • a debug build using single-precision arithmetic
  • a debug build using double-precision arithmetic

In addition, multi-threaded native libraries are provided for x86_64 architectures running Windows or Linux.

Libbulletjme is used in the DynamX Physics Mod for Minecraft.

Libbulletjme's native libraries are used in Minie, which integrates Libbulletjme into the jMonkeyEngine game engine. For applications that don't use jMonkeyEngine, standalone Maven artifacts are provided.

Contents of this document

How to add Libbulletjme to an existing project

How to add Libbulletjme to an existing project

Jump to table of contents

Example applications

Jump to table of contents

How to build Libbulletjme from source

How to build Libbulletjme from source

Jump to table of contents

Lexicon of class/enum/struct names

Lexicon of class/enum/struct names

Jump to table of contents

What's missing

What's missing

Jump to table of contents

External links

Jump to table of contents

History

The evolution of this project is chronicled in its release log.

The C++ glue code for Bullet was originally copied from jme3-bullet-native, a library of jMonkeyEngine. The soft-body portion was added in 2018, and is based on the work of Jules (aka "dokthar").

The Java code is based partly jMonkeyEngine, partly on Riccardo's V-hacd-java-bindings, and partly on Minie. Minie is, in turn, based on jme3-bullet, another jMonkeyEngine library.

Jump to table of contents

Acknowledgments

The Libbulletjme Project is derived from open-source software:

This project also made use of the following software tools:

I am grateful to Riccardo Balbo (aka "riccardo") for bringing V-HACD to my attention.

I am grateful to "dustContributor" for optimizing the cleaner thread.

I am grateful to "elmfrain" for authoring the GearJoint class.

I am grateful to GitHub, Sonatype, AppVeyor, Travis, MacStadium, JFrog, and Imgur for providing free hosting for this project and many other open-source projects.

Powered By MacStadium logo

I am grateful to ndebruyn for helping me test the Android native libraries.

I am grateful to Pavly Gerges for helping me test the armhf native library.

I am grateful to Yanis Boudiaf and "qwq" for many helpful suggestions.

I'm also grateful to my dear Holly, for keeping me sane.

If I've misattributed anything or left anyone out, please let me know, so I can correct the situation: [email protected]

Jump to table of contents

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].