This book is about algorithms which create synthetic images fast enough that the viewer can interact with a virtual environment. We have focused on three dimensional rendering and, to a limited extent, user interaction. Modeling, animation, and many other areas are important to the process of making a real-time application, but are beyond the scope of this book. This field is rapidly evolving and so is a moving target. Graphics accelerators for the consumer market are currently doubling in speed every six months.
Graphics libraries appear, evolve, and often die out.
For these reasons we have avoided describing specific APIs, chipsets, buses, memory architectures, etc., except where it serves the goal of informing you, the reader, about some general concept. We have endeavored to describe algorithms that, by their popularity or lasting value, are likely to be used for some time to come. We expect you to have some basic understanding of computer graphics before reading this book. The equivalent of a semester course in graphics should be sufficient, though we cannot guarantee we will not sometimes lose you along the way. Some of the later chapters in particular are meant for implementors of various complex algorithms.