In its simplest approach, the final, view-dependent step of the radiosity method involving Gouraud shading and usually z-buffering can be replaced by a recursive ray tracing algorithm, where the diffuse component is determined by the surface radiosities, instead of taking into consideration the abstract lightsources, while the surface radiosities are calculated by the methods we have discussed, ignoring all non-diffuse phenomena. The result is much better than the outcome of a simple recursive ray tracing, since the shadows lose their sharpness. The method still neglects some types of coupling, since, for example, it cannot consider the diffuse reflection of a light beam coherently reflected or refracted onto other surfaces. In figure 1.8, for example, the vase should have been illuminated by the light coherently reflected off the mirror, but the algorithm in question makes it dark, since the radiosity method ignores non-diffuse components. A possible solution to this problem is the introduction and usage of extended form factors [SP89].
A simplified shading model is used which breaks down the energy radiated
by a surface into diffuse and coherently reflected or refracted components.
An extended form factor
, by definition represents that portion of the energy
radiated diffusely by surface i which actually reaches surface
j either by direct transmission or by single or multiple coherent
reflections or refractions. The use of extended form factors allows for the
calculation of the diffuse radiance of patches which takes into account not
only diffuse but also coherent interreflections. Suppose diffuse radiance
of surface i needs to be calculated. Diffuse
radiance
is determined by the diffuse radiation of other surfaces
which reaches surface i and by those light components which are
coherently reflected or refracted onto surface i. These coherent
components can be broken down into diffuse radiances and emissions which are
later coherently reflected or refracted several times, thus similar
expression holds for the diffuse radiance in the improved model as for the
original, only the normal form factors must be replaced by the extended
ones. The extended radiosity equation defining the diffuse radiance of the
surfaces in a non-diffuse environment is then:
Recursive ray tracing can be used to calculate the extended form factors. For each pixel of the hemicube a ray is generated which is traced backward finding those surfaces which can be visited along this ray. For each surface found that portion of its diffusely radiated energy which reaches the previous surface along the ray should be computed -- this is a differential form factor -- then the attenuation of subsequent coherent reflections and refractions must be taken into consideration by multiplying the differential form factor by the product of the refractive and reflective coefficients of the surfaces visited by the ray between the diffuse source and surface i. Adding these portions of possible contribution for each pixel of the hemicube also taking the hemicube weighting function into account, the extended form factors can be generated. Having calculated the extended form factors, the radiosity equation can be solved by the method discussed, resulting in the diffuse radiosities of the surfaces.
Expensive ray-tracing can be avoided and normal form factors can be worked with if only single, ideal, mirror-like coherent reflections are allowed, because this case can be supported by mirroring every single surface onto the reflective surfaces. We can treat these reflective surfaces as windows onto a ``mirror world'', and the normal form factor between the mirrored surface and another surface will be responsible for representing that part of energy transfer which would be represented by the difference of the extended and normal form factors [WCG87].
If the diffuse radiosities of the surfaces are generated, then in the second, view-dependent phase another recursive ray-tracing algorithm can be applied to generate the picture. Whenever a diffuse intensity is needed this second pass ray-tracing will use the radiosities computed in the first pass. In contrast to the naive combination of ray-tracing and radiosity, the diffuse radiosities are now correct, since the first pass took not only the diffuse interreflections but also the coherent interreflections and refractions into consideration.