Keenan Crane
COLUMBIA UNIVERSITY IN THE CITY OF NEW YORK
Real Time Simulation and Rendering of 3D Fluids
GPU Gems 3 (2007)
Keenan Crane Ignacio Llamas Sarah Tariq
University of Illinois at
Urbana-Champaign
NVIDIA NVIDIA
teaser
Physically based animation of fluids such as smoke, water, and fire provides some of the most stunning visuals in computer graphics, but has historically been the domain of high-quality offline rendering due to great computational cost. In this chapter we not only show how these effects can be simulated and rendered in real time, but also how they can be seamlessly integrated into real time applications.
preview
PDF, 26MB
Additional Info
During my time at NVIDIA I wrote a 3D Navier-Stokes fluid solver that runs entirely on the GPU. Fluid solvers are used to generate realistic, physically-based animations of water and smoke. Typically it takes several minutes or hours to generate each frame of animation, but by making some minor compromises in visual quality and taking advantage of the GPU's parallelism and bandwidth the solver is fast enough for real-time applications (e.g., around 120-180 frames per second at 64x64x128 on a GeForce 8800 GTX).

The solver was used to generate interactive smoke in a launch demo for NVIDIA's GeForce 8800. NVIDIA is currently working with developers to integrate this technology into next generation games -- it is already being used in Flagship Studios' Hellgate: London (video: QuickTime, Windows Media).

The solver also tracks free surfaces (e.g., the interface between air and water). The water images below were generated using a GPU level set ray tracer, which runs alongside the solver in real time. The smoke images were also rendered via ray marching.

Video - Blood
Video - Fire
Video - Smoke
Video - Water
Video - Advection
@InBook{Crane07, author = "Crane, Keenan and Llamas, Ignacio, and Tariq, Sarah", title = "Real Time Simulation and Rendering of 3D Fluids", booktitle = "GPUGems 3", editor = "Hubert Nguyen", chapter = "30", publisher = "Addison-Wesley", year = "2007" }
Executable
WindowsGeForce 8800 launch demo
Images
figure1
figure2
figure3
figure4
figure5