Open Dynamics Engine

Engine default


Russell Smith

Not specified


Supported Platforms:
Windows, Linux, Mac OS X

Languages Written In:

Languages Supported:

Graphics APIs:
Not specified

  (4 reviews)

None (be one!)

ODE is an open source, high performance library for simulating rigid body dynamics. It is fully featured, stable, mature and platform independent with an easy to use C/C++ API. It has advanced joint types and integrated collision detection with friction. ODE is useful for simulating vehicles, objects in virtual reality environments and virtual creatures. It is currently used in many computer games, 3D authoring tools and simulation tools.

Supported Features


  • Object-Oriented Design
  • Save/Load System
  • ODE is good for simulating articulated rigid body structures. An articulated structure is created when rigid bodies of various shapes are connected together with joints of various kinds. Examples are ground vehicles (where the wheels are connected to the chassis), legged creatures (where the legs are connected to the body), or stacks of objects.
  • ODE is designed to be used in interactive or real-time simulation. It is particularly good for simulating moving objects in changeable virtual reality environments. This is because it is fast, robust and stable, and the user has complete freedom to change the structure of the system even while the simulation is running.
  • ODE uses a highly stable integrator, so that the simulation errors should not grow out of control. The physical meaning of this is that the simulated system should not "explode" for no reason (believe me, this happens a lot with other simulators if you are not careful). ODE emphasizes speed and stability over physical accuracy.
  • ODE has hard contacts. This means that a special non-penetration constraint is used whenever two bodies collide. The alternative, used in many other simulators, is to use virtual springs to represent contacts. This is difficult to do right and extremely error-prone.
  • ODE has a built-in collision detection system. However you can ignore it and do your own collision detection if you want to. The current collision primitives are sphere, box, capped cylinder, plane, ray, and triangular mesh - more collision objects will come later. ODE’s collision system provides fast identification of potentially intersecting objects, through the concept of ``spaces’’.
  • Platform specific optimizations


  • Basic Physics
  • Collision Detection
  • Rigid Body
  • Vehicle Physics
  • Rigid bodies with arbitrary mass distribution.
  • Joint types: ball-and-socket, hinge, slider (prismatic), hinge-2, fixed, angular motor, universal.
  • Collision primitives: sphere, box, capped cylinder, plane, ray, and triangular mesh.
  • Collision spaces: Quad tree, hash space, and simple.
  • Simulation method: The equations of motion are derived from a Lagrange multiplier velocity based model due to Trinkle/Stewart and Anitescu/Potra.
  • A first order integrator is being used. It’s fast, but not accurate enough for quantitative engineering yet. Higher order integrators will come later.
  • Choice of time stepping methods: either the standard ``big matrix’’ method or the newer iterative QuickStep method can be used.
  • Contact and friction model: This is based on the Dantzig LCP solver described by Baraff, although ODE implements a faster approximation to the Coloumb friction model.


License Name Price in $US Source Code Included?
GPL Free Yes
BSD Free Yes

Write a Review

Showing 1-4 of 4

0 of 0 people found the following review helpful

ODE for rollercoaster simulation

  by 00000000000000000000000000000000 ironman007 Sep 21, 2009 at 12:49

hi, im an undergraduate college student. I just wna know if it is possible to simulate a rollercoaster ride using ODE. along with this, hydraulics will be placed on a seat which will be activated according to the it acts as a virtual rollercoaster ride that you would see in arcades or amusement parks...this is due next year by the end of sept, but i need the program up and running by end of this possible for a beginner? thanks in advance

Was this review helpful to you? Yes No
0 of 0 people found the following review helpful

i think

  by 00000000000000000000000000000000 ginomcclay Mar 11, 2009 at 23:55

I need a code to test your engine.
please sent me.

Was this review helpful to you? Yes No
0 of 0 people found the following review helpful

My Choice

  by 00000000000000000000000000000000 Grandmaster_B Jun 24, 2006 at 15:36

After reviewing a few others, ODE is my choice as a physics engine.

It gives you almost full control of the scenes you like to create and lets you tweak a lot of variables. It can run very fast and unprecise/unstable or fast and precise/stable. The documentation and community support is very good and its still in continously development. The API is straightforward and very easy to use once you get into it.

The drawbacks are that ODE has no build-in higher level features and the collision of TriMesh->TriMesh results in confusing contact points so that you may stick to Primitive->TriMesh or Primitive->Primitive collisions. Optionally you may use ODE with your own collision detection!

Again, ODE ist a scaleable low-level physics engine, and as such its excellent!

Was this review helpful to you? Yes No
0 of 0 people found the following review helpful

Well it's a Physics library not a Game Engine

  by 00000000000000000000000000000000 Daniel_MD Aug 28, 2004 at 11:35

ODE is a open source physics lybrary, it is a good alternative to commercial solutions like havok, with much less features.

It is a good place for beginners, does not make things more complicated that they shouldbe.

Was this review helpful to you? Yes No

Suggest Edits

Last edited Apr 10, 2012 at 08:39

Are your the owner of this engine? Let us know to be able to update it, and reply to reviews, and other benefits.