Skip to content

bepu/bepuphysics2

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
October 9, 2023 17:19
August 28, 2023 14:42
August 28, 2023 14:42
October 27, 2022 14:12
February 27, 2021 12:58
February 18, 2022 12:22

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

  • Spheres, capsules, boxes, triangles, cylinders, and convex hulls
  • Compounds of the above
  • Meshes
  • A whole bunch of constraint types
  • Newts
  • Linear and angular continuous collision detection
  • Extremely low cost sleep states for resting bodies
  • Efficient scene-wide ray and sweep queries
  • Character controller example
  • At least somewhat extensible collision pipeline, with example custom voxel collidable
  • Highly nonidiomatic APIs
  • Super speediness
  • And a bunch of other miscellaneous stuff!

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.