islands + rigid body sleep + time of impact

October 30, 2008

So, on the topic of time of impact.  The first thing I realized, is that time of impact calculations if done with the proper time conservation (advance all by nearest time of impact, solve, and repeat until timestep is gone) are enormously costly for massive groups of bodies.  This is because you update EVERY BODY in the system all those times whether you need to or not.  A good fix, which is also practical for putting bodies to sleep, is solver islands.  Basically, isolate groups of topologically adjacent bodies through contacts and constraints.  Then simulate them independently, including doing less TOI substeps for islands that don’t need that many.  It’s actually not even possible to do the unneccessary steps on an island solver architecture.  The reason this is also good for the sleeping scheme, is that putting islands to sleep as a whole instead of each body individually is much more stable, because you know that once all have settled, there is nothing still moving to keep the others awake.  And again, doing this per island allows you to be more efficient, because per body takes longer and is less stable, and per world is useless because there is always something moving in a video game.

Well, one of my dad’s friends reviewed my presentation (he’s an electrical engineer with programming experience in microcontrollers) and he said it was so good it could get me in to MIT.  I have a good feeling about this.  😀



  1. MIT thats awesome. I always wanted to go there because they make the most elaborate pranks 🙂

    Will you be posting your presentation or will we just have to read about it 😉

  2. After I give it, I will post the package I have with me to do it. It includes:

    OpenOffice presentation
    Images for presentation
    Win32 Rat Physics / Test binaries
    Python Rat Physics modules / Python test

    This is suspended in sometime in the future until further notice, as the room we’re using is still booked.

  3. Sweet. Hope you rock that presentation.

  4. Thank you! 🙂

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: