Microsoft DirectX 8.1 (C++)

Effects

Microsoft® Direct3D® provides a rich feature set for creating complex and visually realistic three-dimensional (3-D) scenes. Effect files help you write an application that uses all the rendering capabilities for the hardware on which it runs. Effects are a collection of different rendering techniques that can fit onto a variety of hardware devices.

For example, to create a realistic rippled pond of water that reflects light as shown in the following image, you begin with the first technique that renders the water, adds specular highlights, adds caustic textures, and applies light to the water in a single pass. If your hardware cannot render this technique in a single pass, a second technique might render the water, add specular highlights or caustic textures, but not apply light to the water.

Before you use a technique, you can validate it using Direct3D to see if it is supported by the current hardware configuration.

Effects are defined in an effect file. An effect file consists of one or more techniques. Each technique consists of one or more passes. These files are text based and can be changed without recompiling the source application. This enables you to program games that make optimum use of video card functionality. Effect files also make it easy to upgrade an existing game to run on newer video cards as additional features are developed.

The following topics discuss effects and how you can use them in your application.

Exercises*

*From the DirectX Meltdown 2001 conference, Programmable Shader workshop.



For more information about effect files, see Effect File Format.