This chapter takes a brief detour from 3D rendering to create some scaffolding to support the rendering engine. You implement classes for keyboard and mouse input, and you establish a reusable component system for adding functionality to your applications. You also learn about text rendering and create a service container for housing commonly accessed software modules.
Game components provide a modular approach to adding functionality to your applications and are supported through two classes,
DrawableGameComponent. Figure 12.1 show their class diagrams.