本书分为3个主要部分,从头至尾介绍了整个3D游戏的开发。第一部分重点介绍了使用Direct3D API生成DirectX图形的内容。第二部分重点介绍了游戏数学、碰撞检测、输入检测和游戏声音等内容。第三部分重点介绍了模型加载和3D场景中的动画与场景管理。本书还在附录中介绍了游戏开发的相关书籍和推荐的一些资源。
本书既可作为游戏开发爱好者的入门书籍,也可作为游戏开发人员的培训教材,对那些高级游戏程序员而言,本书也可作为他们的案头参考书。
开发计算机游戏充满了挑战性,需要开发人员具备大量的技能,富有奉献和创新精神。本书向读者介绍了如何将自身的技能与一些基本的C++编程技能结合起来,开发出自己的游戏。本书涵盖了游戏开发过程和方方面面,书中以一个名为Straned的第一人称射击游戏开发过程为主题展开介绍,首先介绍了DirectX 和Direct3D图形学,然后逐章介绍了游戏引擎和完整游戏的开发过程。主要内容涉及到基本的图形学技术、最基本的数学知识、碰撞检测和响应、声音回放、场景管理、动画以及模型/角色的加载和绘制。
一旦读者开发出该游戏,就可以轻松地对其功能进行扩展,并定制该游戏,添加一些特有的功能。如果读者已经具备了基本编程 技能且热爱游戏开发出自己的游戏,那么可以在本书中找到大量所需的素材。
本书适合于想实践游戏开发的学生、游戏编程的初学者以及想要学习游戏开发的C++程序员。
第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.3 DirectX背景
1.3.1 DirectGraphics
1.3.2 DirectInput
1.3.3 DirectPlay
1.3.4 DirectMusic
1.3.5 DirectSound
1.3.6 安装DirectX 9.0 SDK
1.4 手动设置窗口
1.4.1 创建和显示Direct3D窗口
1.4.2 使用Direct3D绘制图元
1.4.3 Direct3D顶点缓存
1.4.4 坐标系
1.5 演示程序
1.5.1 Lines演示程序
1.5.2 Triangle演示程序
1.5.3 Quad演示程序
1.5.4 Ortho Matrix演示程序
1.5.5 Perspective Projection Matrix演示程序
1.5.6 World Matrix演示程序
1.5.7 View Matrix演示程序
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.3 D3DRenderer.cpp
2.6 总结
第3章 Direct3D光照和物体
第4章 纹理
第5章 Direct3D文本和图形用户界面
第6章 特效
第7章 基本脚本系统
第8章 游戏数学回顾
第9章 碰撞检测
第10章 输入检测和响应
第11章 声音
第12章 模型加载
第13章 模型动画
第14章 场景管理
第15章 完成游戏引擎设计
第16章 开发游戏:Stranded
第17章 结束语
附录A 推荐的书籍和网站
附录B C++入门
附录C 关于光盘