Download Flui°D°emo (incl. source code) at rene-schulte.info
Flui°D°emo is an interactive 2D physically based fluid simulation, which I made in winter 2007/08. It implements a Smoothed Particle Hydrodynamics (SPH) approach as described in the paper "Particle-Based Fluid Simulation for Interactive Applications" by M. Müller et al., which utilize the Navier-Stokes equation and SPH to simulate the behaviour of the fluid. The resulting differential equation is solved with a basic verlet integration.
This all is implemented in a flexible and small 2D particle system engine, including emitters, consumers and a renderer for Meta-Balls (Blobs). The Meta-Balls are drawn with a Render-To-Texture technique using OpenGLs framebuffer extension (FBO), a procedural generated gaussian distribution texture and alpha-testing.
The collision handling is done with the Separating-Axis-Theorem (SAT) and Oriented Bounding Boxes (OBBs).
The whole project is written in C# 3.0 against the .Net Runtime 2.0 and released under the GPLv3 license. The visualization is done with OpenGL, using the OpenTK library (opentk.com).