This book describes the step-by-step process of writing a ray tracer from scratch. Using numerous examples that illustrate the ray-tracing concept and processes in detail, the author presents a ray-tracer design and sample code that allows for extensibility, efficiency of the algorithms, and readability. Chapters begin with stated aims and include questions and exercises that allow the reader to apply the material presented. Special features: * Describes in detail how to write a ray tracer “from the ground up” * Hundreds of diagrams, ray-traced images, and sample code * Many of the exercises involve adding features to the ray tracer * Many questions ask readers to think about ray traced images