Microsoft DirectX 8.1 (C++) |
This project includes all source and content for the self-shadowing bump-map algorithm presented at the 2001 Game Developers Conference (GDC). This application will run without pixel shaders, as long as the hardware has render targets and DOT3. However, it runs with better visual results and much more efficiently with pixel shaders.
Not all cards support all features for bump-mapping techniques. Some hardware has no, or limited, bump-mapping support. For more information on bump mapping, see Bump Mapping.
Source: (SDK root)\Samples\Multimedia\Direct3D\BumpMapping\BumpSelfShadow
Executable: (SDK root)\Samples\Multimedia\Direct3D\Bin
The following table lists the keys that are implemented. You can use menu commands for the same controls.
Key | Action |
---|---|
S | Zoom out |
W | Zoom in |
Arrow keys | Move camera |
Number pad keys | Pitch camera (Num Lock should be on) |
Number pad 7 and 9 | Roll camera |
2 | Toggle self-shadowing |
3 | Toggle diffuse bump mapping |
4 | Reset position |
5 | Automatically rotate |
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 contains 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.
This sample uses common Microsoft® DirectX® code that consists programming elements such as helper functions. This code is shared with other samples in the DirectX software development kit (SDK). You can find the common headers and source code in (SDK root)\Samples\Multimedia\Common.