ABSTRACT

This chapter demonstrates how to efficiently generate soft shadows for a large number of omnidirectional light sources where each light casts individual shadows. It utilizes recently available features of common consumer graphics hardware, exposed by the OpenGL graphics API, to accelerate the computation of high-quality soft shadows for a high number of dynamic omnidirectional light sources. Traditional shadow map rendering typically first determines the meshes that are overlapping the volumes of all relevant light sources which is already an O(nm) time complexity task. The second part of the proposed technique makes use of the idea that for omnidirectional light sources it is not necessary to subdivide the 3D space into six view volumes. To make optimal use of the available texture space, a hierarchical quad-tree is used. This concept not only saves memory bandwidth at writing and reading of shadow maps, but further enables the use of a large amount of shadow-casting light sources within a limited texture space.