編輯推薦
本書曾獲得軟件界Jolt圖書類大奬,在計算機圖形學界鼎鼎大名!同時也是一本重量級巨著!
內容簡介
本書詳細闡述瞭與物理渲染相關的高效解決方案,主要包括幾何形狀和轉換,圖元和相交加速計算,顔色和輻射度,相機模型,采樣和重構,反射模型,材質、紋理、體散射、光源、濛特卡羅積分、光綫傳輸等內容。此外,本書還提供瞭相應的算法、代碼以及僞代碼,以幫助讀者進一步理解相關方案的實現過程。
本書適閤作為高等院校計算機及相關專業的教材和教學參考書,也可作為相關開發人員的自學教材和參考手冊。
內頁插圖
目錄
第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
前言/序言
渲染可視為計算機圖形學中的基礎內容。在最高抽象層次上,渲染行為錶示為三維場景描述與圖像之間的轉換。動畫、集閤建模、紋理機製以及其他計算機圖形學領域的相關算法須通過某種渲染處理過程傳遞其結果,進而在圖像中呈現。渲染操作的應用日趨廣泛,包括影視業以及遊戲等領域,並逐漸成為創意錶達、娛樂以及視覺化的前沿陣地。
在該領域的早期,渲染研究主要集中於處理基本問題,例如確定相對於既定視點的可見對象。隨著高效方法的不斷湧現,以及圖形學其他領域不斷發展導緻的更為豐富、逼真的場景描述,現代渲染操作擴展為更為廣泛的學科領域,包括物理和天文物理、天文學、生物學、心理學、感知研究以及純數學和應用數學。渲染操作的跨學科特徵也使其成為一個令人著迷的科研領域。
本書通過完整渲染係統的文檔資源代碼,選取瞭相應的渲染算法,書中的全部圖像均通過該係統加以渲染。pbrt係統通過文學編程(literateprogramming)這一程序設計方法加以編寫,並將係統描述與其實現代碼加以混閤。在計算機圖形學和通用計算機科學中,文學編程可視為引入相關概念的一種有效方法。某些時候,算法細節直至其實現完畢後方清晰呈現。因此,考察算法的真實實現過程則是深入理解算法細節的一種較好方法。實際上,針對計算機圖形學的進一步研究,與粗淺的瞭解相比,通過這一方式可嚮讀者提供更為堅實的基礎知識。
除瞭瞭解算法的實際實現之外,在完整和較為重要的軟件係統中錶達算法還可處理中等規模渲染係統中的設計和實現問題。渲染係統的基本抽象和接口設計對於實現的優雅性以及後續擴展性均會産生較大的影響,而這一設計領域內的摺中方案則較少討論。
pbrt以及本書內容主要討論照片級渲染,並可通過多種不同方式定義為圖像生成任務,且與相機所拍攝的照片基本一緻;或者對應圖像生成任務具有與人眼相同的響應機製。除此之外,照片級圖像對於影視特效工業也十分重要,其原因在於,計算機生成的圖像須與真實世界環境實現無縫混閤。在娛樂應用中,全部圖像均為閤成結果,真實感可視為一種效果工具,以使觀眾不會留意並不存在的場景環境。最後,針對渲染係統的輸齣質量,真實感還可作為一種定義良好的度量方案。
本書及其所描述的係統並不會涉及渲染過程中的全部技術,鑒於某些與真實感渲染相關的話題無法與軟件係統體係結構實現較好的適配(例如有限元輻射度算法),因而相關內容並未齣現於本書中;或者,算法的實現復雜度已超齣瞭其教學價值。相關內容本書會在相應章節予以提示,並提供瞭相應的參考資源以供讀者進一步閱讀。另外,渲染機製的其他領域,例如交互式渲染、可視化機製以及渲染說明形式(例如筆墨風格)本書也並未涉及。無論如何,係統中的大多數算法和概念(例如紋理貼圖抗鋸齒算法)適用於多種不同類型的渲染集。
物理渲染 從理論到實現(第2版) 下載 mobi epub pdf txt 電子書