Ray Tracing is the most flexible rendering technique because of its unrivalled ability to stimulate optical effects. This book takes readers through the whole process of building a modern ray tracer from scratch in C++. All concepts and processes are explained in detail with the aid of hundreds of diagrams, ray traced images, and sample code. The book is self-contained as far as graphics is concerned. It's suitable for undergraduate and graduate computer graphics courses and individual programmers who would like to learn ray tracing. The accompanying CD contains a simple ray tracer to get readers started, sample code and ray traced images with C++ code for constructing each scene.