GPU精粹2:高性能圖形晶片和通用計算編程技巧

GPU精粹2:高性能圖形晶片和通用計算編程技巧

《GPU精粹2:高性能圖形晶片和通用計算編程技巧》是2007年5月18日清華大學出版社出版的圖書,定價128元。

基本介紹

  • 書名:GPU精粹2:高性能圖形晶片和通用計算編程技巧
  • ISBN:9787302139430
  • 定價:128元
  • 出版社清華大學出版社
  • 出版時間:2007-5-18
  • 裝幀:平裝
  • 印次:1-1
圖書簡介,書籍目錄,

圖書簡介

本書延續了暢銷書《GPU精粹》的第1卷,細述了在今天的圖形處理器(GPU)上最新的可編程技術。隨著GPU進入手機、手持遊戲設備和遊戲機領域,GPU專業知識在今天的競爭環境中顯得更為重要。實時圖形程式設計師會發現用於建立高級的視覺特效、管理複雜場景的策略和高級圖像強大處理能力運用到其他計算密集型程式中,比如科學計算和金融。書中有20章專門講述GPGPU編程,從基本的概念到高級技術。本書提供了一些專家撰寫的最前沿的GPU編程技術,為讀者介紹了利用GPU巨大功能的實用方法。

書籍目錄

