Copyright © 2006 by the Association for Computing Machinery, Inc.
Permission to make digital or hard copies of part or all of this work for personal or
classroom use is granted without fee provided that copies are not made or distributed
for commercial advantage and that copies bear this notice and the full citation on the
first page. Copyrights for components of this work owned by others than ACM must be
honored. Abstracting with credit is permitted. To copy otherwise, to republish, to post on
servers, or to redistribute to lists, requires prior specific permission and/or a fee.
Request permissions from Permissions Dept, ACM Inc., fax +1 (212) 869-0481 or e-mail
permissions@acm.org
.
© 2006 ACM 1-59593-295-X/06/0003 $5.00
I3D 2006, Redwood City, California, 14–17 March 2006.
Dynamic Parallax Occlusion Mapping with Approximate Soft Shadows
Natalya Tatarchuk
ATI Research, Inc.
Figure 1. Realistic city scene rendered using parallax occlusion mapping applied to the cobblestone sidewalk in (a) and using the
normal mapping technique in (b).
Abstract
This paper presents a per-pixel ray tracing algorithm with dy-
namic lighting of surfaces in real-time on the GPU. First, we
propose a method for increased precision of the critical ray-
height field intersection and adaptive height field sampling. We
achieve higher quality results than the existing inverse displace-
ment mapping algorithms. Second, soft shadows are computed by
estimating light visibility for the displaced surfaces. Third, we
describe an adaptive level-of-detail system which uses the infor-
mation supplied by the graphics hardware during rendering to
automatically manage shader complexity. This LOD scheme
maintains smooth transitions between the full displacement
computation and a simplified representation at a lower level of
detail without visual artifacts. The algorithm performs well for
animated objects and supports dynamic rendering of height fields
for a variety of interesting displacement effects. The presented
method is scalable for a range of consumer grade GPU products.
It exhibits a low memory footprint and can be easily integrated
into existing art pipelines for games and effects rendering.
CR Categories: I.3.7 [Computer Graphics]: Three-Dimensional
Graphics and Realism: Color, shading, shadowing, and texture;
Visible line/surface algorithms
Keywords: image-based rendering, motion-parallax, real-time
rendering, displacement mapping, soft shadows, surface details,
adaptive level-of-detail system.
1 Introduction
Texture mapping is essential for creating a compelling impression
of a realistic scene without paying the full cost of rendering
complex geometry. Bump mapping was introduced in the early
days of computer graphics in [Blinn 1978] to avoid rendering
high polygonal count models. Despite its low computational cost
and ease of use, bump mapping fails to account for important
visual cues such as shading due to interpenetrations and self-
occlusion, nor does it display perspective-correct depth at all
angles.
Displacement mapping, introduced by [Cook 1984], addressed the
issues above by actually modifying the underlying surface geome-
try. Ray-tracing based approaches dominated in the offline
domain [Pharr and Hanrahan 1996; Heidrich and Seidel 1998].
These methods adapt poorly to current programmable GPUs and
are not applicable to the interactive application domain due to
high computational costs. Other approaches included software-
based image-warping techniques for rendering perspective-correct
geometry [Oliveira et al. 2000] and precomputed visibility infor-
mation [Wang et al. 2003; Wang et al. 2004; Donnelly 2005].
Despite being interactive, these methods suffer from a large
memory footprint. The majority of these techniques require high
amounts of specialized precomputed data, thus making their
integration into existing art pipelines for game development
unnecessarily complex. Our proposed method requires a low
memory footprint comparable to bump mapping and can be used
for dynamically rendered height fields.
Recent inverse displacement mapping approaches take advantage
of the parallel nature of novel GPUs’ pixel pipelines to render
displacement directly on the GPU ([Doggett and Hirche 2000;
Kautz and Seidel 2001; Hirche et al. 2004; Brawley and
Tatarchuk 2004; Policarpo et al. 2005]. One of the significant
disadvantages of these approaches is the lack of correct object
silhouettes since these techniques do not modify the actual ge-
ometry. Accurate silhouettes can be generated by using view-
63