① 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 a not-too-complex scene. Set breakpoints in the
ImageTileIntegrator::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.