Light Hierarchy

This page is a short presentation of the work conducted by Eric Paquette, Pierre Poulin and George Drettakis on light sources clustering. This research was part of Eric Paquette's M.Sc. thesis and was accepted as a paper at the EuroGraphics'98 conference.

Some illumination situations cause problem due to the large number of light sources.

[christmass trees] [office]

The large number of light sources can result from simulation of complex lighting by point light sources (e.g. flames, neons).

Our technique takes advantage of the fact that for distant points, we do not need to sample each light sources. A cluster of light sources could be replaced by a simpler representation of the illumination it contains.

Since the visibility problem is extremely complex (the trees scene is a very good example), we decided to experiment with scenes without any light sources occlusion. These are our test scenes:

[Light strings] [UdeM specular] [Cluster]

Here is an example of the kind of light hierarchies we construct:
 

[light octree]
  • octree voxels are green
  • real light sources are blue spheres
  • virtual light sources are spheres of red shades (pink ones are lower in the hierarchy)
  • Using information kept in each voxel of our octree of lights, we can compute an exact bound on the error introduced when using the virtual light source instead of all the light sources it represents.

    Using a threshold of 1% error (~2.5RGB), speedups of up to 90 can be reached as the number of light sources present grows.

    [Stats light strings] [Stats UdeM] [Stats cluster]
    Diffuse reflection: Speedup compared to "classic" ray-tracing as the number of light sources grows
    [Stats light strings] [Stats UdeM] [Stats cluster]
    Specular reflection: Speedup compared to "classic" ray-tracing as the number of light sources grows

    The threshold gives an adequate tradeoff between speed and accuracy. With a large threshold, artifacts appear in the images.

    [artifacts] [artifacts error]

    The image on the left is the actual rendering and the one on the right is the difference image (compared to the classical ray-tracing). The intensity levels of the difference image have been adjusted to clearly show the artifacts caused by a large threshold. The error is still below the user defined threshold. Since the bound is fairly conservative, the maximal error is around ten times lower than the user threshold.