Bump mapping is a technique used in computer graphics to model surface perturbations. It was invented by Jim Blinn in the 1970's. It is one of the family of texture mapping approaches.

Consider an orange. The orange is covered in dimples. Now, let's say we want to model an orange for our wonderful computer game. We can model the dimples individually ... way too slow, or we can apply a texture map. Problem is that the texture map looks fake. Why? Because the lighting looks wrong.

The dimples on the orange perturb the normals off the surface. The normals affect the lighting. So for example, instead of one bright specular highlight, it gets "spread" over a wide area. If you just texture map it, you get the big specular highlight which looks very fake.

Bump mapping solves the problem not by modelling the surface perturbations themselves, but by modelling the variation of the normal. This solves most of the problems, with the exception of the silhouette, which looks very wrong. It can be implemented in various faked ways using existing 3D hardware.

It is also useful for modelling the following effects: ripples on water, stucco walls, brick walls, rivets on metal and so on. Anything where you have a surface that has small surface perturbations that are not significant relative to the large-scale geometry.


PS: Purpusful's writeup is actually wrong. That's just plain environment mapping.