C wrapper for Jolt Physics 5.1.0.
Currently a work in progress. Bindings contain functions that we've needed as part of our game or the Rust bindings we're working on in jolt-rust.
- Sound C wrapper around current version of Jolt Physics
- Headers suitable for usage in automatic binding generation tools (i.e. Rust
bindgen
, LuaJIT FFI)
Use CMake:
# Configure the build
cmake -B build
# Optionally, you can enable double precision, or make ObjectLayer use 32 bits
# We aim to support most of the configuration of Jolt's C++ API.
cmake -B build -DDOUBLE_PRECISION=ON -DOBJECT_LAYER_BITS=32
# Build
cmake --build build
A port of Jolt's "HelloWorld" example is provided in HelloWorld/main.cpp.
Other C wrappers for Jolt Physics include:
- "JoltC", part of the zphysics Zig library started by Michal Ziulek
- "JoltC", part of the jolt-rs Rust library started by cohaereo and a fork of the zphysics C wrapper
- "joltc", part of the JoltPhysicsSharp C# library started by Amer Koleci
The goal of this project is to be the first C wrapper around Jolt Physics that is not part of a larger binding project and to eliminate sources of undefined behavior. It's intended to be useful for any other language-specific bindings and to reduce the need to duplicate work.
Licensed under either of
- Apache License, Version 2.0, (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)
at your option.
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.