電腦圖形學基礎與應用——基於WebGL

匡平 何明耘 李凡

  • 出版商: 人民郵電
  • 出版日期: 2022-12-01
  • 售價: $359
  • 貴賓價: 9.5$341
  • 語言: 簡體中文
  • 頁數: 223
  • ISBN: 7115602379
  • ISBN-13: 9787115602374
  • 相關分類: WebGLComputer Graphics
  • 立即出貨

  • 電腦圖形學基礎與應用——基於WebGL-preview-1
  • 電腦圖形學基礎與應用——基於WebGL-preview-2
電腦圖形學基礎與應用——基於WebGL-preview-1

買這商品的人也買了...

商品描述

電腦圖形學是研究利用電腦進行圖形繪制的科學,其主要研究內容為利用電腦實現將三維模型投影到平面的方法。本書首先搭建基本的電腦圖形學知識體系,然後在此基礎上,圍繞GPU管線的處理結構分析管線各個階段的實現算法;同時介紹WebGL在編程方面的應用,使讀者不僅能夠掌握圖形應用軟件的編程方法,還能明白電腦圖形學的基本原理。

編者在本書中融入了大量實例的源代碼,可以為讀者應用不同的理論知識進行實踐提供參考。此外,與本書配套的“電腦圖形學實驗”平臺上不僅展示了多個實驗下多位學生的三維交互作品,以供院校師生參考學習,而且支持讀者註冊並使用該平臺,進行代碼上傳與調試及作品展示等,這可以極大程度地提升讀者的實戰技能。

本書可作為高等院校電腦、數字媒體、軟件工程等相關專業的教材,也可供圖形應用領域的技術人員學習使用,還可作為圖形研究人員的參考用書。

作者簡介

匡平:

博士,电子科技大学计算机科学与工程学院副教授,主要从事图像处理、人工智能和模式识别等领域的研究与教学工作,主持国家及省部级科研项目20余项,以第一作者发表SCI/EI论文20 余篇,获四川省科技进步奖三等奖2项(排名第一)、国家发明专利8项,著有《汇编语言程序设计》等教材。

目錄大綱

【章名目錄】

【第 1篇】基礎篇

第 1章 概述 2

第 2章 圖形處理管線 14

第3章 WebGL編程 34

第4章 光柵式圖形系統 62

第5章 變換 81

第6章 三維模型表示 116

第7章 簡單光照模型 149

【第 2篇】應用篇

第8章 WebGL高級應用 161

第9章 全局光照 182

第 10章 實時物理渲染與非真實感繪制 202

【詳細目錄】

第 1篇 基礎篇

第 1章 概述 2

1.1 電腦圖形學相關課程 2

1.2 電腦圖形學的發展 3

1.3 電腦圖形系統 3

1.3.1 光柵掃描顯示 4

1.3.2 圖形處理單元架構 6

1.4 電腦圖形軟件 9

1.4.1 Direct3D和OpenGL概述 9

1.4.2 WebGL概述 10

1.4.3 WebXR概述 11

1.5 本章小結 13

習題 13

第 2章 圖形處理管線 14

2.1 GPU與CPU的區別 14

2.1.1 電腦繪制概述 15

2.1.2 成像原理 15

2.2 固定管線流程 16

2.2.1 處理流程 16

2.2.2 模型表達與繪制 17

2.2.3 管線架構 19

2.3 可編程管線 20

2.3.1 可編程管線的基本概念 20

2.3.2 著色器程序 22

2.3.3 管線中的數據流 23

2.4 buffer編程 25

2.4.1 幀緩存 25

2.4.2 深度緩存 26

2.4.3 模板緩存 27

2.4.4 PBO與FBO 28

2.4.5 紋理buffer 30

2.5 本章小結 32

習題 33

第3章 WebGL編程 34

3.1 搭建開發平臺 34

3.1.1 Three.js簡介 34

3.1.2 Three.js的環境配置 35

3.1.3 搭建Web服務器 35

3.1.4 創建第 一個Three.js實例 36

3.2 JavaScript基礎 37

3.2.1 核心語句和語法 38

3.2.2 對象和數組 40

3.2.3 在網頁中嵌入JavaScript代碼 41

3.2.4 與網頁進行交互 42

3.3 場景搭建 44

3.3.1 畫布設置 44

3.3.2 對象設置 45

3.3.3 相機設置 47

3.3.4 交互設置 48

3.4 坐標系與觀察變換 51

