GPU-Accelerated Deep Shadow Maps for Direct Volume Rendering

Abstract

Deep shadow maps unify the computation of volumetric and geometric shadows. For each pixel in the shadow map, a fractional visibility function is sampled, pre-filtered, and compressed as a piecewise linear function. However, the original implementation targets software-based off-line rendering. Similar previous  algorithms on GPUs focus on geometric shadows and lose many important benefits of the original concept. We focus on shadows for interactive direct volume rendering, where shadow algorithms currently either compute additional per-voxel shadow data, or employ half-angle slicing to generate shadows during rendering. We adapt the original concept of deep shadow maps to volume ray-casting on GPUs, and show that it can provide anti-aliased high-quality shadows at interactive rates. Ray-casting is used for both generation of the shadow map data structure and actual rendering. High frequencies in the visibility function are captured by a pre-computed lookup table for piecewise linear segments. Direct volume rendering is performed with an additional deep shadow map lookup for each sample. Overall, we achieve interactive high-quality volume ray-casting with accurate shadows. To conclude, we briefly describe how semi-transparent geometry such as hair could be integrated as well, provided that rasterization can write to arbitrary locations in a texture. This would be a major step toward full deep shadow map functionality.

Paper

Markus Hadwiger, Andrea Kratz, Christian Sigg, Katja Bühler
Published: In Proceedings of Eurographics/SIGGRAPH Graphics Hardware 2006, pp. 49-52, 2006
Related Report: TR-VRVis-2006-018
 

Gallery




CT scan of a human hand (256x128x256) with direct volume rendering and shadowing with GPU-accelerated deep shadow maps. Here, the shadow map resolution is 512x512. Both volume rendering and construction of the deep shadow map are performed by ray-casting on the GPU. Rendering using an already computed deep shadow map, i.e., when the light source is not moving, can be performed with 3 to 6 frames per second on an ATI Radeon X1800. The time for computing the deep shadow map itself depends on the desired quality, most of all the resolution and maximum compression error specified. Typical computation times are 1 to 2 seconds for very high quality, to several frames per second during interaction when resolution and quality are reduced.

Partners



Last Update: 2007, April 19