练习(Exercise

① 理解 pbrt 的一个好方法是通过调试器跟踪计算单个光线的辐射值的过程。构建一个带有调试符号的 pbrt 版本,并设置调试器以在不太复杂的场景中运行 pbrt 。在 ImageTileIntegrator::Render() 方法中设置断点,并跟踪光线是如何生成的、其辐射值是如何计算的,以及其贡献是如何添加到图像中的。第一次这样做时,您可能希望通过将 –nthreads 1 作为命令行参数提供给 pbrt 来指定仅使用单个执行线程;这样可以确保所有计算都在主处理线程中完成,这可能会使您更容易理解正在发生的事情,具体取决于您的调试器在运行多个线程时逐步跟踪程序的难易程度。随着您在书中对系统细节的理解加深,重复此过程并更仔细地跟踪系统的特定部分。