内容简介
本书主要介绍如何利用3D固定流水线编写游戏引擎,以及在已编写引擎的基础上开发游戏,全书共分10章,主要内容包括游戏引擎简介、数学知识、材质和光照、固定流水线、游戏引擎架构、3D引擎底层封装、3D引擎封装、游戏设计实现、地图编辑器、3D可编程流水线。本书重点介绍3D固定流水线编程中涉及的矩阵和向量之间的换算,后一章介绍了GPU编程,也就是常说的3D可编程流水线。
笔者简介:姜雪伟个人主页
目录
第1章 游戏引擎简介 (1)
1.1 引擎的原理 (1)
1.2 开发3D引擎具备的条件 (4)
总结 (6)
第2章 数学知识 (8)
2.1 向量 (8)
2.1.1 向量加法及运用 (9)
2.1.2 向量减法及运用 (10)
2.1.3 向量点积及应用 (10)
2.1.4 向量的叉乘及应用 (12)
2.1.5 向量的长度及应用 (13)
2.1.6 向量的归一化及应用 (14)
2.2 矩阵运算 (14)
2.2.1 矩阵加法和减法 (14)
2.2.2 矩阵乘法及运用 (15)
2.3 3D坐标系 (19)
2.4 齐次坐标 (19)
2.5 四元数 (20)
总结 (20)
第3章 材质和光照 (22)
3.1 材质 (22)
3.2 光照 (23)
总结 (26)
第4章 固定流水线 (27)
4.1 局部坐标到世界坐标的变换 (27)
4.2 世界坐标到相机坐标的变换 (29)
4.3 物体剔除 (31)
4.4 相机坐标到透视坐标的变换 (32)
4.5 透视坐标到视口坐标的变换 (33)
4.6 光栅化 (33)
总结 (34)
第5章 游戏引擎架构 (35)
5.1 模块功能细分 (36)
5.2 GDI含义 (36)
5.3 整个引擎渲染思路 (37)
总结 (38)
第6章 3D引擎底层封装 (39)
6.1 自定义结构体 (39)
6.2 矩阵定义 (45)
6.3 通用类定义 (54)
6.4 向量运算 (59)
6.5 灯光 (72)
6.6 视景体 (77)
6.7 矩阵转换 (83)
6.8 图形渲染系统 (89)
6.9 材质 (100)
6.10 坐标系之间的转换 (109)
总结 (158)
第7章 3D引擎封装 (159)
7.1 相机的实现 (160)
7.2 监听事件 (166)
7.3 模型分析 (168)
7.4 模型加载 (169)
7.5 模型操作 (180)
7.6 场景管理 (191)
7.7 绘图接口 (206)
7.8 游戏窗口 (207)
总结 (217)
第8章 游戏设计实现 (218)
8.1 游戏架构 (218)
8.2 坦克设计 (219)
8.3 AI坦克 (230)
8.4 子弹设计 (235)
8.5 玩家控制 (240)
8.6 游戏类封装 (246)
8.7 游戏管理 (253)
8.8 主循环 (276)
总结 (278)
第9章 地图编辑器 (280)
9.1 编辑器实现 (281)
9.2 模型插件实现 (282)
总结 (284)
第10章 3D可编程流水线 (285)
10.1 GPU编程语言 (287)
10.2 灯光的Shader渲染 (287)
10.3 CelShading渲染 (291)
10.4 环境映射 (298)
10.5 Phong着色 (302)
10.6 Bloom渲染 (305)
10.7 PSSM阴影 (314)
总结 (323)