Radiance caching and local geometry correction
We present a final gather algorithm which splits the irradiance integral into two components. One component captures the incident radiance due to distant surfaces. This incident radiance due to far field illumination is represented as a spatially varying field of spherical harmonic coefficients. Since distant surfaces do not cause rapid changes in incident radiance, this field is smooth and slowly varying and can be computed quickly and represented efficiently.In contrast, nearby surfaces may create drastic changes in irradiance, because their positions on the visible hemisphere can change quickly. We can find such nearby surfaces (scene triangles) by a local search. By assuming nearby surfaces are always visible, we can correct the far field irradiance estimate we obtain using the spherical harmonics, and restore the high frequency detail in indirect lighting. This correction can be performed efficiently because finding nearby surfaces is a local operation.