In need of a .NET Physics Engine

Programming Add comments

For some time now I’ve been toying with physics simulation under C#. There are quite a number of good physics engines available in the C++ world like Havok, PhysX, Newton, Bullet and ODE.

My first attempt was to re-wrap Tao.ODE (which wraps native ODE as closely as possible) for my own purposes with a more .NET-like interface. This attempt was crowned with success after a mere few hours. But designing a good object model that could be used for other physics engines proved to be a lot of work…

So why not make the one definite 100% .NET physics engine by porting ODE to C#. Oh well, the basic stuff ported quite well and I tried to keep myself from modernizing the code as I progressed to obtain a 1:1 port first, then I could still turn things upside down. But I nearly went insane when porting ODE’s integrator math, so…

I decided to set my target a little lower and build my own physics engine that offered a nice object model but only basic features for the first version. Maybe I could attract some of the people that actually understand the more complicated stuff and collaboratively expand this engine. First I needed a strong library for the core math and geometrical stuff. This step is done, the fruits of this work are now available in Form of the two assemblies Nuclex.Math and Nuclex.Geometry. Still…

Writing a physics engine on top of that is still an idea that I’d like to follow through, only that I’ll take months before anything useful will surface. That’s why I’m now back to Tao.ODE and my original re-wrapper. It’ll give me results quickly and not compromise portability to mono.

One Response to “In need of a .NET Physics Engine”

  1. simion314 Says:

    nice project, i am searching for a 3d physics engine crossplatform

Leave a Reply

WP Theme & Icons by N.Design Studio
Entries RSS Comments RSS Login