物理渲染——從理論到實現(第2版)

物理渲染——從理論到實現(第2版)

《物理渲染——從理論到實現(第2版)》是2016年12月清華大學出版社出版的圖書,作者是[美]Matt Pharr、Greg Humphreys。

基本介紹

  • 中文名:物理渲染——從理論到實現(第2版)
  • 作者:[美]Matt Pharr、Greg Humphreys
  • 出版社:清華大學出版社
  • 出版時間:2016年12月
  • 定價:139 元
  • ISBN:9787302449812
內容簡介,圖書目錄,

內容簡介

本書詳細闡述了與物理渲染相關的高效解決方案,主要包括幾何形狀和轉換,圖元和相交加速計算,顏色和輻射度,相機模型,採樣和重構,反射模型,材質、紋理、體散射、光源、蒙特卡羅積分、光線傳輸等內容。此外,本書還提供了相應的算法、代碼以及偽代碼,以幫助讀者進一步理解相關方案的實現過程。
本書適合作為高等院校計算機及相關專業的教材和教學參考書,也可作為相關開發人員的自學教材和參考 手冊。

圖書目錄

第1章 概述 1
1.1 文學編程 1
1.2 照片級渲染和光線跟蹤算法 3
1.2.1 相機 4
1.2.2 光線-對象相交 5
1.2.3 光照分布 6
1.2.4 可見性 7
1.2.5 表面散射 7
1.2.6 遞歸光線跟蹤 8
1.2.7 光線傳播 9
1.3 pbrt系統概述 11
1.3.1 執行階段 14
1.3.2 場景表達 15
1.3.3 渲染器接口與SamplerRenderer 17
1.3.4 主渲染循環 19
1.3.5 pbrt的並行機制 27
1.3.6 WHITTED光線跟蹤積分器 31
1.4 如何閱讀本書 35
1.5 使用並理解程式代碼 36
1.5.1 指針或引用 36
1.5.2 代碼最佳化 36
1.5.3 本書網站 37
1.5.4 系統擴展 37
1.5.5 Bug 37
1.6 進一步閱讀 38
1.7 本章練習 39
第2章 幾何形狀和轉換 40
2.1 坐標系 40
2.2 向量 41
2.2.1 運算 42
2.2.2 縮放操作 43
2.2.3 點積和叉積計算 44
2.2.4 標準化計算 46
2.2.5 基於向量的坐標系 46
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.3.1 圓柱體的構造過程 99
3.3.2 圓柱體的包圍機制 101
3.3.3 圓柱體的相交計算 101
3.3.4 局部圓柱體 102
3.3.5 圓柱體的表面積 103
3.4 圓盤 103
3.4.1 圓盤的構建過程 104
3.4.2 圓盤的包圍機制 105
3.4.3 圓盤的相交計算 105
3.4.4 圓盤的表面積 106
3.5 其他二次表面 107
3.5.1 圓錐體 107
3.5.2 拋物面 108
3.5.3 雙曲面 108
3.6 三角形和格線 109
3.6.1 三角形 112
3.6.2 三角形相交計算 113
3.6.3 格線表面積 117
3.6.4 著色幾何體 118
*3.7 表面細分 120
3.7.1 格線表達方式 122
3.7.2 格線邊界 130
3.7.3 格線細分 130
3.7.4 計算新的頂點位置 132
3.7.5 更新格線拓撲結構 137
3.7.6 極限表面和輸出結果 139
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
5.1 光譜表達方式 212
5.1.1 Spectrum類型 213
5.1.2 CoefficientSpectrum實現 214
5.2 SampledSpectrum類 216
5.2.1 XYZ顏色 219
5.2.2 RGB顏色 222
5.3 RGBSpectrum實現 227
5.4 輻射度測量學的基本知識 229
5.4.1 基本量值 230
5.4.2 入射和出射輻射度函式 233
5.4.3 亮度和光度測定 233
5.5 與輻射積分協同工作 234
5.5.1 投影立體角的積分運算 235
5.5.2 球體坐標的積分運算 235
5.5.3 面積積分運算 237
5.6 表面反射 239
5.6.1 BRDF 239
5.6.2 BSSRDF 240
5.7 進一步閱讀 241
5.8 本章練習 242
第6章 相機模型 243
6.1 相機模型概述 243
6.2 投影相機模型 246
6.2.1 正交相機 247
6.2.2 透視相機 250
6.2.3 景深 253
6.3 環境相機 257
6.4 進一步閱讀 258
6.5 本章練習 259
第7章 採樣和重構 260
7.1 採樣理論 260
7.1.1 頻率範圍和傅立葉變換 261
7.1.2 理想採樣狀態和重構 263
7.1.3 鋸齒 266
7.1.4 抗鋸齒技術 267
7.1.5 圖像合成技術 269
7.1.6 渲染中的鋸齒來源 269
7.1.7 理解像素數據 270
7.2 圖像採樣接口 271
7.3 分層採樣 277
7.4 低偏差採樣 287
*7.4.1 偏差定義 288
7.4.2 HAMMERSLEY和HALTON序列 289
7.4.3 [0,2]序列 295
7.4.4 低偏差採樣器 298
*7.5 最佳候選採樣模式 303
7.6 自適應採樣 309
7.7 圖像重構 314
7.8 Film類和成像管線 323
7.8.1 Film接口 323
7.8.2 ImageFilm類 325
7.9 進一步閱讀 333
7.10 本章練習 336
第8章 反射模型 339
8.1 基本接口 342
8.1.1 反射率 344
8.1.2 BRDF→BTDF適配器 345
8.1.3 BxDF縮放適配器 345
8.2 鏡面反射和透射 346
8.2.1 菲涅耳反射率 347
8.2.2 鏡面反射 351
8.2.3 鏡面透射 354
8.3 Lambertian反射 358
8.4 微面元模型 358
8.4.1 Oren-Nayar漫反射 360
8.4.2 Torrance-Sparrow模型 361
8.4.3 Blinn微面元分布 364
8.4.4 各項異性微面元模型 366
8.5 菲涅耳入射效果 368
8.6 測算BRDF 370
8.6.1 不規則的各向同性測算BRDF 371
8.6.2 規則半角格式 374
8.7 進一步閱讀 376
8.8 本章練習 378
第9章 材質 380
9.1 BSDF 380
9.2 Material接口和實現 385
9.2.1 MatteMaterial類 386
9.2.2 PlasticMaterial類 387
9.2.3 混合材質 389
9.2.4 測算材質 390
9.2.5 其他材質 391
9.3 凹凸貼圖 392
9.4 進一步閱讀 396
9.5 本章練習 397
第10章 紋理 399
10.1 採樣和抗鋸齒操作 400
10.1.1 計算紋理採樣率 400
10.1.2 濾波紋理函式 404
*10.1.3 鏡面反射和透射的光線微分 405
10.2 紋理坐標生成 408
10.2.1 2D(u,v)映射 409
10.2.2 球體映射 410
10.2.3 圓柱體映射 411
10.2.4 平面映射 412
10.2.5 3D映射 413
10.3 紋理接口和基本紋理 413
10.3.1 固定紋理 414
10.3.2 混合紋理 415
10.3.3 線性插值 416
10.4 圖像紋理 417
10.4.1 紋理快取 418
10.4.2 紋理鏈 421
10.4.3 各向同性三角形濾波器 428
*10.4.4 橢圓加權平均值 430
10.5 體紋理和過程紋理 435
10.5.1 UV紋理 436
10.5.2 棋盤紋理 436
10.5.3 體棋盤紋理 441
10.6 噪聲 442
10.6.1 Perlin噪聲 443
10.6.2 隨機波爾卡圓斑 446
10.6.3 頻譜合成 448
10.6.4 凹凸和褶皺紋理 451
10.6.5 風力波形 452
10.6.6 大理石紋理 453
10.7 進一步閱讀 454
10.8 本章練習 456
第11章 體散射 459
11.1 體散射處理過程 459
11.1.1 吸收過程 460
11.1.2 放射過程 461
11.1.3 外散射和衰減 462
11.1.4 內散射 463
11.2 相位函式 464
11.3 體接口和均一介質 467
11.4 密度變化的空間體 470
11.4.1 3D格線 471
11.4.2 指數密度 473
11.5 體聚合 475
11.6 BSSRDF類 476
11.7 進一步閱讀 478
11.8 本章練習 479
第12章 光源 481
12.1 Light接口 481
12.2 點光源 484
12.2.1 聚光燈 486
12.2.2 紋理投射光照 488
12.2.3 測角光度圖光照 491
12.3 平行光照 494
12.4 區域光照 495
12.5 無窮遠區域光源 499
12.6 進一步閱讀 501
12.7 本章練習 503
第13章 蒙特卡羅積分I:基本概念 504
13.1 背景知識和機率回顧 505
13.1.1 連續隨機變數 505
13.1.2 期望值和方差 506
13.2 蒙特卡羅估算函式 507
13.3 隨機變數的基本採樣 508
13.3.1 反演法 509
13.3.2 舍選法 514
*13.4 METROPOLIS採樣 516
13.4.1 基本算法 516
13.4.2 選取突變策略 517
13.4.3 初始偏差 518
13.4.4 基於Metropolis採樣的積分 519
13.4.5 示例:一維設定 519
13.5 分布間的轉換 522
13.5.1 多維轉換 523
13.5.2 極坐標 523
13.5.3 球體坐標 523
13.6 包含多維轉換的2D採樣 524
13.6.1 示例:半球均勻採樣 524
13.6.2 單位圓盤對象採樣 526
13.6.3 餘弦加權半球採樣 529
13.6.4 示例:三角形採樣 530
13.6.5 示例:分段-常量2D分布 531
13.7 進一步閱讀 534
13.8 本章練習 535
第14章 蒙特卡羅積分II:效率改善 536
14.1 俄羅斯輪盤賭和劃分機制 537
14.2 採樣置放 538
14.2.1 分層採樣 538
14.2.2 quasi蒙特卡羅技術 540
14.2.3 採樣翹曲和變形 541
14.3 偏差 541
14.4 重要性採樣 542
14.5 多重重要性採樣機制 544
14.6 採樣反射函式 547
14.6.1 Blinn微面元分布採樣 548
14.6.2 各向異性微面元模型的採樣 551
14.6.3 FresnelBlend採樣 553
14.6.4 鏡面反射和透射 553
14.6.5 套用:反射率估算 555
14.6.6 BSDF採樣 556
14.7 光源採樣 559
14.7.1 基本接口 560
14.7.2 包含奇點的光源 562
14.7.3 區域光源 565
14.7.4 ShapeSet採樣 571
14.7.5 無窮大區域光源 572
*14.8 體散射 577
14.8.1 相位函式採樣 577
14.8.2 計算光學厚度 578
14.9 進一步閱讀 579
14.10 本章練習 580
第15章 光線傳輸I:表面反射 583
15.1 直接光照 584
15.2 光線傳輸方程 592
15.2.1 基本推導過程 593
15.2.2 LTE的解析解 594
15.2.3 LTE的表面形式 595
15.2.4 路徑積分 596
15.2.5 被積函式中的delta分布 597
15.2.6 劃分被積函式 598
15.2.7 測量方程和重要性 599
15.3 路徑跟蹤 600
15.3.1 概述 600
15.3.2 路徑採樣 601
15.3.3 遞增式路徑構造 603
15.3.4 實現過程 603
15.3.5 雙向路徑跟蹤 607
15.4 實時全局光照 608
15.4.1 創建虛擬光源 611
15.4.2 利用虛擬光源進行渲染 615
15.5 輻射度快取機制 619
15.5.1 利用輻射度快取進行渲染 622
15.5.2 查找和插值 624
15.5.3 添加新值 627
15.6 粒子跟蹤和光子貼圖 629
*15.6.1 粒子跟蹤的理論基礎 630
15.6.2 光子積分器 632
15.6.3 構造光子貼圖 634
15.6.4 使用光子貼圖 645
15.6.5 光子插值和密度估算 654
*15.7 METROPOLIS光線傳輸算法 658
15.7.1 採樣表達方式 661
15.7.2 突變行為 663
15.7.3 生成路徑 665
15.7.4 路徑影響作用 667
15.7.5 MetropolisRenderer實現 674
15.7.6 渲染操作 677
15.8 進一步閱讀 681
15.9 本章練習 684
*第16章 光線傳輸II:體渲染 688
16.1 傳輸方程 688
16.2 體積分器接口 690
16.3 發射積分器 690
16.4 單散射積分器 695
16.5 子表面散射 697
16.5.1 採樣點的泊松分布 700
16.5.2 構建採樣點八叉樹 707
16.5.3 偶極漫反射近似計算 711
16.5.4 基於層次結構積分的渲染行為 716
16.5.5 設定散射屬性 719
16.6 進一步閱讀 721
16.7 本章練習 723
*第17章 光線傳輸III:光線傳輸的預計算 727
17.1 基礎函式:理論 728
17.1.1 分段式-常數基 729
17.1.2 基上的投影 730
17.1.3 正交基函式 731
17.2 球諧函式 732
17.2.1 高效計算 734
17.2.2 光源投影 740
17.2.3 投影入射輻射度函式 746
17.2.4 減少環狀效果 747
17.2.5 旋轉 748
17.3 輻射度探測器 752
17.3.1 創建輻射度探測器 753
17.3.2 使用輻射度探測器 759
17.4 漫反射傳輸預計算 763
17.5 光澤傳輸預計算 766
17.5.1 傳輸矩陣 768
17.5.2 BSDF矩陣 769
17.5.3 GlossyPRTIntegrator實現 771
17.6 進一步閱讀 774
17.7 本章練習 775
第18章 回顧和展望 777
18.1 設計回顧 777
18.1.1 抽象與效率 778
18.1.2 其他設計方案:僅使用三角形 778
18.1.3 提升場景複雜度 779
18.2 吞吐量處理器 779
18.2.1 未來發展狀況 781
18.2.2 參考資源 781
18.3 總結 782
附錄A 實用工具 783
A.1 主要包含的檔案 783
A.1.1 工具函式 783
A.1.2 偽隨機數 786
A.2 圖形檔案的輸入和輸出 786
A.3 與用戶的通信 787
A.3.1 錯誤報告 788
A.3.2 進度報告 788
A.3.3 簡單的浮點檔案讀取器 789
A.4 探測器和統計 789
A.5 記憶體管理 791
A.5.1 可變棧的分配 791
A.5.2 引用計數對象 792
A.5.3 以快取友好方式使用記憶體 794
A.5.4 Arena記憶體分配 796
A.5.5 2D塊數組 798
A.6 數學計算例程 801
A.6.1 2×2線性方程組 801
A.6.2 4×4矩陣 801
A.7 八叉樹 802
A.8 kd樹 807
A.9 並行機制 813
A.9.1 記憶體一致性模型以及性能 813
A.9.2 原子操作 814
A.9.3 互斥體 817
A.9.4 任務系統 818
A.10 進一步閱讀 820
A.11 本章練習 821
附錄B 場景描述接口 822
B.1 參數集 823
B.1.1 ParamSetItem結構 824
B.1.2 添加參數集 824
B.1.3 在參數集查找數據值 825
B.2 初始化和渲染選項 827
B.2.1 狀態跟蹤 828
B.2.2 轉換操作 829
B.2.3 選項 831
B.3 場景描述 834
B.3.1 層次圖形狀態 834
B.3.2 紋理和材質參數 836
B.3.3 表面和材質描述 837
B.3.4 光源 839
B.3.5 形狀和體區域 840
B.3.6 對象實例化操作 843
B.3.7 場景結束與渲染操作 845
B.4 添加新的對象實現 847
B.5 進一步閱讀 847
B.6 本章練習 848
參考文獻 850
check!

熱門詞條

聯絡我們