Advanced Global Illumination, Second Edition

Chapters 5 and 6 described two of the most popular global illumination algorithms: ray tracing and radiosity. These algorithms have evolved significantly since they were first introduced, but mainly, the core ideas for both are still the same: a ray-tracing algorithm computes radiance values for every pixel in the final image by generating paths between the pixel and the light sources; a radiosity algorithm computes a radiance value for every mesh element in the scene, after which this solution is displayed using any method that can project polygons to the screen.
This chapter focuses on algorithms that try to combine the best of both worlds. These algorithms often use various elements from the previously mentioned approaches, and therefore we call them hybrid algorithms.
Once a radiosity solution is computed and an image of the scene is generated, Gouraud shading is often used to interpolate between radiance values at vertices of the mesh, thus obtaining a smoothly shaded image. This technique can miss significant shading features. It is often difficult to generate accurate shadows; shadows may creep under surfaces (shadow leaks and light leaks), Mach-band effects may occur, and other secondary illumination effects containing features with a frequency higher than that which the mesh can represent are also possible.
One way of solving this is to consider the radiosity solution to be a coarse precomputed solution of the light distribution in the scene. During a second phase, when the image is actually generated, a more accurate per-pixel illumination...