Game Development Reference
In-Depth Information
1
IV
Real-Time Deep Shadow Maps
RenĀ“eFurst, Oliver Mattausch, and Daniel Scherzer
In oine rendering the algorithm of choice for correctly shadowing transparent
objects such as hair or smoke are deep shadow maps (DSMs). Algorithms try-
ing to achieve the same effect in real time have hitherto always been limited
to approximating the solution by depth-peeling techniques. Since the introduc-
tion of Direct3D 11, however, it has become feasible to implement the original
algorithm using a single rendering pass from the light without introducing any
approximations. In this chapter we discuss how to implement a DSM algorithm
for rendering complex hair models that runs in real time on Direct3D 11 capable
hardware, introducing a novel lookup scheme that exploits spatial coherence for
ecient filtering of the deep shadow map.
1.1
Introduction
While real-time (soft) shadows are nowadays routinely used in games, correct
shading and rendering of complex hair models, like the ones shown in Figure 1.1 ,
remain nontrivial tasks that are hard to achieve with interactive or even real-
time frame rates. The main problem is the complex visibility of hair with super-
thin structures that easily creates reconstruction artifacts when using traditional
shadow maps. Traditional shadow maps store the distances to the visible front as
seen from the light source into each texel of a 2D texture. This means that only
the nearest surfaces that block the light are captured. In a second step, a binary
depth test is performed for each pixel that compares stored texel depth and pixel
depth to determine if the pixel is either shadowed or not. While this works well
for opaque objects, it has the disadvantage that transparent objects cannot be
handled correctly, since every surface behind the visible front is assumed to be
fully shadowed.
Shadowing of transparent objects is possible by computing the percentage of
light that transmits through a material after taking the occlusion of all nearer
surfaces along a ray into account. For each texel, a deep shadow map (DSM)
[Lokovic and Veach 00] stores the transmitted amount of light as a function of
 
Search Nedrilad ::




Custom Search