Static lighting
An effect that really enhances the mood of any video game is some lighting model, either static or dynamic. Static lighting deals specifically with pre-rendered lightmap layers which, when blended with the map layers, can produce a very nice effect of having light sources baked into the rendered textures. Dynamic lighting gives nice shadow effects to objects as well as light sources that are calculated every frame. Dynamic lighting is much more involved than static lighting, dealing with writing shaders (code segments) that are sent to the rendering pipeline and eventually rasterized in the framebuffer. Due to the extra computation overhead as well as additional complexity involved, we will focus in this section simply on implementing a simple static lighting model that gives you the biggest gains for minimum amount of work.
The following screenshot (Figure 6) shows three separate screens representing the different parts of the process when implementing static lighting: