Procedural Smoke

Procedural Smoke

Smoke is an extremely complicated phenomenon to simulate. Flow equations (Navier-Stokes) must be solved in order to accurately animate smoke. Here, I simply use a kind of 4D vertex noise to displace particles in a vertex shader. This approach is simple, and produces visually pleasing snapshots of smoke. However, the motion of the smoke suffers from the lack of physical simulation. The noise I use has very small look-up tables since these have to be stored in vertex processor registers, as texture memory access was not available from within vertex shaders on my graphics hardware. Particles are rendered using GL_POINT_SPRITE_ARB, which are simply textured billboards that are automatically calculated on hardware.


Download report [.pdf]


2 thoughts on “Procedural Smoke

  1. I downloaded your document on procedural smoke and tried out the code. But I am having problem with ‘particle_w.tga’ in the code. Can you please tell me how can I get access to this file or how can I create such .tga files. Thank you in advance!

Leave a Reply

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

You are commenting using your 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 )

Connecting to %s

%d bloggers like this: