作品简介

本书着重讲解游戏引擎的基础知识和工作原理,并结合配套的游戏引擎示例和详尽的代码,介绍游戏引擎开发的技术细节。

本书是第1卷,主要涉及游戏引擎基础架构。全书共13章,分别介绍游戏引擎原理、引擎和引擎编辑器、底层基础架构、数据结构、数学库、引擎初始化、应用程序架构、对象系统、资源管理、引擎设计的哲学理念、场景管理、静态模型导入和LOD技术。本书未涵盖的游戏引擎话题将在卷2中讲解。

本书适合有一定的游戏开发基础和经验并且想要系统学习游戏引擎原理和引擎开发技术的读者阅读。

程东哲

游戏引擎开发工程师,吉林大学计算机硕士,现就职于腾讯公司,曾先后参与了《逆战》《斗战神》《众神争霸》《无尽之剑——命运XBOXONE》《云游戏》《Lucky Night VR》等项目开发。主要负责游戏引擎工作,包括腾讯内部自研May引擎和AGE引擎、修改和移植Unreal商业引擎。

作品目录

  • 版权信息
  • 内容提要
  • 推荐序
  • 前言
  • 资源与支持
  • 第1章 引擎的纷争
  • 1.1 什么是游戏引擎
  • 1.2 那些年我们认识的引擎
  • 1.3 引擎和游戏
  • 第2章 起航
  • 2.1 游戏编程
  • 2.2 游戏引擎的组成
  • 2.3 游戏引擎编辑器的组成
  • 2.4 数学
  • 2.5 空间变换
  • 2.5.1 坐标系
  • 2.5.2 不同空间的转换
  • 2.6 3D流水线
  • 2.7 OpenGL和DirectX
  • 2.8 汇编指令
  • 2.9 引擎工作流
  • 练习
  • 第3章 基本系统
  • 3.1 熟悉开发环境
  • 3.2 VSSystem工程
  • 3.3 内存管理
  • 3.3.1 处理内存泄露
  • 3.3.2 Unreal Engine 3的内存分配
  • 3.3.3 栈内存管理
  • 3.3.4 整合
  • 3.4 静态类型信息判断
  • 练习
  • 示例
  • 第4章 基本数据结构
  • 4.1 基类VSContainer
  • 4.2 常用数据结构
  • 4.3 其他数据结构
  • 4.4 C++代理/委托
  • 练习
  • 示例
  • 第5章 数学库
  • 5.1 基本数学
  • 5.2 基本数学单元
  • 5.3 基本图形单元
  • 第6章 初始化与销毁
  • 6.1 传统初始化和销毁
  • 6.2 全局内存管理器的初始化和销毁
  • 6.3 非单件类的初始化和销毁
  • 示例
  • 第7章 应用程序框架
  • 7.1 程序框架接口
  • 7.2 输入/输出映射
  • 练习
  • 示例
  • 第8章 对象系统
  • 8.1 智能指针
  • 8.2 RTTI
  • 8.3 VSObject
  • 8.4 属性反射
  • 8.5 序列化存储
  • 8.5.1 传统序列化方式
  • 8.5.2 使用属性表进行序列化存储
  • 8.6 克隆
  • 8.7 属性与UI绑定* 
  • 8.7.1 基本控件
  • 8.7.2 组合控件与属性
  • 8.7.3 属性绑定
  • 8.8 函数反射
  • 8.9 复制属性与函数
  • 8.9.1 对象复制
  • 8.9.2 属性复制
  • 8.9.3 函数复制
  • 8.9.4 小结
  • 8.10 番外篇——Unreal Engine 4中的反射*
  • 练习
  • 示例
  • 第9章 资源管理
  • 9.1 资源类型
  • 9.2 资源代理
  • 9.3 对象系统——资源
  • 9.3.1 资源的组织形式
  • 9.3.2 外部资源管理
  • 9.3.3 字符串管理
  • 9.3.4 内部资源管理
  • 练习
  • 第10章 引擎的设计哲学
  • 10.1 世界抽象
  • 10.2 万物的关系
  • 10.3 引擎层
  • 10.4 世界与引擎
  • 10.5 垃圾回收
  • 10.5.1 智能指针与垃圾回收
  • 10.5.2 基于对象系统
  • 10.5.3 创建可回收的对象
  • 10.5.4 根对象选择
  • 10.5.5 联系查找
  • 10.5.6 垃圾回收的时机
  • 10.5.7 资源的垃圾回收
  • 练习
  • 第11章 场景管理
  • 11.1 根节点与场景
  • 11.2 空间位置的父子关系
  • 11.2.1 变换
  • 11.2.2 包围盒
  • 11.2.3 空间管理结构与更新
  • 11.3 相机与相机裁剪
  • 11.3.1 相机的定义
  • 11.3.2 根据相机裁剪物体
  • 11.4 静态物体与动态物体
  • 11.4.1 采用四叉树管理静态物体
  • 11.4.2 入口算法简介和潜在的可见集合*
  • 11.5 光源
  • 11.5.1 间接光
  • 11.5.2 局部光
  • 11.6 相机和光源的更新管理
  • 11.7 番外篇——浅谈Prez、软硬件遮挡剔除*
  • 练习
  • 示例
  • 第12章 模型与贴图
  • 12.1 法线与切线空间
  • 12.2 引擎中的网格结构
  • 12.2.1 数据缓冲区、顶点、网格
  • 12.2.2 VSGeometry、VSMeshNode、VSMeshComponent
  • 12.2.3 一个完整网格的创建过程
  • 12.3 FBX模型导入与压缩
  • 12.4 纹理
  • 12.5 给模型添加材质
  • 12.6 番外篇——3D模型制作流程*
  • 示例
  • 第13章 LOD
  • 13.1 模型的DLOD
  • 13.2 模型的CLOD
  • 13.3 地形的DLOD
  • 13.4 地形的CLOD
  • 13.5 番外篇——地形编辑* 
  • 13.5.1 基于2D网格的地形系统
  • 13.5.2 基于块和悬崖的地形系统
  • 13.5.3 基于体素的地形系统
  • 练习
  • 示例
展开全部