Logarithmic Shadow Maps
Brandon Lloyd^{1},Naga
Govindaraju^{1}, David Tuft^{1},
Steve Molnar^{2}, Dinesh Manocha^{1}
^{1}University of North Carolina at Chapel Hill ^{2}NVIDIA




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.
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), zpartitioning + perspective
warping (4 partitions), (right) and a log
parameterization. The zpartitioning 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), zpartitioning + perspective
warping (4 partitions), (right) and a log
parameterization. The zpartitioning can approach the quality of the log
parameterization, but is not as smooth.

