
Cloud and Volume Rendering
Resolution Independent Volumes
Jerry Tessendorf, Michael Kowalski
The methods for rendering clouds here are largely based on the algorithms described in Resolution Independent Volumes by Tessendorf, and Kowalski. Signed distance scalar fields are modulated with noise parameters to create the appearance of fluffy clouds. Deep shadow maps light the clouds and create dynamic shadows. This project is made with entirely C++. (Source Code)

Level Sets convert watertight polygonal models into signed distance fields, which can then be modulated with noise: a staple effect in VFX.

Pyroclastic spheres like this one are commonly used to create thick clouds with hard boundaries, much like you might see when a volcano erupts.

This is a wisp. Its structure is defined by small, procedurally placed spheres sampled into a grid.

This wisp was generated with particularly aggressive noise parameters. Its fine detail resembles a cotton ball, or pocket lint.

This pyroclasic sphere looks nothing like a cloud. Low noise frequency leads to softer features. Higher FJump values creates spikes.

This is noise with a falloff radius stamped directly into a grid. This type of noise is good for creating clouds of arbitrary size and shape with soft boundaries.