Proceedings: GI 2008

Layered variance shadow maps

Andrew Lauritzen , Michael McCool

Proceedings of Graphics Interface 2008: Windsor, Ontario, Canada, 28 - 30 May 2008, 139-146

DOI 10.20380/GI2008.18

  • Bibtex

    @inproceedings{Lauritzen:2008:10.20380/GI2008.18,
    author = {Lauritzen, Andrew and McCool, Michael},
    title = {Layered variance shadow maps},
    booktitle = {Proceedings of Graphics Interface 2008},
    series = {GI 2008},
    year = {2008},
    issn = {0713-5424},
    isbn = {978-1-56881-423-0},
    location = {Windsor, Ontario, Canada},
    pages = {139--146},
    numpages = {8},
    doi = {10.20380/GI2008.18},
    publisher = {Canadian Human-Computer Communications Society},
    address = {Toronto, Ontario, Canada},
    }

Abstract

Shadow maps are commonly used in real-time rendering, but they cannot be filtered linearly like standard color, resulting in severe aliasing. Variance shadow maps resolve this problem by representing the depth distribution using moments, which can be linearly filtered. However, variance shadow maps suffer from "light bleeding" artifacts and require high-precision texture filtering hardware. We introduce layered variance shadow maps, which provide simultaneous solutions to both of these limitations. By partitioning the shadow map depth range into multiple layers, we eliminate all light bleeding between different layers. Using more layers increases the quality of the shadows at the expense of additional storage. Because each of these layers covers a reduced depth range, they can be stored in lower precision than would be required with typical variance shadow maps, enabling their use on a much wider range of graphics hardware. We also describe an iterative optimization algorithm to automatically position layers so as to maximize the utility of each. Our algorithm is easy to implement on current graphics hardware and provides an efficient, scalable solution to the problem of shadow map filtering.