Skip to content

YINGHAIDADA/CraftNow

Repository files navigation

CraftNow


Views

CraftNow 是一个中文开源游戏引擎,基于C++和OpenGL,使用GLSL着色器语言,并计划支持Vulcan等其他渲染API。 受到 Cherno 的启发,为了学习C++和大型项目开发的流程经验。我选择启动一个相对较为复杂的“软件”项目,而不是一个简单的“游戏”, 因为游戏引擎的复杂程度远高于游戏,意在实际的开发中学习更实践的知识积累经验。

demo1,demo2

demo3

## 目录

计划

  • 入口程序
  • 应用程序层
  • Debugging支持
  • 窗口层
    • 事件系统
    • 信号输入系统
  • 渲染系统
    • 2D渲染器
      • 场景图像
      • 渲染层
      • 动画
      • 相机
      • 后处理效果
    • 3D渲染器
  • 渲染API abstract(用于支持多个渲染API 例如DirectX, Vulcan)
    • OpenGL
    • Vulcan
    • DirectX
  • 实体组件系统
    • 组件添加移除
    • 相机组件,精灵组件,变换矩阵组件,tag组件
    • 碰撞体组件
    • 物理刚体组件
    • 圆形碰撞体
    • [ ]
  • 资产构建系统
    • 场景序列化保存加载
    • 项目创建和加载
    • [ ]
  • 文件系统
    • 文件系统核心
    • 文件拖拽管理
    • 内置文件编辑菜单
  • 脚本语言
    • 内置C++脚本支持
    • C#脚本支持
      • mono运行环境
      • 内置编辑器
    • lua脚本支持
    • python脚本支持
  • 物理引擎
    • 简单的物理引擎
  • 内存系统
  • 热插拔系统(实时更新资产的变化)

开始

克隆

本项目使用premake管理依赖,所以务必继承多个依赖仓库。
使用Git克隆到本地 git clone --recursive https://github.com/YINGHAIDADA/CraftNow.
如果第一次没有使用继承克隆, 用 git submodule update --init 来克隆必须的组件

许可

About

CraftNow is a Game Engine

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published