Bump Mapping
Waiter, there's a bump in my texture!
Matrox's G400 came out of nowhere, jumping into the middle of the Voodoo3/TNT2 battle. The Matrox's G400 hype has made bump mapping the hottest video card feature that everyone's talking about.
All right, so what exactly is bump mapping?
Basically, bump mapping just simulates bumps or other depth variations on the surface of textures on 3D objects, increasing the object's apparent complexity without adding more polygons. These depth variations can add an impressive rough look to an otherwise simple flat brick texture, or add incredible moving ripples and waves to a lake (depending on the type of bump mapping used).
Microsoft's Direct X 6.1 supports three different bump mapping techniques out there: Embossing, Environment Mapped, and Dot Product. We're going to go over all these techniques, so just strap yourself in, we're in for some chop.
Embossing, the "fake" bump mapping
Many current 3D accelerators like the TNT or Voodoo3 claim they support bump mapping, but don't be fooled. Their version of bump mapping is called
"embossing," and it doesn't offer the nice visual effects of the other two bump mapping techniques. Well, "fake" may be a little harsh, in that it
strives to the same effect, without being as effective or versatile as "real" bumpmapping. Emboss mapping also doesn't conform to the original
definition of a "bump map."
Embossing can be called the poor man's bump mapping, it's cheap, but don't expect much. What it actually does is take a monochrome version of a texture, and slightly shifts the map towards the light source. The two textures are then subtracted, and then rendered. The resulting image ends up with what appears to be height.
What's wrong with embossing?
The disadvantages of emboss mapping lies in the calculations to merge the seams of the two textures, and the fact that it doesn't use a real "height map." You can only simulate heights of up to 45 degrees from any direction. Similarly, it can't take into account any more than one light source at a time. Pretty limited, but done correctly, it can serve its purpose.