第1章 游戏引擎发展概况 1
1.1 何为游戏引擎 1
1.2 世界游戏引擎发展概况 2
1.2.1 引擎的诞生(1992—1993年) 2
1.2.2 引擎的转变(1994—1997年) 3
1.2.3 引擎的革命(1998—2000年) 4
1.2.4 跨世纪的引擎(2001— ) 5
1.3 国内游戏引擎发展概况 6
1.4 游戏引擎的发展趋势 7
第2章 游戏引擎的总体架构设计 8
2.1 游戏引擎的构架 8
2.2 客户端体系结构 10
2.2.1 登录服务器 10
2.2.2 大厅服务器 10
2.2.3 中心服务器 10
2.2.4 数据服务器 11
2.2.5 游戏服务器 11
第3章 三维场景管理模块的设计 12
3.1 场景图 13
3.2 有向包围盒 27
3.3 节点包围球 29
3.4 场景图的渲染 33
第4章 三维渲染管道的设计 35
4.1 渲染器 35
4.2 材质管理 39
4.3 顶点缓冲区和索引缓冲区 42
4.3.1 顶点缓冲区 42
4.3.2 索引缓冲区 46
4.4 静态模型 47
第5章 骨骼动画技术的实现 52
5.1 动作数据格式解析 53
5.1.1 骨架 54
5.1.2 蒙皮骨骼 57
5.1.3 关键帧骨骼动画 58
5.2 骨骼动画的更新 61
5.3 进阶骨骼动画 63
5.4 动画浏览器 65
第6章 粒子特效 66
6.1 粒子系统的设计与实现 66
6.2 关键帧技术及自定义发射器示例 74
6.3 粒子系统编辑器 76
第7章 图形用户界面模块 81
7.1 GUI模块构架 82
7.2 GUI控件 83
7.2.1 文字标签 85
7.2.2 图片框 86
7.2.3 按钮、选择框、组选框 88
7.2.4 滚动条 91
7.2.5 文本编辑框 93
7.2.6 列表框 94
7.2.7 下拉列表框 95
7.3 GUI编辑器 96
第8章 输入模块 102
8.1 关于DirectInput 102
8.2 输入模块的基本框架 104
8.3 鼠标输入 108
8.4 键盘输入 110
8.5 游戏杆输入 111
8.6 输入模块的两个例子 113
第9章 网络模块的设计与实现 115
9.1 Winsock套接字概述 115
9.2 完成端口模型 116
9.3 I/O模型的选择与比较 121
9.4 游戏服务器概述 122
9.5 游戏平台架构分析 123
9.6 服务器模块剖析 124
9.6.1 登录服务模块 124
9.6.2 大厅服务模块 126
9.6.3 中心服务模块 126
9.6.4 数据服务模块 127
9.7 服务器端基础类库分析 127
9.7.1 服务器底层类库需求 127
9.7.2 游戏服务器功能描述 128
9.7.3 后台管理模块 130
9.8 预测与同步技术 130
9.9 Dead Reckoning(DR)算法介绍与应用 131
第10章 音效模块的设计与实现 133
10.1 DirectX对音频的支持 133
10.2 建立DirectSound 136
10.2.1 创建DirectSound对象 137
10.2.2 设置协作级别(Cooperative Level) 137
10.2.3 检索硬件信息 138
10.2.4 扬声器的设置 138
10.2.5 压缩 138
10.2.6 建立缓冲区 139
10.2.7 音乐文件加载 140
10.3 声音的播放与控制 142
10.4 3D音效 143
10.4.1 3D空间、声源、听者 143
10.4.2 最大最小距离 144
10.4.3 处理模式 145
10.4.4 声音的锥效应 145
10.4.5 声源的创建 146
10.4.6 听者的创建 147
10.5 音效模块封装 147
第11章 游戏中的人工智能技术 149
11.1 Game AI的特点 149
11.2 常用Game AI技术 150
11.3 路径规划与移动技术 152
11.4 有限状态机 157
11.5 脚本技术 161
11.6 群聚技术 169
11.7 遗传算法 171
11.8 神经网络 173
附录 176
Ⅰ.数学库 176
Ⅰ.Ⅰ 常用计算函数 176
Ⅰ.Ⅱ 向量—Vector2 178
Ⅰ.Ⅲ 向量—Vector3 179
Ⅰ.Ⅳ 向量—Vector4 182
Ⅰ.Ⅴ 矩阵 183
Ⅰ.Ⅵ 四元数 190
Ⅰ.Ⅶ 射线 192
Ⅰ.Ⅷ 平面 192
Ⅰ.Ⅸ 球 193
Ⅰ.Ⅹ 平截锥体 194
Ⅰ.Ⅺ 相交测试 194
Ⅱ.程序附录 195
参考文献 197