C Wrapper for the Jolt Physics engine.
#c #physics #3d #gamedev #simulation #collision #library #wrapper #cpp
|
6 сар өмнө | |
---|---|---|
.cargo | 6 сар өмнө | |
.github | 1 жил өмнө | |
HelloWorld | 1 жил өмнө | |
JoltC | 6 сар өмнө | |
JoltCImpl | 6 сар өмнө | |
JoltPhysics @ e071001ba1 | 9 сар өмнө | |
generate | 6 сар өмнө | |
input | 6 сар өмнө | |
.editorconfig | 1 жил өмнө | |
.gitignore | 6 сар өмнө | |
.gitmodules | 1 жил өмнө | |
CMakeLists.txt | 6 сар өмнө | |
Cargo.lock | 6 сар өмнө | |
Cargo.toml | 6 сар өмнө | |
LICENSE-APACHE | 1 жил өмнө | |
LICENSE-MIT | 1 жил өмнө | |
README.md | 6 сар өмнө | |
test-all-flags.sh | 1 жил өмнө |
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.
The JoltC
directory contains headers for the C interface that you can bind to.
The JoltCImpl
directory contains the C++ implementation of the C interface and serves as the glue between the C++ and C code.
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:
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
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.