In probabilistic form factor computation, rays were fired from surfaces
to determine which other surfaces can absorb their radiosity. In progressive
refinement, on the other hand, the radiosity is shot proportionally to the
precomputed form factors. These approaches can be merged in a method which
randomly shoots photons carrying a given portion of energy. As in
progressive refinement, the unshot and total radiosities are initialized to
the emission of the surfaces. At each step of the iteration a point is
selected at random on the surface which has the highest unshot radiosity, a
direction is generated according to the directional distribution of the
radiation (cosine distribution), and a given portion, say 1/*n*th, of
the unshot energy is delivered to that surface which the photon encounters
first on its way.

The program of this algorithm is then:

forj=1toNdodoj= Index of the surface of maximum = a random point on surfacejby uniform distribution = a random direction from by cosine distributionifhits surfaceifirstthen+= ; += ;endif-= ; ;whileerror>threshold;

This is possibly the simplest algorithm for radiosity calculation. Since it does not rely on form factors, shading models other than diffuse reflection can also be incorporated.

Mon Oct 21 14:07:41 METDST 1996