[ODE] Fixed stepping
Jon Watte (ODE)
hplus-ode at mindcontrol.org
Fri Aug 18 10:58:25 MST 2006
Geoff Carlton wrote:
> want. Its hard to imagine variable stepping ever being as good as fixed
> stepping, but who knows.
Let's solve that problem if and when we have it. Right now (and for the
last ten years) we have the problem that a lot of people get jittery
simulations because of variable time steps, which reflects poorly on the
quality of ODE.
> Another possibility is the whether different logic may want to be
> applied by the application - for example, having the time delta within a
> range, e.g. 0.08 to 0.12. The benefit could be that it avoids
That's still going to cause jitter, because ODE is a penetration based
simulator.
> A third possibility is whether the application may wish to re-step the
> collisions as well as the solver for accuracy. This implies fixed step
> logic code outside the solver function.
Note that collision is separate from world stepping. If, after calling
collision, the application wants to go back and do something about it,
it can, before it calls world stepping. However, as ODE only detects
collisions after they have happend (penetration), you'd have to have a
pretty custom set-up for this to affect your world, no matter what; i e
either detect all collisions as swept bodies and pre-create contact
joints (in which case the step size doesn't need to change), or be able
to "rewind" an already simulated step.
> Lastly, regarding the API taking the number of steps as an integer
> argument, that puts half the burden back on the application code - in
> particular the logic of accumulating the unused delta from the last
> frame and incorporating it into the new time delta.
That's intended. Different applications may use different timers.
If ODE did the time accumulation, then you'd just have to second-guess
ODE on the outside anyway, because of cases where a time delta is just
too large (and you want to reduce the number of steps), or when
suspending the simulation to a pause screen or whatever.
Cheers,
/ h+
More information about the ODE
mailing list