《圖形著色器——理論與實踐(第2版)》是2013年3月清華大學出版社出版的圖書,作者是Mike Bailey、Steve Cunningham。
基本介紹
- 書名:圖形著色器——理論與實踐(第2版)
- 作者:Mike Bailey、Steve Cunningham
- 譯者:劉鵬
- ISBN:9787302315995
- 定價:79元
- 出版社:清華大學出版社
- 出版時間:2013-3-1
- 裝幀:平裝
內容簡介,圖書目錄,
內容簡介
本書詳細闡述了與著色器程式設計相關的高效解決方案及相應的數據結構和算法,主要包括固定功能管線、OpenGL著色 器的發展、著色器基本概念、使用glman、GLSL著色器語言、光照、頂點著色器、片元著色器和表面外觀、片元著色器中的表 面紋理、噪聲、基於著色器的圖像處理、幾何著色器的概念和示例、細分著色器、GLSL API、基於著色器的科學可視化計算以 及著色器套用等內容。此外,本書還提供了相應的算法、代碼以及偽代碼,以幫助讀者進一步理解相關方案的實現過程。 本書適合作為高等院校計算機及相關專業的教材和教學參考書,也可作為相關開發人員的自學教材和參考手冊。
圖書目錄
第1章固定功能管線 1
傳統的視見方案 1
傳統的視見方案 1
頂點操作 1
管線的片元處理 3
圖形管線中的狀態 4
傳統視見機制的實現方案 5
頂點處理操作 5
渲染處理操作 6
固定管線中的齊次坐標 9
頂點數組 10
本章小結 13
OpenGL著色器發展史 19
OpenGL 2.0/GLSL 1.10 19
OpenGL 3.x/GLSL 3.30 19
OpenGL 4.0/GLSL 4.00 20
OpenGL 4.x/GLSL 4.x0 21
內部原因 21 OpenGL ES 22
處理不同版本 22本書方案 22
變數名命名規則 23
本章練習 23
第3章著色器基本概念 24
圖形管線中的著色器 24
第3章著色器基本概念 24
圖形管線中的著色器 24
頂點著色器 26
片元著色器 29
細分著色器 31
幾何著色器 34
GLSL著色器語言 35
GLSL著色器語言 35
應用程式與著色器之間的數據傳遞 38
在應用程式中定義 attribute變數 38
在應用程式中定義 uniform變數 40
GLSL新版本之間的轉換方式 42
本章練習 44
第4章 glman的使用 45
使用 glman 46
第4章 glman的使用 45
使用 glman 46
載入 GLIB檔案 47
編輯 GLIB檔案和著色器檔案 47
生成 GLIB場景 47
視窗和視見操作 47
轉換操作 48
定義幾何對象 48
定義紋理 50
定義著色器名 50
其他命令 51
定義 uniform變數 51
GLIB檔案示例 53
紋理和噪聲 54
使用紋理 55
使用噪聲紋理 55
glman界面視窗功能 56
生成並顯示場景的硬拷貝 56
全局場景轉換 57
眼睛轉換 57
對象拾取和轉換 57
紋理轉換 58
顯示幀速率 58
其他功能項 59
圖形卡功能項 62
通用 GLSL語言 63
共享命名空間 64
函式擴展和操作符功能項 64
新增函式 64
新增函式 64
新增變數類型 65
新增函式參數類型 65
具體實現 65
忽略的語言功能項 66
新增矩陣和向量類型 66
名稱集 67
向量構造函式 67
矩陣和向量擴展函式 68
矩陣和向量的擴展操作 70
新增函式 71
混合操作 75
新增函式參數類型 75
const變數 76兼容模式 76定義兼容模式 76 OpenGL 2.1內建數據類型 77綜述 81本章練習 81
第6章光照 82
ADS光照模型 82
第6章光照 82
ADS光照模型 82
ADS光照模型函式 83
光源類型 85
固定光源 85
有向光源 86
聚光燈 86
構建基於著色器的光照機制 88
固定著色 88
平滑著色 89
Phong著色方案 89
各向異性著色 90
頂點著色器的輸入數據 93
源自頂點著色器的輸出數據 94
幾何體 94
頂點著色器之後的固定功能處理 96
頂點著色器和細分著色器之間的關係 96
頂點著色器和細分著色器之間的關係 96
頂點著色器和幾何著色器之間的關係 96
利用頂點著色器替換固定功能圖形操作 97
標準的頂點處理過程 97
基於頂點著色器的固定功能管線擴展 97
頂點修正 98
頂點著色器中的問題 100
生成法線 100
綜述 101
片元著色器的輸入數據 104
片元著色器的 in變數 105
坐標系 106
片元著色器處理機制 107
源自片元著色器的輸出數據 107
利用片元處理器替換固定功能處理 107
著色機制 107
傳統的紋理貼圖 108
偽色 108
片元著色器後續步驟 110
其他著色器效果 110
像素丟棄 111
Phong著色 111
基於解析法線的著色機制 112
各向異性著色 113
基於數據驅動的色彩方案 114
使用其他數據生成圖像 115
傳統的紋理貼圖 117
GLSL紋理貼圖 118
紋理上下文 120
固定功能管線中的紋理環境 121
紋理採樣參數 121
採樣器 122
採樣器 122
過程紋理 122
凹凸貼圖 127
立方體貼圖 132
渲染至紋理 135
渲染至紋理( glman多路渲染) 138
本章練習 140
第10章噪聲 141
噪聲的基本概念 141
第10章噪聲 141
噪聲的基本概念 141
3種噪聲類型:數值、梯度以及數值 +梯度 142
三次插值和五次插值 142
噪聲方程 143
其他噪聲 145
二維噪聲和三維噪聲 146
基於 glman的噪聲 148
基於內建 GLSL函式使用噪聲紋理 149
湍流 149
不同環境中的噪聲示例 151
單幅圖像處理 160
亮度 160
CMYK轉換 161
色調轉換 163
圖像過濾機制 165
圖像模糊操作 166
色度鍵圖像 167
立體視圖 169
3D電視 171
邊檢測技術 173
浮雕效果 174
卡通著色器 176
藝術視覺效果 177
圖像的翻轉、旋轉和扭曲 178
圖像混合處理 182
基於固定基圖像的圖像混合操作 183
反像 183
亮度 184
對比度 184
圖像的自身混合操作 185
飽和度 185
銳利度 186
不同圖像間的混合操作 187
其他合成方案 188
圖像漸變 190
內容提示 194
新型鄰接圖元 200
基於輸入和輸出變數的布局結構 201
新增 OpenGL API函式 201
新增 GLSL變數以及變數類型 203
頂點著色器或細分著色器與幾何著色器之間的通信 203
幾何著色器中的法線 204
套用示例 205
Bezier曲線 205
收縮三角形 207
球體細分 208
3D對象輪廓邊 211本章練習 213
第13章細分著色器 214
細分著色器定義 214
第13章細分著色器 214
細分著色器定義 214
細分著色器與幾何著色器 215
細分著色器概念 216
設定細分級別時的問題 219
套用示例 219
等值線 219
等值線 219
Bezier曲面 222
球體細分 228
基於螢幕覆蓋率的整球細分 233
PN三角形 236
綜述 241
處理 OpenGL擴展 244
GLSL著色器程式的創建方式 245
創建並編譯著色器對象 245
CheckGLErrors()函式 247
創建、綁定、連結並激活著色器程式 248
生成著色器程式並綁定著色器對象 248
著色器程式的連結操作 249
激活著色器程式 250
向著色器傳遞數據 250
在應用程式中定義 uniform變數 251
兼容模式下的 uniform變數 253
在應用程式中定義 attribute變數 254
兼容模式下的 attribute變數 255
圖像邊檢測 259
卡通渲染 259
雙曲線幾何學 260
3D標量數據可視化計算 263
點雲 264
剖切面 267
體探測 270
直接體渲染 271
其他轉換函式 276
通過幾何對象傳遞數據值 279
地形凹凸貼圖 280
流顯示 283
2D線積分卷積 283
3D線積分卷積 285
獲取流線對象 286
幾何可視化 289
輪廓邊技術 289
刺狀區 290
衍射光柵 295
油膜 299
透鏡效果 301
浴室玻璃 304
大氣效果 306
彩虹 307
輝光效果 310
其他視效函式 312
glman Timer函式 313
迪斯科球 313
霧效果 315
3D幾何體變形 316
算法藝術 319
Connett圓 319
運動狀態下的可見信息 321
爆炸效果著色器 322