3D graphics eBook - Course Materials Repository
3D graphics eBook - Course Materials Repository
3D graphics eBook - Course Materials Repository
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
Bump mapping 26<br />
Bump mapping<br />
Bump mapping is a technique in<br />
computer <strong>graphics</strong> for simulating<br />
bumps and wrinkles on the surface of<br />
an object. This is achieved by<br />
perturbing the surface normals of the<br />
object and using the perturbed normal<br />
during lighting calculations. The result<br />
is an apparently bumpy surface rather<br />
than a smooth surface although the<br />
surface of the underlying object is not<br />
actually changed. Bump mapping was<br />
introduced by Blinn in 1978. [1]<br />
Normal mapping is the most common variation of bump mapping used [2] .<br />
Bump mapping basics<br />
Bump mapping is a technique in<br />
computer <strong>graphics</strong> to make a rendered<br />
surface look more realistic by<br />
simulating small displacements of the<br />
surface. However, unlike traditional<br />
displacement mapping, the surface<br />
geometry is not modified. Instead only<br />
the surface normal is modified as if the<br />
surface had been displaced. The<br />
modified surface normal is then used<br />
for lighting calculations as usual,<br />
typically using the Phong reflection<br />
model or similar, giving the<br />
appearance of detail instead of a<br />
smooth surface.<br />
Bump mapping is much faster and<br />
consumes less resources for the same<br />
level of detail compared to<br />
displacement mapping because the geometry remains unchanged.<br />
A sphere without bump mapping (left). A bump map to be applied to the sphere (middle).<br />
The sphere with the bump map applied (right) appears to have a mottled surface<br />
resembling an orange. Bump maps achieve this effect by changing how an illuminated<br />
surface reacts to light without actually modifying the size or shape of the surface<br />
Bump mapping is limited in that it does not actually modify the shape of the underlying<br />
object. On the left, a mathematical function defining a bump map simulates a crumbling<br />
surface on a sphere, but the object's outline and shadow remain those of a perfect sphere.<br />
On the right, the same function is used to modify the surface of a sphere by generating an<br />
isosurface. This actually models a sphere with a bumpy surface with the result that both<br />
its outline and its shadow are rendered realistically.<br />
There are primarily two methods to perform bump mapping. The first uses a height map for simulating the surface<br />
displacement yielding the modified normal. This is the method invented by Blinn [1] and is usually what is referred to<br />
as bump mapping unless specified. The steps of this method is summarized as follows.<br />
Before lighting a calculation is performed for each visible point (or pixel) on the object's surface:<br />
1. Look up the height in the heightmap that corresponds to the position on the surface.<br />
2. Calculate the surface normal of the heightmap, typically using the finite difference method.<br />
3. Combine the surface normal from step two with the true ("geometric") surface normal so that the combined<br />
normal points in a new direction.