C++ 2D 游戏引擎 Gincu
Gincu 是 C++ 11 编写的轻量级跨平台 2D 游戏引擎和中间件,具有良好结构和扩展性。
支持平台
- Windows:已测试。
- Android:已测试。
- iOS/iPhone/iPad:未测试。
- Mac:未测试。
- Linux:未测试。
开发环境
- C++11 编译器(Visual C++ 2015 or later, or GCC (MingW) 4.8 or later)
- SFML 2.4.1 or later。
- Allegro 5.2 or later。注意,Gincu 只需要一种渲染引擎,SFML 或者 Allegro,不需要两种。
- 我的 cpgf 库。
- CMake 3.6 or later。
- 需要深克隆 clone --recursive。
核心功能和特性
- 多线程OpenGL渲染。
- 多线程任务处理和资源加载。
- 实体组件系统(Entity Component System,ECS)。
- 场景管理。
- 场景过渡效果。
- 基于ECS的场景图(GComponentLocalTransform)。
- 相机系统。
- 锚点和翻转x / y(GComponentAnchor)。
- 精灵动画。
- 基于帧的动画。
- 使用我的cpgf库中的补间模块进行补间动画。
- 底层自动批量绘制( batching draw calls)。
- 有限状态机。
- 事件驱动。
- 内存池和缓存的实体和组件。 兼顾CPU缓存优化。
- 不依赖底层渲染引擎。 我们可以简单地将SFML替换为任何其他引擎甚至3D引擎。
- 使用cpgf进行脚本绑定。目前支持Lua脚本。