07.01.2013 Views

3D graphics eBook - Course Materials Repository

3D graphics eBook - Course Materials Repository

3D graphics eBook - Course Materials Repository

SHOW MORE
SHOW LESS

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.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!