In the Forums...
Posted: June 11, 2000
Written by: Tuan "Solace" Nguyen
Limitations to Emboss Bump Mapping (cont.)
Geometric Movement: Embossing is very much limited to still objects that don't transform. If you're trying to bump the ripples and waves in a water to reflect light realistically, it cannot be done because the texture changes sporadically with the dynamic polygons waving as water. This is where surface curvature becomes much of a problem. Simulating environmental effects is not possible with embossing.
Some existing 3D hardware can simulate one bump mapping effect known as 'embossing' with multiple alpha-blending passes. However, this is a per-polygon technique which produces artifacts, is limited to monochrome lighting, and is unable to simulate any of the more interesting environmental effects. Embossing with multiple alpha-blending passes is accomplished when a monochrome version of the conventional texture map is shifted in one direction, subtracted from the original texture, shifted back, and then blended into the original texture map. This gives the illusion of shadow on one side and bright light on the other. The direction and amount of shift is determined by the direction and intensity of the light source.
So how does a developer go around such limitations? One solution is to increase the number of polygons, therefore physically increasing object detail instead of just texture detail. Another solution is to use a different type of bump mapping technique.
Environment Mapped Bump Mapping
This feature was first introduced in Matrox's G400 graphic card series and the upcoming RadeOn GPU from ATI is expected to implement EMBM as well.
Environment Mapped Bump Mapping requires three maps: a texture map, a bump map and an environment map. A bump map is a differential map that is derived from a height map. The bump map contains a value for each texel coordinate contained in the texture map. This value refers to a value from a different location in the environment map that will be applied to the texture map. The bump map is then combined with the environment map and the resulting shifted environment map is applied to the original texture.
In the following image, the environment map is a single-source monochrome light map. If the light source in the environment map is positioned on the left side of the original texture, then the final result looks like figure 7a, which is typical texture mapping.
Click on the following images to see a larger scaled version.