|Microsoft DirectX 9.0|
The Emboss sample demonstrates an alternative approach to Microsoft?Direct3D?bump mapping. Embossing is done by subtracting the height map from itself and having texture coordinates that are slightly changed.
Not all cards support Direct3D bump mapping. Refer to the Microsoft DirectX® software development kit (SDK) documentation for more information.
Source: (SDK root)\Samples\C++\Direct3D\Emboss
Executable: (SDK root)\Samples\C++\Direct3D\Bin
The following table lists the keys that are implemented. You can use menu commands for the same controls.
|ENTER||Starts and stops the scene.|
|SPACEBAR||Advances the scene by a small increment.|
|F2||Prompts the user to select a new rendering device or display mode.|
|ALT+ENTER||Toggles between full-screen and windowed modes.|
|ESC||Exits the application.|
|CTRL+E||Turns emboss effect on or off.|
A bump map is a texture that stores the perturbation data. Bump mapping requires two textures. One is an environment map, which contains the lights that you see in the scene. The other is the actual bump mapping, which contain values—stored as du and dv—used to bump the environment map's texture coordinates. Some bump maps also contain luminance values to control the shininess of a particular texel.
In this sample, bump mapping is used to emboss the surface of the tiger.
This sample uses common DirectX code that consists of programming elements such as helper functions. This code is shared with other samples in the DirectX SDK. You can find the sample framework headers and source code in (SDK root)\DXSDK\Samples\C++\Common\Include and (SDK root)\DXSDK\Samples\C++\Common\Src.