A list of articles and papers I have come across in the area of shadow rendering.
[1] Dictionary.com, Definition of a shadow
Shadow volumes
[2] Morgan McGuire, John F. Hughes, Kevin T. Egan, Mark J. Kilgard and Cass Everitt, Fast, Practical, and Robust Shadow Volumes, November 6th 2003
A paper that presents a set of algorithms for rendering shadows using the stencil buffer and the shadow volume technique. The methods make use of a series of techniques for culling, clipping, and simplifying shadow volume geometry allowing for greater performance than obtained by previous methods.
[3] Cass Everitt and Mark J. Kilgard, Practical and Robust Shadow Volumes, March 12th 2002
A paper that describes a robust, artifact-free method of rendering stenciled shadow volumes that eliminates the problem of shadow volume capping.
[4] Paul Baker, Shadow Volumes, 5th September 2002
[5] Thomas Hall, Silhouette Tracking Demo with Shadow Volumes
A demo that is designed to show the capabilities of using silhouette tracking when used with shadow volumes.
[6] Razvan Surdulescu, Cg Shadow Volumes, April 9th 2002
An article that describes how to implement a very realistic shadow effect using nVIDIA's Cg programming language and OpenGL.
[7] Josh Beam, Stenciled Shadow Volumes in OpenGL, January 18th 2004
An article that explains how to implement shadows in OpenGL, using the popular stenciled shadow volumes technique.
[8] Aras Pranckevicius, Reverse extruded shadow volumes
An article that describes the use of reverse extruded shadow volumes.
[9] Eric Lengyel, The Mechanics of Robust Stencil Shadows, October 11th 2002
An article that presents the intricacies of the entire stencil shadow algorithm and covers every mathematical detail of its efficient implementation.
[10] Hun Yen Kwoon, The Theory of Stencil Shadow Volumes, March 12th 2002
[11] John Carmack, John Carmack on shadow volumes, May 23rd 2000
An email from John Carmack to Mark Kilgard outlining Carmack's reverse or z-fail technique.
[12] Mel Slater, A Comparison of Three Shadow Volume Algorithms
A paper that describes and compares three different approaches to computing shadows each based on the idea of shadow volumes, a basic algorithm, the Shadow Volume BSP Tree algorithm, and a third based on 2D space subdivision, Shadow Tiling.
[13] Timo Aila and Tomas Akenine-Moller, A Hierarchical Shadow Volume Algorithm, 2004
A paper that presents a new algorithm that reduces the shadow volume rasterization work significantly.
[14] John Tsiombikas, Volume Shadows Tutorial
[15] Ulf Assarsson, Michael Dougherty, Michael Mounier and Tomas Akenine-Moller, An Optimized Soft Shadow Volume Algorithm with Real-Time Performance, 2003
A paper presenting several optimizations to their previous soft shadow volume algorithm.
[16] D. Brandon Lloyd, Jeremy Wendt, Naga K. Govindaraju and Dinesh Manocha, CC Shadow Volumes, 2004
A paper presenting a technique that uses culling and clamping for accelerating the performance of stencil-based shadow volume computation.
[17] Stefan Brabec and Hans-Peter Seidel, Shadow Volumes on Programmable Graphics Hardware, 2003
A paper where they show how expensive parts of the shadow volume method can be implemented on programmable graphics hardware.
[18] Mark Kilgard, OpenGL based Real-Time Shadows, June 30th 1997
[19] Ulf Assarsson, A Real-Time Soft Shadow Volume Algorithm, October 2003
Note: PDF file is 29Mb.
A PhD thesis consisting of an introduction and five papers.
[20] Jan Jukka Kainulainen, Stencil Shadow Volumes, April 15th 2002
A paper that discusses shadow generation techniques in a 3D-space, especially stencil shadow volumes.
[21] Jason Bestimt and Bryant Freitag, Real-Time Shadow Casting Using Shadow Volumes, November 15th 1999
Shadow maps
[22] Cass Everitt, Shadow Mapping, October 8th 2001
A presentation covering shadow mapping, with implementation details in OpenGL.
[23] Cass Everitt, Ashu Rege and Cem Cebenoyan, Hardware Shadow Mapping
A paper that covers the details behind hardware shadow mapping with implementation details in OpenGL and Direct3D.
[24] Cass Everitt, Shadow Casting Effects
A demo of atmospheric effects using a slide projector for the light source.
[25] Paul Baker, Shadow Mapping: Casting curved shadows on curved surfaces
A tutorial that focuses on basic shadow mapping for a single spotlight.
[26] Pradeep Sen, Mike Cammarano and Pat Hanrahan, Shadow Silhouette Maps, January 27th 2003
A paper demonstrating an implementation of Silhouette maps running on programmable graphics hardware at interactive rates.
[27] Charles Bloom and Phil Teschner, Advanced Techniques in Shadow Mapping, May 25th 2001
A description of some of the advanced shadow mapping technology used in Munch's Oddyssey, and some thoughts on shadows in general.
[28] Timo Ahokas, Shadow Maps, 2002
A paper that discusses the traditional shadow map algorithm along with other new shadow map algorithms and improvements used in current applications.
[29] Eric Chan and Fredo Durand, Rendering Fake Soft Shadows with Smoothies, 2003
A paper that presents a new method for real-time rendering of shadows in dynamic scenes. The approach builds on the shadow map algorithm by attaching geometric primitives that they call "smoothies" to the objects' silhouettes.
[30] Hamilton Y. Chong and Steven J. Gortler, A Lixel for every Pixel, 2004
A paper that describes a shadow mapping technique that guarantees, that over a small number of chosen planes of interest (such as a door and a wall), the shadow map is, in fact, perfectly sampled, ie. for each pixel in the viewer camera, there will be exactly one lixel in the shadow map that samples the exact same geometric point.
[31] Charles Bloom, Projective Shadow Mapping, June 30th 2000
An article that presents "an old trick, but it seems most people do it wrong, and there're no good tutorials on how to do it right on the web".
Shadow projection
[32] Phaetos, Shadow projection in OpenGL, March 27th 2003
A mathematical explanation of implementing shadow projection.
[33] Arne Olav Hallingstad, Projective Shadows using Stencil Buffer, August 9th 2003
An article that explains how to render projective shadows in OpenGL using the stencil buffer as well as the advantages and disadvantages of the method.
[34] Chris Bentley, Two Shadow Rendering Algorithms, April 28th 1995
An article describing implementation of two shadow rendering techniques: Vertex projection and Z-Buffers.
Shadow volume reconstruction
[35] Michael D. McCool, Shadow Volume Reconstruction from Depth Maps, 2000
A presentation of a hybrid of the shadow map and shadow volume approaches
Adaptive shadow maps
[36] Randima Fernando, Sebastian Fernandez, Kavita Bala and Donald P. Greenberg, Adaptive Shadow Maps
A paper that introduces Adaptive Shadow Maps (ASM) as a solution to aliasing problems. It resolves pixel size mismatches between the eye view and the light source view.
Deep shadow maps
[37] Tom Lokovic and Eric Veach, Deep Shadow Maps
A paper describing a technique that produces fast, high-quality shadows for primitives such as hair, fur, and smoke.
Penumbra wedges
[38] Tomas Akenine-Moller and Ulf Assarsson, Approximate Soft Shadows on Arbitrary Surfaces using Penumbra Wedges, 2002
A paper that presents a new soft shadow algorithm that extends the standard shadow volume algorithm by replacing each shadow quadrilateral with a new primitive, called the penumbra wedge.
Soft shadow maps
[39] Wolfgang Heidrich, Stefan Brabec and Hans-Peter Seidel, Soft Shadow Maps for Linear Lights
A paper that presents a modification to the shadow map algorithm that allows us to render soft shadows for linear light sources of a high visual fidelity with a very small number of light source samples.
[40] Zhengming Ying, Min Tang and Jinxiang Dong, Soft Shadow Maps for Area Light by Area Approximation, 2002
Perspective shadow maps
[41] -, Shadow Maps in the Power Plant
[42] Tobias Martin, Experience with Perspective Shadow Maps, October 5th 2003
An article that describes their experience in implementing PSM to better understand its mechanisms and results and to compare it to their proposed trapezoidal shadow maps.
[43] Michael Wimmer, Daniel Scherzer and Werner Purgathofer, Light Space Perspective Shadow Maps, 2004
A paper that present a new shadow mapping technique that improves upon the quality of perspective and uniform shadow maps.
[44] Hamilton Yu-Ik Chong, Real-Time Perspective Optimal Shadow Maps, April 8th 2003
Lightmaps
[45] Luke Hodorowicz, Advanced Lightmapping, March 12th 2001
An article that looks at dynamic lightmaps for moving lights and for things like strobe and flicker effects.
[46] Keshav Channa, Light Mapping - Theory and Implementation, July 21st 2003
An article that covers simple but quick light mapping producing effective and usable results.
[47] Paul Nettle, Lightmap Storage, June 6th 2000
An article that covers technqiues to overcome storage problems for Light maps.
Radiosity
[48] Paul Nettle, Radiosity In English - The Basics, May 20th 1999
An article that sets out to dissolve the mystique surrounding Radiosity.
[49] Nathan Vegdahl, Real-time Radiosity
An article roughly describing a technique called Radiosity mapping.
[50] Tom Hammersley, Introductory Radiosity
[51] Hugo Elias, Radiosity, 2000
An article that gives an in-depth study of one Global Illumination method, Radiosity.
[52] Fabio Policarpo, Gillard Lopes and Alan Watt, Progressive Radiosity Static Lighting for Game Engines
A paper that describes a simple way to add radiosity-based static lighting to an already existing game engine supporting lightmaps with its scene defined by a set of convex sub-spaces created by a BSP tree and visibility information stored in a PVS bit matrix.
[53] Andrew J. Willmott and Paul S. Heckbert, An Empirical Comparison of Radiosity Algorithms, July 15th 1997
A paper that presents an extensive empirical comparison of matrix, progressive, and wavelet radiosity algorithms for simulating diffuse interreflection in three-dimensional scenes.
[54] Brian R. Johnson, RADIOSITY: Overview, February 8th 1999
A short overview of Radiosity.
Photon mapping
[55] Yves Poissant, Photon Mapping in A:M, 2003
Some brief details on what Photon Mapping is.
Summaries of shadowing techniques
[56] Andrew V. Nealen, Shadow Mapping and Shadow Volumes: Recent Developments in Real-Time Shadow Rendering
A project report that describes the major contributions since Williams’ and Crow’s original publications in 1978 and 1977 respectively, and briefly presents both the shadow mapping (which is computed in image space) and the shadow volume algorithms, as well as presenting more sophisticated approaches to shadow mapping which are better suited to high quality off-line renderers and describe the aliasing problems inherent in all shadow algorithms which operate in image space (and proposed solutions). Finally, it describes new extensions to the existing algorithms such as perspective shadows.
[57] Kris Garrein, Real-time Shadowing Techniques, October 16th 2003
[58] Gerald Matzka, Shadow Algorithms, 2001
An article where the basics of the most common used and applicable algorithms are described.
[59] J.M. Hasenfratz, M. Lapierre, N. Holzschuch and F. Sillion, A Survey of Real-time Soft Shadows Algorithms, 2003
A paper that covers all current methods for real-time shadow rendering, without venturing into slower, high quality techniques based on ray casting or radiosity.
[60] Stefan Brabec, Shadow Techniques for Interactive and Real-Time Applications, December 18th 2003
Note: PDF is 17.2Mb
Presentation of hardware-accelerated shadow techniques that are able to generate shadows of high-quality while still being fast enough to be used in real-time or interactive applications. Includes several papers.
[61] Andrew Woo, Pierre Poulin and Alain Fournier, A Survey of Shadow Algorithms, 1997
A survey that characterizes the various types of shadows, describing most existing shadow algorithms, and for each one discusses their complexities, their advantages and their shortcomings.
[62] Kasper Fauerby and Carsten Kjer, Real-time Soft Shadows in a Game Engine, December 14th 2003
A thesis that explores the possibilities of using various real-time shadow techniques in a 3d game engine.
[63] Michael Skinner, Shadows, June 2nd 2001
A summary of shadowing techniques.
Other (uncategorised) shadowing and related techniques
[64] Eric Haines, Soft Planar Shadows Using Plateaus
A paper that presents an algorithm for rapidly creating and rendering soft shadows on a plane.
[65] Eric Chan and Fredo Durand, An Efficient Hybrid Shadow Rendering Algorithm, 2004
A paper that presents a hybrid algorithm for rendering hard shadows accurately and efficiently by combining the strengths of shadow maps and shadow volumes.
[66] Brandon Lloyd, Jeremy Wendt, Naga Govindaraju and Dinesh Manocha, CC Shadow Volumes, June 21st 2004
A paper that presents a technique that uses culling and clamping (CC) for accelerating the performance of stencil-based shadow volume computation.
[67] Steven Parker, Peter Shirley and Brian Smits, Single Sample Soft Shadows, October 27th 1998
A simple extension to ray tracing is presented that creates visually plausible 'soft' shadows with little extra computation.
[68] Stepan Hrbek, Fast correct soft shadows for Nvidia GPUs, September 2004
[69] NVidia, Soft Shadows, 2004
A paper that describes how Shader Model 3.0’s conditional branching accelerates the computation of soft shadows.
[70] Tom Hall, Silhouette Tracking, May 16th 2003
A paper describes an adaptation to Markosian’s Randomized silhouette detection method that takes advantage of the spatial and temporal coherence of silhouettes.
[71] Sebastien Loisel, Fast Multi-Pass Exact Screen-Space Shadows using an Accumulation Buffer, a Stencil and a Z-Buffer
[72] Nate Carr, John Hart and Jerome Maillot, The Solid Map: Methods for Generating a 2D Texture Map for Solid Texturing
A paper that decribes the solid map, a view-independent method for solid texturing.