bepu / bepuphysics2

Pure C# 3D real time physics simulation library, now with a higher version number.
Apache License 2.0
2.39k stars 273 forks source link
physics-3d physics-engine physics-simulation-library

bepuphysics v2

This is the repo for the bepuphysics v2 library, a complete rewrite of the C# 3d rigid body physics engine BEPUphysics v1.

The BepuPhysics and BepuUtilities libraries target .NET 6 and should work on any supported platform. The demos application, Demos.sln, uses DX11 by default. There is also a Demos.GL.sln that uses OpenGL and should run on other platforms. The demos can be run from the command line (in the repo root directory) with dotnet run --project Demos/Demos.csproj -c Release or dotnet run --project Demos.GL/Demos.csproj -c Release.

The physics engine heavily uses System.Numerics.Vectors types, so to get good performance, you'll need a compiler which can consume those types (like RyuJIT).

To build the source, you'll need a recent version of Visual Studio with the .NET desktop development workload installed. Demos.sln references all relevant projects. For more information, see Building.

Features

Links

Report bugs on the issues tab.

Use the discussions tab for... discussions. And questions.

By user request, there's a discord server. I'll be focusing on github for long-form content, but if you like discord, now you can discord.

Getting Started

Building

Q&A

Stability Tips

Performance Tips

Substepping

Continuous Collision Detection

Contributing

Change log

Upgrading from v1, concept mapping

Packaging and Versioning

Check the roadmap for a high level look at where things are going.

If you have too many dollars, we are willing to consume them through github sponsors.