Skip to content

Latest commit

 

History

History
28 lines (17 loc) · 2.17 KB

README.md

File metadata and controls

28 lines (17 loc) · 2.17 KB

BEPUphysicsint v1

This is a fork of the awesome bepuphysics v1

BEPUphysics is a pure C# 3D physics library by BEPU. It's fast and has a bunch of cool features like constraints, terrain, static and instanced meshes, continuous collision detection, custom collision rules, vehicles, easy multithreading, yadda yadda yadda.

BEPUphysicsint is a fork that uses the FixedMath.net fixed-point integer math instead of floats. This ensures full cross-platform determinism of the physics simulation.

This fork is (almost 100%) compatible with BEPUphysics, so please refer to the BEPUphysics documentation page for reference.

Known issues

  • The value range of fixed point number is much more limited than float. As a result, the extent of the physics world should be limited to about 1000 on each axis. When the CHECKMATH compilation symbol is specified (e.g. in DEBUG builds), the math library will throw overflow exceptions.
  • Performance. Currently this fork is about 4 times slower than the float version. Hopefully this will be improved soon, but the fixed-point version will definitely remain slower than the float version.

Determinism caveats

  • Multithreading has to be disabled, otherwise the simulation will not be deterministic. See InternalMultithreading for reference.
  • Do not use floating point values when setting up the physics world. This probably also applies for collision meshes!

For discussions about BEPUphysics, please head to the BEPUphysics forums.

If you're looking for more BEPU-related stuff, head to the main BEPU website.

If you're feeling angelic, you can throw money at the creators of BEPUphysics: