The Cloud Algorithm

The central formula describing the effects of a light ray beeing transmitted through some nebular medium is given by the radiation transfer equation:

where I is the intensity of the light at some point s of the light path, kappa is the absorption of the light and epsilon denotes the emissitivity. If the absorption and the emissitivity does not depend on s, then the solution is given by

where

is the Source function. Now, as the Source function depends on s, the exact solution shown above can only be used for a small section of the light path, where the absorption and the emissitivity may be treated as constant.

The Computation

The cyan line represents a view ray of order 0, originating from the observer. As in the usual raytracing method, the effective image is constructed out of the intensity seen at each view ray, where one pixel may involve more than one view ray (for antialiasing) or less than one (for fast raytracing algorithms).

The yellow lines represent view rays of order 1, originating from each integration point of the view ray of order 0. At each integration point the absorption coefficient kappa(s) is determined as a property of the nebular medium (the atmosphere). Also at each point the emissitivity epsilon(s) is determined by tracing the 1st order view rays back to all light scenes in the scenery.

Also the light along the 1st order view rays has to be integrated, since there could be shadowing objects (i.e. clouds) beetween the integration point of the 0th order view ray and the light source. This accumulation of shadow objects makes the whole algorithm to be of order "1.5". Even more realism could be achieved, if the light of other objects shining to the shading objects along the 1st order view path is also taken into account, but this would harldy be possible to simulate in finite time...


Just a comment for this text: I hope HTML 3.0 will by available by most browsers soon ... !
The algorithm of theCloud simulation was developed and implemented by Werner Benger.