OpenGL 超級寶典, 7/e OpenGL Superbible: Comprehensive Tutorial and Reference, 7/e
Graham Sellers
- 出版商: 人民郵電
- 出版日期: 2020-10-01
- 定價: $839
- 售價: 8.5 折 $713
- 語言: 簡體中文
- 頁數: 506
- ISBN: 7115545707
- ISBN-13: 9787115545701
-
相關分類:
OpenGL
- 此書翻譯自: OpenGL Superbible: Comprehensive Tutorial and Reference, 7/e (Paperback)
立即出貨 (庫存 < 4)
買這商品的人也買了...
-
$300$294 -
$350$315 -
$980$774 -
$403游戲設計的 100個原理
-
$66230天自製操作系統【附代碼光盤30天從零開始編寫圖形操作系統】
-
$474$450 -
$505Processing 編程學習指南(原書第2版)
-
$709OpenGL 編程指南, 9/e (OpenGL Programming Guide:the Official Guide to Learning OpenGl Version 4.5 with SPIR-V, 9/e)
-
$500$390 -
$780$702 -
$454持續集成與持續部署實踐
-
$403p5.js 互聯網創意編程
-
$359$341 -
$1,194$1,134 -
$1,015深入理解 OpenGL、WebGL 和 OpenGL ES
-
$480$379 -
$230OpenGL 圖形編程項目實戰
-
$450$405 -
$1,200$948 -
$354$336 -
$455CPU 通識課
-
$779$740 -
$650$507 -
$590$502 -
$539$512
相關主題
商品描述
本書是OpenGL及3D圖形編程的經典入門指南,涵蓋了使用OpenGL進行編程所需要的主要知識。
本書內容分3部分。第一部分介紹經典OpenGL繪圖的基礎知識,涉及管線、數學知識、數據、著色器和程序等;第二部分著重介紹OpenGL的一些高級功能,涉及頂點處理與繪圖命令、基元處理片段處理與幀緩沖、計算著色器、高級數據管理、管線監控等;第三部分介紹一些實戰技巧,涉及渲染技巧、高性能的OpenGL、調試和穩定性等。
本書適合希望系統學習OpenGL的讀者閱讀,經驗豐富的OpenGL程序員也能從中獲益。本書既可以作為學習OpenGL的教材,也可以作為隨時查閱的參考手冊。
作者簡介
格雷厄姆·塞勒斯(Graham Sellers)是AMD的软件架构师和工程研究员,是OpenGL ARB中的AMD代表。他为核心的OpenGL规范和扩展做出了贡献,并拥有多项图形和图像处理专利。
小理查德·赖特(Richard S. Wright, Jr.)是Software Bisque公司的高级软件工程师,他用OpenGL开发了多媒体宇航和天文软件。十多年来,他在美国福赛大学(Full Sail University)的游戏开发学位课程中教授OpenGL编程。
尼古拉斯·海梅尔(Nicholas Haemel)是英伟达公司相机软件部门的主管,曾代表英伟达参加KhronosGroup标准组织,并编写了许多OpenGL扩展。
目錄大綱
第 1章 OpenGL簡介 2
1.1 OpenGL和圖形管線 2
1.2 OpenGL的起源和演化 4
1.3 基元、管線和像素 6
1.4 總結 7
第 2章 我們的第 一個OpenGL程序 8
2.1 創建簡單的應用 8
2.2 使用著色器 10
2.3 繪制我們的第 一個三角形 15
2.4 總結 16
第3章 管線 17
3.1 向頂點著色器傳遞數據 17
3.2 在階段之間傳遞數據 19
3.3 細分曲面 21
3.3.1 細分曲面控制著色器 21
3.3.2 細分曲面引擎 23
3.3.3 細分曲面評估著色器 23
3.4 幾何著色器 24
3.5 基元裝配、裁剪和光柵化 25
3.5.1 裁剪 25
3.5.2 視口轉換 26
3.5.3 剔除 27
3.5.4 光柵化 27
3.6 片段著色器 28
3.7 幀緩存運算 30
3.8 計算著色器 31
3.9 使用OpenGL擴展 32
3.10 總結 35
第4章 3D圖形中的數學 36
4.1 本章是在講令人生畏的數學課嗎 36
4.2 3D圖形數學速成課 37
4.2.1 向量 37
4.2.2 常見向量運算符 39
4.2.3 矩陣 41
4.2.4 矩陣構造和運算符 42
4.3 瞭解轉換 44
4.3.1 OpenGL中的坐標空間 45
4.3.2 坐標轉換 46
4.3.3 連接轉換 52
4.3.4 四元數 52
4.3.5 模型—視圖轉換 53
4.3.6 投影轉換 55
4.4 插值、直線、曲線和樣條 58
4.4.1 曲線 58
4.4.2 樣條 61
4.5 總結 63
第5章 數據 64
5.1 緩沖 64
5.1.1 創建緩沖和分配內存 65
5.1.2 填充以及拷貝數據到緩沖 69
5.1.3 使用緩沖為頂點著色器提供數據 71
5.2 統一變量 77
5.2.1 默認區塊統一變量 77
5.2.2 一致區塊 79
5.2.3 使用統一變量轉換幾何圖形 89
5.3 著色器存儲區塊 93
5.4 原子計數器 97
5.5 紋理 101
5.5.1 創建並初始化紋理 101
5.5.2 紋理目標和類型 102
5.5.3 從著色器中紋理讀取數據 103
5.5.4 從文件載入紋理 106
5.5.5 控制紋理數據的讀取方式 108
5.5.6 數組紋理 116
5.5.7 在著色器中向紋理寫入數據 120
5.5.8 同步存取圖像 128
5.5.9 紋理壓縮 128
5.5.10 紋理視圖 131
5.6 總結 133
第6章 著色器和程序 134
6.1 語言概述 134
6.1.1 數據類型 134
6.1.2 內置函數 139
6.2 編譯、鏈接和檢查程序 143
6.2.1 從編譯程序獲得信息 143
6.2.2 從鏈接程序獲得信息 146
6.2.3 單獨程序 147
6.2.4 著色器子程序 152
6.2.5 程序二進制 155
6.3 總結 157
第二部分 深入探索
第7章 頂點處理與繪圖命令 160
7.1 頂點處理 160
7.1.1 頂點著色器輸入 160
7.1.2 頂點著色器輸出 164
7.2 繪圖命令 165
7.2.1 索引繪圖命令 165
7.2.2 實例化 170
7.2.3 間接繪制 178
7.3 變換頂點的保存 185
7.3.1 使用變換反饋 185
7.3.2 開始、暫停和停止變換反饋 189
7.3.3 用變換反饋結束管線 190
7.3.4 變換反饋示例:實物模擬 190
7.4 裁剪 196
7.5 總結 200
第8章 基元處理 201
8.1 曲面細分 201
8.1.1 曲面細分基元模式 202
8.1.2 曲面細分子分段模式 208
8.1.3 數據在曲面細分著色器之間的傳遞 209
8.1.4 著色器調用通信 211
8.1.5 曲面細分示例:地形渲染 211
8.1.6 曲面細分示例:三次貝塞爾面片 215
8.2 幾何著色器 219
8.2.1 傳遞幾何著色器 219
8.2.2 在應用程序中使用幾何著色器 221
8.2.3 刪除幾何著色器中的幾何 224
8.2.4 修改幾何著色器中的幾何體 226
8.2.5 在幾何著色器中生成幾何體 227
8.2.6 修改幾何著色器中的基元類型 229
8.2.7 多條儲存流 231
8.2.8 通過幾何著色器引入新基元類型 232
8.2.9 多次視口轉換 237
8.3 總結 239
第9章 片段處理與幀緩沖 240
9.1 片段著色器 240
9.2 單片段測試 243
9.2.1 剪裁測試 243
9.2.2 模板測試 245
9.2.3 深度測試 247
9.2.4 早期測試 250
9.3 顏色輸出 251
9.3.1 混合 251
9.3.2 邏輯運算 254
9.3.3 顏色遮罩 255
9.4 離屏渲染 256
9.4.1 多個幀緩沖附件 260
9.4.2 分層渲染 261
9.4.3 幀緩存的完整性 266
9.4.4 立體渲染 268
9.5 反混疊 272
9.5.1 過濾法反混疊 272
9.5.2 多樣本反混疊 274
9.5.3 多樣本紋理 275
9.5.4 採樣率著色 278
9.5.5 重心採樣 280
9.6 高級幀緩沖格式 282
9.6.1 無附件渲染 283
9.6.2 浮點幀緩沖 284
9.6.3 整數幀緩沖 293
9.6.4 sRGB顏色空間 294
9.7 點精靈 296
9.7.1 點紋理化 296
9.7.2 渲染星空 297
9.7.3 點參數 299
9.7.4 有形點 299
9.7.5 旋轉點 301
9.8 獲取圖像 302
9.8.1 從幀緩存中讀取 302
9.8.2 在幀緩沖之間復制數據 304
9.8.3 讀取紋理數據 307
9.9 總結 308
第 10章 計算著色器 309
10.1 使用計算著色器 309
10.1.1 執行計算著色器 310
10.1.2 計算著色器通信 314
10.2 示例 317
10.2.1 計算著色器並行前綴和 317
10.2.2 計算著色器群集 326
10.3 總結 333
第 11章 高級數據管理 334
11.1 取消綁定 334
11.2 稀疏紋理 338
11.3 紋理壓縮 343
11.3.1 RGTC壓縮方法 343
11.3.2 生成壓縮數據 345
11.4 壓縮數據格式 349
11.5 高質量紋理過濾 351
11.6 總結 353
第 12章 管線監控 354
12.1 查詢 354
12.1.1 遮擋查詢 355
12.1.2 定時查詢 362
12.1.3 變換反饋查詢 365
12.1.4 管線狀態查詢 369
12.2 OpenGL同步 370
12.2.1 清空管線 370
12.2.2 同步與柵欄 371
12.3 總結 374
第三部分 實戰演練
第 13章 渲染技巧 376
13.1 光照模型 376
13.1.1 Phong光照模型 376
13.1.2 Blinn-Phong光照 382
13.1.3 邊緣光 384
13.1.4 法線映射 386
13.1.5 環境映射 389
13.1.6 材料性質 396
13.1.7 投射陰影 398
13.1.8 霧化效果 401
13.2 非真實感繪制 404
13.3 替代渲染方法 407
13.3.1 延期著色 407
13.3.2 屏幕空間技術 414
13.3.3 無三角渲染 419
13.4 2D圖像 429
13.4.1 距離場紋理 429
13.4.2 位圖字體 433
13.5 總結 436
第 14章 高性能的OpenGL 437
14.1 優化CPU性能 437
14.1.1 OpenGL中的多線程 437
14.1.2 包緩存 441
14.2 OpenGL中的低開銷操作 448
14.2.1 間接渲染 449
14.2.2 GPU工作生成 452
14.2.3 零拷貝 458
14.3 性能分析工具 463
14.3.1 Windows性能工具包和GPUView 464
14.3.2 GPU PerfStudio 466
14.3.3 調試來使應用運行的更快 468
14.4 總結 480
第 15章 調試和穩定性 481
15.1 調試你的程序 481
15.2 安全性和健壯性 486
15.2.1 圖像重置 486
15.2.2 讀取邊界檢查 488
15.3 總結 489
附錄A 超級寶典工具 490
附錄B SBM文件格式 494
附錄C OpenGL的功能和版本 500