### Bump Mapping

# Bump Mapping

Bump Mapping is a technique which creates a visual effect of an object’s surface being displaced [7]. The technique only modifies the local surface normal leaving the geometric position of the object’s points unchanged. There are two methods for performing bump mapping:

## Height Map

Invented by Blinn [7]. Take each points on the surface/patch as P(X,Y,Z) where X,Y,Z are co-ordinates of the points. The normal of the surface (Figure 13) is defined by:

N = Pu + Pv where Pu and Pv are partial derivatives of P(X,Y,Z),

Blinn talks about the use of this bump function F(u,v) to define the normal surface perturbation [7]. Using the function F(u,v), we can generate the wrinkled position of the point in the surface normal (Figure 14). The new position vector is defined by:

P’ = P + F(N_hat)/|N| where N_hat = P_hatu’ x P_hatv’ (cross product)

The new normal is then:

N’ = (Pu x Fu(N)/N) x (Pv * Fv(N)/N) (Figure 15)

## Normal Map

Contains the modified normal of each point directly.

In general, the advantage of the bump mapping technique is that it is much faster to render in comparison to the displacement mapping technique. Furthermore, It uses less resources to render an object with the same detail as the one generated by displacement mapping.

The disadvantage of this technique however is that the outline of the object during render time remains unchanged, as a consequence, figure 16.