Simulating smoke with particles
Smoke is characterized by many small particles that float away from the source, and spread out as they move through the air. We can simulate the floatation effect with particles by using a small upwards acceleration (or constant velocity), but simulating the diffusion of each small smoke particle might be too expensive. Instead, we can simulate the diffusion of many small particles by making our simulated particles change their size (grow) over time.
The following image shows an example of the results:
The texture for each particle is a very light smudge of grey or black color.
To make the particles grow over time, we'll simply increase the size of our quads.
Getting ready
Start with the basic particle system presented in the Creating a particle system using transform feedback recipe:
- Set the uniform variable
Accel
to a small upward value like (0.0, 0.1, 0.0). - Set the
ParticleLifetime
uniform variable to about10
seconds. - Create and load a texture for the particles...