BulletSharp         .NET wrapper for Bullet physics
Boxes flying and colliding in Ogre Bullet Demo
Boxes flying and colliding in Ogre Bullet Demo
Vehicle from the same demo
Vehicle from the same demo

BulletSharp is a .NET wrapper for the physics and collision detection library Bullet.
It can be used as add-on for Mogre.

Official description of Bullet

Bullet 3D Game Multiphysics Library provides state of the art collision detection, soft body and rigid body dynamics.

  • Used by many movie and game companies in AAA titles on Playstation 3, XBox 360, Nintendo Wii, PC and iPhone
  • Modular extendible C++ design with hot-swap of most components
  • Optimized back-ends for pthreads/Win32 Threads multi-threading and PS3 Cell SPU
  • Preparation for OpenCL data parallel optimizations for upcoming Bullet 3.x

Bullet Collision Detection can be used on its own as a separate SDK without Bullet Dynamics

  • Discrete and continuous collision detection (CCD)
  • Swept collision queries
  • Ray casting with custom collision filtering
  • Generic convex support (using GJK), capsule, cylinder, cone, sphere, box and non-convex triangle meshes.
  • Support for dynamic deformation of non-convex triangle meshes, by refitting the acceleration structures

Multi-physics support including:

  • Rigid body dynamics including constraint solvers, generic constraints, ragdolls, hinge, ball-socket
  • Support for constraint limits and motors
  • Soft body support including cloth, rope and deformable
  • Bullet is integrated into Cinema 4D, Lightwave, Blender and Carrara, and plugins for Maya, Houdini and 3ds Max are available
  • Serialization of physics data in the cross-platform binary .bullet file format

The Library is free for commercial use and open source under the ZLib License.

Official Binaries:

(Even though it is not in the title, there is actually a basic demo for Mogre in there)

Cygon Builds:
It's a nice Mogre 1.7 binary bundle, which also contains the Bullet add-on.
Download here.
The whole BulletSharp 0.15 source code Cygon offers here.

Meharin's Binaries:
(Includes a very useful class that helps you create a Bullet Shape from an Ogre Mesh - see here)


Meharin wrote:

I put up a snapshot of my entire set of release mode binaries here:
(If you need PDBs, or debug mode, or upgrade to the most current version of Mogre, let me know — my hard drive hasn't crashed recently so I still have the source ready to build.) I can't even remember what version of Mogre/Ogre I'm using but from my signature it might be 1.7.1.

Yes I compiled my own bulletsharp dll.
I understand not wanting to venture into C++ compiling. It's not hard once you learn the ins and outs of C++ and static vs dynamic DLLs, and include and library paths etc., but you definitely need to be organized with source trees and understand where all the library dependencies are coming from. Thank goodness for .NET (and I guess Java) world making dependencies a little simpler.

This was posted here %endsmall%

See also

Bullet engine

Ogre related

  • OgreBullet - Ogre wrapper for Bullet
  • BulletDebugDrawer - Subclass from btIDebugDraw that allows you to visualize collision shapes, contact points and more
  • BulletMeshStrider - A subclass of btStridingMeshInterface which allows one to share the same geometry between both graphics and collision meshes

Mogre related

Here are alternatives for physics and collision detection with Mogre.