Read CW[10] chapter 4.
We have a system of equations defined as
For piecewise constant basis functions and constant reflectivity over
the surface, this becomes
| = | ![]() |
(15) | |
| = | ![]() |
(16) |
There is a useful identity for form factors (or our version) called
reciprocity. This is written
The form factor from a differential area to an object is proportional to the projection of the object onto the unit hemisphere, and then the projection from the unit hemisphere down onto the unit circle. Divide by the area of the unit circle to get the form factor, or leave as is to get the cosine-weighted solid angle.
This drove the most popular way of computing form factors back in the late eighties and early nineties, the hemicube[9]. If geometry could be projected onto a sphere and then down onto a circle easily, we could compute form factors easily. It can't be. Computer graphics is good at projecting geometry onto planes, so why not project the geometry onto a planar representation of a hemisphere (a hemicube). Chop the sides of the hemicube up into many elements (pixel) and use it as an item buffer. Compute the (simple) form factors between the pixel and the receiving point and add that to the form factor for the object projected into the pixel. Works fairly quickly, but can miss small objects and can have aliasing artifacts.
A variation on the hemicube is the single-plane method [31]. This replaces the cube by a plane very near to the vertex. It misses things along the edges, but these contribute very little to the result. It's roughly 5 times faster as it only needs to project onto a single plane, not 5.
Another way this is used is the Monte Carlo approach by Malley [25]. Send rays out into the world and the form factor to an object is the number of rays that hit the object divided by the number of rays shot. The rays are uniformly distributed on the circle, then projected up onto the hemisphere. Can easily miss small objects.
First some generally useful ones:
Now some that are useful only in special situations. These are often used to check results generated in different ways. It's good to know what sorts of geometries are available.
All analytic methods assume there is no occlusion between the source and the receiver. In practice this is an unreasonable assumption. Generally, the solution of this is to take the visibility term outside the integral, multiplying the resulting unoccluded form factor by the average visibility between the two objects.
Why do these two approximations work? Because in practice, the source and the receiver are well separated. When they are well separated, the differential form factor is roughly constant between all pairs of points. If the differential form factor were constant, then these approximations would be accurate. The error in the approximation has to do with how far the various terms are from constants.