《游戏引擎架构》笔记1:导论
本文是阅读《游戏引擎架构》第一章"导论”进行的归纳和总结。
下面展示了游戏引擎的架构图:

- 目标硬件
- 设备驱动程序
- 操作系统
- 第三方软件开发包和中间件
- 平台独立层(中间接口层)
- 平台检测
- 原子数据模型
- 集合及迭代器
- 文件系统
- 网络传输层(UDP/TCP)
- 高分辨率时钟
- 线程库
- 图形包裹类RHI
- 物理/碰撞包裹类
- 核心系统
- 模块启动及终止
- 断言
- 单元测试
- 内存分配
- 数学库
- 字符串及散列字符串标识符
- 调试用打印及日志
- 本地化服务
- 影片播放器
- 语法分析器(CSV、XML等)
- 性能剖析/统计采集
- 引擎配置(INI文件等)
- 随机数生成器
- 曲线及曲面库
- RTTI/反射/序列化
- 对象句柄/唯一标识符
- 异步文件I/O
- 自定义数据结构及算法
- 资源管理器
- 三维模型资源
- 纹理资源
- 材质资源
- 字体资源
- 骨骼资源
- 碰撞资源
- 物理参数
- 游戏世界/地图
- 其他
- 渲染引擎:参考[1-3]
- 低阶渲染器
- 材质及着色器
- 静态及动态光照
- 摄像机
- 文本及字体
- 几何图元提交
- 视区及虚拟屏幕
- 纹理及表面管理
- 调试绘图(直线等)
- 图形设备接口
- 场景图/剔除优化
- 空间部分(BSP树/八叉树/kd树/包围球树)
- 遮挡及潜在可见集(PVS)
- 细致程度系统
- 视觉效果
- 粒子系统(烟/火/水花)
- 贴花系统(弹孔/脚印)
- 光照贴图(Light mapping)和环境贴图(Environment mapping)
- 动态阴影
- 全屏后期处理效果
- 高动态范围(HDR)色调映射/bloom
- 全屏抗锯齿
- 颜色校正及颜色偏移,包括略过漂白/饱和度/去饱和度等
- PRT光照/次表面散射
- 低阶渲染器
- 前端
- 平视显示器(HUD)
- 游戏内置菜单、主控台、开发工具
- 图形用户界面(GUI)
- 全动视频(FMV)
- 游戏内置电影(IGC)
- 包裹/吸引模式
- 剖析和调试工具
- 录影和回放
- 内存及性能统计:VTune、Quantify.Purify、Bounds Checker
- 游戏内菜单或控制台
- 碰撞和物理
- 动画
- 精灵/纹理动画
- 刚体层次结构动画
- 骨骼动画:动画状态树及层、反向运动学、游戏后期处理、线性插值和加法混合、动画播放、子骨骼动画、动画解压
- 顶点动画
- 变形目标动画
- 布娃娃(ragdoll)
- 人体学接口设备
- 键盘和鼠标
- 游戏手柄
- 其他游戏控制器
- 音频
- DSP/效果
- 三维音频模型
- 音频播放/管理
- 游戏性基本系统
- 游戏世界和游戏对象模型
- 事件系统
- 脚本系统
- 人工智能基础
- 个别游戏专用子系统
- 地形渲染
- 水体渲染
- 玩家状态机及动画
- 游戏摄像机
- 人工智能
- 资产管理
- 三维网格
- 骨骼动画
- 音频
- 粒子系统
- 世界编辑器
- 资源数据库
- 构建工具



[1] James D. Foley. 计算机图形学原理及实践C语言描述
[2] Tomas Akenine-Möller. 实时计算机图形学
[3] Alan Watt. 3D Computer Graphics