“Real-Time Shadowing Techniques” by Kautz, Stamminger, Akenine-Moeller, Chan, Heidrich, et al. …

  • ©Jan Kautz, Marc Stamminger, Tomas Akenine-Moeller, Eric Chan, Wolfgang Heidrich, and Mark J. Kilgard


Entry Number: 26


    Real-Time Shadowing Techniques

Course Organizer(s):



    Working knowledge of a low-level graphics API such as DirectX or OpenGL. Some knowledge of shadowing algorithms is useful but not required.

    Intended Audience
    Everyone who is interested in real-time and interactive graphics.

    Shadows heighten realism and provide important visual cues about the spatial relationships between objects. But integration of robust shadowing techniques in real-time rendering is not an easy task. In this course on how shadows are incorporated in real-time rendering, attendees learn basic shadowing techniques and more advanced techniques that exploit new features of graphics hardware.

    The course begins with shadowing techniques using shadow maps. After an introduction to shadow maps and general improvements of this technique (filtering, depth bias, omnidirectional lights, etc.), the first section describes two methods for reducing sampling artifacts: perspective shadow maps and silhouette maps. Both techniques can significantly improve shadow quality, but they require careful implementation. The first section concludes with a discussion of shadow-mapping extensions that allow soft shadows from linear and area light sources. The second part of the course discusses recent advances in efficient and robust implementation of shadow volumes on graphics hardware and then shows how shadow volumes can be extended to generate accurate soft shadows from area lights. Finally, the course summarizes real-time shadowing from full lighting environments using the technique of precomputed radiance transfer.

    The course explains the differences among these algorithms and their strengths and weaknesses. Implementation details, often omitted in technical papers, are provided. And throughout the course, the tradeoffs between quality and performance are illustrated for the different techniques.