PBRT
Physically Based rendering
目录
第一章介绍....................................................................................................................................... 1
1.1 文学编程(Literate Programming) ....................................................................................... 1
1.2 具有照片真实感的渲染和光线追踪算法 ......................................................................... 2
1.2.1 相机 .......................................................................................................................... 3
1.2.2 光线和物体求交 ...................................................................................................... 4
1.2.3 光的分布 .................................................................................................................. 5
1.2.4 可见性 ...................................................................................................................... 6
1.2.5 表面散射 .................................................................................................................. 6
1.2.6 递归式光线追踪 ...................................................................................................... 7
1.2.7 光的传播 .................................................................................................................. 7
1.3 pbrt: 系统概述 .................................................................................................................... 8
1.3.1 程序执行的各个阶段 .............................................................................................. 8
1.3.2 场景的表达 .............................................................................................................. 8
1.3.3 渲染主循环 ............................................................................................................ 11
1.3.4 场景的成员函数 .................................................................................................... 14
1.3.5 一个 Whitted 风格的光线追踪积分器 ................................................................. 15
第二章 几何和变换 ....................................................................................................................... 20
2.1 坐标系统.......................................................................................................................... 20
2.1.1 左/右手坐标系 ..................................................................................................... 20
2.2 向量 ................................................................................................................................. 20
2.2.1 向量运算 ............................................................................................................... 21
2.2.2 比例运算 ............................................................................................................... 21
2.2.3 点积和叉积 ......................................................................................................... 22
2.2.4 向量正规化 ........................................................................................................... 24
2.2.5 由一个向量建立的坐标系 ................................................................................... 24
2.3 点 ..................................................................................................................................... 25
2.4 法向量.............................................................................................................................. 27
2.5 光线 ................................................................................................................................. 28
2.5.1 光线微分 ............................................................................................................... 29
2.6 三维包围盒 ...................................................................................................................... 30
2.7 变换 ................................................................................................................................. 33
2.7.1 齐次坐标 ............................................................................................................... 34
2.7.2 基本操作 ............................................................................................................... 36
2.7.3 平移变换 ............................................................................................................... 37
2.7.4 比例变换 ............................................................................................................... 38
2.7.5 绕 x,y,z 轴的旋转变换 .......................................................................................... 39
2.7.6 绕任意轴的旋转变换 ........................................................................................... 41
2.7.7 观察变换(Look-at Transformation) ...................................................................... 43
2.8 变换的应用 ...................................................................................................................... 44
2
2.8.1 点........................................................................................................................... 44
2.8.2 向量....................................................................................................................... 45
2.8.3 法向量................................................................................................................... 46
2.8.4 光线....................................................................................................................... 46
2.8.5 包围盒................................................................................................................... 47
2.8.6 复合变换 ............................................................................................................... 47
2.8.7 变换和坐标系的左右手定则(Handedness, 又称“手性”) ................................ 48
2.9 微分几何.......................................................................................................................... 49
第三章 形体 ................................................................................................................................... 50
3.1 基本形体接口 .................................................................................................................. 51
3.1.1 求包围盒 ............................................................................................................... 52
3.1.2 加细(Refinement) ................................................................................................. 52
3.1.3 求交....................................................................................................................... 53
3.1.4 避免自相交 ............................................................................................................ 54
3.1.5 着色几何信息 ....................................................................................................... 54
3.1.6 表面面积 ............................................................................................................... 55
3.1.7 单面或双面(sidedness) ........................................................................................ 55
3.2 球面 ................................................................................................................................. 55
3.2.1 球面的构造 ........................................................................................................... 57
3.2.2 求包围盒 ............................................................................................................... 58
3.2.3 求交点................................................................................................................... 58
3.2.4 部分球面 ............................................................................................................... 62
3.2.5 法向量的偏导数 ................................................................................................... 64
3.2.7 表面面积 ............................................................................................................... 67
3.3 圆柱面.............................................................................................................................. 69
3.3.1 构造....................................................................................................................... 69
3.3.2 求包围盒 ............................................................................................................... 71
3.3.3 求交....................................................................................................................... 71
3.3.4 部分圆柱面 ........................................................................................................... 72
3.3.5 表面面积 ............................................................................................................... 74
3.4 圆盘(Disks) ....................................................................................................................... 74
3.4.1 构造....................................................................................................................... 76
3.4.2 求包围盒 ............................................................................................................... 76
3.4.3 求交....................................................................................................................... 76
3.4.4 表面面积 ............................................................................................................... 78
3.5 其它二次曲面 .................................................................................................................. 79
3.5.1 圆锥面................................................................................................................... 79
3.5.2 抛物面................................................................................................................... 80
3.5.3 双曲面................................................................................................................... 80
3.6 三角形和网格 .................................................................................................................. 81
3.6.1 三角形................................................................................................................... 85
3.6.2 三角形求交 ........................................................................................................... 87
3.6.3 表面面积 ............................................................................................................... 93
3.6.4 着色几何信息 ....................................................................................................... 93
3
3.7 细分曲面.......................................................................................................................... 97
3.7.1 网格的表示 ........................................................................................................... 98
3.7.2 包围盒................................................................................................................. 108
3.7.3 细分..................................................................................................................... 109
第四章 体素和求交加速 ............................................................................................................. 126
4.1 Primitive 接口和几何体素 ............................................................................................. 127
4.1.1 几何体素(Geometric Primitives) ........................................................................ 130
4.1.2 物体关联拷贝(Object Instancing) .................................................................. 132
4.2 聚合体(Aggregates) ....................................................................................................... 135
4.2.1 光线和盒子的求交 ............................................................................................. 136
4.3 网格加速器(Grid Accelerator) .................................................................................... 139
4.3.1 创建 .................................................................................................................... 140
4.3.2 遍历 .................................................................................................................... 149
4.4 KD-树加速器 ................................................................................................................... 157
4.4.1 树的表示 ............................................................................................................. 159
4.4.2 树的创建 ............................................................................................................. 162
4.4.3 遍历..................................................................................................................... 175
第五章 颜色和辐射度学 ............................................................................................................. 181
5.1 光谱表示........................................................................................................................ 182
5.1.1 Spectrum 类 ......................................................................................................... 182
5.1.2 XYZ 颜色 ............................................................................................................... 187
5.2 辐射度学基础 ................................................................................................................ 191
5.2.1 基本量................................................................................................................. 191
5.2.2 入射光和出射光的辐射亮度函数 ..................................................................... 195
5.3 使用辐射度积分 ............................................................................................................ 196
5.3.1 投影立体角(projected solid angle)上的积分 ..................................................... 197
5.3.2 球面坐标上的积分 ............................................................................................. 198
5.3.3 面积上的积分 ..................................................................................................... 200
5.4 表面反射和 BRDF .......................................................................................................... 201
第六章 相机模型 ......................................................................................................................... 202
6.1 相机模型........................................................................................................................ 203
6.1.1 相机坐标空间 ..................................................................................................... 204
6.2 投影相机模型 ................................................................................................................ 206
6.2.1 正交投影相机 ..................................................................................................... 208
6.2.2 透视相机 ............................................................................................................. 211
6.2.3 景深 .................................................................................................................... 214
6.3 环境相机 ....................................................................................................................... 217
第七章 采样和重构 ..................................................................................................................... 219
7.1 采样理论........................................................................................................................ 219
7.1.2 理想的采样和重构 ............................................................................................. 223
7.1.3 走样..................................................................................................................... 228
7.1.4 反走样技术 ......................................................................................................... 230
7.1.5 图像合成 ............................................................................................................. 232
7.1.6 渲染过程中的走样的原因 ................................................................................. 233
4
7.1.1 理解像素 ............................................................................................................. 235
7.2 图像采样接口 ............................................................................................................... 236
7.2.1 采样的表示和空间申请 .................................................................................... 238
7.3 分层采样 ....................................................................................................................... 242
7.4 低差异采样 ................................................................................................................... 257
7.1.1 差异的定义 ........................................................................................................ 257
7.4.2 构造低差异序列 ................................................................................................ 259
7.4.3 (0,2)-序列 ........................................................................................................... 264
7.4.4 低差异采样器 .................................................................................................... 268
7.5 最佳候选者采样模式 ................................................................................................... 274
7.5.1 生成最佳候选者模式 ........................................................................................ 275
7.5.2 使用最佳候选者模式 ........................................................................................ 286
7.6 图像重构 ....................................................................................................................... 293
7.6.1 滤波函数 ............................................................................................................. 295
第八章 胶片和图象管线 ............................................................................................................. 308
8.1 Film 接口........................................................................................................................ 308
8.2 图像胶片 ....................................................................................................................... 310
8.2.1 图像输出 ............................................................................................................ 317
8.3 图像管线 ....................................................................................................................... 320
8.4 感知上的问题和色调映射 ........................................................................................... 321
8.4.1 光亮度和光度学(luminance and Photometry) ............................................... 322
8.4.2 光晕(Bloom) ...................................................................................................... 323
8.4.3 色调映射接口 .................................................................................................... 327
8.4.4 映射最大值为白色 ............................................................................................ 330
8.4.5 基于对比的比例因子 ........................................................................................ 331
8.4.6 可变化的适应亮度 ............................................................................................ 333
8.4.7 有空间变化的非线性比例变换 ........................................................................ 340
8.5 图像管线的最后阶段 ................................................................................................... 341
第九章 反射模型 ......................................................................................................................... 343
9.1 基本接口 ....................................................................................................................... 348
9.1.1 反射率 ................................................................................................................ 350
9.1.2 BRDF->BTDF 适配器 ........................................................................................ 351
9.2 镜面反射和透射 ........................................................................................................... 353
9.2.1 菲涅耳(Fresnel) 反射率 .............................................................................. 355
9.2.2 镜面反射 ............................................................................................................ 362
9.2.3 镜面透射 ............................................................................................................ 366
9.3 Lambert 反射 ................................................................................................................ 372
9.4 微平面模型 ................................................................................................................... 373
9.4.1 Oren-Nayar 漫反射 ........................................................................................... 375
9.4.2 Torrance-Sparrow 模型 .................................................................................... 378
9.4.3 Blinn 微平面分布 ............................................................................................... 382
9.4.4 各向异性微平面模型 ....................................................................................... 384
9.5 LaFortune 模型 ............................................................................................................. 386
9.6 Fresnel 入射效果 ......................................................................................................... 389
5
第十章 材质 ................................................................................................................................. 392
10.1BSDF ............................................................................................................................... 392
10.1.1BSDF 内存管理 ................................................................................................... 396
10.2 材质类的接口和实现 .................................................................................................. 398
10.2.1 无光材质 ............................................................................................................ 399
10.2.2 塑料材质 ............................................................................................................ 400
10.2.3 其它的材质 ........................................................................................................ 402
10.3 凹凸贴图 ....................................................................................................................... 402
第十一章 纹理 ............................................................................................................................. 406
11.1 采样和反走样 ............................................................................................................. 408
11.1.1 求解纹理采样速率 .......................................................................................... 408
11.1.2 对纹理函数的滤波 .......................................................................................... 414
11.1.3 镜面反射和透射所需的光线微分信息 .......................................................... 416
11.2 纹理坐标的生成 ......................................................................................................... 418
11.2.1 2D(u,v)映射 ..................................................................................................... 419
11.2.2 球面映射.......................................................................................................... 421
11.2.3 柱面映射.......................................................................................................... 423
11.2.4 平面映射.......................................................................................................... 424
11.2.5 3D 映射 ............................................................................................................ 425
11.3 纹理接口和基本纹理 ................................................................................................. 427
11.3.1 常量纹理.......................................................................................................... 427
11.3.2 比例纹理.......................................................................................................... 428
11.3.3 混合纹理.......................................................................................................... 429
11.3.4 双线性插值 ...................................................................................................... 430
11.4 图像纹理 ..................................................................................................................... 432
11.4.1 Texture 缓存 .................................................................................................... 433
11.4.2 MIP 贴图........................................................................................................... 436
11.4.3 各向同性三角形滤波器 .................................................................................. 446
11.4.4 椭圆加权平均 .................................................................................................. 449
11.5 立体纹理和过程纹理 ................................................................................................. 456
11.5.1 UV 纹理 ............................................................................................................ 457
11.5.2 棋盘纹理.......................................................................................................... 458
11.5.3 立体棋盘纹理 .................................................................................................. 465
11.6 噪声函数 ..................................................................................................................... 467
11.6.1 Perlin 噪声函数 ................................................................................................ 468
11.6.2 随机波尔卡圆点(Random Polka Dots) ........................................................ 473
10.6.3 噪声函数的特性和光谱合成 .......................................................................... 475
11.6.4 凹凸纹理和皱褶纹理 ...................................................................................... 481
16.5.5 风中的波浪 ...................................................................................................... 483
16.5.6 大理石.............................................................................................................. 484
第十二章 体积散射 ..................................................................................................................... 486
12.1 体积散射过程 ............................................................................................................. 486
12.1.1 吸收................................................................................................................... 487
12.1.2 放射 ................................................................................................................. 489
6
12.1.3 外散射(out-scattering)和消光 (extinction) ................................................ 489
11.1.4 内散射(In-Scattering) .................................................................................... 491
12.2 相函数 ......................................................................................................................... 492
12.3 体积区域接口和均匀介质 ......................................................................................... 495
11.3.1 均匀体积区域 .................................................................................................. 497
12.4 密度可变的体积区域 .................................................................................................. 499
12.4.1 三维网格 .......................................................................................................... 501
12.4.2 指数密度 .......................................................................................................... 504
12.5 体积聚合体 ................................................................................................................. 506
第十三章 光源 ............................................................................................................................. 508
13.1 Light 接口 .................................................................................................................... 509
1.3.1 可见性测试 ........................................................................................................ 511
13.2 点光源 ......................................................................................................................... 512
13.2.1 聚光灯.............................................................................................................. 515
13.2.2 纹理投射光源 .................................................................................................. 518
13.2.3 配光图(goniophotometric diagram)光源 ............................................... 523
13.3 远距光源(Distant Lights) .......................................................................................... 526
13.4 面光源(Area Lights) .................................................................................................. 528
13.5 无限面光源(Infinite Area Lights) ............................................................................ 531
第十四章 蒙特卡罗积分 I:基本概念 ...................................................................................... 535
14.1 背景和概率论知识的回顾 ......................................................................................... 536
14.1.1 连续随机变量 .................................................................................................. 537
14.1.2 期望值和方差 .................................................................................................. 538
14.2 Monte Carlo 估计量.................................................................................................... 539
14.3 随机变量的采样 ......................................................................................................... 541
14.3.1 逆转法 .............................................................................................................. 541
14.3.2 举例:幂分布 ................................................................................................... 543
14.3.3 举例:指数分布 .............................................................................................. 543
14.3.4 举例:一维分段函数 ...................................................................................... 544
14.3.5 拒绝法 .............................................................................................................. 547
14.3.6 举例:用拒绝法采样单位圆 .......................................................................... 548
14.4 分布之间的变换 ......................................................................................................... 549
14.4.1 多维情况下的变换 .......................................................................................... 550
14.4.2 举例: 极坐标 ................................................................................................ 551
14.4.3 举例:球面坐标 .............................................................................................. 551
14.5 使用多维变换的 2D 采样 .......................................................................................... 552
14.5.1 举例:在半球上的均匀采样 .......................................................................... 553
14.5.2 举例:在单位圆盘上的采样 .......................................................................... 556
14.5.3 举例:带余弦权值的半球采样 ...................................................................... 559
14.5.4 举例: 三角形上的采样 ................................................................................ 560
第十五章 蒙特卡罗积分 II:提高效率 ...................................................................................... 562
15.1 俄罗斯轮盘法和分割法 .............................................................................................. 562
15.1.1 分割法.............................................................................................................. 564
15.2 精细的采样布置 ......................................................................................................... 565
7
15.2.1 分层采样.......................................................................................................... 565
15.2.2 准蒙特卡罗算法 .............................................................................................. 567
15.2.3 失真的采样和变形 .......................................................................................... 568
15.3 偏差 ............................................................................................................................. 568
15.4 重要性采样 .................................................................................................................. 570
15.4.1 多重重要性采样 .............................................................................................. 572
15.5 对反射函数采样 ......................................................................................................... 574
15.5.1 对 Blinn 微平面分布采样 ............................................................................... 576
15.5.2 对各向异性的微平面模型采样 ...................................................................... 581
15.5.3 对 FRESNELBLEND 采样 ................................................................................ 583
15.5.4 镜面反射和透射 .............................................................................................. 585
15.5.5 应用: 估算反射率 ......................................................................................... 586
15.5.6 对 BSDF 采样 .................................................................................................. 589
15.6 对光源采样 .................................................................................................................. 592
15.6.1 基本接口.......................................................................................................... 592
15.6.2 带奇点的光源 .................................................................................................. 594
15.6.3 面积光源.......................................................................................................... 599
15.6.4 SHAPESET 采样 ............................................................................................... 608
15.6.5 无限面积光源 .................................................................................................. 609
15.7 体积散射 ..................................................................................................................... 612
15.7.1 对相函数采样 ................................................................................................... 613
15.7.2 计算光学厚度 .................................................................................................. 615
第十六章 光传输 I: 表面反射 .................................................................................................... 616
16.1 直接光照...................................................................................................................... 618
16.1.1 估算直接光照积分 ........................................................................................... 625
16.2 光传输方程 .................................................................................................................. 627
16.2.1 基本推导 ........................................................................................................... 628
16.2.2 LTE 的解析解 ................................................................................................... 629
16.2.3 LTE 在表面上的形式 ......................................................................................... 631
16.2.4 路径上的积分 ................................................................................................... 633
16.2.5 被积函数中的 delta 分布 ............................................................................... 634
16.2.6 对被积函数分区 .............................................................................................. 635
16.2.7 测量方程和重要性 .......................................................................................... 636
16.3 路径追踪 ..................................................................................................................... 638
16.3.1 概述 ................................................................................................................. 638
16.3.2 路径采样.......................................................................................................... 639
16.3.3 渐近式路径构造 .............................................................................................. 641
16.3.4 实现................................................................................................................... 642
16.3.5 双向路径追踪 .................................................................................................. 648
16.4 辐射照度缓存技术 ...................................................................................................... 650
16.5 粒子追踪和光子映射 .................................................................................................. 663
16.5.1 粒子追踪的理论基础 ...................................................................................... 663
16.5.2 光子积分器 ....................................................................................................... 666
16.5.3 建立光子贴图 ................................................................................................... 667
8