In the Forums...
Posted: June 11, 2000
Written by: Tuan "Solace" Nguyen
Environment Mapped Bump Mapping (cont.)
As explained earlier, a bump is simulated by changing the lighting on the areas where the bump introduces a slope on the surface. Therefore a different environment map coordinate is used for the same texel coordinate. This new environment map coordinate is defined by the bump map and is dependent on the slope of the bump at that particular coordinate. Notice how for the same coordinate, the bumped texture chooses a darker or lighter shade from the environment map, giving the impression that the slope at that point is not flat relative to the direction of the light.
Advantages of EMBM
The advantages of Environment Mapped Bump Mapping as supported by DirectX 6 and the Matrox G400 are presented in more detail in table 1. Highlights listed in the table include:
-- Environment Mapped Bump Mapping can accommodate multiple light sources in one pass, and reflective environment mapping on the same bump, because all of these additions become part of the environment that is being mapped on the bump.
-- In addition, the bump map does not have to change from frame to frame. Unlike the multi-pass alpha technique, Environment Mapped Bump Mapping is per pixel rather than per polygon. This technique is non-restrictive and therefore is much easier for developers to implement.
-- Environment Mapped Bump Mapping can also be used to simulate animated bumps such as reflective waves on a water surface, as shown in figure 8. When running this scene, the waves move with exceptional fluidity and realism. Surprisingly, this frame contains only four triangles, and yet the movement of the waves is as smooth as video. This effect is obtained by perturbing or distorting the environment, using a dynamic or animated bump map while applying it to the texture.