Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result resource in /customers/borgenstam.com/borgenstam.com/httpd.www/noname/visitors.php on line 8
HOMEPAGE | V2.10 | 2004

SOFT VOLUMETRIC SHADOWS

Shadows are important elements in three-dimensional computer graphics since they enhance realism and provide visual cues to determine spatial relationships. Point light sources generate only fully shadowed regions, i.e., there is an abrupt transition from no shadow to full shadow. These shadows are often referred to as hard shadows.

Soft shadows on the contrary, are produced when area or volumetric light sources are used. Each shadow can have a fully shadowed region, called the umbra, and a partially shadowed region, called the penumbra. Soft shadows are generally preferable, because they let the viewer know that the shadow is indeed a shadow and not actual geometrical features.

This project focuses on an implementation using OpenGL of the soft shadow volume algorithm presented by Ulf Assarsson and Tomas Akenine-Möller. The implementation extends the well-known shadow volume algorithm for hard shadows from 1977, and consists of two passes. The first pass uses the classic shadow volume algorithm to generate hard shadows, the umbra region of the shadow, and the second pass provides the softness of the shadow, the penumbra region. This is achieved by generating penumbra wedges and rasterizing them using a custom fragment program that computes the covered area of the light source.

The result of this project is an OpenGL implementation capable of real-time soft volumetric shadows. The implementation produce high-quality shadows for area and volumetric light sources that cast properly on arbitrary surfaces.

In order to run this demo you will need a ATI Radeon 9700 card or better for the ATI version or a GeForceFX for the NVIDIA version. As said by the signature "anon" in the guestbook, the latest ATI drivers (Catalyst 3.10) work fine now.