| | | 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 |