当前位置:首页 > 工业技术
计算机图形学导论  实用学习指南  WebGL版
计算机图形学导论  实用学习指南  WebGL版

计算机图形学导论 实用学习指南 WebGL版PDF电子书下载

工业技术

  • 电子书积分:11 积分如何计算积分?
  • 作 者:(意)法比奥·加诺韦利(Fabio Ganovelli)
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2017
  • ISBN:9787121327384
  • 页数:260 页
图书介绍:本书是作者多年来教学与科研工作的总结,采用WebGL图形编程接口循序渐进开发一个赛车游戏的方式对计算机图形学基础知识和真实感渲染的物理原理进行讲解,涵盖了图形学基本概念、WebGL图形编程接口、3D图形表示、几何变换、光栅化、光照和阴影技术、纹理映射等基本的计算机图形学内容,以及粒子系统、光线跟踪、光子跟踪、基于图像的绘制和全局光照等高级内容。并为读者进一步深入学习和研究,在每章里都给出了相关的程序实例。
《计算机图形学导论 实用学习指南 WebGL版》目录

第1章 计算机图形学概述 1

1.1 计算机图形学的应用范围和研究领域 1

1.1.1 应用范围 1

1.1.2 研究领域 2

1.2 颜色和图像 3

1.2.1 人类视觉系统 3

1.2.2 颜色空间 4

1.2.3 光源 9

1.2.4 伽马值 9

1.2.5 图像表示 9

1.3 三维场景的光栅图像生成算法 12

1.3.1 光线跟踪 12

1.3.2 光栅化流水线 14

1.3.3 光线跟踪与光栅化流水线 15

第2章 基本步骤 17

2.1 应用程序接口 17

2.2 WebGL光栅化流水线 18

2.3 渲染流水线算法:初步渲染 20

2.4 WebGL的支持库 29

2.5 NVMC简介 29

2.5.1 架构 30

2.5.2 NVMC类用于描述世界 30

2.5.3 基本客户端 31

2.5.4 代码的组织方式 35

第3章 三维模型表示方式 37

3.1 概述 37

3.1.1 现实世界数字化 37

3.1.2 几何建模 38

3.1.3 过程建模 38

3.1.4 仿真 38

3.2 多边形网格 38

3.2.1 三角形扇和三角形带 39

3.2.2 流形 39

3.2.3 朝向 40

3.2.4 多边形网格的优势和劣势 40

3.3 隐式曲面 41

3.4 参数曲面 42

3.4.1 参数曲线 42

3.4.2 贝塞尔曲线 43

3.4.3 B样条曲线 45

3.4.4 参数曲线扩展为参数曲面 47

3.4.5 贝塞尔曲面 47

3.4.6 NURBS曲面 48

3.4.7 参数曲面的优势和劣势 48

3.5 体素 49

3.5.1 体素渲染 49

3.5.2 体素表示的优势和劣势 50

3.6 构造实体几何 50

3.7 细分曲面 51

3.7.1 Chaikin算法 51

3.7.2 4点算法 52

3.7.3 曲面的细分方法 52

3.7.4 细分方法分类 52

3.7.5 细分模式 53

3.7.6 细分曲面的优势和劣势 55

3.8 多边形网格的数据结构 55

3.8.1 索引数据结构 56

3.8.2 翼边 57

3.8.3 半边 57

3.9 第一个代码:创建和显示简单图元 58

3.9.1 立方体 58

3.9.2 锥体 59

3.9.3 柱体 61

3.10 自测题 63

第4章 几何变换 65

4.1 几何实体 65

4.2 基本几何变换 66

4.2.1 平移 66

4.2.2 缩放 66

4.2.3 旋转 67

4.2.4 用矩阵符号表示变换 67

4.3 仿射变换 69

4.3.1 几何变换组合 69

4.3.2 绕任意点旋转和缩放 70

4.3.3 剪切 71

4.3.4 逆变换和交换律 71

4.4 框架 72

4.4.1 一般框架和仿射变换 73

4.4.2 框架的层次 73

4.4.3 第三维 74

4.5 三维空间中的旋转 75

4.5.1 轴-角旋转 75

4.5.2 欧拉角旋转 77

4.5.3 用四元数旋转 78

4.6 观察变换 79

4.6.1 设置观察参考框架 79

4.6.2 投影 80

4.6.3 视见体 82

4.6.4 从规范化设备坐标到窗口坐标 83

4.6.5 小结 85

4.7 图形绘制流水线中的变换 85

4.8 升级客户端:第一个3D客户端 86

4.8.1 组装树和汽车 87

4.8.2 定位树和汽车 88

4.8.3 观察场景 88

4.9 编码 88

4.10 用矩阵堆栈操作变换矩阵 89

4.11 操纵视图和对象 92

4.11 .1 用键盘和鼠标控制观察 93

4.11 .2 升级客户端:增加摄影师观察 94

4.11 .3 用键盘和鼠标操纵场景:虚拟跟踪球 95

4.12 升级客户端:创建观察者相机 97

4.13 自测题 98

第5章 顶点转化为像素 100

5.1 光栅化 100

5.1.1 直线 100

5.1.2 多边形(三角形) 103

5.1.3 属性插值:质心坐标 105

