[Imstk-developers] Rendering interpolation/extrapolation

Milef, Nicholas Boris milefn at rpi.edu
Thu Dec 1 20:01:54 EST 2016


Ok, so I did some more digging around, and I found this article with some useful animations:
http://gafferongames.com/networked-physics/snapshots-and-interpolation/

If you look at the last animation, it shows what happens when you use extrapolation vs. interpolation (for networking, but it's the same idea). I think interpolation makes sense for our application based on these results. I think that extrapolation is mainly used for animation and character movement in games.
________________________________
From: Sreekanth Arikatla [sreekanth.arikatla at kitware.com]
Sent: Tuesday, November 29, 2016 12:38 PM
To: Alexis Girault
Cc: Milef, Nicholas Boris; imstk-developers at imstk.org
Subject: Re: [Imstk-developers] Rendering interpolation/extrapolation

Hi Alexis, Nick,
                 In our case i think the first thing we should do, which is easy, is to make the time step dT used by the physics module adaptive. It should be the set to the delta T that is measured in terms of the wall clock time between two successive physics solves. Once this is done we encounter the problem that Nick had mentioned.

In that case:

  1.  If the lowest frame rate amongst all of physics objects is more than 30 Hz then we shouldn't observe much of a difference (unless we are dealing with haptics).
  2.  If the lowest frame rate amongst all of physics objects is less than 30 Hz then we will observe something like stop motion animation. In that case we need to probably use one of the options suggested from the link: extrapolation or interpolation. Extrapolation might work if there is no sudden and drastic change in direction of motion of parts of the scene else you will see artifacts. If we choose interpolation, then i think we are forced to lag by one time step and also choose the linear interpolation constant (slope) adaptively. This could work but I myself have never tried this. One problem I see is that if the frame rates are really low like 4fps then if the user tries to interact with the objects, they will observe the lag of one time step enforced by the method. If it is not interactive it should be fine I guess.

Implementation wise adaptive time step and interpolation/extrapolation should not be very difficult. Its a good discussion to have. Let me know what you guys think.

Thanks.



On Tue, Nov 29, 2016 at 11:39 AM, Alexis Girault <alexis.girault at kitware.com<mailto:alexis.girault at kitware.com>> wrote:
Sreekanth, what's your take on our possible update rate for the physics modules?

Alexis Girault
R&D Engineer in Medical Computing
Kitware, Inc.

http://www.kitware.com<http://www.kitware.com/>
(919) 969-6990 x325<tel:(919)+969-6990+x325>

On Tue, Nov 29, 2016 at 11:02 AM, Milef, Nicholas Boris <milefn at rpi.edu<mailto:milefn at rpi.edu>> wrote:
How are we handling different update rates from the physics modules in the rendering? I imagine this will be a pretty severe problem for physics modules with low update rates.

http://gamedev.stackexchange.com/questions/12754/how-to-interpolate-between-two-game-states

_______________________________________________
Imstk-developers mailing list
Imstk-developers at imstk.org<mailto:Imstk-developers at imstk.org>
http://public.kitware.com/mailman/listinfo/imstk-developers



_______________________________________________
Imstk-developers mailing list
Imstk-developers at imstk.org<mailto:Imstk-developers at imstk.org>
http://public.kitware.com/mailman/listinfo/imstk-developers




--
Sreekanth Arikatla, Ph.D,
Senior R&D Engineer,
Kitware, Inc.<http://www.kitware.com>, Carrboro, NC.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://public.kitware.com/pipermail/imstk-developers/attachments/20161202/24f87886/attachment.html>


More information about the Imstk-developers mailing list