| | Dedication |
| | Acknowledgements |
| | About the Author |
| | Letter from the Series Editor |
| | Introduction |
| | Chapter 1. Understanding the Nature of Light |
| | | Understanding Waves |
| | | Understanding the Electromagnetic Spectrum |
| | | Considering Shadows |
| | | Summary |
| | Chapter 2. What Is Color? |
| | | Colors and Computers |
| | | Creating the Color Class |
| | | Using Color Operators |
| | | Defining the Basic Colors |
| | | The PPM Format |
| | | Using the Chapter's Source Code |
| | | Summary |
| | Chapter 3. Reflection and Refraction |
| | | What Is a Ray? |
| | | What Is Reflection? |
| | | Diffuse Reflection |
| | | Specular (Mirror) Reflection |
| | | What Is Refraction? |
| | | Summary |
| | Chapter 4. Global Illumination |
| | | The Photon |
| | | Light Shading |
| | | Flux |
| | | Light Transport Notation |
| | | Direct and Indirect Illumination |
| | | Summary |
| | Chapter 5. Other Rendering Techniques |
| | | The Basics |
| | | View or Image Plane |
| | | Frustum |
| | | Field of View |
| | | Ray Tracing |
| | | Distributed Ray Tracing |
| | | Radiosity |
| | | Hybrid/Multi-passRadiosity |
| | | Backward Ray Tracing Illustration |
| | | Summary |
| | Chapter 6. Basic Structures |
| | | Using Vectors and Points |
| | | Finding the Plane in Which a Polygon/ Triangle Sits |
| | | Creating a Light Source |
| | | Using the Ray |
| | | Adding Reflection and Refraction Features |
| | | Using the Chapter's Source Code |
| | | Summary |
| | Chapter 7. Developing Your Application |
| | | Defining Your Materials |
| | | Using Primitives for Simulation |
| | | Incorporating the Sphere Primitive |
| | | Creating a Triangle Primitive |
| | | Creating and Using the Object Class |
| | | Designing the Scene |
| | | Using the Chapter's Source Code |
| | | Summary |
| | Chapter 8. The Rest of the Puzzle |
| | | Understanding the Coordinate Systems |
| | | Implementing the Camera into the Scene |
| | | Importing the Scene from a File |
| | | Declaring Attribute Primitives |
| | | Setting Up the Scene Classes |
| | | Determining the Scene Primitives |
| | | Reading the Data into the Scene |
| | | Upgrading the cScene Class |
| | | Using the Chapter's Source Code |
| | | Summary |
| | Chapter 9. Ray Tracing |
| | | Using Backward Ray Tracing |
| | | Implementing the Shading and the Lighting |
| | | Upgrading cScene for Ray Tracing |
| | | Using the Chapter's Source Code |
| | | Program 1: Ray Tracer 1 |
| | | Revisiting Reflection and Refraction |
| | | Program 2: Ray Tracer 2 |
| | | Simulating Shadow Rays |
| | | Program 3: Ray Tracer 3 |
| | | Summary |
| | Chapter 10. Photon Mapping in a Nutshell |
| | | The Goal |
| | | Problems with Ray Tracing and Radiosity |
| | | The Concept Behind Photon Mapping |
| | | The Solution |
| | | Summary |
| | Chapter 11. Photon Tracing |
| | | Understanding the Structure of a Photon |
| | | The Photon-Mapping Algorithm's Two-Pass Method |
| | | Designing the Photon Map Class |
| | | Incorporating Simple Scattering |
| | | Incorporating Proportional Light Scattering |
| | | Storing Your Photons |
| | | Absorbing Light |
| | | Transmitting and Reflecting Light |
| | | Playing Russian Roulette |
| | | Summary |
| | Chapter 12. Photon Rendering |
| | | Implementing Photon Mapping |
| | | Using the PhotonMap Class |
| | | Using the Upgraded cScene Class |
| | | Using the Chapter's Source Code |
| | | Summary |
| | Chapter 13. Advanced Searching |
| | | Using Spatial Subdivision |
| | | Using the KD Tree Algorithm |
| | | Building the KD Tree |
| | | Searching the KD Tree |
| | | Implementing the KD Tree |
| | | Using the Chapter's Code |
| | | Summary |
| | Chapter 14. The Power of Photon Mapping |
| | | Simulating Diffuse Interactions |
| | | Simulating Diffuse Reflections |
| | | Simulating Specular Reflections |
| | | Simulating Caustics with Photon Mapping |
| | | Simulating Indirect Illumination |
| | | Creating Better Penumbras in Shadows |
| | | Using the Chapter's Source Code |
| | | Using Photon Mapping in Games |
| | | BSP Trees and Photon Mapping |
| | | Summary |
| | | Wrapping Up |