3.4.1 場景坐標系與圖像結果坐標系 51

3.4.2 觀察變換 52

3.5 Three.js基本程序框架 54

3.6 本章小結 60

習題 60

第4章 光柵式圖形系統 62

4.1 線段光柵化 62

4.1.1 Bresenham算法 63

4.1.2 曲線光柵化方法 65

4.2 字符光柵化 66

4.3 反走樣技術 67

4.4 多邊形填充技術 68

4.4.1 內外測試 68

4.4.2 掃描線多邊形填充算法 69

4.4.3 其他填充方法 71

4.5 紋理技術 72

4.5.1 紋理坐標 72

4.5.2 GLSL紋理貼圖 72

4.5.3 紋理上下文 74

4.5.4 過程紋理 74

4.5.5 凹凸貼圖 77

4.6 WebGL實例分析 79

4.7 本章小結 80

習題 80

第5章 變換 81

5.1 數學基礎 81

5.1.1 向量 81

5.1.2 矩陣 83

5.1.3 齊次坐標 85

5.2 二維幾何變換 85

5.2.1 矩陣表達 85

5.2.2 復合變換矩陣的構造 87

5.3 三維幾何變換 90

5.3.1 矩陣表達 90

5.3.2 復合變換矩陣的構造 91

5.3.2 四元數 93

5.4 投影變換 95

5.4.1 平行投影 95

5.4.2 透視投影 98

5.5 裁剪技術 101

5.5.1 線段裁剪 101

5.5.2 多邊形裁剪 105

5.5.3 三維裁剪 107

5.6 實例分析 109

5.6.1 基本概念 109

5.6.2 基本矩陣函數 109

5.6.3 旋轉、平移和縮放 110

5.6.4 繞任意點的旋轉 110

5.6.5 三維模型示例 111

5.7 本章小結 114

習題 114

第6章 三維模型表示 116

6.1 多邊形網格表示 116

6.1.1 基本概念 117

6.1.2 多邊形網格的數據結構 117

6.1.3 三角化算法 122

6.1.4 網格簡化 124

6.2 參數曲面表示 127

6.2.1 Bézier曲線 127

6.2.2 Bézier曲面 131

6.2.3 B樣條曲線 134

6.2.4 B樣條曲面 139

6.3 細分表示 141

6.3.1 四邊形網格細分的Catmull-Clark方法 142

6.3.2 三角形網格細分的Loop方法 142

6.4 其他表示 143

6.4.1 點表示 143

6.4.2 實體表示 144

6.5 實例分析 145

6.6 本章小結 147

習題 147

第7章 簡單光照模型 149

7.1 光反射作用的組成部分 149

7.1.1 環境光 149

7.1.2 漫反射光 150

7.1.3 鏡面反射光 151

7.2 簡單光照模型 152

7.2.1 Phong模型 152

7.2.2 明暗處理方法 153

7.3 實例分析 156

7.4 本章小結 158

習題 158

第 2篇 應用篇

第8章 WebGL高級應用 161

8.1 Shader基礎 161

8.1.1 WebGL高級渲染 161

8.1.2 Shader簡介 162

8.2 Shader程序 169

8.2.1 內置變量與函數 169

8.2.2 示例說明 172

8.2.3 Three.js中的Shader材質 178

8.3 本章小結 181

習題 181

第9章 全局光照 182

9.1 全局光照簡介 182

9.1.1 基本概念 183

9.1.2 環境光遮蔽 185

9.1.3 渲染方程 185

9.2 光線跟蹤算法 187

9.2.1 光線跟蹤算法原理 187

9.2.2 算法核心步驟 188

9.2.3 算法實現細節 190

9.2.4 算法改進 195

9.3 輻射度算法 196

9.3.1 輻射度算法原理 196

9.3.2 輻射度方程 196

9.3.3 求解輻射度方程 197

9.3.4 計算排列因子 198

9.3.5 實現輻射度算法 200

9.4 本章小結 201

習題 201

第 10章 實時物理渲染與非真實感繪制 202

10.1 實時物理渲染 202

10.1.1 PBR技術 202

10.1.2 BRDF模型技術 208

10.1.3 WebGL材質實例分析 213

10.2 非真實感渲染 215

10.2.1 概述 215

10.2.2 分類 216

10.2.3 卡通渲染 217

10.2.4 其他風格的NPR渲染 222

10.3 本章小結 223

習題 223

參考文獻 224