YouTube home National Registration Day


3D Fluid Simulation (smoke)





Rating is available when the video has been rented.
This feature is not available right now. Please try again later.
Uploaded on Mar 1, 2011

As the final in computer animations class, we could implement any topic we did not cover in class, or extend any topic that we did. We did 2D fluid simulation based on Jos Stam's Real-Time Fluid Dynamics for Games. Stam's paper claimed it was trivial to move up a dimension, so I wanted to see if that was the case. It was a challenge just figuring out how to render the fluid in 3D instead of 2D, and since we had underlying pixel infrastructure, I didn't want to move to raytracing or volumetric mapping. In any case, I ended up making voxels. Of course, it's much slower than 2D, "real-time" for up to a certian resolution, depending on your computing power. It was mostly the advecting term that took the longest (and I didn't use a FFT, which would have made it faster, though it's way beyond me at this point). To simulate the smoke aspect, I followed a paper by Fedkiw, Stam, and Jensen focusing especially on vorticity confinement. The rest of the smoke equations are just buoyancy and density equations, with adjustable parameters. The UI was also designed by me. Originally, there was supposed to be manual velocity manipulation, but it got too confusing with respect to the different velocity fields.

Color manipulation looks a little funny since I threw it together last minute.

Note: it's not known whether the navier-stoke's fully describes fluids in 3d (if there are no discontinuities, etc) but I guess we can still use it to create believable simulations.


When autoplay is enabled, a suggested video will automatically play next.

Up next

to add this to Watch Later

Add to

Loading playlists...