Skip to content
Code associated with ebook Ray Tracing The Next Week by Peter Shirley. This work is in the public domain.
Branch: master
Clone or download
Latest commit 2b74dbf Aug 27, 2018
Type Name Latest commit message Commit time
Failed to load latest commit information. Add changelog Aug 27, 2018
COPYING.txt Rename to COPYING.txt Aug 27, 2018
RTNextWeek.jpg Add content to Aug 26, 2018
hitable.h Rename to COPYING.txt Aug 27, 2018
moving_sphere.h Rename to COPYING.txt Aug 27, 2018
sphere.h Rename to COPYING.txt Aug 27, 2018
texture.h Rename to COPYING.txt Aug 27, 2018

Ray Tracing: The Next Week

Ray Tracing: The Next Week

Getting the Book

The Ray Tracing in One Weekend series of books are now available to the public for free in PDF form, along with the accompanying source code. Releases are available directly from GitHub, or from Eric Haine's Real-Time Rendering site. Alternatively, you can purchase the Kindle version of this series from Half of the proceeds of these sales go to Hack the Hood, a really neat organization.


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


If you spot errors or have suggested corrections, please submit issues via GitHub.


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.

You can’t perform that action at this time.