Applying Noise to Particle Clouds

If you try to simulate atmospheric effects like clouds and smoke using volumetric particles, you need an awful lot of particles to get anything interesting, and that can get expensive. I'm playing with a way of "cheating": use only a relatively small number of (fairly large) particles, just to get the general shape, and then fake the fine detail by adding some procedural noise to the mix.

The test to the right shows the different steps. The applet shows only a 2D slice of the volume, rather than the entire volume.

If you click on button (2) you see the results of just blurring the particles. Clicking on (3) applies a high contrast filter to harden the edges. In the actual volume, this will define a clear boundary for the cloud. Clicking on (4) shows what happens if we add procedaral noise to the blurry image before hardening the edges. Finally, clicking (5) shows what happens when we mix two frequencies of noise. The result starts to look like a slice through a high quality cloud, the equivalent of having used far more particles.

- Ken Perlin

(1) Particles
(2) → Blur
(3) → Blur → Hi gain
(4) → Blur → |noise(p)| → Hi gain
(5) → Blur → |noise(p)| + |noise(2p)|/2 → Hi gain

Source: puff extends PixApplet