Mike Stark
Programming Assignment #2
Monte Carlo Radiosity Solution, Adaptive Mesh
Description of the Results
The following images were created using an adaptive mesh solution
using Monte-Carlo integration to approximate the radiance function.
As is doubtlessly apparent from the images, the grid is a purely
rectangular mesh, and subdivision breaks the edge continuity.
Subdivision based on error computed with the L1 norm
The two images below used an approximation to the L1 norm of the
error in the radiance to control the subdivision. The initial mesh
was constructed at approximately one fifth the height of the enclosing
box, and subdivision proceeded from there. Subdivision was stopped
at a rucursive depth of 7, corresponding to about one one-hundredth
of the size of the surface, and the error threshold was 0.0001 in
units of spectral radiance. (The l1 norm was used as the metric
for individual spectra.)
These images were computed without the "indirect lighting" component,
to make it easier to see how the subdivision works. A couple of full
Monte-Carlo solutions (with 256 rays per sample) are, or will be,
shown below.
Subdivision based on error computed with the L-infinity norm
These images were produced using the L-infinity norm, and a threshold
of 0.01 (yes, two orders of magnitude larger!) A much larger
threshold is needed because The L1 norm accounts for the area of the
mesh cell, while the L-infinity norm does not.
Full solutions, including indirect lighting
This one used the L-infinity norm.
Conclusion
Meshing without shared nodes looks terrible! But at least you can
see how the grid works. I'm not totally conviced my subdivision is
correct (although I can't find anything intrinsicly wrong with it)
so I'm not quite sure what to conclude. The subdivision seems to
work a little better with the L1 norm. I think the trouble with
the L-infinity norm for this problem is that it is indepenent
of the area of the mesh cell, and as they get smaller, variation
across the cell becomes less important.