第1章 概述 1
1.1 文学编程 1
1.2 照片级渲染和光线跟踪算法 3
1.3 pbrt系统概述 11
1.4 如何阅读本书 35
1.5 使用并理解程序代码 36
1.6 进一步阅读 38
1.7 本章练习 39
第2章 几何形状和转换 40
2.1 坐标系 40
2.2 向量 41
2.3 点 47
2.4 法线 49
2.5 射线 50
2.6 三维包围盒 53
2.7 转换操作 56
2.7.1 齐次坐标 57
2.7.2 基本操作 58
2.7.3 平移 59
2.7.4 缩放操作 61
2.7.5 x,y,z轴旋转 62
2.7.6 围绕任意轴的旋转行为 63
2.7.7 视见转换 65
2.8 转换应用 66
2.8.1 点 67
2.8.2 向量 67
2.8.3 法线 68
2.8.4 射线 68
2.8.5 包围盒 69
2.8.6 复合转换 69
2.8.7 转换和坐标系的左右手规则 70
2.9 动画转换 70
2.9.1 四元数 72
2.9.2 四元数插值 74
2.9.3 AnimatedTransform实现 75
2.10 微分几何 79
2.11 进一步阅读 82
2.12 本章练习 83
第3章 几何形状 84
3.1 基本的Shape接口 84
3.1.1 包围机制 85
3.1.2 细化操作 86
3.1.3 相交行为 87
3.1.4 避免自相交行为 88
3.1.5 几何体着色 88
3.1.6 表面积 89
3.1.7 多面性 89
3.2 球体 89
3.2.1 构建过程 91
3.2.2 包围体 91
3.2.3 相交 92
3.2.4 局部球体 94
*3.2.5 法线向量的偏导数 96
3.2.6 DifferentialGeometry的初始化操作 97
3.2.7 表面积 98
3.3 圆柱体 99
3.4 圆盘 103
3.5 其他二次表面 107
3.6 三角形和网格 109
3.6.4 着色几何体 118
*3.7 表面细分 120
3.8 进一步阅读 142
3.9 本章练习 143
第4章 图元和相交加速计算 148
4.1 图元接口和几何图元 148
4.1.1 几何图元 151
4.1.2 TransformedPrimitive:对象实例和动画图元 152
4.2 集合体 155
4.3 网格加速结构 158
4.3.1 构建过程 159
4.3.2 遍历操作 164
4.4 包围体层次结构 169
4.4.1 BVH构建过程 170
4.4.2 启发式表面积计算 176
4.4.3 遍历过程中的紧凑BVH 180
4.4.4 遍历 182
4.5 kd树加速结构 185
4.5.1 树形结构的表达方式 186
4.5.2 树形结构的构造方式 188
4.5.3 遍历操作 196
4.6 调试聚合体 200
4.6.1 寻找聚合体中的bug 201
4.6.2 修复几何体中的bug 204
4.6.3 聚合体性能问题 204
4.7 进一步阅读 205
4.7.1 网格 205
4.7.2 包围体层次结构 205
4.7.3 kd树 207
4.7.4 启发式表面积方案 207
4.7.5 其他加速结构 208
4.8 本章练习 209
第5章 颜色和辐射度 212
第6章 相机模型 243
第7章 采样和重构 260
第8章 反射模型 339
第9章 材质 380
第10章 纹理 399
第11章 体散射 459
第12章 光源 481
第13章 蒙特卡罗积分I:基本概念 504
第14章 蒙特卡罗积分II:效率改善 536
第15章 光线传输I:表面反射 583
*第16章 光线传输II:体渲染 688