CHAPTER 6 ■ ADDING LIGHT TO YOUR SCENE IN XNA 3.0
574
The Code
All the code is available for download at www.apress.com.
All effect files were listed completely earlier in the recipe. The same holds for the main meth-
ods related to deferred shading. Since you’ve split up your code into methods, your Draw
method stays pretty clean:
protected override void Draw(GameTime gameTime)
{
//render color, normal and depth into 3 render targets
RenderSceneTo3RenderTargets();
//Add lighting contribution of each light onto shadingMap
shadingMap = GenerateShadingMap();
//Combine base color map and shading map
CombineColorAndShading();
base.Draw(gameTime);
}
Performance Tip
For each light, your pixel shader will calculate the lighting influence for all the pixels ...