目 錄
前言
緒論
0.1本書的組織
0.2第一部分
0.2.1數學模塊
0.2.2圖形界麵模塊
0.2.3使用這些模塊
0.3第二部分
0.3.1光綫追蹤理論
0.3.2光綫追蹤程序
0.3.3光綫-物體相交測試
0.3.4陰影、紋理和光照
0.3.5復習光綫追蹤程序代碼
0.3.6怎樣使用光綫追蹤程序
0.4第三部分
0.5第四部分
0.6第五部分
0.7第六部分
0.8第七部分
0.9軟件和硬件要求
0.10總結
第一部分 標準和通用模塊
第一章 標準和C語言
1.1為什麼選用C語言
1.2編程語言的概念
1.3變量和數據類型
1.4運算符
1.5程序控製
1.6函數
1.7宏
1.8指針和數組
1.9內存
1.10結構
1.11 typedef
1.12 輸入輸齣(I/O)
1.13 文件I/O
1.14 編程風格
1.15 參考讀物
1.16 光綫跟蹤
第二章 數學模塊
2.1頭文件
2.1.1BkDefs.H頭文件
2.1.2BkMath.H頭文件
2.2編譯這些模塊
2.3BkMath.C程序
2.4 基本數學函數
2.4.1Radians和Degrees 函數
2.4.2CosD和SinD函數
2.4.3Power函數
2.4.5Log函數
2.4.6Exp10函數
2.4.7Sign和Intsign函數
2.4.8IntSqrt函數
2.4.9IntPower函數
2.4.10 MIN和MAX函數
2.5 嚮量和矩陣函數
2.5.1Vec和VecInt函數
2.5.2UnVec和UnVecInt函數
2.5.3VecDot函數
2.5.4VecCross函數
2.5.5VecLen函數
2.5.6VecNormalize函數
2.5.7VecMatxMult函數
2.5.8VecSub和VecSubIn函數
2.5.9VecAdd函數
2.5.10 VecAdd3函數
2.5.11 VecCopy和VecCopyInt函數
2.5.12 VecLinComb函數
2.5.13 VecScalMult、VecScalMultl和VecScalMultInt函數
2.5.14 VecAddScalMult函數
2.5.15 VecNull和VecNullInt函數
2.5.16 VecElemMult函數
2.5.17 VecMin和VecMax函數
2.5.18 VecNgate函數
2.6 仿射變換例程
2.6.1 ZeroMatrix函數
2.6.2 Translate3D函數
2.6.3 Scale3D)函數
2.6.4 Rotate3D函數
2.6.5 Multiply3DMatries函數
2.6.6 MatCopy函數
2.6.7 PrepareMatrix函數
2.6.8 PrepareInvMatrix函數
2.6.9 Tansform函數
2.7 僞隨機數的生成
2.7.1 InitRand函數
2.7.2 Rand函數
2.7.3 RandInt函數
第三章 圖形界麵模塊
3.1 BkGlobs.H頭文件
3.2 BkGraph.H頭文件
3.3 BkGraph.C程序
3.3.1Plot函數
3.3.2 Clear_paletre函數
3.3.3 Set_Palette函數
3.3.4 Init_Palette函數
3.3.5 Init_Palette_2函數
3.3.6 CyClePalette函數
3.3.7 Swap函數
3.3.8 Circle函數
3.3.9 Line函數
3.3.10 Minl和Maxl函數
3.3.11 rivial reject函數
3.3.12 Clip_To_Screen函數
3.3.13 Init_Graphics函數
3.3.14 Set_Graphics_Mode函數
3.3.15 Wait_For_Key函數
3.3.16 Exit_Graphies函數
3.3.17 Title函數
3.4 三維畫圖函數
3.4.1 Init_Plotting函數
3.4 .2 Init_Perspective函數
3.4.3 MapCoordinates函數
3.4.5 Cartesian_Plot_3D函數
3.4.6 Cylindrical_Plot3D函數
3.4.7 SphericalPlot 3D函數
3.4.8 Draw_Line_3D函數
3.5像素函數
3.5.1Put_Pixel函數
3.5.2Get_Pixel函數
3.6設置坐標軸和調色闆的函數
3.6.1Put_Axis_And_Palette函數
3.6.2Display_Axis函數
3.6.3Display_Palette函數
3.6.4Axis_And_Palette函數
3.7使用模塊
第四章 使用模塊
4.1Crystal.C文件
4.2Plants.C文件
4.3Stars-3D.C程序
4.4三維圓周運動模擬示例程序
4.5真實物體
第二部分 光綫追蹤
第五章 光綫追蹤程序數學模塊
第六章 光綫追蹤理論
6.1即時光綫追蹤
6.2光綫的反射
6.3摺射
6.4問題,問題,問題!
6.5答案,答案,答案!
6.6細節
第七章 光綫追蹤程序
7.1投影圖形
7.2圖像質量和變形
7.3防變形方法
7.4均勻采樣
7.5統計密集采樣
7.6結果
7.7簡單的照像機模型
7.8trace函數
7.9背景
第八章 光綫-物體相交測試
8.1物體的定義
8.1.1光綫的參數錶示
8.1.2與球麵相交
8.1.3與二次麯麵相交
8.2麯麵法綫計算
8.3與平麵物體相交
8.4三角形小塊
8.5構造復雜物體
8.6構造實體幾何
8.6.1包圍體
8.6.2包圍麵
8.7層次樹
8.8搜索物體
8.9其它算法
第九章 看見光亮
9.1陰影模型
9.1.1背景色(K↓a)
9.1.2漫反射顔色(K↓d)
9.1.3鏡麵反射迭加(K↓h)
9.1.4反射率(K↓a)及摺射率(K↓t
9.2紋理,紋理,紋理
9.3映射圖象
9.4實體紋理構造
9.5噪聲及擾動
9.6實體紋理樣式
9.7球麵紋理
9.8製造波紋
9.9凹凸紋理
9.10大氣
9.11陰影
9.12關於代碼
第十章 光綫追蹤程序代碼
10.1分離和解釋程序
10.1.1預處理
10.1.2記號分析程序
10.2基本體文件
10.3掃描屏幕
10.4追蹤
10.5相交
10.6包圍平麵
10.7陰影處理
10.8通嚮BOB的途徑
10.9內存問題
10.10構成畫麵
第十一章 如何使用光綫追蹤程序
11.1運行Bob
11.2Bob命令
11.3統計數字
11.4輸入文件(.B)格式
11.5輸入文件布局
11.6預處理程序
11.6.1宏
11.6.2包含指令
11.7EDL分析程序
11.7.1studio結構
11.7.2studio參數
11.8光源
11.9錶麵
11.9.1凹凸紋理
11.9.2加紋理的錶麵
11.10基本體
11.10.1球
11.10.2環
11.10.3多邊形
11.10.4三角形小塊
11.10.5圓錐
11.11變換
11.12圖像紋理
11.13剪切
11.14有關說明
第三部分 生成光綫追蹤程序所需的物體數據庫
第十二章 過程物體數據庫
12.1生長的樹
12.2環形與環麵
12.3一個令人睏惑的物體
12.4光照和雪花球
12.5一塊吸收性極好的海綿
12.6一個六角形
12.7更為復雜的數據庫
第十三章 Z緩衝區數據
13.1Z緩衝區數據的綫框輪廓
13.2光綫追蹤的Z緩衝區數據庫
13.3生成Z緩衝區數據庫的程序
13.4生成Z緩衝區數據庫的分形程序
13.5三維Mandelbrot集
13.6三維Julia集
13.7使用四元數的分形
13.8四元數數學
13.9生成四元數分形數據庫
13.10地形Z緩衝區
13.11Smooth.EXE
13.12移動山脈
第四部分 物體數據庫的CAD産品
第十四章 三維數據庫建模器
14.1數據庫建模程序的功能
14.1.1基本體支持和操作
14.1.2物體支持和操作
14.1.3適當時間內生成數據庫視圖
14.14在數據庫內部自由移動
14.1.5隱藏數據庫細節
14.2層次結構的重要性
14.2.1重復利用性
14.2.2靈活性
14.2.3區域性和可擴展性
14.2.4高效性
14.3Bob的數據庫層次:基本體、物體、畫麵
14.4Ed:Bob的簡單數據庫建模程序
14.4.1啓動Ed
14.4.2Ed屏幕
14.4.3告訴Ed做什麼
14.4.4係統參數
14.5係統模式
14.5.1讀寫畫麵文件
14.5.2移動觀察點
14.5.3選擇物體
14.5.4實例化及刪除物體
14.5.5編輯物體位置和比例
14.5.6修改studio定義
14.5.7編輯studio參數
14.5.8退齣studio模式
14.5.9編輯物體
14.5.10編輯物體結構
14.5.11多邊形的一個特例
14.5.12編輯物體特徵
14.5.13退齣物體模式
14.5.14退齣
14.6Ed源代碼總覽
14.6.1Ed源代碼使用的規則
14.6.2Ed基本數據結構
14.6.3Ed全局變量
14.6.4Ed主要的程序元素
14.6Ed輸齣文件的局限
第五部分 計算機圖形學的圖像處理技術
第十五章 圖像處理
15.1IMG2GIF。C
15.1.1直接指定調色闆
15.1.2多數法
15.1.3中分法
15.1.4固定調色闆
15.2有趣有益的抖動法
15.3建立.GIF文件
15.4IMG2GIF.C的技術說明
15.5文件格式
15.5.1Bob的.IMG文件格式
15.5.2Palette.MAP文件格式
15.6改善圖像質量
15.7圖像顯示
第六部分 圖形硬件
第十六章 圖形硬件驅動程序
16.1 24位顔色
16.2 Bob結束語
第七部分 本書之外的內容
第十七章 超越Bob
17.1製作圖形
17.2動畫
17.2.1車輪
17.2.2運動模糊
17.2.3紋理的問題
17.3實時光綫追蹤
17.4高級光照模型
17.5輻射
17.5.1更多的近似
17.5.2為何使用輻射模型
17.6真實三維圖像
17.7何去何從
· · · · · · (
收起)