① A good way to gain an understanding of pbrt is to follow
the process of computing the radiance value for a single ray in a debugger.
Build a version of pbrt with debugging symbols and set up your debugger
to run pbrt with the killeroo-simple.pbrt scene from the
scenes directory. Set breakpoints in the
SamplerIntegrator::Render() method and trace through the process of
how a ray is generated, how its radiance value is computed, and how its
contribution is added to the image. The first time you do this, you may
want to specify that only a single thread of execution should be used by
providing nthreads 1 as command-line arguments to pbrt; doing so
ensures that all computation is done in the main processing thread, which
may make it easier to understand what is going on, depending on how easy
your debugger makes it to step through the program when it is running
multiple threads.
As you gain more understanding about the details of the system later in the
book, repeat this process and trace through particular parts of the system
more carefully.