(Adjustments to an) Open source C++ physics engine library in 3D
 
 
 
 
 
Go to file
mrq 1332aa7990 Agnostified CMakeList to deduce whether to inject KOS's GCC flags; support for using float16/bfloat16 vertices for triangle mesh 2023-10-27 03:29:30 +07:00
.github/workflows Fix build issue in Github Actions 2022-02-23 23:18:00 +07:00
CMakeModules Working on Github Actions 2021-08-05 15:08:41 +07:00
documentation Edit documentation 2022-01-03 23:37:47 +07:00
helloworld Fix issue with Mac OS X on hello world CMakeLists.txt file 2020-05-24 16:16:10 +07:00
include/reactphysics3d Agnostified CMakeList to deduce whether to inject KOS's GCC flags; support for using float16/bfloat16 vertices for triangle mesh 2023-10-27 03:29:30 +07:00
src Agnostified CMakeList to deduce whether to inject KOS's GCC flags; support for using float16/bfloat16 vertices for triangle mesh 2023-10-27 03:29:30 +07:00
test Replace size_t size of containers by uint64 2021-11-09 17:11:51 +07:00
testbed Do not use the city.obj mesh anymore 2022-01-01 15:22:07 +07:00
.codecov.yml Working on Github Actions 2021-08-08 20:32:16 +07:00
.gitignore fixes for dreamcast compilation 2023-03-03 19:22:27 +07:00
.gitmodules Ignore dirty Git submodules 2021-10-07 07:59:23 +07:00
CHANGELOG.md Edit documentation 2022-01-03 23:37:47 +07:00
CMakeLists.txt Agnostified CMakeList to deduce whether to inject KOS's GCC flags; support for using float16/bfloat16 vertices for triangle mesh 2023-10-27 03:29:30 +07:00
FUNDING.yml Add funding file 2020-05-09 19:19:00 +07:00
GenerateNewVersion.py Update dates and version numbers in files 2020-05-27 16:15:35 +07:00
LICENSE Update version number and dates 2022-01-01 01:14:49 +07:00
README.md Agnostified CMakeList to deduce whether to inject KOS's GCC flags; support for using float16/bfloat16 vertices for triangle mesh 2023-10-27 03:29:30 +07:00
VERSION Update version number and dates 2022-01-01 01:14:49 +07:00

README.md

This fork fixes some inconsistencies to get it to compile on 32-bit systems (such as the Sega Dreamcast), and support for float16/bfloat16 triangle meshes (using C++23's standardized types).


ReactPhysics3D
ReactPhysics3D

ReactPhysics3D is an open source C++ physics engine library that can be used in 3D simulations and games.

www.reactphysics3d.com

Build

Drawing

🎯 Features

  • Rigid body dynamics
  • Discrete collision detection
  • Collision shapes (Sphere, Box, Capsule, Convex Mesh, Static Concave Mesh, Height Field)
  • Multiple collision shapes per body
  • Broadphase collision detection (Dynamic AABB tree)
  • Narrowphase collision detection (SAT/GJK)
  • Collision response and friction (Sequential Impulses Solver)
  • Joints (Ball and Socket, Hinge, Slider, Fixed)
  • Collision filtering with categories
  • Ray casting
  • Sleeping technique for inactive bodies
  • Multi-platform (Windows, Linux, Mac OS X)
  • No external libraries (do not use STL containers)
  • Documentation (user manual and Doxygen API)
  • Testbed application with demos
  • Integrated profiler
  • Debugging renderer
  • Logs
  • Unit tests

📖 Documentation

You can find the user manual and the Doxygen API documentation here.

Branches

The "master" branch always contains the last released version of the library and some possible hot fixes. This is the most stable version. On the other side, the "develop" branch is used for development. This branch is frequently updated and can be quite unstable. Therefore, if you want to use the library in your application, it is recommended to checkout the "master" branch.

Questions

If you have any questions about the library and how to use it, you should use Github Discussions to read previous questions and answers or to ask new questions. If you want, you can also share your project there if you are using the ReactPhysics3D library.

⚠️ Issues

If you find any issue with the library, you can report it on the issue tracker here.

👨 Author

The ReactPhysics3D library has been created and is maintained by Daniel Chappuis.

The ReactPhysics3D library is released under the open-source ZLib license.

👍 Sponsorship

If you are using this library and want to support its development, you can sponsor it here.

👏 Credits

Thanks a lot to Erin Catto, Dirk Gregorius, Erwin Coumans, Pierre Terdiman and Christer Ericson for their amazing GDC presentations, their physics engines, their books or articles and their contributions on many physics engine forums.

Thanks to all the contributors that have reported issues or have taken the time to send pull requests.