5.1.4 小结 107

5.2 隐藏面消除 108

5.2.1 深度排序 108

5.2.2 扫描线 109

5.2.3 深度缓存 109

5.2.4 深度缓存精度和深度冲突 110

5.3 从片元到像素 111

5.3.1 丢弃测试 112

5.3.2 融合 112

5.3.3 走样和反走样 113

5.3.4 升级客户端:从驾驶员角度进行观察 114

5.4 裁剪 117

5.4.1 裁剪线段 117

5.4.2 裁剪多边形 119

5.5 剔除 119

5.5.1 背面剔除 119

5.5.2 视见体剔除 120

5.5.3 遮挡剔除 122

第6章 光照和着色 123

6.1 光与物质之间的交互 123

6.2 辐射度量学简介 127

6.3 反射率和双向反射分布函数 129

6.4 绘制方程 131

6.5 评估绘制方程 132

6.6 计算表面法向量 133

6.6.1 折痕角 135

6.6.2 表面法向量变换 136

6.7 光源类型 136

6.7.1 方向光 137

6.7.2 升级客户端:添加太阳光源 138

6.7.3 点光源 141

6.7.4 升级客户端:添加路灯光源 142

6.7.5 聚光灯光源 143

6.7.6 面光源 144

6.7.7 升级客户端:添加汽车的前灯和隧道的指示灯 145

6.8 Phong光照模型 146

6.8.1 概述和动机 146

6.8.2 漫反射光分量 147

6.8.3 镜面反射光分量 147

6.8.4 环境光分量 148

6.8.5 完整模型 148

6.9 着色技术 149

6.9.1 平面着色和Gouraud着色 149

6.9.2 Phong着色 150

6.9.3 升级客户端:使用Phong光照 150

6.10 高级反射模型 151

6.10 .1 Cook-Torrance模型 151

6.10 .2 Oren-Nayar模型 152

6.10 .3 Minnaert模型 153

6.11 自测题 153

第7章 纹理 155

7.1 引言:是否需要纹理映射 155

7.2 基本概念 155

7.3 纹理过滤:从片元纹理坐标到片元颜色 157

7.3.1 纹理放大效应 157

7.3.2 多重映射的纹理缩小效应 158

7.4 透视校正插值:从顶点纹理坐标到片元纹理坐标 160

7.5 升级客户端:为地面、街道和建筑物增加纹理 162

7.6 升级客户端:添加后视镜 165

7.7 纹理坐标生成以及环境映射 167

7.7.1 球体映射 167

7.7.2 立方体映射 169

7.7.3 升级客户端:为视域增加一个天空盒子 169

7.7.4 升级客户端:为赛车增加反射效果 171

7.7.5 投影纹理映射 173

7.8 利用纹理映射为几何模型增加细节 173

7.8.1 位移贴图 173

7.8.2 法线贴图 174

7.8.3 升级客户端:添加沥青 175

7.8.4 切空间法线贴图 176

7.9 网格参数化 178

7.9.1 接缝 179

7.9.2 参数化的质量 180

7.10 三维纹理及其用途 181

7.11 自测题 181

第8章 阴影 182

8.1 阴影现象 182

8.2 阴影贴图 183

8.3 升级客户端程序:增加阴影 185

8.4 阴影贴图的伪影和局限 188

8.4.1 有限的数值精度:表面缺陷 188

8.4.2 有限的阴影图分辨率:走样 190

8.5 阴影体 191

8.5.1 构建阴影体 192

8.5.2 算法 193

8.6 自测题 193

第9章 基于图像的Impostor技术 195

9.1 图像 195

9.2 布告板 196

9.2.1 静态布告板 196

9.2.2 屏幕对齐布告板 197

9.2.3 升级客户端:添加屏幕位置固定小工具 197

9.2.4 升级客户端:添加镜头光斑效果 198

9.2.5 轴对齐布告板 201

9.2.6 动态布告板 204

9.2.7 球形布告板 204

9.2.8 布告板云 204

9.3 光线跟踪Impostor 206

9.4 自测题 207

第1 0章 高级技术 208

10.1 图像处理 208

10.1.1 模糊 209

10.1.2 升级客户端:一个具有景深的更好的摄像机 211

10.1.3 边缘检测 216

10.1.4 升级客户端:卡通渲染 217

10.1.5 升级客户端:一个更好的平移摄像机 219

10.1.6 锐化 223

10.2 环境光遮蔽 223

10.3 延迟着色 226

10.4 粒子系统 227

10.4.1 粒子系统的运动 227

10.4.2 粒子系统的渲染 228

10.5 自测题 228

第11章 全局光照 229

11.1 光线跟踪 229

11.1.1 光线-代数表面相交 230

11.1.2 光线-参数表面相交 231

11.1.3 光线场景相交 231

11.1.4 基于光线跟踪的绘制 238

11.1.5 经典光线跟踪 238

11.1.6 路径跟踪 239

11.2 多通道算法 242

11.2.1 光子跟踪 242

11.2.2 辐射度 243

11.2.3 形状因子 243

11.2.4 通量传输方程和辐射度传输方程 244

11.2.5 辐射度方程组求解 247

附录A NVMC类 250

附录B 向量积的特性 253

参考文献 256

返回顶部