DirectX游戏开发终极指南的目录
第1章DirectX导论
1.1本书概述
1.1.1编写本书的目的
1.1.2读者对象
1.1.3工具和资源
1.2游戏规划
1.2.1项目Stranded概述
1.2.2设计概述
1.2.3引擎设计概述
1.2.4渲染系统
1.2.5输入系统
1.2.6声音系统
1.2.7物理系统
1.2.8动画系统
1.2.9人工智能(AI)系统
1.3DirectX背景
1.3.1DirectGraphics
1.3.2DirectInput
1.3.3DirectPlay
1.3.4DirectMusic
1.3.5DirectSound
1.3.6安装DirectX9.0SDK
1.4手动设置窗口
1.4.1创建和显示Direct3D窗口
1.4.2使用Direct3D绘制图元
1.4.3Direct3D顶点缓存
1.4.4坐标系
1.5演示程序
1.5.1Lines演示程序
1.5.2Triangle演示程序
1.5.3Quad演示程序
1.5.4OrthoMatrix演示程序
1.5.5PerspectiveProjectionMatrix演示程序
1.5.6WorldMatrix演示程序
1.5.7ViewMatrix演示程序
1.5.8深度测试
1.5.9模板源文件
1.5.10使用DirectX框架设置Direct3D
1.6总结
第2章游戏:Stranded
2.1游戏规划导论
2.2游戏规划
2.1.1角色模型
2.1.2菜单和界面
2.1.3环境
2.1.4游戏剧本
2.3引擎规划
2.3.1渲染系统
2.3.2输入系统
2.3.3声音系统
2.3.4人工智能
2.3.5数学库
2.4游戏项目概述
2.4.1游戏项目第1部分
2.4.2游戏项目第2部分
2.4.3游戏项目第3部分
2.4.4游戏项目第4部分
2.4.5游戏项目第5部分
2.4.6游戏项目第6部分
2.4.7游戏项目第7部分
2.4.8游戏项目第8部分
2.4.9游戏项目第9部分
2.4.10游戏项目第10部分
2.4.11游戏项目第11部分
2.4.12游戏项目第12部分
2.5游戏项目第1部分:启动项目
2.5.1游戏源文件
2.5.2引擎源文件和头文件
2.5.3D3DRenderer.cpp
2.6总结
第3章Direct3D光照和物体
3.1Direct3D光照导论
3.1.1光源
3.1.2反射模型
3.1.3光照和绘影技术
3.2使用Direct3D函数创建物体
3.3在Direct3D中创建光照
3.4游戏项目第2部分:增加对硬件光照的支持
3.5总结
第4章纹理
4.1Direct3D中的纹理介绍
4.2创建和使用纹理
4.2.1纹理坐标
4.2.2Mipmap
4.2.3纹理质量
4.2.4Textures演示程序
4.2.5多纹理贴图
4.2.6Multitexture贴图演示程序
4.2.7透明度
4.2.8Transparency演示程序
4.2.9立方体贴图纹理
4.3sprite(子图形)
4.3.1点状sprite
4.3.2PointSprites演示程序
4.4凸凹贴图
4.5保存纹理
4.6幕外渲染
4.7游戏项目第3部分:增加对纹理的支持
4.8总结
第5章Direct3D文本和图形用户界面
5.1在屏幕上显示文本
5.2计算帧率
5.3创建和显示图形用户界面
5.3.1状态显示界面(HUD)
5.3.2GUI演示程序
5.3.3main源文件
5.4游戏项目第4部分:添加文本和GUI支持
5.4.1游戏源文件
5.4.2游戏项目引擎文件
5.5总结
第6章特效
6.1多采样
6.2雾
6.3细节映射
6.4粒子系统
6.5游戏项目第5部分:增加特效
6.6总结
第7章基本脚本系统
7.1脚本介绍
7.2属性脚本系统
7.3命令脚本系统
7.4令牌流
7.5其他类型的脚本系统
7.6游戏项目第6部分:增加对脚本的支持
7.7总结
第8章游戏数学回顾
8.1游戏数学介绍
8.2矢量数学和回顾
8.3矩阵数学
8.3.1矩阵复习
8.3.2Direct3D矩阵
8.4四元组数学
8.5射线数学
8.6平面数学
8.6.1平面复习
8.6.2Direct3D平面
8.7三角形和多边形
8.8物理
8.9游戏项目第7部分:创建数学库
8.10总结
第9章碰撞检测
9.1碰撞介绍
9.2边界框
9.3边界球
9.4平面碰撞
9.5演示程序
9.5.1边界框碰撞
9.5.2球碰撞
9.5.3平面碰撞
9.6游戏项目第8部分:添加碰撞检测
9.7总结
第10章输入检测和响应
10.1使用DirectInput
10.2DirectInput演示程序
10.3游戏项目第9部分:添加输入系统
10.4总结
第11章声音
11.1声音介绍
11.1.1DirectSound
11.1.2DirectMusic
11.2使用DirectMusic和DirectSound
11.3声音演示程序
11.3.1main源文件
11.3.2演示程序的头文件和源文件
11.4游戏项目第10部分:添加声音
11.5总结
第12章模型加载
12.1模型加载介绍
12.2使用X文件445
12.2.1X文件格式介绍
12.2.2Material模板
12.2.3Mesh模板
12.2.4MeshMaterialList模板
12.2.5MeshTextureCoords模板
12.2.6加载和渲染X模型
12.2.7XModelLoading演示程序
12.3使用OBJ文件
12.3.1OBJ文件格式介绍
12.3.2OBJModelLoading演示程序
12.4使用UMF文件
12.4.1UMF文件格式介绍
12.4.2UMF模型加载演示程序
12.5游戏第11部分:加载模型
12.5.1添加模型加载支持
12.5.2加载和渲染等级
12.6总结
第13章模型动画
13.1动画介绍
13.2动画路径
13.2.1直线路径
13.2.2曲线路径
13.2.3圆形路径
13.2.4路线
13.3骨骼动画
13.4X模型动画
13.5游戏项目第12部分:添加对动画的支持功能
13.6总结
第14章场景管理
14.1场景管理介绍
14.2场景管理技术
14.2.1状态管理
14.2.2闭塞物和平截头体选择
14.2.3八叉树和四叉树
14.2.4二叉搜索树
14.2.5可能可见度集合
14.3总结
第15章完成游戏引擎设计
15.1日志系统
15.23D摄像机系统
15.3平截头体选择
15.4游戏项目第13部分:完成引擎设计
15.5总结
第16章开发游戏:Stranded
16.1本章概述
16.2组织游戏资源
16.3加载和显示最终的游戏
16.4摄像机移动和碰撞检测
16.5游戏元素
16.6代理角色
16.7打包
16.8总结
第17章结束语
17.1最后的思考
17.2下一步的工作
附录A推荐的书籍和网站
A.1推荐的书籍
A.1.1游戏和图形编程
A.1.2通用编程
A.1.3人工智能(AI)和数学
A.2推荐的网站
附录BC++入门
B.1C++基础
B.2动态内存和文件输入/输出
B.3结构和类
B.4总结
附录C关于光盘
C.1文件夹
C.2一般系统要求
……