注冊(cè) | 登錄讀書(shū)好,好讀書(shū),讀好書(shū)!
讀書(shū)網(wǎng)-DuShu.com
當(dāng)前位置: 首頁(yè)出版圖書(shū)科學(xué)技術(shù)計(jì)算機(jī)/網(wǎng)絡(luò)軟件與程序設(shè)計(jì)程序設(shè)計(jì)綜合OpenGL編程指南(原書(shū)第8版)

OpenGL編程指南(原書(shū)第8版)

OpenGL編程指南(原書(shū)第8版)

定 價(jià):¥129.00

作 者: (美)Dave Shreiner,Graham Sellers,John Kessenich 等著; 王銳 等譯
出版社: 機(jī)械工業(yè)出版社
叢編項(xiàng): 華章程序員書(shū)庫(kù)
標(biāo) 簽: 程序設(shè)計(jì) 計(jì)算機(jī)/網(wǎng)絡(luò)

購(gòu)買(mǎi)這本書(shū)可以去


ISBN: 9787111481133 出版時(shí)間: 2014-10-01 包裝: 平裝
開(kāi)本: 16開(kāi) 頁(yè)數(shù): 668 字?jǐn)?shù):  

內(nèi)容簡(jiǎn)介

  現(xiàn)代OpenGL軟件接口允許開(kāi)發(fā)人員通過(guò)2D和3D對(duì)象、顏色圖像和可編程著色器來(lái)生成高質(zhì)量的計(jì)算機(jī)圖像,以及交互式程序。《OpenGL編程指南(原書(shū)第8版)》針對(duì)OpenGL4.3版本的各種特性進(jìn)行了全新闡述,并提供了有關(guān)OpenGL和OpenGL著色語(yǔ)言的全面介紹。本書(shū)第一次將著色器的技術(shù)與以函數(shù)功能為中心的經(jīng)典技術(shù)介紹相結(jié)合。本書(shū)廣泛使用了大量全新的內(nèi)容和代碼,將最新的OpenGL編程技術(shù)呈現(xiàn)在讀者眼前。本書(shū)清晰地講解了OpenGL的相關(guān)功能與技術(shù),包括幾何對(duì)象頂點(diǎn)的傳遞、細(xì)分,幾何著色器中的幾何變換,通過(guò)片元著色器來(lái)操作像素和紋理貼圖,以及基于幀緩存對(duì)象和計(jì)算著色器的先進(jìn)數(shù)據(jù)操作技術(shù)?!禣penGL編程指南(原書(shū)第8版)》共12章,主要內(nèi)容有:第1章概述OpenGL主要特性和功能;第2章討論OpenGL中最主要的特性——可編程著色器;第3章介紹使用OpenGL進(jìn)行幾何體繪制的各種方法,以及一些可以讓渲染更為高效的優(yōu)化手段;第4章闡釋OpenGL對(duì)于顏色的處理過(guò)程,包括像素的處理、緩存的管理以及像素處理相關(guān)的渲染技術(shù);第5章介紹在一個(gè)二維計(jì)算機(jī)屏幕上表現(xiàn)三維場(chǎng)景的操作細(xì)節(jié);第6章討論將幾何模型與圖像結(jié)合來(lái)創(chuàng)建真實(shí)的、高質(zhì)量的三維模型的方法;第7章介紹計(jì)算機(jī)圖形的光照效果模擬方法;第8章介紹使用可編程著色器生成紋理和其他表面效果的方法細(xì)節(jié);第9章解釋OpenGL管理和細(xì)分幾何表面的著色器功能;第10章介紹在OpenGL渲染流水線(xiàn)中使用著色器進(jìn)行幾何體圖元修改的特別技術(shù);第11章介紹使用OpenGL幀緩存和緩存內(nèi)存實(shí)現(xiàn)高級(jí)渲染技術(shù)和非圖形學(xué)應(yīng)用的相關(guān)方法;第12章介紹了最新的著色器階段,將通用計(jì)算的方法融合到OpenGL的渲染流水線(xiàn)當(dāng)中。本版新增OpenGL特性包括:有關(guān)著色器使用的最佳實(shí)踐和參考代碼,以及整個(gè)著色管線(xiàn)(包括幾何和細(xì)分著色器)的詳細(xì)講解。通過(guò)計(jì)算著色器實(shí)現(xiàn)通用計(jì)算方法與渲染管線(xiàn)的集成。在應(yīng)用程序運(yùn)行時(shí)同時(shí)綁定多個(gè)著色器程序的技術(shù)講解。用來(lái)實(shí)現(xiàn)先進(jìn)著色技術(shù)的最新GLSL特性。針對(duì)圖形程序性能優(yōu)化的最新技術(shù)介紹。

作者簡(jiǎn)介

  Dave Shreiner,ARM公司的圖形與GPU計(jì)算部門(mén)主管,自從OpenGL誕生之日起就積極地參與到它的開(kāi)發(fā)當(dāng)中。他創(chuàng)建了第一個(gè)OpenGL的商業(yè)培訓(xùn)課程,并且擁有超過(guò)20年的OpenGL編程教學(xué)經(jīng)驗(yàn)。Graham Sellers,《OpenGL超級(jí)寶典》的聯(lián)合作者,在A(yíng)MD負(fù)責(zé)OpenGL的軟件開(kāi)發(fā)。他同時(shí)還是很多OpenGL特性規(guī)范的作者,并且協(xié)助將OpenGL ES移植到桌面計(jì)算機(jī)平臺(tái)。John Kessenich,OpenGL著色語(yǔ)言的規(guī)范編者,LunarG公司的顧問(wèn),負(fù)責(zé)GLSL的編譯器技術(shù)。他在3DLabs和Intel幫助下開(kāi)發(fā)了OpenGL 2.0和OpenGL ES 2.0。Bill Licea-Kane,AMD的技術(shù)部門(mén)核心成員,《OpenGL Shading Language Guide》的聯(lián)合作者,OpenGL著色語(yǔ)言技術(shù)子部門(mén)的負(fù)責(zé)人。

圖書(shū)目錄

推薦語(yǔ)
譯者序
前 言
第1章 OpenGL概述 1
1.1 什么是OpenGL 1
1.2 初識(shí)OpenGL程序 2
1.3 OpenGL語(yǔ)法 6
1.4 OpenGL渲染管線(xiàn) 7
1.4.1 準(zhǔn)備向OpenGL傳輸數(shù)據(jù) 8
1.4.2 將數(shù)據(jù)傳輸?shù)絆penGL 8
1.4.3 頂點(diǎn)著色 9
1.4.4 細(xì)分著色 9
1.4.5 幾何著色 9
1.4.6  圖元裝配 9
1.4.7 剪切 9
1.4.8 光柵化 9
1.4.9 片元著色 10
1.4.10 逐片元的操作 10
1.5 第一個(gè)程序:深入分析 10
1.5.1 進(jìn)入main()函數(shù) 10
1.5.2 OpenGL的初始化過(guò)程 12
1.5.3 第一次使用OpenGL進(jìn)行渲染 21
第2章 著色器基礎(chǔ) 25
2.1 著色器與OpenGL 26
2.2 OpenGL的可編程管線(xiàn) 26
2.3 OpenGL著色語(yǔ)言概述 28
2.3.1 使用GLSL構(gòu)建著色器 28
2.3.2 存儲(chǔ)限制符 34
2.3.3 語(yǔ)句 37
2.3.4 計(jì)算的不變性 41
2.3.5 著色器的預(yù)處理器 43
2.3.6 編譯器的控制 45
2.3.7 全局著色器編譯選項(xiàng) 45
2.4 數(shù)據(jù)塊接口 46
2.4.1 uniform塊 46
2.4.2 指定著色器中的uniform塊 47
2.4.3 從應(yīng)用程序中訪(fǎng)問(wèn)uniform塊 48
2.4.4 buffer塊 53
2.4.5 in/out塊 54
2.5 著色器的編譯 54
2.5.1 我們的LoadShaders()函數(shù) 58
2.6 著色器子程序 58
2.6.1 GLSL的子程序設(shè)置 59
2.6.2 選擇著色器子程序 60
2.7 獨(dú)立的著色器對(duì)象 62
第3章 OpenGL繪制方式 64
3.1 OpenGL圖元 64
3.1.1 點(diǎn) 65
3.1.2 線(xiàn)、條帶與循環(huán)線(xiàn) 66
3.1.3 三角形、條帶與扇面 66
3.2 OpenGL緩存數(shù)據(jù) 69
3.2.1 創(chuàng)建與分配緩存 69
3.2.2 向緩存輸入和輸出數(shù)據(jù) 71
3.2.3 訪(fǎng)問(wèn)緩存的內(nèi)容 75
3.2.4 丟棄緩存數(shù)據(jù) 80
3.3 頂點(diǎn)規(guī)范 80
3.3.1 深入討論VertexAttrib-Pointer 81
3.3.2  靜態(tài)頂點(diǎn)屬性的規(guī)范 84
3.4 OpenGL的繪制命令 86
3.4.1 圖元的重啟動(dòng) 92
3.5 多實(shí)例渲染 96
3.5.1 多實(shí)例的頂點(diǎn)屬性 97
3.5.2 在著色器中使用實(shí)例計(jì)數(shù)器 102
3.5.3 多實(shí)例方法的回顧 104
第4章 顏色、像素和幀緩存 105
4.1 基本顏色理論 106
4.2 緩存及其用途 107
4.2.1 緩存的清除 109
4.2.2 緩存的掩碼 110
4.3 顏色與OpenGL 110
4.3.1 顏色的表達(dá)與OpenGL 111
4.3.2 頂點(diǎn)顏色 112
4.3.3 光柵化 114
4.4 多重采樣 115
4.4.1 采樣著色 116
4.5 片元的測(cè)試與操作 117
4.5.1 剪切測(cè)試 118
4.5.2 多重采樣的片元操作 118
4.5.3 模板測(cè)試 119
4.5.4 模板的例子 120
4.5.5 深度測(cè)試 122
4.5.6 融混 124
4.5.7 融混參數(shù) 125
4.5.8 控制融混的參數(shù) 125
4.5.9 融混方程 127
4.5.10 抖動(dòng) 128
4.5.11 邏輯操作 128
4.5.12 遮擋查詢(xún) 129
4.5.13 條件渲染 132
4.6 逐圖元的反走樣 133
4.6.1 線(xiàn)段的反走樣 134
4.6.2 多邊形的反走樣 135
4.7 幀緩存對(duì)象 135
4.7.1 渲染緩存 137
4.7.2 創(chuàng)建渲染緩存的存儲(chǔ)空間 138
4.7.3 幀緩存附件 140
4.7.4 幀緩存的完整性 142
4.7.5 幀緩存的無(wú)效化 144
4.8 多重渲染緩存的同步寫(xiě)入 145
4.8.1 選擇顏色緩存來(lái)進(jìn)行讀寫(xiě)操作 146
4.8.2 雙源融混 148
4.9 像素?cái)?shù)據(jù)的讀取和拷貝 150
4.10 拷貝像素矩形 152
第5章 視口變換、剪切與反饋 153
5.1 觀(guān)察視圖 154
5.1.1 視圖模型 154
5.1.2 相機(jī)模型 154
5.1.3 正交視圖模型 157
5.2 用戶(hù)變換 158
5.2.1 矩陣乘法的回顧 159
5.2.2 齊次坐標(biāo) 161
5.2.3 線(xiàn)性變換與矩陣 163
5.2.4  法線(xiàn)變換 173
5.2.5 OpenGL矩陣 174
5.3 OpenGL變換 177
5.3.1 高級(jí)技巧:用戶(hù)剪切 178
5.4 transform feedback 179
5.4.1 transform feedback對(duì)象 180
5.4.2 transform feedback緩存 181
5.4.3 配置transform feedback的變量 183
5.4.4 transform feedback的啟動(dòng)和停止 187
5.4.5 transform feedback的示例:粒子系統(tǒng) 189
第6章 紋理 195
6.1 紋理映射 196
6.2 基本紋理類(lèi)型 197
6.3 創(chuàng)建和初始化紋理 198
6.3.1 紋理格式 202
6.4 代理紋理 207
6.5 設(shè)置紋理數(shù)據(jù) 208
6.5.1 顯式設(shè)置紋理數(shù)據(jù) 208
6.5.2 使用Pixel Unpack緩存 210
6.5.3 從幀緩存拷貝數(shù)據(jù) 211
6.5.4 從文件加載圖像 212
6.5.5 查詢(xún)紋理數(shù)據(jù) 215
6.5.6 紋理數(shù)據(jù)布局 215
6.6 采樣器對(duì)象 219
6.6.1 采樣器參數(shù) 220
6.7 使用紋理 221
6.7.1 紋理坐標(biāo) 223
6.7.2 組織紋理數(shù)據(jù) 226
6.7.3 使用多重紋理 227
6.8 復(fù)雜紋理類(lèi)型 229
6.8.1 3維紋理 229
6.8.2 數(shù)組紋理 231
6.8.3 立方體映射紋理 231
6.8.4 陰影采樣器 237
6.8.5 深度模板紋理 238
6.8.6 緩存紋理 238
6.9 紋理視圖 240
6.10 壓縮紋理 243
6.11 濾波 245
6.11.1 線(xiàn)性濾波 245
6.11.2 使用和生成mipmap 247
6.11.3 計(jì)算mipmap級(jí)別 251
6.11.4 mipmap細(xì)節(jié)層次控制 252
6.12 高級(jí)紋理查詢(xún)函數(shù) 252
6.12.1 顯式細(xì)節(jié)層次 252
6.12.2 顯式梯度設(shè)置 253
6.12.3 偏移后的紋理獲取 253
6.12.4 投影紋理 254
6.12.5 著色器中的紋理查詢(xún) 254
6.12.6 收集紋素 256
6.12.7 合并特殊函數(shù) 256
6.13 點(diǎn)精靈 257
6.13.1 帶紋理的點(diǎn)精靈 257
6.13.2 控制點(diǎn)的外觀(guān) 259
6.14 渲染到紋理貼圖 260
6.14.1 丟棄已渲染數(shù)據(jù) 263
6.15 本章總結(jié) 264
6.15.1 紋理回顧 264
6.15.2 紋理的最好實(shí)踐 265
第7章 光照與陰影 266
7.1 光照介紹 267
7.2 經(jīng)典光照模型 267
7.2.1 不同光源類(lèi)型的片元著色器 268
7.2.2 將計(jì)算移到頂點(diǎn)著色器 277
7.2.3 多個(gè)光源和材質(zhì) 279
7.2.4 光照坐標(biāo)系統(tǒng) 285
7.2.5 經(jīng)典光照模型的局限 285
7.3 光照模型進(jìn)階 286
7.3.1 半球光照 286
7.3.2 基于圖像的光照 289
7.3.3 球面光照 293
7.4 陰影映射 296
7.4.1 創(chuàng)建一張陰影貼圖 297
7.4.2 使用陰影貼圖 299
第8章 程序式紋理 303
8.1 程序式紋理 303
8.1.1 規(guī)則的花紋 305
8.1.2 玩具球 311
8.1.3 晶格 318
8.1.4 程序式著色方法的總結(jié) 319
8.2 凹凸貼圖映射 319
8.2.1 應(yīng)用程序設(shè)置 321
8.2.2 頂點(diǎn)著色器 323
8.2.3 片元著色器 324
8.2.4 法線(xiàn)貼圖 326
8.3 程序式紋理的反走樣 326
8.3.1 走樣的來(lái)源 327
8.3.2 避免走樣問(wèn)題 328
8.3.3 提高分辨率 329
8.3.4 高頻率的反走樣 330
8.3.5 頻率截?cái)?337
8.3.6 程序式反走樣的總結(jié) 339
8.4 噪聲 339
8.4.1 噪聲的定義 341
8.4.2 噪聲紋理 345
8.4.3 權(quán)衡 348
8.4.4 一個(gè)簡(jiǎn)單的噪聲著色器 349
8.4.5 湍流 351
8.4.6 大理石 353
8.4.7 花崗巖 353
8.4.8 木紋 354
8.4.9 噪聲的總結(jié) 357
8.5 更多信息 357
第9章 細(xì)分著色器 359
9.1 細(xì)分著色器 359
9.2 細(xì)分面片 360
9.3 細(xì)分控制著色器 361
9.3.1 生成輸出面片的頂點(diǎn) 362
9.3.2 細(xì)分控制著色器的變量 362
9.3.3 細(xì)分的控制 363
9.4 細(xì)分計(jì)算著色器 367
9.4.1 設(shè)置圖元生成域 368
9.4.2 設(shè)置生成圖元的面朝向 368
9.4.3 設(shè)置細(xì)分坐標(biāo)的間隔 368
9.4.4 更多的細(xì)分計(jì)算著色器layout選項(xiàng) 368
9.4.5 設(shè)置頂點(diǎn)的位置 369
9.4.6 細(xì)分計(jì)算著色器的變量 369
9.5 細(xì)分實(shí)例:茶壺 370
9.5.1 處理面片輸入頂點(diǎn) 370
9.5.2 計(jì)算茶壺的細(xì)分坐標(biāo) 371
9.6 更多的細(xì)分技術(shù) 373
9.6.1 視口相關(guān)的細(xì)分 373
9.6.2 細(xì)分的共享邊與裂縫 375
9.6.3 置換貼圖映射 376
第10章 幾何著色器 377
10.1 創(chuàng)建幾何著色器 378
10.2 幾何著色器的輸入和輸出 380
10.2.1 幾何著色器的輸入 380
10.2.2 特殊的幾何著色器圖元 383
10.2.3 幾何著色器的輸出 387
10.3 產(chǎn)生圖元 389
10.3.1 幾何體的裁減 389
10.3.2 幾何體的擴(kuò)充 390
10.4 transform feedback高級(jí)篇 394
10.4.1 多重輸出流 395
10.4.2 圖元查詢(xún) 399
10.4.3 使用transform feedback的結(jié)果 400
10.5 幾何著色器的多實(shí)例化 408
10.6 多視口與分層渲染 409
10.6.1 視口索引 409
10.6.2 分層渲染 414
10.7 本章小結(jié) 417
10.7.1 幾何著色器回顧 417
10.7.2 幾何著色器的經(jīng)驗(yàn)談 418
第11章 內(nèi)存 420
11.1 使用紋理存儲(chǔ)通用數(shù)據(jù) 420
11.1.1 將紋理綁定到圖像單元 425
11.1.2 圖像數(shù)據(jù)的讀取和寫(xiě)入 427
11.2 著色器存儲(chǔ)緩存對(duì)象 430
11.2.1 寫(xiě)入結(jié)構(gòu)化數(shù)據(jù) 431
11.3 原子操作和同步 431
11.3.1 圖像的原子操作 431
11.3.2 緩存的原子操作 439
11.3.3 同步對(duì)象 440
11.3.4 圖像限定符和屏障 444
11.3.5 高性能的原子計(jì)數(shù)器 452
11.4 示例 455
11.4.1 順序無(wú)關(guān)的透明 455
第12章 計(jì)算著色器 466
12.1 概述 466
12.2 工作組及其執(zhí)行 467
12.2.1 知道工作組的位置 471
12.3 通信與同步 472
12.3.1 通信 473
12.3.2 同步 474
12.4 示例 475
12.4.1 物理模擬 476
12.4.2 圖像處理 481
12.5 本章總結(jié) 485
12.5.1 計(jì)算著色器回顧 485
12.5.2 計(jì)算著色器的最佳實(shí)踐 485
附錄A GLUT基礎(chǔ)知識(shí) 487
附錄B OpenGL ES與WebGL 493
附錄C 內(nèi)置GLSL變量與函數(shù) 504
附錄D 狀態(tài)變量 552
附錄E 齊次坐標(biāo)與變換矩陣 591
附錄F OpenGL與窗口系統(tǒng) 596
附錄G 紋理、幀緩存與渲染緩存的浮點(diǎn)格式 612
附錄H OpenGL程序的調(diào)試與優(yōu)化 618
附錄I 緩存對(duì)象的布局 632
術(shù)語(yǔ)表 635

本目錄推薦

掃描二維碼
Copyright ? 讀書(shū)網(wǎng) m.ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號(hào) 鄂公網(wǎng)安備 42010302001612號(hào)