计算机游戏程序设计(提高篇)(第3版)/耿卫东
温馨提示:5折以下图书主要为出版社尾货,大部分为全新(有塑封/无塑封),个别图书品相8-9成新、切口有划线标记、光盘等附件不全详细品相说明>>
- ISBN:9787121319389
- 装帧:一般胶版纸
- 册数:暂无
- 重量:暂无
- 开本:其他
- 页数:360
- 出版时间:2017-04-01
- 条形码:9787121319389 ; 978-7-121-31938-9
本书特色
本书为“十二五”普通高等教育本科*规划教材。 本书着重介绍计算机游戏程序设计所需的专业领域知识,包括二维图形图像技术、三维图形学基础、高级图形学编程、计算机动画技术、人工智能技术、音频处理技术和网络技术、VR/AR游戏开发等,基本涵盖了计算机游戏编程的各个主要方面。全书共12章,取材于国内外的*资料,强调理论与实践相结合,通过游戏实例来启发性地说明游戏编程的各种原理和方法。 本书教学资源包括三部分内容:示例代码、集成示例和绘制引擎(读者可以通过扫描二维码进行下载)。 本书面向的读者对象是那些已掌握基本的程序设计技能,但立志于从事计算机游戏软件开发的程序员和游戏开发爱好者。本书既可作为计算机、数字媒体技术和游戏专业的本科生(研究生)的教材,也可用于游戏学院和各类游戏编程人员培训班的参考资料,对正在从事游戏开发和制作的相关人员也具有重要参考价值。
内容简介
本书为“十二五”普通高等教育本科重量规划教材。 本书着重介绍计算机游戏程序设计所需的专业领域知识,包括二维图形图像技术、三维图形学基础、不错图形学编程、计算机动画技术、人工智能技术、音频处理技术和网络技术、VR/AR游戏开发等,基本涵盖了计算机游戏编程的各个主要方面。全书共12章,取材于靠前外的近期新资料,强调理论与实践相结合,通过游戏实例来启发性地说明游戏编程的各种原理和方法。 本书教学资源包括三部分内容:示例代码、集成示例和绘制引擎(读者可以通过扫描二维码进行下载)。 本书面向的读者对象是那些已掌握基本的程序设计技能,但立志于从事计算机游戏软件开发的程序员和游戏开发爱好者。本书既可作为计算机、数字媒体技术和游戏专业的本科生(研究生)的教材,也可用于游戏学院和各类游戏编程人员培训班的参考资料,对正在从事游戏开发和制作的相关人员也具有重要参考价值。
目录
第1章 三维游戏引擎技术简介 1
1.1 三维游戏的基础架构 1
1.1.1 硬件层 2
1.1.2 基础层(驱动、操作系统及API) 3
1.1.3 游戏引擎 3
1.2 三维游戏引擎发展简史 4
1.3 常用三维游戏引擎 10
1.3.1 虚幻引擎UNREAL 10
1.3.2 CryEngine引擎 11
1.3.3 Unity3D引擎 10
1.3.4 Ogre3D引擎 11
1.3.5 寒霜引擎Frostbite Engine 12
1.3.6 id Tech引擎 13
小结 14
习题1 14
参考文献 15
第2章 三维数学基础 16
2.1 坐标系 16
2.2 向量及其运算 17
2.3 矩阵、变换及其运算 18
2.4 旋转 22
2.4.1 四元数 22
2.4.2 欧拉角 23
2.4.3 旋转变换的不同表达形式之间的转换 24
2.5 常用的立体几何算法 25
2.5.1 常用几何体的表达与生成 26
2.5.2 常用几何体之间的距离与求交 27
2.5.3 常用几何体的属性计算 28
小结 30
习题2 30
参考文献 30
第3章 三维游戏场景的表示和组织 32
3.1 三维场景的表示 32
3.1.1 三角网格模型 33
3.1.2 三维对象参数表示 35
3.1.3 三类常用参数曲面 36
3.2 三维场景的组织和管理 39
3.2.1 基于场景图的表达和管理 40
3.2.2 基于绘制状态的场景管理 44
3.2.3 基于景物包围体的场景组织 45
3.2.4 优化场景绘制的几何剖分技术 46
3.2.5 景物包围体与场景剖分技术比较 48
3.3 三维场景的存储 50
3.3.1 OBJ模型 50
3.3.2 FBX 50
3.3.3 COLLADA 51
3.4 游戏场景的几何优化 52
3.4.1 层次细节技术 52
3.4.2 渐进网格和连续多分辨率绘制技术 53
小结 55
习题3 55
参考文献 55
第4章 高级图形绘制技术 57
4.1 高级纹理映射技术 57
4.1.1 凹凸纹理映射 57
4.1.2 位移映射 61
4.1.3 环境映射 62
4.1.4 基于光照映射的快速绘制 64
4.1.5 高级纹理映射技术总结 67
4.2 基于图像的绘制 68
4.2.1 Billboard技术 68
4.2.2 Impostor技术 71
4.2.3 精灵图元绘制 73
4.3 表面材质绘制 74
4.3.1 基于物理的表面材质模型 75
4.3.2 基于测量的表面材质模型 77
4.3.3 表面材质模型的真实感绘制 77
4.3.4 表面材质模型的快速绘制 79
4.4 图像反走样 83
小结 85
习题4 85
参考文献 86
第5章 三维特效图形绘制 87
5.1 过程式建模和绘制技术 87
5.1.1 粒子系统 87
5.1.2 爆炸与火焰 89
5.1.3 L-系统与植被的模拟 90
5.1.4 云的过程式纹理生成 92
5.2 阴影计算 92
5.2.1 平面投影法 93
5.2.2 阴影体 94
5.2.3 阴影图 99
5.2.4 软影生成 100
5.2.5 Ambient Occlusion 101
5.3 镜头特效模拟 102
5.3.1 透镜光晕 102
5.3.2 运动模糊和域深 104
5.3.3 色调映射 104
5.4 相互辉映计算与全局光照明 107
5.4.1 预计算辐射传输方法 108
5.4.2 基于屏幕空间的相互辉映计算方法 110
小结 111
习题5 111
参考文献 111
第6章 三维碰撞检测与动力学计算 113
6.1 动力学基础 113
6.2 质点动力学 114
6.2.1 力方程 115
6.2.2 动量与速度 116
6.2.3 弹簧质点运动 118
6.3 刚体动力学 119
6.3.1 刚体旋转 120
6.3.2 角速度、角动量、扭矩和旋转惯量 120
6.3.3 力方程与积分 122
6.4 碰撞检测 122
6.4.1 碰撞检测的基本原理 124
6.4.2 求交算法 124
6.4.3 基于空间剖分结构的碰撞检测算法 126
6.4.4 层次包围体树法 130
6.4.5 基于图像空间的碰撞检测算法 135
小结 137
习题6 137
参考文献 137
第7章 角色动画基本编程技术 139
7.1 三维角色动画概述 139
7.2 关键帧动画技术 140
7.2.1 关键帧的指定 141
7.2.2 “蒙皮”模型的变形 143
7.2.3 中间帧的插值技术 144
7.3 基于动作捕捉的动画技术 149
7.3.1 动作捕捉系统简介 150
7.3.2 动作捕捉数据的文件格式及其解析 152
7.3.3 动作捕捉数据的编辑和重用 166
7.3.4 在游戏中的应用 168
7.4 角色动画的压缩 170
7.4.1 基于关键帧提取的压缩 170
7.4.2 基于帧内容的压缩 170
7.5 脚本驱动的动画技术 171
7.5.1 脚本语言的设计及分类 172
7.5.2 脚本语言在游戏中的应用 174
小结 175
习题7 175
参考文献 176
第8章 三维音效编程技术 177
8.1 声音基础 177
8.1.1 声音的表示和存储 177
8.1.2 声音的合成 179
8.2 三维音效生成 179
8.2.1 听觉理论 180
8.2.2 三维音效模拟 180
8.3 基于OpenAL的三维音效实现 182
8.3.1 OpanAL编程概述 182
8.3.2 OpanAL的三维音效编程 184
8.4 基于DirectX Audio的三维音效实现 186
8.4.1 DirectX Audio概述 186
8.4.2 DirectSound编程概述 187
8.4.3 DirectMusic播放MIDI背景音乐 193
8.4.4 DirectSound的三维音效编程 193
8.5 XAudio2编程概述 194
小结 197
习题8 197
参考文献 198
第9章 三维交互编程技术 199
9.1 三维交互开发平台 199
9.2 任天堂Wiimote应用开发 201
9.2.1 Wiimote编程接口API说明 202
9.2.2 基于Wiimote获取运动传感数据的示例代码 204
9.3 移动平台应用开发 205
9.3.1 Unity编程接口API说明 206
9.3.2 Unity使用加速度传感器的示例代码 206
9.4 微软Kinect应用开发 207
9.4.1 Kinect SDK编程接口API说明 209
9.4.2 Kinect获取彩色图像和骨架数据的示例代码 212
9.5 Leap Motion应用开发 214
9.5.1 Leap Motion编程接口API说明 216
9.5.2 Leap Motion获取体感数据的示例代码 218
小结 220
习题9 220
参考文献 220
第10章 AI编程进阶 221
10.1 游戏AI简介 221
10.2 常见的游戏AI技术 223
10.2.1 有限状态机 223
10.2.2 基于脚本语言的行为建模 225
10.2.3 模糊逻辑 225
10.2.4 多智能体技术与人工生命 226
10.2.5 决策树 227
10.2.6 人工神经元网络 228
10.2.7 遗传算法 229
10.2.8 群体行为的模拟 230
10.3 跟踪与追逐行为的模拟 232
10.4 有限状态机和模糊有限状态机的实现 236
10.4.1 有限状态机的实现 236
10.4.2 模糊有限状态机的实现 244
10.5 A*算法和路径寻找技术 249
10.5.1 搜索技术及A*算法 249
10.5.2 路径寻找技术 258
10.6 游戏AI的设计和实现原则 262
10.7 展望 266
小结 268
习题10 269
参考文献 269
第11章 网络游戏编程技术 270
11.1 网络游戏的基本架构 270
11.2 Winsock编程基础 272
11.2.1 TCP/UDP简介 272
11.2.2 Socket和Winsocket简介 273
11.2.3 Winsock编程结构 274
11.2.4 Winsock地址处理 275
11.2.5 Winsock函数介绍 276
11.2.6 Winsock综合示例 281
11.3 网络游戏通信协议 284
11.4 网络游戏多线程编程 285
11.5 小型网络游戏设计与实现 286
11.6 大型多人网络游戏设计策略 288
11.7 网络传输的优化 291
小结 293
习题11 293
参考文献 293
第12章 虚拟现实/增强现实游戏开发 294
12.1 虚拟现实与增强现实概述 294
12.1.1 虚拟现实 294
12.1.2 增强现实 297
12.2 深度感知与三维显示 298
12.2.1 深度感知 298
12.2.2 基于立体眼镜的三维显示 300
12.3 VR游戏开发 301
12.3.1 视角控制 302
12.3.2 三维自然交互 303
12.3.3 性能优化 307
12.4 AR游戏开发 311
12.4.1 AR游戏中的三维注册与实时交互 311
12.4.2 代表性AR游戏 313
小结 316
习题12 316
参考文献 317
附录A 三维图形绘制基础 318
A.1 坐标系概述 318
A.2 颜色空间与模型 319
A.3 图形绘制流程 323
A.3.1 固定流水线 324
A.3.2 定制流水线与Shaders 325
A.4 照相机模型与投影矩阵 326
A.4.1 照相机模型 326
A.4.2 投影矩阵 327
A.5 顶点与几何变换 329
A.6 像素计算 330
A.6.1 像素颜色计算 330
A.6.2 片段剔除 332
A.6.3 反走样 332
A.7 光照明计算 333
A.8 纹理映射 339
A.9 推迟渲染 344
A.10 绘制编程接口 346
参考文献 348
作者简介
耿卫东,男,浙江大学计算机学院教授,计算机应用技术与数字化艺术博士生导师。ACM SIGGRAPH会员,中国图像图形学会计算机动画与数字娱乐专业委员会委员,数码艺术专业委员会委员,中国动画学会会员,杭州国家动漫基地特聘专家。
-
全图解零基础word excel ppt 应用教程
¥15.6¥48.0 -
有限与无限的游戏:一个哲学家眼中的竞技世界
¥37.4¥68.0 -
硅谷之火-人与计算机的未来
¥12.7¥39.8 -
机器学习
¥59.4¥108.0 -
情感计算
¥66.8¥89.0 -
LINUX企业运维实战(REDIS+ZABBIX+NGINX+PROMETHEUS+GRAFANA+LNMP)
¥48.3¥69.0 -
AI虚拟数字人:商业模式+形象创建+视频直播+案例应用
¥62.9¥89.8 -
LINUX实战——从入门到精通
¥48.3¥69.0 -
UNIX环境高级编程(第3版)
¥164.9¥229.0 -
剪映AI
¥52.8¥88.0 -
数据驱动的工业人工智能:建模方法与应用
¥68.3¥99.0 -
深度学习高手笔记 卷2:经典应用
¥90.9¥129.8 -
纹样之美:中国传统经典纹样速查手册
¥76.3¥109.0 -
UG NX 12.0数控编程
¥24.8¥45.0 -
MATLAB计算机视觉与深度学习实战(第2版)
¥90.9¥128.0 -
UN NX 12.0多轴数控编程案例教程
¥24.3¥38.0 -
微机组装与系统维护技术教程(第二版)
¥37.8¥43.0 -
Go 语言运维开发 : Kubernetes 项目实战
¥38.7¥79.0 -
明解C语言:实践篇
¥62.9¥89.8 -
Linux服务器架设实战(Linux典藏大系)
¥84.5¥119.0