2D游戏开发 - SkyGameEngine2d 引擎架构 | 目录结构 | 引擎入口点
SkyGameEngine2d - 探索 简洁 易用 ,一款适合游戏入门学习的2d游戏引擎
项目地址 https://gitee.com/xfcode/SkyGameEngine2d
QQ群号
:498358732
加群链接
:https://jq.qq.com/?_wv=1027&k=5odSA9K
示例游戏视频链接
:https://www.bilibili.com/video/av59147631/
更多文章见
:SkyGameEngine2d 游戏引擎相关文章目录汇总
一、引擎架构
游戏引擎是一个比较复杂的软件系统,按照引擎系统的构成可以初略的划分为以下模块
引擎基于windwos平台,在平台之上使用了 DriectX11
、MIC
库。并且引入了一些第三方的库(Tinyxml2、WICTextureLoader)。
引擎中大量的使用了C++11
的特性以及其标准库,其中最为重要的内存管理机制依赖于C++中的智能指针
。并且引擎在处理回调方面抛弃了过去的函数指针的形式,而是采用更加安全方便的仿函数
。
引擎包含的模块有:
- 资源管理
- 渲染系统
- 节点系统
- UI系统
- 动画系统
- 事件系统
- 音频管理
- 任务调度系统
- 外设输入管理
引擎种各个模块并非完全独立的,有些模块之间存在依赖关系,有些模块仅仅是为了架构清晰而提出的,实际上部分实现已经渗透到引擎的各个模块。接下来简要的说明各个模块的功能。
核心系统是整个引擎各个模块的公共部分,提供了调试、一些便利的工具类和宏以及数学库。其中数据库可以充分利用现代CPU的SIMD特性,更快对各种矢量、矩阵进行运算。
渲染系统与节点系统、UI系统是密切相关的,他们也是引擎的核心所在。渲染系统对下封装了DriectX11的功能,如着色器、纹理、渲染状态等;对