In this chapter, we explored the building blocks of a generic, basic graphics engine. Starting with geometry formats and delivery methods, we then moved on to clipping, culling, and occlusion testing, which provide different ways to quickly determine the visible part of any given scene. We saw how LOD techniques can be used to reach a playable frame rate in the target platform. We also explored transform and rasterization stages to make sure we are sending data to the hardware in the most efficient manner.
Using these techniques, you could build many basic games or even some that are not so basic. Professional, high-end games are, however, a different business. There's more to them than a few general techniques that can be applied regardless of the nature of the game we are working on. To craft something unique and technologically advanced, we will need to understand the nature of our design; and by restricting its scope to a specific genre or gaming perspective, we will unleash better and faster tools that will allow us to reach state-of-the-art game programming.