[ODE] Russ' plans for ODE?

Mattias Fagerlund mattias at cambrianlabs.com
Sun Apr 25 18:32:52 MST 2004


I'm jumping in way late here, but I've just been catching up on the ODE 
mails

> > [Buoyancy]

The Buoyancy code that was referenced in the original mail was mine, and 
it uses ODE for the dynamics part. I just feed it forces.

> my own opinion: the best place for this to be implemented is from
> outside of ODE, i.e. using the ODE API only. but just because it's not
> part of the core, doesn't mean that it shouldn't be part of the
> library.
> there's no reason why there couldn't be an ODE utility library in the
> same way that there is an opengl utility library.

The downside is really that the programmer has to iterate all his own 
non-ODE objects by hand. Geoms and bodies are handled by ODE, but things 
like my buoyancy particles have to be updated by hand each world 
iteration.

Having some method of adding a form of "fire and forget" object would 
certainly help in the utility library. Perhaps registering callbacks and 
what not. 
 
I've also written a verlet based cloth simulator that I've had interact 
with ODE. The verlets feed forces to the ODE bodies and the ODE bodies 
force the verlets to reposition to satisfy their constraints. Looks 
cool. But cloth can be done in a million different ways where verlet 
integration is merely one. Another ODE user created a verlet cape that 
he draped over the shoulders of an animated character. The cape looked 
great and the verlet colliders emulate ODE colliders (sphere and 
ccylinder). As soon he finishes a ragdoll system, we can have Trinity 
(well used 3d model) in a cape falling down stairs. Perhaps also 
sporting a nice pony tale (most un-Trinity like, though).

All ODE / physics code I've written is open source but it's written in 
delphi (object pascal) so I doubt any of you guys would find it useful ;)

My experience in cloth/ode is that;

1. You need a extremely fast way to determine what cloth nodes can 
interact with which ODE geoms.

2. You need a way to determine the clostest position to move a cloth 
node so that it doesn't violate the ODE geoms.

Both of the above could be made part of ODE and still have it be fairly 
clean.

cheers,
m




More information about the ODE mailing list