We will convert the image to grayscale and hope for the best. So, the question is, how do we obtain a heightmap from the diffuse texture? We will cheat. Under this assumption, the bump map will be composed of the surface normals at each point pixel. In order to do this, what we are going to do is analyze the diffuse map as if it were a heightmap that describes a surface. The idea is to generate the bump map from this texture.
You might remember the Imp from my Shadow Mapping on iPad post.
This post covers the topic of bump map generation, taking as input nothing but a diffuse texture.
The basic idea is to perturb normals used for lighting at the per-pixel level, in order to provide additional shading cues to the eye. Notice the improved illusion of depth generated by the technique. Bump mapping is a texture-based technique that allows improving the lighting model of a 3D renderer.