简介
本书为普通高等教育“十一五”国家级规划教材。
本书着重介绍了计算机游戏程序设计所需的专业领域知识,包括二维图
形图像技术、三维图形学基础、高级图形学编程、计算机动画技术、人工智
能技术、音频处理技术和网络技术等,基本涵盖了计算机游戏编程的各个主
要方面。全书共分11章,取材于国内外的最新资料,强调理论与实践相结合
,通过游戏实例来启发性地说明游戏编程的各种原理和方法。
本书附光盘一张,内容包括:实例源文件、完整演示实例以及配套的电
子课件,这些资料均基于作者封装的开源代码的引擎。
本书所面向的读者对象是那些已掌握基本的程序设计技能,但立志于从
事计算机游戏软件开发的程序员和游戏开发爱好者。既可作为计算机、数字
媒体技术和游戏专业的本科生(研究生)的教材,也可用于游戏学院和各类
游戏编程人员培训班的参考资料,对正在从事游戏开发和制作的相关人员也
具有重要参考价值。
目录
第1章 计算机游戏简介
1.1 什么是游戏
1.2 计算机游戏的发展简史
1.3 计算机游戏的分类
1.4 计算机游戏的开发过程
1.5 中国游戏业的展望
习题1
参考文献
第2章 游戏程序设计概览
2.1 游戏的基本流程和体系结构
2.2 游戏开发的基本理念及方法
2.3 游戏引擎简介
2.4 游戏的调试与测试
2.5 游戏开发的准则和“忠告”
2.6 游戏编程人员的基本素质要求
2.7 小结
习题2
参考文献
第3章 二维游戏的基本编程技术
3.1 二维游戏的基本流程和架构
3.2 图像文件的解析
3.3 地图的创建与显示
3.3.1 固定地图
3.3.2 滚屏地图
3.3.3 多层次地图
3.3.4 菱形地图
3.4 颜色的混合与半透明效果
3.4.1 基本原理和步骤
3.4.2 Alpha融合技术
3.5 精灵动画
3.6 二维游戏世界的模拟
3.6.1 碰撞检测
3.6.2 物体遮挡关系
3.6.3 物体运动模拟
3.7 一个简单的二维潜艇游戏循环实例
3.8 小结
习题3
参考文献
第4章 三维图形学基础
4.1 向量、矩阵及四元数运算
4.1.1 向量运算
4.1.2 矩阵运算
4.1.3 四元数及其运算
4.2 常用的立体几何算法
4.2.1 常用几何体的表达与生成
4.2.2 常用几何体之问的距离与求交
4.2.3 常用几何体的属性计算
4.3 三维场景的表达模型
4.3.1 三角网格模型
4.3.2 三类常用参数曲面
4.4 真实感图形生成
4.4.1 坐标系
4.4.2 图形绘制流程
4.4.3 颜色理论
4.4.4 光照明计算
4.5 游戏画面的刷新与反走样
4.5.1 画面刷新和计时函数
4.5.2 反走样处理
4.6 小结
习题4
参考文献
第5章 三维游戏场景的组织和绘制
5.1 三维场景的组织与管理
5.1.1 基于场景图的表达和管理
5.1.2 基于绘制状态的场景管理
5.1.3 基于景物包围体的场景组织
5.1.4 优化场景绘制的几何剖分技术
5.1.5 景物包围体与场景剖分技术比较
5.2 游戏场景的几何优化
5.2.1 层次细节(LOD)技术
5.2.2 渐进网格和连续多分辨率绘制技术
5.3 三维场景的快速可见性判断与消隐
5.3.1 可见性判断算法分类
5.3.2 基于入口技术的可见性判断
5.3.3 遮挡面剔除技术
5.3.4 潜在可见集(PVS)方法
5.4 地形场景的绘制与漫游
5.5 三维游戏场景中的碰撞检测
5.5.1 碰撞检测的基本原理
5.5.2 基于空间剖分结构的碰撞检测算法
5.5.3 层次包围体树法
5.5.4 基于图像空间的碰撞检测算法
5.6 小结
习题5
参考文献
第6章 游戏中的高级图形技术
6.1 纹理映射
6.1.1 纹理映射的基本原理
6.1.2 凹凸纹理映射
6.1.3 位移映射
6.1.4 环境纹理映射
6.1.5 基于光照映射的快速绘制
6.1.6 高级纹理映射技术总结
6.2 混合式图像和几何绘制
6.2.1 光晕
6.2.2 精灵图元的绘制
6.2.3 Billboard技术
6.2.4 Impostor技术
6.3 过程式建模技术
6.3.1 粒子系统
6.3.2 L系统与植被的模拟
6.3.3 爆炸与火焰
6.3.4 云的过程式纹理生成
6.4 场景光影特效模拟
6.4.1 阴影
6.4.2 雾
6.4.3 运动模糊和域深
6.5 小结
习题6
参考文献
第7章 三维动画的基本编程技术
7.1 三维动画技术概述
7.2 关键帧动画技术
7.2.1 关键帧的指定
7.2.2 中间帧的插值技术
7.3 基于动作捕捉的动画技术
7.3.1 动作捕捉系统简介
7.3.2 动作捕捉数据的文件格式及其解析
7.3.3 动作捕捉数据的编辑与重用
7.4 脚本驱动的动画技术
7.5 小结
习题7
参考文献
第8章 游戏中的音频编程
8.1 声音基础
8.1.1 声音的生成
8.1.2 声音的编码存储
8.1.3 声音的合成
8.2 DirectX Audio编程
8.2.1 DirectX Audio概念
8.2.2 DirectSound的工作原理
8.2.3 DirectSound编程初步
8.2.4 DirectMusic播放MIDI背景音乐
8.3 三维音效生成
8.3.1 听觉理论
8.3.2 环境模拟
8.3.3 DirectSound的三维音效编程
8.4 常见的声音引擎简介
8.5 小结
习题8
参考文献
第9章 游戏中的人机界面技术
9.1 游戏的可玩性与人机界面
9.2 用户界面设计基础
9.2.1 用户界面的色彩设计
9.2.2 用户界面的形式
9.2.3 游戏软件的界面设计
9.2.4 用户界面开发设计原则
9.2.5 用户界面的软件开发过程
9.3 Directlnput编程
9.3.1 Windows系统下的键盘操作
9.3.2 DirectInput键盘编程
9.3.3 Directlnput鼠标编程
9.3.4 DirectInput游戏操纵杆编程
9.4 Wii手柄的运动传感数据获取编程
9.4.1 Wiimote编程接口API说明
9.4.2 基于Wiimote获取运动传感数据的示例代码
9.5 小结
习题9
参考文献
第10章 游戏中的人工智能
10.1 游戏AI简介
10.2 常见的游戏AI技术
10.2.1 有限状态机
10.2.2 脚本语言
10.2.3 模糊逻辑
10.2.4 多智能体技术与人工生命
10.2.5 决策树
10.2.6 人工神经元网络
10.2.7 遗传算法
10.2.8 群体行为的模拟
10.2.9 常见游戏AI的技术特点分析与比较
10.3 跟踪与追逐行为的模拟
10.4 有限状态机和模糊有限状态机的实现
10.4.1 有限状态机的实现
10.4.2 模糊有限状态机的实现
10.5 A*算法和路径寻找技术
10.5.1 搜索技术及A*算法
10.5.2 路径寻找技术
10.6 游戏AI的设计和实现原则
10.7 小结
习题10
参考文献
第11章 网络游戏的基本编程技术
11.1 网络游戏的基本架构
11.2 Winsock编程基础
11.2.1 TCP/UDP简介
l1.2.2 Socket和Winsocket简介
11.2.3 Winsock编程结构
11.2.4 Winsock地址处理
11.2.5 Winsock函数介绍
11.2.6 Winsock综合示例
11.3 网络游戏通信协议
11.3.1 游戏通信协议简介
11.3.2 游戏通信协议结构
11.3.3 协议打包/解包
11.4 小型网络游戏设计与实现
11.5 大型多人网络游戏设计策略
11.5.1 基于推测的数据传输
11.5.2 消息等级化
11.5.3 游戏空间剖分
11.5.4 消息发送策略
11.5.5 集群化服务器
11.6 网络传输的优化
l1.6.1 采用IJDP协议
11.6.2 采用多播技术
11.6.3 使用I/O Completion Port
11.7 小结
习题11
参考文献
附录A OGRE使用说明
附录B 游戏开发的团队项目说明
1.1 什么是游戏
1.2 计算机游戏的发展简史
1.3 计算机游戏的分类
1.4 计算机游戏的开发过程
1.5 中国游戏业的展望
习题1
参考文献
第2章 游戏程序设计概览
2.1 游戏的基本流程和体系结构
2.2 游戏开发的基本理念及方法
2.3 游戏引擎简介
2.4 游戏的调试与测试
2.5 游戏开发的准则和“忠告”
2.6 游戏编程人员的基本素质要求
2.7 小结
习题2
参考文献
第3章 二维游戏的基本编程技术
3.1 二维游戏的基本流程和架构
3.2 图像文件的解析
3.3 地图的创建与显示
3.3.1 固定地图
3.3.2 滚屏地图
3.3.3 多层次地图
3.3.4 菱形地图
3.4 颜色的混合与半透明效果
3.4.1 基本原理和步骤
3.4.2 Alpha融合技术
3.5 精灵动画
3.6 二维游戏世界的模拟
3.6.1 碰撞检测
3.6.2 物体遮挡关系
3.6.3 物体运动模拟
3.7 一个简单的二维潜艇游戏循环实例
3.8 小结
习题3
参考文献
第4章 三维图形学基础
4.1 向量、矩阵及四元数运算
4.1.1 向量运算
4.1.2 矩阵运算
4.1.3 四元数及其运算
4.2 常用的立体几何算法
4.2.1 常用几何体的表达与生成
4.2.2 常用几何体之问的距离与求交
4.2.3 常用几何体的属性计算
4.3 三维场景的表达模型
4.3.1 三角网格模型
4.3.2 三类常用参数曲面
4.4 真实感图形生成
4.4.1 坐标系
4.4.2 图形绘制流程
4.4.3 颜色理论
4.4.4 光照明计算
4.5 游戏画面的刷新与反走样
4.5.1 画面刷新和计时函数
4.5.2 反走样处理
4.6 小结
习题4
参考文献
第5章 三维游戏场景的组织和绘制
5.1 三维场景的组织与管理
5.1.1 基于场景图的表达和管理
5.1.2 基于绘制状态的场景管理
5.1.3 基于景物包围体的场景组织
5.1.4 优化场景绘制的几何剖分技术
5.1.5 景物包围体与场景剖分技术比较
5.2 游戏场景的几何优化
5.2.1 层次细节(LOD)技术
5.2.2 渐进网格和连续多分辨率绘制技术
5.3 三维场景的快速可见性判断与消隐
5.3.1 可见性判断算法分类
5.3.2 基于入口技术的可见性判断
5.3.3 遮挡面剔除技术
5.3.4 潜在可见集(PVS)方法
5.4 地形场景的绘制与漫游
5.5 三维游戏场景中的碰撞检测
5.5.1 碰撞检测的基本原理
5.5.2 基于空间剖分结构的碰撞检测算法
5.5.3 层次包围体树法
5.5.4 基于图像空间的碰撞检测算法
5.6 小结
习题5
参考文献
第6章 游戏中的高级图形技术
6.1 纹理映射
6.1.1 纹理映射的基本原理
6.1.2 凹凸纹理映射
6.1.3 位移映射
6.1.4 环境纹理映射
6.1.5 基于光照映射的快速绘制
6.1.6 高级纹理映射技术总结
6.2 混合式图像和几何绘制
6.2.1 光晕
6.2.2 精灵图元的绘制
6.2.3 Billboard技术
6.2.4 Impostor技术
6.3 过程式建模技术
6.3.1 粒子系统
6.3.2 L系统与植被的模拟
6.3.3 爆炸与火焰
6.3.4 云的过程式纹理生成
6.4 场景光影特效模拟
6.4.1 阴影
6.4.2 雾
6.4.3 运动模糊和域深
6.5 小结
习题6
参考文献
第7章 三维动画的基本编程技术
7.1 三维动画技术概述
7.2 关键帧动画技术
7.2.1 关键帧的指定
7.2.2 中间帧的插值技术
7.3 基于动作捕捉的动画技术
7.3.1 动作捕捉系统简介
7.3.2 动作捕捉数据的文件格式及其解析
7.3.3 动作捕捉数据的编辑与重用
7.4 脚本驱动的动画技术
7.5 小结
习题7
参考文献
第8章 游戏中的音频编程
8.1 声音基础
8.1.1 声音的生成
8.1.2 声音的编码存储
8.1.3 声音的合成
8.2 DirectX Audio编程
8.2.1 DirectX Audio概念
8.2.2 DirectSound的工作原理
8.2.3 DirectSound编程初步
8.2.4 DirectMusic播放MIDI背景音乐
8.3 三维音效生成
8.3.1 听觉理论
8.3.2 环境模拟
8.3.3 DirectSound的三维音效编程
8.4 常见的声音引擎简介
8.5 小结
习题8
参考文献
第9章 游戏中的人机界面技术
9.1 游戏的可玩性与人机界面
9.2 用户界面设计基础
9.2.1 用户界面的色彩设计
9.2.2 用户界面的形式
9.2.3 游戏软件的界面设计
9.2.4 用户界面开发设计原则
9.2.5 用户界面的软件开发过程
9.3 Directlnput编程
9.3.1 Windows系统下的键盘操作
9.3.2 DirectInput键盘编程
9.3.3 Directlnput鼠标编程
9.3.4 DirectInput游戏操纵杆编程
9.4 Wii手柄的运动传感数据获取编程
9.4.1 Wiimote编程接口API说明
9.4.2 基于Wiimote获取运动传感数据的示例代码
9.5 小结
习题9
参考文献
第10章 游戏中的人工智能
10.1 游戏AI简介
10.2 常见的游戏AI技术
10.2.1 有限状态机
10.2.2 脚本语言
10.2.3 模糊逻辑
10.2.4 多智能体技术与人工生命
10.2.5 决策树
10.2.6 人工神经元网络
10.2.7 遗传算法
10.2.8 群体行为的模拟
10.2.9 常见游戏AI的技术特点分析与比较
10.3 跟踪与追逐行为的模拟
10.4 有限状态机和模糊有限状态机的实现
10.4.1 有限状态机的实现
10.4.2 模糊有限状态机的实现
10.5 A*算法和路径寻找技术
10.5.1 搜索技术及A*算法
10.5.2 路径寻找技术
10.6 游戏AI的设计和实现原则
10.7 小结
习题10
参考文献
第11章 网络游戏的基本编程技术
11.1 网络游戏的基本架构
11.2 Winsock编程基础
11.2.1 TCP/UDP简介
l1.2.2 Socket和Winsocket简介
11.2.3 Winsock编程结构
11.2.4 Winsock地址处理
11.2.5 Winsock函数介绍
11.2.6 Winsock综合示例
11.3 网络游戏通信协议
11.3.1 游戏通信协议简介
11.3.2 游戏通信协议结构
11.3.3 协议打包/解包
11.4 小型网络游戏设计与实现
11.5 大型多人网络游戏设计策略
11.5.1 基于推测的数据传输
11.5.2 消息等级化
11.5.3 游戏空间剖分
11.5.4 消息发送策略
11.5.5 集群化服务器
11.6 网络传输的优化
l1.6.1 采用IJDP协议
11.6.2 采用多播技术
11.6.3 使用I/O Completion Port
11.7 小结
习题11
参考文献
附录A OGRE使用说明
附录B 游戏开发的团队项目说明
Computer game programming
光盘服务联系方式: 020-38250260 客服QQ:4006604884
云图客服:
用户发送的提问,这种方式就需要有位在线客服来回答用户的问题,这种 就属于对话式的,问题是这种提问是否需要用户登录才能提问
Video Player
×
Audio Player
×
pdf Player
×
亲爱的云图用户,
光盘内的文件都可以直接点击浏览哦
无需下载,在线查阅资料!