Erwin Coumans wrote:And call stepSimulation with small delta-times at the graphics framerate: the internal physics timestep stays 60hertz, but the motion state is automatically interpolated for the graphics. Just check out the implementation inside btDiscreteDynamicsWorld::stepSimulation.
I just have JBullet source (based on 2.70 I think). I tried to figure out what kind of interpolation/timing it uses but could not get definitive answer yet. I know this is not the right place for JBullet issues though, and I will post my "findings" about my strange jitter/jerkiness in the JBullet-specific thread later on. Maybe get jezek2 to look at it if I'm lucky enough.
There is one thing I'd like to know about the Bullet in general. Does it extrapolate or interpolate?
If we have two known states A and B, where A.time=0 and B.time=1. A and B are NOT interpolated/extrapolated, but 100% accurate simulations. We are rendering a frame at currentTime=1.75 and have just called the stepSimulation correctly to have it interpolate smooth state for our currentTime. Does the Bullet:
a) use state B and extrapolate 0.75 ticks into the unknown future
b) interpolate a point between A and B with something like interpolatedState = A * 0.25 + B * 0.75
The article I linked was claiming (at march 2009), that bullet does the "method a", which could make it jerky at times. Which one is it and since what version?