WARNING
Content Under Development
See
release page for
latest official PDF version.
**Ray Tracing: The Next Week**
Peter Shirley
Version 1.41
Copyright 2018. Peter Shirley. All rights reserved.
Pay What You Want. ptrshrl@gmail.com at PayPal
50% of all payments donated to programming education related not-for-profits
Chapter 0: Overview
====================
In Ray Tracing In One Weekend, you built a simple brute force path tracer. In this installment we’ll
add textures, volumes (like fog), rectangles, instances, lights, and support for lots of objects
using a BVH. When done, you’ll have a “real” ray tracer.
A heuristic in ray tracing that many people--including me--believe, is that most optimizations
complicate the code without delivering much speedup. What I will do in this mini-book is go with the
simplest approach in each design decision I make. Check http://www.in1weekend.com/ for readings and
references to a more sophisticated approach. However, I strongly encourage you to do no premature
optimization; if it doesn’t show up high in the execution time profile, it doesn’t need optimization
until all the features are supported!
The two hardest parts of this book are the BVH and the Perlin textures. This is why the title
suggests you take a week rather than a weekend for this endeavor. But you can save those for last if
you want a weekend project. Order is not very important for the concepts presented in this book, and
without BVH and Perlin texture you will still get a Cornell Box!
Acknowledgments
----------------
Thanks to Becker for his many helpful comments on the draft and to Matthew Heimlich for spotting a
critical motion blur error. Thanks to Andrew Kensler, Thiago Ize, and Ingo Wald for advice on
ray-AABB tests. Thanks to David Hart and Grue Debry for help with a bunch of the details. Thanks to
Jean Buckley for editing. Thanks to Dan Drummond for code fixes. Thanks to Steve Hollasch and Trevor
David Black for getting the book translated to Markdeep and moved to the web.