计算机图形学——基于3D图形开发技术
¥59.00定价
作者: JungHyun Han
出版时间:2013-01
出版社:清华大学出版社
- 清华大学出版社
- 9787302301837
- 1-1
- 153487
- 45158316-5
- 平装
- 16开
- 2013-01
- 288
- 工学
- 计算机科学与技术
- TP391.41
- 计算机动画
内容简介
《计算机图形学--基于3D图形开发技术》编著者JungHyun Han。
《计算机图形学——基于3d图形开发技术》详细阐述了与计算机游戏设计相关的基本解决方案及相应的数据结构和法,主要包括游戏模型、顶点处理机制、光栅化操作、片元处理和输出合并、光照着色、参数曲线和表面、着色器模型、图像纹理、凹凸贴图、高级纹理操作、角色动画以及物理模拟等内容。此外,本书还提供了相应代码以及伪代码,以帮助读者进一步理解相关方案的实现过程。
《计算机图形学——基于3d图形开发技术》适合作为高等院校计算机及相关专业的教材,也可作为相关开发人员的自学教材和参考手册。
《计算机图形学——基于3d图形开发技术》详细阐述了与计算机游戏设计相关的基本解决方案及相应的数据结构和法,主要包括游戏模型、顶点处理机制、光栅化操作、片元处理和输出合并、光照着色、参数曲线和表面、着色器模型、图像纹理、凹凸贴图、高级纹理操作、角色动画以及物理模拟等内容。此外,本书还提供了相应代码以及伪代码,以帮助读者进一步理解相关方案的实现过程。
《计算机图形学——基于3d图形开发技术》适合作为高等院校计算机及相关专业的教材,也可作为相关开发人员的自学教材和参考手册。
目录
第1章 游戏模型 1
1.1 游戏制作流程 1
1.2 多边形网格4
1.2.1 创建多边形网格 6
1.2.2 多边形网格的表达方式9
1.2.3 表面法线13
1.3 模型导出和导入 15
1.4 坐标系统 17
本章练习 19
第2章 顶点处理机制 20
2.1 世界转换 21
2.1.1 仿射转换以及齐次坐标21
2.1.2 世界矩阵 24
2.1.3 欧拉转换 28
2.1.4 表面法线的转换29
2.2 视见转换 31
2.2.1 相机空间 31
2.2.2 空间转换和视见矩阵32
2.3 逐顶点光照37
2.4 投影转换38
2.4.1 视见体38
2.4.2 投影矩阵 40
2.4.3 投影矩阵的推导过程 44
本章练习 47
第3章 光栅化操作 49
3.1 剪裁操作49
3.2 透视除法50
3.3 背面剔除操作 51
3.4 再访坐标系统 55
3.4.1 3ds max至opengl——翻转坐标轴55
3.4.2 opengl至direct3d——反射57
3.4.3 opengl至direct3d——顶点重排列 61
3.5 视口转换62
3.6 扫描转换65
3.7 应用:对象拾取操作 70
3.7.1 计算世界空间中的光线70
3.7.2 光线-对象相交测试 76
本章练习 82
第4章 片元处理和输出合并 83
4.1 纹理操作83
4.1.1 纹理坐标84
4.1.2 表面参数化操作86
4.1.3 纹理坐标与纹素地址87
4.2 输出合并89
4.2.1 z缓冲区机制 89
4.2.2 alpha混合 91
4.3 z剔除操作93
4.3.1 单元(tile)剔除 93
4.3.2 预写z值96
本章练习 96
第5章 光照和着色 98
5.1 phong光照模型 98
5.1.1 漫反射99
5.1.2 镜面反射101
5.1.3 环境反射103
5.1.4 发射光104
5.2 着色和着色语言104
5.2.1 顶点和片元着色器 104
5.2.2 高级着色语言 105
5.3 管线中的光照机制107
5.3.1 hlsl中的逐顶点光照机制 107
5.3.2 逐顶点光照与逐片元光照109
5.3.3 hlsl中的逐片元光照 111
5.4 全局光照 113
5.4.1 光线跟踪113
5.4.2 辐射度117
本章练习119
第6章 参数曲线和表面121
6.1 参数曲线 121
6.1.1 bezier曲线121
6.1.2 hermite曲线和catmull-rom样条 126
6.2 应用:相机路径 127
6.3 bezier表面130
6.3.1 双线性面片130
6.3.2 双二次bezier面片 134
6.3.3 双三次bezier面片138
6.3.4 bezier三角形140
本章练习144
第7章 着色器模型 146
7.1 着色器模型4和几何体着色器 146
7.2 应用:动态粒子系统 147
7.2.1 粒子的物理模拟148
7.2.2 焰火模拟150
7.2.3 渲染焰火153
7.3 着色器模型5和拼接操作 155
7.4 应用:pn三角形156
7.4.1 计算控制点157
7.4.2 计算控制法线160
7.4.3 pn三角形拼接操作 163
本章练习165
第8章 图像纹理 166
8.1 纹理寻址模式166
8.2 纹理过滤机制 168
8.2.1 放大操作169
8.2.2 缩小操作170
8.3 纹理链171
8.3.1 纹理链的构建过程172
8.3.2 纹理链过滤机制173
8.3.3 纹理链过滤的选取方案175
8.4 各向异性过滤机制 179
本章练习184
第9章 凹凸贴图 186
9.1 高度场 187
9.2 法线贴图原理 188
9.2.1 法线贴图188
9.2.2 法线贴图算法190
9.3 切空间法线贴图 194
9.3.1 切空间法线贴图算法 194
9.3.2 切空间计算198
9.4 法线贴图应用 200
9.5 视差贴图203
9.6 偏置贴图206
本章练习210
第10章 高级纹理操作 211
10.1 环境贴图 211
10.1.1 立方体贴图211
10.1.2 立方体贴图访问机制 214
10.1.3 动态立方体贴图216
10.2 光照贴图 217
10.2.1 漫反射光照贴图217
10.2.2 辐射度法线贴图 218
10.3 阴影贴图 222
10.3.1 阴影贴图算法224
10.3.2 基于阴影贴图的着色器代码228
10.3.3 阴影贴图过滤机制231
10.4 环境遮挡 234
10.5 延迟着色 238
本章练习240
第11章 角色动画 241
11.1 关键帧动画 241
11.2 旋转 244
11.2.1 欧拉角插值244
11.2.2 四元数表达方式245
11.2.3 基于四元数的旋转246
11.2.4 四元数插值250
11.3 层次结构建模以及空间变换 252
11.3.1 层次结构模型252
11.3.2 骨骼间的空间变换256
11.3.3 世界空间至骨骼空间的转换258
11.4 前向运动学 260
11.5 蒙皮和关键帧动画 263
11.5.1 蒙皮263
11.5.2 关键帧动画中的蒙皮265
11.6 逆向运动学 268
11.6.1 解析法269
11.6.2 循环坐标下降法270
本章练习272
第12章 物理模拟 274
12.1 惩罚方案 274
12.2 冲量方案 276
12.2.1 冲量277
12.2.2 基于冲量的碰撞求解方案278
12.3 碰撞检测 282
12.3.1 色围体及其层次结构283
12.3.2 三角形-三角形相交测试 286
本章练习288
参考文献289
1.1 游戏制作流程 1
1.2 多边形网格4
1.2.1 创建多边形网格 6
1.2.2 多边形网格的表达方式9
1.2.3 表面法线13
1.3 模型导出和导入 15
1.4 坐标系统 17
本章练习 19
第2章 顶点处理机制 20
2.1 世界转换 21
2.1.1 仿射转换以及齐次坐标21
2.1.2 世界矩阵 24
2.1.3 欧拉转换 28
2.1.4 表面法线的转换29
2.2 视见转换 31
2.2.1 相机空间 31
2.2.2 空间转换和视见矩阵32
2.3 逐顶点光照37
2.4 投影转换38
2.4.1 视见体38
2.4.2 投影矩阵 40
2.4.3 投影矩阵的推导过程 44
本章练习 47
第3章 光栅化操作 49
3.1 剪裁操作49
3.2 透视除法50
3.3 背面剔除操作 51
3.4 再访坐标系统 55
3.4.1 3ds max至opengl——翻转坐标轴55
3.4.2 opengl至direct3d——反射57
3.4.3 opengl至direct3d——顶点重排列 61
3.5 视口转换62
3.6 扫描转换65
3.7 应用:对象拾取操作 70
3.7.1 计算世界空间中的光线70
3.7.2 光线-对象相交测试 76
本章练习 82
第4章 片元处理和输出合并 83
4.1 纹理操作83
4.1.1 纹理坐标84
4.1.2 表面参数化操作86
4.1.3 纹理坐标与纹素地址87
4.2 输出合并89
4.2.1 z缓冲区机制 89
4.2.2 alpha混合 91
4.3 z剔除操作93
4.3.1 单元(tile)剔除 93
4.3.2 预写z值96
本章练习 96
第5章 光照和着色 98
5.1 phong光照模型 98
5.1.1 漫反射99
5.1.2 镜面反射101
5.1.3 环境反射103
5.1.4 发射光104
5.2 着色和着色语言104
5.2.1 顶点和片元着色器 104
5.2.2 高级着色语言 105
5.3 管线中的光照机制107
5.3.1 hlsl中的逐顶点光照机制 107
5.3.2 逐顶点光照与逐片元光照109
5.3.3 hlsl中的逐片元光照 111
5.4 全局光照 113
5.4.1 光线跟踪113
5.4.2 辐射度117
本章练习119
第6章 参数曲线和表面121
6.1 参数曲线 121
6.1.1 bezier曲线121
6.1.2 hermite曲线和catmull-rom样条 126
6.2 应用:相机路径 127
6.3 bezier表面130
6.3.1 双线性面片130
6.3.2 双二次bezier面片 134
6.3.3 双三次bezier面片138
6.3.4 bezier三角形140
本章练习144
第7章 着色器模型 146
7.1 着色器模型4和几何体着色器 146
7.2 应用:动态粒子系统 147
7.2.1 粒子的物理模拟148
7.2.2 焰火模拟150
7.2.3 渲染焰火153
7.3 着色器模型5和拼接操作 155
7.4 应用:pn三角形156
7.4.1 计算控制点157
7.4.2 计算控制法线160
7.4.3 pn三角形拼接操作 163
本章练习165
第8章 图像纹理 166
8.1 纹理寻址模式166
8.2 纹理过滤机制 168
8.2.1 放大操作169
8.2.2 缩小操作170
8.3 纹理链171
8.3.1 纹理链的构建过程172
8.3.2 纹理链过滤机制173
8.3.3 纹理链过滤的选取方案175
8.4 各向异性过滤机制 179
本章练习184
第9章 凹凸贴图 186
9.1 高度场 187
9.2 法线贴图原理 188
9.2.1 法线贴图188
9.2.2 法线贴图算法190
9.3 切空间法线贴图 194
9.3.1 切空间法线贴图算法 194
9.3.2 切空间计算198
9.4 法线贴图应用 200
9.5 视差贴图203
9.6 偏置贴图206
本章练习210
第10章 高级纹理操作 211
10.1 环境贴图 211
10.1.1 立方体贴图211
10.1.2 立方体贴图访问机制 214
10.1.3 动态立方体贴图216
10.2 光照贴图 217
10.2.1 漫反射光照贴图217
10.2.2 辐射度法线贴图 218
10.3 阴影贴图 222
10.3.1 阴影贴图算法224
10.3.2 基于阴影贴图的着色器代码228
10.3.3 阴影贴图过滤机制231
10.4 环境遮挡 234
10.5 延迟着色 238
本章练习240
第11章 角色动画 241
11.1 关键帧动画 241
11.2 旋转 244
11.2.1 欧拉角插值244
11.2.2 四元数表达方式245
11.2.3 基于四元数的旋转246
11.2.4 四元数插值250
11.3 层次结构建模以及空间变换 252
11.3.1 层次结构模型252
11.3.2 骨骼间的空间变换256
11.3.3 世界空间至骨骼空间的转换258
11.4 前向运动学 260
11.5 蒙皮和关键帧动画 263
11.5.1 蒙皮263
11.5.2 关键帧动画中的蒙皮265
11.6 逆向运动学 268
11.6.1 解析法269
11.6.2 循环坐标下降法270
本章练习272
第12章 物理模拟 274
12.1 惩罚方案 274
12.2 冲量方案 276
12.2.1 冲量277
12.2.2 基于冲量的碰撞求解方案278
12.3 碰撞检测 282
12.3.1 色围体及其层次结构283
12.3.2 三角形-三角形相交测试 286
本章练习288
参考文献289