After adjusting the light intensity for any attenuation effects, Direct3D computes how much of the remaining light reflects from a vertex given the angle of the vertex normal and the direction of the incident light. (Direct3D skips to this step for directional and parallel point lights, because they don't attenuate over distance.)
The system considers two reflection types, diffuse and specular, and uses a different formula to determine how much light is reflected for each. After figuring out the amounts of light reflected, Direct3D applies these new values to the diffuse and specular reflectance properties of the material for the vertex being lit. The resulting color values are the diffuse and specular components that the rasterizer uses to produce Gouraud shading and specular highlighting.
This section provides information on the methods that the system uses for calculating reflectance. Information is divided according to the type of reflectance being calculated: