注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當前位置: 首頁出版圖書科學技術工業(yè)技術建筑科學建筑設計深入理解OpenGL\WebGL和OpenGL ES

深入理解OpenGL\WebGL和OpenGL ES

深入理解OpenGL\WebGL和OpenGL ES

定 價:¥199.00

作 者: (美)帕特里克·科齊,克里斯托弗·里奇奧
出版社: 清華大學出版社
叢編項:
標 簽: 暫缺

ISBN: 9787302552253 出版時間: 2020-05-01 包裝:
開本: 16開 頁數(shù): 691 字數(shù):  

內(nèi)容簡介

  《深入理解OpenGL、WebGL和OpenGL ES》詳細闡述了與OpenGL相關的基本解決方案,主要包括渲染技術、混合管線、性能、傳輸、調(diào)試和性能分析、軟件設計等內(nèi)容。此外,《深入理解OpenGL、WebGL和OpenGL ES》還提供了相應的示例,以幫助讀者進一步理解相關方案的實現(xiàn)過程?!渡钊肜斫釵penGL、WebGL和OpenGL ES》適合作為高等院校計算機及相關專業(yè)的教材和教學參考書,也可作為相關開發(fā)人員的自學教材和參考手冊。

作者簡介

暫缺《深入理解OpenGL\WebGL和OpenGL ES》作者簡介

圖書目錄

第1篇 發(fā)現(xiàn)
第1章 基于著色器的OpenGL計算機圖形學課程
1.1 簡介
1.2 基礎課程
1.3 簡單的OpenGL示例
1.4 從可編程管線開始
1.5 新的簡單示例
1.5.1 OpenGL ES和WebGL
1.5.2 第一項作業(yè)
1.6 課程的其余部分
1.6.1 幾何
1.6.2 變換和視圖
1.6.3 照明和著色
1.6.4 紋理和離散處理
1.6.5 高級主題
1.6.6 問題
1.7 小結(jié)
致謝
參考文獻
第2章 過渡到新OpenGL版本
2.1 概述
2.2 命名著色器變量:簡介
2.3 命名著色器變量:詳細信息
2.4 索引頂點緩沖區(qū)對象C++類
2.4.1 使用注意事項
2.4.2 示例代碼
2.4.3 實現(xiàn)說明
2.5 GLSLProgram C++類
2.5.1 使用注意事項
2.5.2 示例代碼
2.5.3 實現(xiàn)說明
2.6 小結(jié)
參考文獻
第3章 適用于OpenGL開發(fā)人員的WebGL
3.1 簡介
3.2 WebGL的優(yōu)勢
3.2.1 零要求
3.2.2 跨平臺
3.2.3 跨設備
3.2.4 易開發(fā)
3.2.5 強大的工具支持
3.2.6 性能
3.3 安全性
3.3.1 跨源請求
3.3.2 上下文丟失
3.4 部署著色器
3.5 關于JavaScript語言
3.5.1 JavaScript類型
3.5.2 動態(tài)類型
3.5.3 函數(shù)范圍
3.5.4 函數(shù)編程
3.5.5 原型對象
3.5.6 this關鍵字
3.5.7 代碼組織
3.5.8 常見錯誤
3.6 資源
參考文獻
第4章 將移動應用程序移植到WebGL
4.1 簡介
4.2 跨平臺的OpenGL
4.3 入門
4.3.1 初始化OpenGL ES上下文
4.3.2 加載著色器
4.3.3 繪制頂點
4.4 加載紋理
4.4.1 分配紋理
4.4.2 處理異步加載
4.5 相機和矩陣
4.5.1 對比float和Float32Array
4.5.2 將矩陣傳遞給著色器
4.6 控制
4.6.1 觸摸事件
4.6.2 在相機和碰撞中使用觸摸事件
4.7 其他考慮因素
4.7.1 動畫
4.7.2 繼承
4.8 維護
4.8.1 調(diào)試
4.8.2 性能分析
4.8.3 性能和采用
4.9 小結(jié)
參考文獻
第5章 GLSL著色器接口
5.1 簡介
5.2 變量和塊
5.2.1 用戶定義的變量和塊
5.2.2 內(nèi)置變量和塊
5.3 位置
5.3.1 定義
5.3.2 計算位置
5.3.3 位置限制
5.4 匹配接口
5.4.1 部分和完全匹配
5.4.2 類型匹配
5.4.3 按名稱和位置匹配
5.4.4 按塊匹配
5.4.5 按結(jié)構(gòu)匹配
5.4.6 鏈接和單獨的程序
5.5 使用語義
5.5.1 編譯器生成的變化的位置和顯式位置
5.5.2 頂點數(shù)組屬性和頂點著色器輸入
5.5.3 片段著色器輸出和幀緩沖區(qū)顏色附加數(shù)據(jù)
5.5.4 變化的輸出和變化的輸入
5.5.5 統(tǒng)一格式緩沖區(qū)和統(tǒng)一格式塊
5.6 僅適用于調(diào)試的應用程序端驗證
5.6.1 頂點輸入驗證
5.6.2 變化的接口驗證
5.6.3 片段輸出驗證
5.6.4 變量驗證
5.6.5 統(tǒng)一格式塊驗證
5.7 小結(jié)
致謝
參考文獻
第6章 曲面細分著色器簡介
6.1 簡介
6.1.1 細分表面
6.1.2 平滑多邊形數(shù)據(jù)
6.1.3 GPU計算
6.1.4 曲線、頭發(fā)和草地
6.1.5 其他用途
6.2 新的著色管道
6.2.1 圖塊的生命
6.2.2 線程模型
6.2.3 輸入和輸出
6.2.4 曲面細分控制著色器
6.2.5 曲面細分評估著色器
6.2.6 使用quads生成圖元
6.2.7 使用triangles生成圖元
6.3 對茶壺進行曲面細分
6.4 等值線和螺旋
6.5 結(jié)合其他OpenGL功能
參考文獻
第7章 GLSL中的程序紋理
7.1 簡介
7.2 簡單函數(shù)
7.3 抗鋸齒
7.4 Perlin噪聲
7.5 Worley噪聲
7.6 動畫
7.7 紋理圖像
7.8 性能
7.9 小結(jié)
參考文獻
第8章 基于OpenGL和OpenGL ES的OpenGL SC仿真
8.1 簡介
8.2 OpenGL SC實現(xiàn)
8.3 設計和實現(xiàn)
8.3.1 總體管線
8.3.2 紋理管線
8.4 結(jié)果
8.5 小結(jié)
參考文獻
第9章 混合圖形和使用多個GPU進行計算
9.1 簡介
9.2 API級別的圖形和計算互操作性
9.2.1 互操作性準備
9.2.2 OpenGL對象交互
9.3 系統(tǒng)級的圖形和計算互操作性
9.4 小結(jié)
參考文獻
第2篇 渲染技術
第10章 GPU曲面細分:地形LOD討論
10.1 簡介
10.2 使用OpenGL GPU曲面細分渲染地形
10.3 動態(tài)LOD的簡單方法
10.4 粗糙度和細節(jié)
10.5 渲染測試
10.5.1 測試設置
10.5.2 評估LOD解決方案的質(zhì)量
10.5.3 性能
10.6 小結(jié)
參考文獻
第11章 使用基于著色器的抗鋸齒體積線
11.1 簡介
11.2 后處理抗鋸齒
11.3 抗鋸齒體積線
11.3.1 使用頂點著色器進行幾何體擠出
11.3.2 使用幾何著色器進行幾何體擠出
11.4 性能
11.5 小結(jié)
參考文獻
第12章 通過距離場渲染2D形狀
12.1 簡介
12.2 方法概述
12.3 更好的距離場算法
12.4 距離紋理
12.5 硬件加速距離變換
12.6 片段渲染
12.7 特效
12.8 性能
12.9 缺點
12.10 小結(jié)
參考文獻
第13章 WebGL中的高效文本渲染
13.1 簡介
13.2 基于畫布的字體渲染
13.2.1 HTML5 Canvas
13.2.2 概念
13.2.3 實現(xiàn)
13.3 位圖字體渲染
13.3.1 概念
13.3.2 創(chuàng)建位圖字體
13.3.3 實現(xiàn)
13.4 對比
13.4.1 性能
13.4.2 內(nèi)存使用情況
13.4.3 開發(fā)難度
13.5 小結(jié)
參考文獻
第14章 分層紋理渲染管線
14.1 簡介
14.1.1 術語
14.1.2 在Blender軟件中的紋理
14.2 分層管線
14.2.1 關于G緩沖區(qū)創(chuàng)建
14.2.2 層解決方案
14.2.3 統(tǒng)一的視差偏移
14.2.4 照明
14.3 實現(xiàn)和結(jié)果
14.3.1 實現(xiàn)
14.3.2 結(jié)果
14.4 小結(jié)
參考文獻
第15章 景深與模糊渲染
15.1 簡介
15.2 景深現(xiàn)象
15.3 相關工作
15.4 算法
15.4.1 概述
15.4.2 模糊圈的計算
15.4.3 散景檢測
15.4.4 基于模糊的景深
15.4.5 散景渲染
15.5 結(jié)果
15.6 討論
15.7 小結(jié)
參考文獻
第16章 陰影代理
16.1 簡介
16.2 對陰影代理的剖析
16.3 設置管線
16.4 啟用ShadowProxy的片段著色器
16.5 調(diào)整陰影體積
16.6 性能
16.7 小結(jié)
參考文獻
第3篇 混合管線
第17章 使用變換反饋的基于物理學的實時變形
17.1 簡介
17.2 硬件支持和變換反饋的演變
17.3 變換反饋的機制
17.4 數(shù)學模型
17.5 實現(xiàn)
17.5.1 使用Verlet積分頂點著色器
17.5.2 注冊屬性以變換反饋
17.5.3 數(shù)組緩沖區(qū)和緩沖區(qū)對象設置
17.5.4 數(shù)據(jù)的動態(tài)修改
17.6 實驗結(jié)果和比較
17.7 小結(jié)
參考文獻
第18章 GPU上的分層深度剔除和包圍盒管理
18.1 簡介
18.2 管線
18.2.1 早期深度通道
18.2.2 深度LOD構(gòu)造
18.2.3 包圍盒更新
18.2.4 分層深度剔除
18.2.5 包圍盒調(diào)試繪圖
18.3 操作順序
18.4 實驗結(jié)果
18.5 小結(jié)
參考文獻
第19章 使用分層渲染的大量陰影
19.1 簡介
19.2 在OpenGL中的傳統(tǒng)陰影貼圖渲染技術
19.3 陰影貼圖生成算法
19.4 性能
19.4.1 使用復雜頂點著色器的性能
19.4.2 視錐體剔除優(yōu)化
19.4.3 背面剔除優(yōu)化
19.5 高級技術
19.6 局限性
19.7 小結(jié)
參考文獻
第20章 高效的分層片段緩沖區(qū)技術
20.1 簡介
20.2 相關工作
20.3 鏈表LFB
20.4 線性化LFB
20.5 性能結(jié)果
20.6 小結(jié)
參考文獻
第21章 可編程頂點拉動
21.1 簡介
21.2 實現(xiàn)
21.3 性能
21.4 應用
21.5 局限性
21.6 小結(jié)
參考文獻
第22章 使用GPU硬件光柵化器進行基于八叉樹的稀疏體素化
22.1 簡介
22.2 以前的工作成果
22.3 關于GLSL中的無限制內(nèi)存訪問
22.4 簡單的體素化管線
22.4.1 保守光柵化
22.4.2 組合體素片段
22.4.3 結(jié)果
22.5 稀疏體素化為八叉樹
22.5.1 八叉樹結(jié)構(gòu)
22.5.2 稀疏體素化概述
22.5.3 使用原子計數(shù)器進行體素-片段列表構(gòu)建
22.5.4 節(jié)點細分
22.5.5 寫入和Mipmap值
22.5.6 使用間接繪圖實現(xiàn)無同步內(nèi)核啟動
22.5.7 結(jié)果與討論
22.6 小結(jié)
致謝
參考文獻
第4篇 性 能
第23章 基于圖塊架構(gòu)的性能調(diào)優(yōu)
23.1 簡介
23.2 背景
23.3 清除和丟棄幀緩沖區(qū)
23.4 增量幀更新
23.5 沖洗
23.6 延遲
23.7 隱藏表面消除
23.8 混合
23.9 多重采樣
23.10 性能分析
23.11 小結(jié)
參考文獻
第24章 探索移動與桌面OpenGL性能
24.1 簡介
24.2 重要的差異和約束
24.2.1 尺寸差異
24.2.2 渲染架構(gòu)差異
24.2.3 內(nèi)存架構(gòu)差異
24.3 減少內(nèi)存帶寬
24.3.1 相對顯示尺寸
24.3.2 幀緩沖區(qū)帶寬
24.3.3 抗鋸齒
24.3.4 紋理帶寬
24.3.5 紋理過濾和帶寬
24.4 減少片段工作負載
24.4.1 過度繪制和混合
24.4.2 全屏效果
24.4.3 屏幕外通道
24.4.4 修剪片段工作
24.5 頂點著色
24.6 小結(jié)
參考文獻
第25章 通過減少對驅(qū)動程序的調(diào)用來提高性能
25.1 簡介
25.2 高效的OpenGL狀態(tài)使用
25.2.1 檢測冗余狀態(tài)修改
25.2.2 有效狀態(tài)修改的一般方法
25.3 批處理和實例化
25.3.1 批處理
25.3.2 關于OpenGL實例化
25.4 小結(jié)
致謝
參考文獻
第26章 索引多個頂點數(shù)組
26.1 簡介
26.2 問題
26.3 算法
26.4 頂點比較方法
26.4.1 關于If/Then/Else版本
26.4.2 關于memcmp()版本
26.4.3 哈希函數(shù)
26.5 性能
26.6 小結(jié)
參考文獻
第27章 NVIDIA Quadro上的多GPU渲染
27.1 簡介
27.2 以前的擴展方法
27.3 指定特定GPU進行渲染
27.4 優(yōu)化GPU之間的數(shù)據(jù)傳輸
27.5 多GPU的應用結(jié)構(gòu)
27.6 并行渲染方法
27.6.1 先排序圖像分解
27.6.2 后排序數(shù)據(jù)分解
27.6.3 立體渲染
27.6.4 服務器端渲染
27.7 小結(jié)
參考文獻
第5篇 傳輸
第28章 異步緩沖區(qū)傳輸
28.1 簡介
28.2 緩沖區(qū)對象
28.2.1 內(nèi)存?zhèn)鬏?br />28.2.2 使用提示
28.2.3 隱式同步
28.2.4 同步原語
28.3 上傳
28.3.1 輪詢(多個緩沖區(qū)對象)
28.3.2 緩沖區(qū)重新指定(孤立)
28.3.3 非同步緩沖區(qū)
28.3.4 關于AMD_pinned_memory擴展
28.4 下載
28.5 復制
28.6 多線程和共享上下文
28.6.1 多線程OpenGL簡介
28.6.2 同步問題
28.6.3 內(nèi)部同步導致的性能損失
28.6.4 關于共享上下文的總結(jié)
28.7 使用方案
28.7.1 方法1:單線程
28.7.2 方法2:兩個線程和一個OpenGL上下文
28.7.3 方法3:兩個線程和兩個OpenGL共享上下文
28.7.4 性能比較
28.8 小結(jié)
參考文獻
第29章 費米異步紋理傳輸
29.1 簡介
29.2 關于OpenGL命令緩沖區(qū)執(zhí)行
29.3 當前紋理傳輸方法
29.3.1 同步紋理傳輸
29.3.2 CPU異步紋理傳輸
29.4 GPU異步紋理傳輸
29.5 實現(xiàn)細節(jié)
29.5.1 多個OpenGL上下文
29.5.2 同步
29.5.3 復制引擎注意事項
29.6 結(jié)果與分析
29.7 小結(jié)
參考文獻
第30章 WebGL模型:端到端
30.1 簡介
30.2 關于3D模型的生命周期
30.2.1 第1階段:管線
30.2.2 第2階段:服務
30.2.3 第3階段:加載
30.2.4 第4階段:渲染
30.3 整體一致性
30.3.1 Delta編碼
30.3.2 Delta編碼分析
30.3.3 ZigZag編碼
30.3.4 Delta+ZigZag編碼分析
30.3.5 壓縮管線
30.4 主要改進
30.4.1 交錯和轉(zhuǎn)置的對比
30.4.2 高水位線預測
30.4.3 性能
30.4.4 未來的工作
30.5 小結(jié)
致謝
參考文獻
第31章 使用實時紋理壓縮進行游戲內(nèi)視頻捕捉
31.1 簡介
31.2 DXT壓縮概述
31.3 DXT壓縮算法
31.4 轉(zhuǎn)換為YUV格式顏色空間
31.5 比較
31.6 對程序內(nèi)容和視頻捕捉使用實時DXT壓縮
31.6.1 使用YUYV-DXT壓縮的視頻捕捉
31.6.2 帶寬因素
31.6.3 視頻流的格式
31.6.4 從GPU下載視頻幀
31.7 小結(jié)
參考文獻
第32章 OpenGL友好幾何文件格式及其Maya導出器
32.1 簡介
32.2 背景知識
32.2.1 目標和特性
32.2.2 現(xiàn)有格式
32.3 關于Drone格式
32.3.1 二進制布局
32.3.2 Drone API
32.3.3 場景API
32.4 編寫Maya文件轉(zhuǎn)換器
32.4.1 Maya SDK基礎知識
32.4.2 編寫轉(zhuǎn)換器
32.4.3 遍歷Maya DAG
32.4.4 導出可供OpenGL使用的網(wǎng)格
32.5 結(jié)果
32.6 小結(jié)
參考文獻
第6篇 調(diào)試和性能分析
第33章 開發(fā)人員的強力臂助:ARB_debug_output
33.1 簡介
33.2 公開擴展
33.3 使用回調(diào)函數(shù)
33.4 通過事件原因排序
33.5 訪問消息日志
33.6 將自定義用戶事件添加到日志中
33.7 控制事件輸出量
33.8 防止對最終版本的影響
33.9 巨頭之間的爭斗:實現(xiàn)策略
33.10 關于調(diào)試的進一步思考
33.11 小結(jié)
參考文獻
第34章 OpenGL計時器查詢
34.1 簡介
34.2 測量OpenGL執(zhí)行時間
34.2.1 關于OpenGL時間
34.2.2 同步計時器查詢
34.2.3 異步計時器查詢
34.2.4 異步時間戳查詢
34.2.5 考慮查詢檢索
34.3 小結(jié)
參考文獻
第35章 實時性能分析工具
35.1 簡介
35.2 范圍和要求
35.3 工具設計
35.3.1 用戶界面
35.3.2 限制和解決方法
35.3.3 應用程序編程接口
35.4 實現(xiàn)
35.4.1 測量CPU上的時間
35.4.2 測量GPU上的時間
35.4.3 數(shù)據(jù)結(jié)構(gòu)
35.4.4 標記管理
35.5 使用性能分析程序
35.5.1 使用級別
35.5.2 確定應測量的內(nèi)容
35.5.3 藝術設計師
35.5.4 局限性
35.6 小結(jié)
參考文獻
第36章 瀏覽器圖形分析和優(yōu)化
36.1 簡介
36.2 發(fā)光效果的階段
36.3 發(fā)光效果的開銷
36.4 分析WebGL應用程序
36.4.1 近乎原生的圖形層引擎
36.4.2 JavaScript性能分析
36.4.3 WebGL Inspector
36.4.4 英特爾圖形性能分析器
36.5 Windows上的分析工作流程
36.6 優(yōu)化發(fā)光效果
36.6.1 較低的渲染目標分辨率
36.6.2 不必要的Mipmap生成
36.6.3 浮點幀緩沖區(qū)
36.7 小結(jié)
參考文獻
第37章 性能狀態(tài)跟蹤
37.1 簡介
37.2 功耗策略
37.3 使用NVAPI進行P狀態(tài)跟蹤
37.3.1 關于GPU利用率
37.3.2 讀取P狀態(tài)
37.4 使用ADL進行P狀態(tài)跟蹤
37.5 小結(jié)
參考文獻
第38章 圖形內(nèi)存使用情況監(jiān)控
38.1 簡介
38.2 圖形內(nèi)存分配
38.3 查詢NVIDIA顯卡的內(nèi)存狀態(tài)
38.4 查詢AMD顯卡的內(nèi)存狀態(tài)
38.5 小結(jié)
參考文獻
第7篇 軟件設計
第39章 ANGLE項目:在Direct3D上實現(xiàn)OpenGL ES 2.
39.1 簡介
39.2 背景
39.3 實現(xiàn)
39.3.1 坐標系
39.3.2 著色器編譯器和鏈接器
39.3.3 頂點和索引緩沖區(qū)
39.3.4 紋理
39.3.5 頂點紋理提取
39.3.6 圖元類型
39.3.7 蒙版清除
39.3.8 單獨的深度和模板緩沖區(qū)
39.3.9 同步
39.3.10 多重采樣
39.3.11 多個上下文和資源共享
39.3.12 上下文丟失
39.3.13 資源限制
39.3.14 優(yōu)化
39.3.15 推薦做法
39.3.16 性能結(jié)果
39.4 未來工作
39.5 小結(jié)
39.6 源代碼
致謝
參考文獻
第40章 SceneJS:基于WebGL的場景圖形引擎
40.1 簡介
40.2 有效抽象WebGL
40.2.1 繪制列表編譯
40.2.2 狀態(tài)排序
40.3 優(yōu)化場景
40.3.1 紋理圖集
40.3.2 VBO共享
40.3.3 可共享的節(jié)點核心
40.4 拾取
40.5 小結(jié)
參考文獻
第41章 SpiderGL中的特性和設計選擇
41.1 簡介
41.2 庫架構(gòu)
41.3 表示3D對象
41.4 直接訪問WebGL對象狀態(tài)
41.4.1 問題
41.4.2 解決方案
41.4.3 使用SGL_current_binding
41.4.4 使用SGL_direct_state_access
41.4.5 缺點
41.5 WebGLObject包裝器
41.6 小結(jié)
致謝
參考文獻
第42章 Web上的多模態(tài)交互式模擬
42.1 簡介
42.2 關于?-SoFMIS模塊的設計和定義
42.3 框架實現(xiàn)
42.3.1 模態(tài)
42.3.2 著色器
42.3.3 文件格式
42.4 渲染模塊
42.5 模擬模塊
42.6 硬件模塊
42.7 案例研究:LAGB模擬器
42.8 小結(jié)
參考文獻
第43章 使用OpenGL和OpenGL ES的子集方法
43.1 簡介
43.2 使陳舊的代碼現(xiàn)代化
43.2.1 立即模式和頂點屬性數(shù)組
43.2.2 圖元選擇
43.2.3 位圖和多邊形點畫
43.3 保持代碼在API變體中的可維護性
43.3.1 頂點和片段處理
43.3.2 GLX和EGL
43.3.3 頂點數(shù)組對象
43.3.4 線框模式
43.3.5 紋理包裝模式
43.3.6 非2的n次冪
43.3.7 圖像格式和類型
43.3.8 圖像布局
43.3.9 著色語言
43.4 特定功能的代碼塊
43.5 小結(jié)
參考文獻
第44章 構(gòu)建跨平臺應用程序
44.1 簡介
44.2 使用實用程序庫
44.2.1 使用GLUT的示例
44.2.2 使用Qt的示例
44.2.3 使用EGL的示例
44.3 與OpenGL版本無關的代碼
44.4 配置空間
44.5 關于Metabuilds和CMake
44.6 關于CMake和配置空間
44.7 關于CMake和平臺細節(jié)
44.7.1 平臺:Windows
44.7.2 平臺:Mac OS X
44.7.3 平臺:iOS
44.8 小結(jié)
參考文獻

本目錄推薦

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