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.