Adaptive quantization visibility caching


Our algorithm computes, caches, and reuses visibility between arbitrary points in the scene adaptively and on-demand. In our tests it reduced the number of traced shadow rays by a factor of up to 50x, while incurring only slight degradation in visual quality. The algorithm can be easily integrated into any ray tracing based application. The left and middle images above were produced by a many-light, or virtual point light, renderer, while the image on the right was rendered using bidirectional path tracing, both accelerated by our visibility caching.


Ray tracing has become a viable alternative to rasterization for interactive applications and also forms the basis of most global illumination methods. However, even today's fastest ray-tracers offer only a tight budget of rays per pixel per frame. Rendering performance can be improved by increasing this budget, or by developing methods that use it more efficiently.

In this paper we propose a global visibility caching algorithm that reduces the number of shadow rays required for shading to a fraction of less than 2% in some cases. We quantize the visibility function's domain while ensuring a minimal degradation of the final image quality. To control the introduced error, we adapt the quantization locally, accounting for variations in geometry, sampling densities on both endpoints of the visibility queries, and the light signal itself.

Compared to previous approaches for approximating visibility, e.g. shadow mapping, our method has several advantages: (1) it allows caching of arbitrary visibility queries between surface points and is thus applicable to all ray tracing based methods; (2) the approximation error is uniform over the entire image and can be bounded by a user-specified parameter; (3) the cache is created on-the-fly and does not waste any resources on queries that will never be used. We demonstrate the benefits of our method on Whitted-style ray tracing combined with instant radiosity, as well as an integration with bidirectional path tracing.

Downloads and links


Supplemental video

BibTeX reference

  author = {Stefan Popov and Iliyan Georgiev and Philipp Slusallek and Carsten Dachsbacher},
  title  = {Adaptive Quantization Visibility Caching},
  journal = {Computer Graphics Forum},
  note    = {EUROGRAPHICS 2013},
  volume  = {32},
  number  = {2},
  year    = {2013}