Logarithmic Shadow Maps

Brandon Lloyd1,Naga Govindaraju1, David Tuft1, Steve Molnar2, Dinesh Manocha1
1University of North Carolina at Chapel Hill
2NVIDIA

 

These images were rendered with a shadow map reparameterized with a perspective warping(left) and a logarithmic transformation (right). In the bottom row, grid lines are shown for every 5 texels in the shadow map.



Project Description

Shadow maps are an attractive solution to shadow rendering because they are flexible and easy to implement. However they suffer from aliasing artifacts. One approach to reduce shadow map aliasing is to reparameterize the shadow map. Existing reparameterization techniques, such as perspective shadow maps, use a 4x4 projection matrix to obtain a nonlinear parameterization of the shadow map. A logarithmic transformation leads to lower aliasing error but is slow on current hardware. We derive the logarithmic parameterization for directional and point lights and propose hardware modifications to support logarithmic rasterization directly in hardware. This requires only a few incremental enhancements to current hardware architectures.

 

SIGGRAPH 2006 sketch slides (PPT 6MB)
Accompanying video (WMV 11MB)



Related work

Warping and partitioning for low error shadow maps.
This paper analyzes several algorithms for minimizing aliasing artifacts on current hardware.


Images

(Left) An image with a standard orthographic projection. (Right) The same image rendered with the logarithmic parameterization. This parameterization has lower maximum error over the whole view frustum than previous approaches.


Images from a 13 million triangle power plant model. The shadow maps were rendered with (left) perspective warping, (middle), z-partitioning + perspective warping (4 partitions), (right) and a log parameterization. The z-partitioning can approach the quality of the log parameterization, but is not as smooth.


Images from an 82 million triangle oil tanker model. The shadow maps were rendered with (left) perspective warping, (middle), z-partitioning + perspective warping (4 partitions), (right) and a log parameterization. The z-partitioning can approach the quality of the log parameterization, but is not as smooth.