目錄
第Ⅰ部分幾何複雜性
第1章實現照片級真實感的虛擬
植物 5
1.1場景管理 6
1.1.1種植柵格 6
1.1.2種植策略 6
1.1.3實時最佳化 7
1.2草層 7
1.2.1通過溶解模擬Alpha透明 9
1.2.2變化 10
1.2.3光照 11
1.2.4風 12
1.3地面雜物層 12
1.4樹和灌木層 13
1.5陰影 14
1.6後處理 15
1.6.1天空圓頂輝散 16
1.6.2全場景輝光 16
1.7本章小結 17
參考文獻 18
第2章使用基於GPU幾何體剪下圖
的地形渲染 19
2.1幾何體剪下圖簡介 19
2.2GPU實現概覽 21
2.2.1數據結構 22
2.2.2剪下圖大小 22
2.3渲染 23
2.3.1活動層 23
2.3.2頂點和索引緩衝區 23
2.3.3視錐剪下 24
2.3.4DrawPrimitive調用 25
2.3.5頂點著色器 25
2.3.6像素著色器 27
2.4更新 28
2.4.1升採樣 28
2.4.2殘差 29
2.4.3法線圖 30
2.5結果和討論 30
2.6本章小結和改進 31
2.6.1頂點紋理 31
2.6.2去掉法線圖 31
2.6.3不需要存儲空間的地形
合成 31
參考文獻 31
第3章幾何體實例化的內幕 33
3.1為什麼要對幾何體實例化? 34
3.2定義 34
3.2.1幾何體包 34
3.2.2實例屬性 35
3.2.3幾何體實例 35
3.2.4渲染和紋理場景 35
3.2.5幾何體批次 36
3.3實現 37
3.3.1靜態批次 38
3.3.2動態批次 39
3.3.3頂點常量實例化 40
3.3.4幾何體實例API批次 43
3.4本章小結 46
參考文獻 48
第4章分段緩衝 49
4.1問題空間 49
4.2解決方案 50
4.3方法 50
4.3.1分段緩衝的第一步 50
4.3.2分段緩衝的第二步 50
4.3.3分段緩衝的第三步 51
4.4改進分段緩衝技術 51
4.5本章小結 51
參考文獻 51
第5章用多流來最佳化資源管理 53
5.1概覽 53
5.2實現 55
5.2.1DirectX9.0中的多流 55
5.2.2資源管理 57
5.2.3處理頂點 59
5.3本章小結 63
?〔慰嘉南?63
第6章讓硬體遮擋查詢發揮作用 65
6.1引言 65
6.2受益於遮擋查詢的場景 66
6.3遮擋裁減 66
6.4層的停等方法 67
6.4.1為什麼使用層 67
6.4.2層結構 67
6.4.3層的算法 68
6.4.4問題1:停滯 68
6.4.5問題2:查詢的額外開銷 68
6.5一致性層裁減 69
6.5.1想法1:猜測 69
6.5.2想法2:提升,提升 70
6.5.3算法 70
6.5.4實現細節 71
6.5.5停滯比較少的原因 73
6.5.6查詢較少的原因 73
6.5.7如何遍歷層 73
6.6最佳化 74
6.6.1用真正的幾何體查詢 74
6.6.2隻有Z的渲染遍 74
6.6.3近似的可見性 74
6.6.4保守的可見性測試 74
6.7本章小結 75
參考文獻 76
第7章帶有位移映射的細分表面自
適應鑲嵌 77
7.1細分表面 77
7.1.1一些定義 78
7.1.2Catmull-Clark細分 78
7.1.3用細分來鑲嵌 79
7.1.4面片化表面 80
7.1.5GPU鑲嵌算法 80
7.1.6緻密鑲嵌 84
7.2位移映射 84
7.2.1改變平滑度測試 85
7.2.2用法線映射著色 85
7.3本章小結 86
參考文獻 86
第8章?使用距離函式的逐像素位移
映射 87
8.1簡介 87
8.2準備工作 89
8.3距離映射算法 89
8.4計算距離圖 92
8.5著色器 92
8.5.1頂點著色器 92
8.5.2片段著色器 92
8.5.3關於過濾的注意事項 94
8.6結果 94
8.7本章小結 95
參考文獻 96
第Ⅱ部分著色、光照和陰影
第9章S.T.A.L.K.E.R.中的延期
著色 101
9.1引言 101
9.2幾種觀點 102
9.3最佳化 103
9.3.1最佳化的對象 103
9.3.2光照最佳化 104
9.3.3G緩衝區建立的最佳化 106
9.3.4陰影最佳化 108
9.4改善質量 109
9.4.1“虛擬位置”的威力 109
9.4.2環境遮擋 110
9.4.3材質和表面光照的互動 111
9.5反走樣 111
9.5.1高效的調和映射 113
9.5.2處理透明 114
9.6嘗試過但沒有包含入最終
代碼的內容 114
9.6.1高程圖 114
9.6.2實時的全局照明 115
9.7本章小結 115
參考文獻 116
第10章動態輻照度環境映射實時
計算 117
10.1輻照度(irradiance)環境
映射 117
10.2球面調和卷積 119
10.3映射到GPU上 120
10.3.1空域到頻域 121
10.3.2卷積和恢復 122
10.4以後的工作 123
10.5本章小結 123
參考文獻 123
第11章近似的雙向紋理函式 125
11.1引言 125
11.2採集 126
11.2.1建立和採集 126
11.2.2匯集著色圖 127
11.3渲染 128
11.3.1細節算法 128
11.3.2實時渲染 129
11.4結果 130
11.5本章小結 132
參考文獻 132
第12章基於貼面的紋理映射 133
12.1方法簡介 134
12.2紋理貼面的構造 135
12.3紋理貼面打包 135
12.4紋理貼面映射 137
12.5mipmap問題 138
12.6本章小結 140
參考文獻 140
第13章在GPU上實現mental
images的Phenomena
渲染器 141
13.1引言 141
13.2著色器和Phenomena 142
13.3用Cg實現Phenomena 143
13.3.1Cg頂點程式和可變
參數 144
13.3.2片段程式著色器的main()
入口點 145
13.3.3通用著色器接口 145
13.3.4一個簡單的著色器
例子 146
13.3.5全局的狀態變數 148
13.3.6光著色器 149
13.3.7紋理著色器 151
13.3.8凹凸映射 152
13.3.9環境著色器和體著
色器 153
13.3.10返回結構體的著色器 154
13.3.11渲染毛髮 154
13.3.12組合所有東西 155
13.4本章小結 155
參考文獻 156
第14章動態環境遮擋和間接光照 157
14.1表面元素 158
14.2環境遮擋 158
14.2.1多遍陰影算法 160
14.2.2改善性能 160
14.3間接光照和面光源 162
14.4本章小結 164
參考文獻 164
第15章藍圖渲染和草圖繪製 165
15.1基本原理 166
15.1.1中間渲染結果 166
15.1.2邊增強 166
15.1.3深度子圖形渲染 167
15.2藍圖渲染 167
15.2.1深度剝離 167
15.2.2析取可見邊和不可
見邊 169
15.2.3合成藍圖 170
15.2.4深度禁止 171
15.2.5使用藍圖渲染顯示
建築 171
15.3草圖渲染 171
15.3.1邊和顏色面片 172
15.3.2套用不確定性 172
15.3.3調整深度 173
15.3.4草圖渲染的變體 173
15.3.5控制不確定性 174
15.3.6減少雨景效果 175
15.4本章小結 176
參考文獻 176
第16章精確的大氣散射 179
16.1引言 179
16.2解散射方程 180
16.2.1Rayleigh散射與Mie
散射 180
16.2.2相位函式 181
16.2.3外向散射方程 181
16.2.4內向散射方程 182
16.2.5表面散射方程 182
16.3實時渲染 182
16.4擠入著色器中 184
16.4.1去除一個維度 184
16.4.2去除其他維度 184
16.5實現散射的著色器 185
16.5.1頂點著色器 185
16.5.2片段著色器 187
16.6增加高動態範圍渲染 188
16.7本章小結 188
參考文獻 189
第17章利用像素著色器分支的
高效模糊邊緣陰影 191
17.1現有的陰影生成技術 191
17.2用單張陰影圖產生模糊
陰影 192
17.2.1模糊尖銳邊緣陰影 192
17.2.2提高效率 195
17.2.3實現細節 196
17.3本章小結 199
參考文獻 200
第18章將頂點紋理位移用於水的
真實感渲染 201
18.1水的模型 202
18.2實現 202
18.2.1水的表面模型 202
18.2.2實現細節 203
18.2.3對高度圖採樣 203
18.2.4質量的提高與最佳化 204
18.2.5渲染局部的擾動 208
18.3本章小結 209
參考文獻 209
第19章通用的折射模擬 211
19.1基本方法 212
19.2折射掩碼 213
19.3示例 215
19.3.1水的模擬 215
19.3.2玻璃的模擬 217
19.4本章小結 219
?〔慰嘉南?219
第Ⅲ部分高質量渲染
第20章快速三階紋理過濾 225
20.1高階過濾 225
20.2快速遞歸三次卷積 226
20.3mipmapping 230
20.4導數重建 232
20.5本章小結 235
參考文獻 236
第21章高質量反走樣的光柵化 237
21.1概述 237
21.2降採樣 239
21.2.1與現有軟硬體的對比 239
21.2.2用GPU進行降採樣 240
21.3延伸 240
21.4過濾器的細節 241
21.5兩遍分離式的過濾器 242
21.6分塊和累加 243
21.7代碼 243
21.7.1渲染循環 244
21.7.2降採樣類 245
21.7.3實現細節 246
21.8本章小結 246
參考文獻 247
第22章快速的預過濾線條 249
22.1為什麼尖銳的直線看起來很
糟糕 249
22.2限制信號的頻寬 250
22.3預處理 252
22.4運行時 253
22.4.1線段的建立(CPU) 253
22.4.2表查找(GPU) 254
22.5實現的問題 256
22.5.1繪製寬線 256
22.5.2組合多條線段 256
22.6示例 256
22.7本章小結 258
參考文獻 258
第23章NaluDemo的頭髮動畫和渲染 261
23.1頭髮的幾何體 262
23.1.1布局和增長 262
23.1.2控制頭髮 263
23.1.3數據流 263
23.1.4鑲嵌 263
23.1.5插值 264
23.2動力學和碰撞 265
23.2.1約束條件 265
23.2.2碰撞 266
23.2.3鰭 266
23.3頭髮的著色 267
23.3.1用於頭髮的實時反射
模型 268
23.3.2頭髮中實時的體化陰影 271
23.4本章小結和未來的工作 274
參考文獻 274
第24章使用查找表加速顏色變換 275
24.1查找表的基礎知識 275
24.1.1一維查找表 275
24.1.2三維查找表 276
24.1.3插值 278
24.2實現 278
24.2.1把查找表映射到GPU
的策略 278
24.2.2Cg著色器 278
24.2.3系統集成 280
24.2.4把三維查找表擴展到用
於高動態範圍圖像 281
24.3本章小結 282
參考文獻 282
第25章AppleMotion中的GPU圖像處理 285
25.1設計 285
25.1.1喜愛的和厭惡的 285
25.1.2選擇語言 287
25.1.3CPU向後支持 287
25.2實現 288
25.2.1GPU資源的限制 288
25.2.2被零除 289
25.2.3丟失的頂點分量 289
25.2.4雙線過濾 290
25.2.5高精度存儲 294
25.3調試 294
25.4本章小結 295
參考文獻 296
第26章實現改進的Perlin噪聲 297
26.1隨機但平滑 297
26.2存儲與計算 297
26.3實現細節 298
26.4本章小結 302
參考文獻 302
第27章高級的高質量過濾 303
27.1在GPU上實現過濾 303
27.1.1訪問圖像樣本 303
27.1.2卷積過濾 304
27.2數字圖像的重採樣 307
27.2.1背景知識 307
27.2.2反走樣問題 307
27.2.3圖像重建 310
27.3衝擊過濾:銳化圖像的方法 312
27.4過濾器的實現技巧 314
27.5高級套用 314
27.5.1時間變形 314
27.5.2運動模糊的消除 314
27.5.3自適應的紋理過濾 315
27.6本章小結 315
參考文獻 315
第28章Mipmap級的測量 317
28.1哪個mipmap層是可
見的? 318
28.2GPU搶險隊 318
28.2.1像素點計數 318
28.2.2引擎中的實際考慮 321
28.2.3擴展 322
28.3實驗結果 324
28.4本章小結 325
參考文獻 326
第Ⅳ部分GPU的通用計算:初級讀本
第29章流式體系結構和技術趨勢 331
29.1技術趨勢 331
29.1.1核心技術趨勢 331
29.1.2後果 332
29.2高性能計算的關鍵 334
29.2.1高效計算的方法 334
29.2.2高效通信的方法 335
29.2.3與CPU對比 335
29.3流式計算 336
29.3.1流式編程模型 336
29.3.2構建一個流式處理器 337
29.4未來和挑戰 338
29.4.1技術趨勢 338
29.4.2功耗管理 338
29.4.3支持更高的可程式性和
功能性 339
29.4.4來自CPU的GPU功能性
(或反之亦然) 339
參考文獻 339
第30章GeForce6系列GPU的體系結構 341
30.1GPU如何適合於整體計算
系統 342
30.2整體系統體系結構 342
30.2.1圖形操作的功能結構圖 343
30.2.2非圖形操作的功能結
構圖 346
30.3GPU特性 347
30.3.1固定函式特性 348
30.3.2著色器Model3.0編程
模型 349
30.3.3支持的數據存儲格式 353
30.4性能 354
30.5達到最佳性能 354
30.5.1積極地使用z裁減 355
30.5.2載入數據時利用紋理
數學 355
30.5.3使用片段程式的分支 355
30.5.4儘可能使用fp16作中
間值 355
30.6本章小結 356
第31章把計算概念映射到GPU 357
31.1數據並行的重要性 357
31.1.1哪種類型的計算可以很
好地映射到GPU 357
31.1.2示例:在柵格上模擬 358
31.1.3流通信:聚集與散布 359
31.2GPU計算資源清單 359
31.3CPU-GPU類比 362
31.3.1流:GPU紋理=CPU
數組 362
31.3.2核:GPU片段程式=CPU
“內循環” 362
31.3.3渲染到紋理=反饋 362
31.3.4幾何體光柵化=計算的
調用 363
31.3.5紋理坐標=計算的域 363
31.3.6頂點坐標=計算的
範圍 363
31.3.7縮減 363
31.4從類比到實現 364
31.5一個簡單的例子 366
31.6本章小結 368
參考文獻 368
第32章嘗試GPU計算 369
32.1選擇快速算法 369
32.1.1局部性 369
32.1.2允許計算的準則 370
32.1.3考慮下載和讀回 371
32.2了解浮點 371
32.3實現散列 373
32.3.1轉換成聚集 373
32.3.2地址排序 374
32.3.3渲染點 375
32.4本章小結 375
參考文獻 376
第33章在GPU上實現高效的並行數據結構 377
33.1流式編程 377
33.2GPU存儲器模型 379
33.2.1存儲器體系結構 379
33.2.2GPU流類型 380
33.2.3GPU核的存儲器訪問 381
33.3基於GPU的數據結構 382
33.3.1多維數組 382
33.3.2結構體 387
33.3.3稀疏數據結構 387
33.4性能考慮 391
33.4.1依賴的紋理讀取 391
33.4.2計算頻度和程式特化 391
33.4.3PbufferSurvivalGuide 392
33.5本章小結 393
參考文獻 393
第34章GPU流程控制習慣用法 395
34.1流程控制的挑戰 395
34.2基本的流程控制策略 396
34.2.1判定 396
34.2.2把分支向著流水線上端
移動 396
34.2.3z裁減 397
34.2.4分支指令 399
34.2.5選擇一種分支機制 399
34.3使用遮擋查詢的數據依賴
循環 400
34.4本章小結 400
第35章GPU程式最佳化 401
35.1數據並行計算 401
35.1.1指令級並行性 401
35.1.2數據級並行性 403
35.2計算頻率 404
35.2.1循環內不變數的預
計算 405
35.2.2用查找表進行預計算 406
35.2.3避免內循環分支 407
35.2.4swizzle操作 407
35.3評價和負載平衡 408
35.4本章小結 409
參考文獻 410
第36章用於GPGPU應用程式的流式縮減操作 411
36.1通過緊縮來過濾 411
36.1.1累加和掃描 412
36.1.2通過搜尋/聚集來散布 413
36.1.3過濾性能 415
36.2動機:碰撞檢測 416
36.3用於細分表面的過濾 419
36.4本章小結 421
參考文獻 421
第Ⅴ部分面向圖像的計算
第37章GPU上的八叉樹紋理 425
37.1一個GPU加速的層次結構:
N3樹 426
37.1.1定義 426
37.1.2實現 427
37.2套用1:在格線表面上色 431
37.2.1建立八叉樹 431
37.2.2上色 432
37.2.3渲染 432
37.2.4把八叉樹紋理轉換成標準
2D紋理 434
37.3套用2:表面模擬 436
37.4本章小結 437
參考文獻 438
第38章使用光柵化的高質量全局照明渲染 439
38.1通過光柵化的全局照明 440
38.2最終聚集簡介 441
38.2.1兩遍的方法 441
38.2.2最終聚集 441
38.2.3兩遍方法的問題 442
38.3通過光柵化的最終聚集 443
38.3.1最終聚集光線的聚類 443
38.3.2光線投射作為多次平行
投影 445
38.4實現細節 446
38.4.1初始化 446
38.4.2?疃勸??446
38.4.3採樣 447
38.4.4性能 447
38.5GPU上的全局照明渲染器 448
38.5.1第一遍 448
38.5.2生成可見點數據 448
38.5.3第二遍 448
38.5.4其他解決方案 449
38.6本章小結 451
參考文獻 451
第39章使用逐步求精輻射度方法的
全局照明 453
39.1輻射度的基礎 454
逐步求精 454
39.2GPU實現 455
39.2.1使用半球投影的可
見性 456
39.2.2構成因子的計算 458
39.2.3選擇下一個發射者 459
39.3漸進細分 459
39.3.1紋理四叉樹 459
39.3.2四叉數細分 460
39.4性能 460
39.5本章小結 460
參考文獻 461
第40章GPU上的計算機視覺 463
40.1引言 463
40.2實現框架 463
40.3套用示例 464
40.3.1把一系列片段程式用於
計算機視覺 464
40.3.2求和操作 467
40.3.3創建全景照片的方
程組 469
40.3.4特徵向量的計算 471
40.4並行計算機視覺處理 473
40.5本章小結 474
參考文獻 474
第41章延遲過濾:困難數據格式的
??渲染 477
41.1引言 477
41.2為什麼要延遲 478
41.3延遲過濾算法 479
41.4為什麼它可以工作 481
41.5本章小結:何時延遲 481
參考文獻 482
第42章保守光柵化 485
42.1問題定義 486
42.2兩種保守算法 487
42.2.1剪下空間 487
42.2.2第一種算法 488
42.2.3第二種算法 489
42.3魯棒性問題 492
42.4保守深度 492
42.5結果和本章小結 493
參考文獻 494
第Ⅵ部分模擬與數值算法
第43章蛋白質結構預測的GPU
計算 497
43.1介紹 497
43.2Floyd-Warshall算法以及
綁定距離的平滑 498
43.3GPU實現 499
43.3.1動態更新 499
43.3.2數據紋理的索引 499
43.3.3三角形劃分 500
43.3.4向量化 500
43.4試驗結果 501
43.5本章小結和工作展望 502
參考文獻 502
第44章用於解線性方程組的GPU框架 505
44.1概述 505
44.2表示 506
44.2.1“單浮點”的表示 506
44.2.2向量 506
44.2.3矩陣 507
44.3運算 509
44.3.1向量運算 509
44.3.2向量縮減 509
44.3.3矩陣與向量的積 510
44.3.4把所有的組合起來 511
44.3.5共軛梯度求解器 511
44.4一個偏微分方程的例子 512
44.5本章小結 515
參考文獻 516
第45章GPU上的期權定價 517
45.1期權概述 517
45.2Black-Scholes模型 518
45.3Lattice模型 521
45.3.1二項模型 521
45.3.2歐式期權定價 522
45.4本章小結 525
參考文獻 526
第46章改進的GPU排序 527
46.1排序算法 527
46.2一種簡單的方法 528
46.3快速排序 529
46.3.1實現奇偶合併排序 529
46.4使用所有的GPU資源 531
46.5本章小結 535
參考文獻 536
第47章複雜邊界的流體模擬 537
47.1簡介 537
47.2LatticeBoltzmann方法 538
47.3基於GPU的LBM 539
47.3.1算法介紹 539
47.3.2數據封裝 540
47.3.3遷移 541
47.4基於GPU的邊界處理 541
47.4.1基於GPU的體素化
方法 542
47.4.2周期性邊界 543
47.4.3流出邊界 544
47.4.4障礙物邊界 544
47.5可視化 545
47.6實驗結果 546
47.7本章小結 547
參考文獻 548
第48章基於FFT的醫學圖像重建 551
48.1背景 551
48.2傅里?侗浠?552
48.2FFT算法 553
48.4在GPU上的實現 553
48.4.1方法1:主要使用片段
處理器 555
48.4.2方法2:使用頂點處理器、
光柵器和片段處理器 556
48.4.3負載平衡 558
48.4.4基準測試結果 558
48.5醫學成像中的FFT 559
48.5.1磁共振成像 559
48.5.2MRI結果 560
48.5.3超音波成像 562
48.6本章小結 564
參考文獻 565

相關詞條

熱門詞條

聯絡我們