i
i
i
i
i
i
i
i
6.7. Bump Mapping 193
Even with these drawbacks, parallax mapping with offset limiting costs
just a few additional pixel shader program instructions and gives a consid-
erable image quality improvement over normal mapping. For these reasons,
it has seen wide use in games and is today considered the practical standard
for bump mapping.
6.7.4 Relief Mapping
Bump mapping does not consider the heightfield itself, and so does not
modify texture coordinates. Parallax mapping provides a simple approxi-
mation of the effect of the heightfield, working on the assumption that the
height at one pixel is similar to the height at another. This assumption
can quickly break down. Also, where the bias (i.e., the “sea-level”) is set
affects how the heightfield is displayed. What we want is what is visible at
the pixel, i.e., where the view vector first intersects the heightfield.
Researchers have tackled this problem in a variety of different ways.
All methods perform some approximation of ray tracing along the view
vector until an intersection point is found. In a traditional ray tracer, the
algorithm would walk along the ray through the grid, forming the height
field and checking intersection with the relevant geometry in each grid cell
encountered. GPU-based approaches usually take a different approach,
leveraging the ability of the pixel shader to access texture data.
In computer graphics, just as in other fields, sometimes the time is
ripe for a particular idea. With relief mapping, three sets of researchers
independently developed the idea at about the same time, each without
knowledge of the others’ efforts. Brawley and Tatarchuk [138] presented
a straightforward method for finding the intersection, extended later by
with improved root finding [1244, 1248]. Policarpo et al. [1020, 1021] and
McGuire and McGuire [846] independently discovered and explored similar
methods. These algorithms have a variety of names—parallax occlusion
mapping (POM), relief mapping,andsteep parallax mapping—but take
essentially the same approach. For brevity, and to differentiate these ray-
tracing related methods from Kaneko and Welsh’s single-shift methods, as
a class we will call these “relief mapping” algorithms. What is particularly
interesting about this case of parallel development is that the basic algo-
rithm of sampling a texture along a ray had actually been discovered 13
years earlier by Patterson et al. [991], which they call inverse displacement
mapping.
13
None of the newer researchers had been aware of this work at
13
This problem of multiple names persists today, with “parallax occlusion mapping”
and “relief mapping” being the two popular terms. The name “parallax occlusion map-
ping” was rather long, and the word “occlusion” confuses some readers (it does not
refer to shadowing, but to the fact that bumps can occlude each other), so we chose
“relief mapping.” Even this name is not ideal, as this term was introduced by Oliveira