📦 L-Sun / HitagiEngine

DirectX12 game engine

64 stars 2 forks 👁 64 watching ⚖️ MIT License
cpp20directx12game-enginevulkan
📥 Clone https://github.com/L-Sun/HitagiEngine.git
HTTPS git clone https://github.com/L-Sun/HitagiEngine.git
SSH git clone git@github.com:L-Sun/HitagiEngine.git
CLI gh repo clone L-Sun/HitagiEngine
L-Sun L-Sun ⬆️update sdl2 to sdl3 122f762 9 days ago 📝 History
📁 .github
📁 .vscode
📁 assets
📁 doc
📁 examples
📁 hitagi
📁 xmake
📄 .clangd
📄 .gitignore
📄 LICENSE
📄 README.md
📄 xmake.lua
📄 README.md

Hitagi Engine

GitHub Workflow Status

Hitagi Engine 是以 C++20 开发的实验性游戏引擎。

基本架构

  • 核心 (Core)
  • 使用 pmr 实现的,类 TCMalloc 的内存分配器(缺失 span 的实现)
  • 简答的文件读写模块
  • 简易线程池
  • 数学库
  • 矩阵以行主序储存(无论是 CPU 侧,还是 GPU 侧。)
  • 资源管理
  • 以 Assimp 作为模型解析,并导入到 AssetManager 中
  • 图形接口模块
  • 图形接口抽象化
  • DX12中间层(进行中)
  • Render Graph (进行中)
  • HID
  • GUI,基于 Dear ImGui
  • 平台相关层
  • Windows

编译

因为目前只支持 DX12 ,因此这里只介绍如何在 Windows 下编译。

环境准备

首先需要安装 Visual Studio 对 C++ 的开发支持。一般来说,安装完 Visual Studio IDE 后就已经带有 C++ 的开发环境。 下面介绍无需安装 IDE 的环境准备。

  • MSVC v142 (可以的话尽可能最新)
  • C++ Clang-cl 生成工具, 用于 Clang 编译
  • C++ 核心功能、 C++ 生成工具核心功能
  • Windows 10 SDK (尽量最新)
  • Windows C 通用运行时
  • 安装 XMake ,用于构建整个项目, 具体安装方式请访问 XMake 安装
  • 安装 Clang

编译步骤

首先 Clone 此项目,并进入项目目录中
git clone https://github.com/L-Sun/HitagiEngine
cd HitagiEngine

运行如下命令进行构建,期间可能需要安装依赖,请保证网络通畅

xmake f -m debug # 可以切换为 release

使用 Clang 进行编译

首先需要保证所有依赖使用 MSVC 安装完成(因为有些依赖无法使用 clang 编译),运行下面命令即可
xmake f -m debug -c # 保证依赖由 MSVC 编译
xmake f -m debug --cc=clang --cxx=clang++ # 切换为 clang 进行编译
xmake

启动

examples 目录下有部分简单的演示代码,可以在编译完成后,使用下面命令启动
xmake r playground