A final gathering rendering

Here are some renderings which show the different components of illumination making up a final gathering rendering. Please be patient loading the page, images are all PNGs for better fidelity. The direct component of illumination was computed with Monte-Carlo integration. Instead of integrating over the whole hemisphere around a surface point I just integrate over the surface of the area light at the top of the scene.

Scene lit with direct illumination only. Render time: 11 minutes

The indirect component of illumination could have been rendered with Monte-Carlo path tracing, but for this image I used 'final gathering', a variation on the photon mapping technique. The first stage of computing the indirect illumination is to trace some photons through the scene and store them in a fast-lookup structure, namely a kd-tree. I used 5000 photon launches for this render (probably 10000-20000 stored hits). The reason the number of photons is so low is that photon map lookups during the final gathering stage can take a large percentage of the computation time, and keeping the number of photons low keeps the photon map lookups nice and fast.

Visualisation of photon map

Instead of using the photon map directly to approximate incident radiance at a given surface point, the final gathering algorithm traces out a few rays into the hemisphere surrounding the point. The photon map is then used to find the incident radiance at the ray intersection points. The benefit of the final gathering algorithm is that it eliminates the blotchiness resulting from using the photon map directly. The main drawback is the increase in number of rays traced, number of photon map lookups, and hence in total computation time.

Scene lit with indirect illumination only. Render time: 74 minutes

The area light and hemisphere for final gathering were sampled with 400 rays each, in a 20x20 stratified sampling pattern.

The final rendering, with both direct and indirect illumination. Render time: 80 Minutes


The Sponza atrium scene was modelled by Marko Dabrovic, you can get it here.

Mat Pharr has a doc on some advanced final gathering techniques here.