Real-Time Fluid Dynamics on a Multi-touch Table

Real-Time Fluid Dynamics on a Multi-touch Table

Smoke improved…

One of the demo applications which comes with Touchlib is Smoke. The technique which is used to create ‘smoke’ is based on the algorithm presented by Jos Stam in his paper Real-Time Fluid Dynamics for Games.

Often multi-touch enthusiast use this application to demonstrate their multi-touch displays.

Some time ago I modified the Smoke application which allows users to draw objects into the scene. The application is extended to have a new drawing mode which is allow (multiple) users to draw objects/boundaries into the scene. This can be done while the simulation is running. If sources are placed in the scene this means you can view in real-time how flow will behave on a particular shaped object.

In the demonstration video I have added 3 different coloured sources and the logo of my university is used as an object to perform the simulation on.

A higher quality wmv can be downloaded here:

Multi-touch video puzzle game

I had this idea for a while and even the basic puzzle game framework (using photo’s) was already finished. After messing around with FFmpeg I managed to export the video frames from an mpeg2 (.vob) file and convert them to an OpenGL texture. The only problems left were the synchronization and the audio stream. Because FFmpeg is really horrible coded (you need special hacks to get it even to compile under windows), I never managed to get those working. For those who are interested, this site: has helped me a lot.

After searching around for an alternative I decided to drop the cross platform support for this application and use MS DirectShow. Usually I do not like the DirectX due its ‘clean’ coding style. But after giving DirectShow a try I was surprised how easy it was to get a basic demo working which played a mpeg2 file without any problems. The audio and video streams where synchronized automatically.
With some help of a friend I merged the video player code into the puzzle application.

This is the result (recorded with Fraps):

In the video I used the mouse as input device, but the application works with the multi-touch table as well.

Real-Time Fluid Dynamics on a Multi-touch Table
Older post

MMA Pro update

Newer post

Touchlib Speedfix and MMA Pro update

Real-Time Fluid Dynamics on a Multi-touch Table

One response

  1. Thanks for this information related to the multi-touch table. This is absolutely informative!

    richard May 21st, 2021