Graphics
The renderer handles all the rendering tasks. It's built on top of the Direct 3D API. It uses the DirectX effect framework for shading. The default shader implements the Phong shading model. The graphics engine allows the application to specify two lights. The first light must be a directional light to give the whole scene ambient lighting. The second light can be either a directional light, a positional light, or a spot light. Depending on the light combination, the shader carries out the appropriate lighting calculation. For simple games, this would suffice. But to achieve a certain level of realism, two lights are hardly enough. Depending on the needs of a particular game idea, I may add more lights.
One thing with dynamic lights though is that the more lights I add, the slower the renderer gets. I've looked into deferred rendering. That was something I wanted to do, but I've decided to not pursue it. I'm probably not gonna make a game that'd require a lot of dynamic lights.
The renderer is made up of several components for the purpose of resource management. The main renderer component deals with actually drawing geometry on the screen using Direct3D capbilities. Other components such as the texture manager, the sprite manager, and the shader manager are responsible for managing the resources.
Some Pictures
Lighting with 1 directional light. 
Two directional lights with blue and red specular. Kinda weird.
Very dim directional light and a spot light.
Spot light by the building simulating street lights.
A point light by the building. The effect is very similar to spot light except that the point light irradiates light in all directions.

