With the increase in computing speed and due to the high quality of the optical effects it achieves, ray tracing is becoming a popular choice for interactive and animated rendering. 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 o

chapter 1|16 pages

Ray Tracer Design and Programming

chapter 2|28 pages

Some Essential Mathematics

chapter 3|36 pages

Bare-Bones Ray Tracing

chapter 4|12 pages


chapter 5|26 pages

Sampling Techniques

chapter 6|6 pages

Mapping Samples to a Disk

chapter 7|8 pages

Mapping Samples to a Hemisphere

chapter 8|18 pages

Perspective Viewing

chapter 9|16 pages

A Practical Viewing System

chapter 10|14 pages

Depth of Field

chapter 11|16 pages

Nonlinear Projections

chapter 12|20 pages


chapter 13|28 pages

Theoretical Foundations

chapter 14|34 pages

Lights and Materials

chapter 15|14 pages

Specular Reflection

chapter 16|16 pages


chapter 17|16 pages

Ambient Occlusion

chapter 18|28 pages

Area Lights

chapter 19|44 pages

Ray-Object Intersections

chapter 20|20 pages

Affine Transformations

chapter 21|26 pages

Transforming Objects

chapter 22|30 pages

Regular Grids

chapter 23|20 pages

Triangle Meshes

chapter 24|36 pages

Mirror Reflection

chapter 25|14 pages

Glossy Reflection

chapter 26|18 pages

Global Illumination

chapter 27|32 pages

Simple Transparency

chapter 28|50 pages

Realistic Transparency

chapter 29|28 pages

Texture Mapping

chapter 30|20 pages

Procedural Textures

chapter 31|42 pages

Noise-Based Textures