1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73<div align="center">
<h1> Hitagi Engine</h1>
<div>
<a href="https://github.com/L-Sun/HitagiEngine/actions?query=workflow%3Awindows-build">
<img alt="GitHub Workflow Status" src="https://img.shields.io/github/actions/workflow/status/L-Sun/HitagiEngine/windows.yaml?logo=windows&style=flat-square">
</a>
</div>
<hr>
</div>
Hitagi Engine 是以 C++20 开发的实验性游戏引擎。
## 基本架构
- 核心 (Core)
- 使用 pmr 实现的,类 TCMalloc 的内存分配器(缺失 span 的实现)
- 简答的文件读写模块
- 简易线程池
- 数学库
- 3D相关操作的数学库,支持swizzle操作,以ISPC加速运算(需安装 [Intel SPMD Program Compiler](https://github.com/ispc/ispc) )
- 矩阵以行主序储存(无论是 CPU 侧,还是 GPU 侧。)
- 资源管理
- 以 Assimp 作为模型解析,并导入到 AssetManager 中
- 图形接口模块
- 图形接口抽象化
- DX12中间层(进行中)
- Render Graph (进行中)
- HID
- GUI,基于 Dear ImGui
- 平台相关层
- Windows
## 编译
因为目前只支持 DX12 ,因此这里只介绍如何在 Windows 下编译。
### 环境准备
首先需要安装 Visual Studio 对 C++ 的开发支持。一般来说,安装完 Visual Studio IDE 后就已经带有 C++ 的开发环境。
下面介绍无需安装 IDE 的环境准备。
1. 首先安装 [Visual Studio Installer](https://visualstudio.microsoft.com/downloads/) ,然后在 Visual Studio Installer 中勾选
- MSVC v142 (可以的话尽可能最新)
- C++ Clang-cl 生成工具, 用于 Clang 编译
- C++ 核心功能、 C++ 生成工具核心功能
- Windows 10 SDK (尽量最新)
- Windows C 通用运行时
2. 安装 XMake ,用于构建整个项目, 具体安装方式请访问 [XMake 安装](https://xmake.io/#/zh-cn/guide/installation),
3. 安装 [Clang](https://github.com/llvm/llvm-project/releases/download)
### 编译步骤
首先 Clone 此项目,并进入项目目录中
```bash
git clone https://github.com/L-Sun/HitagiEngine
cd HitagiEngine
```
运行如下命令进行构建,期间可能需要安装依赖,请保证网络通畅
```bash
xmake f -m debug # 可以切换为 release
```
#### 使用 Clang 进行编译
首先需要保证所有依赖使用 MSVC 安装完成(因为有些依赖无法使用 clang 编译),运行下面命令即可
```bash
xmake f -m debug -c # 保证依赖由 MSVC 编译
xmake f -m debug --cc=clang --cxx=clang++ # 切换为 clang 进行编译
xmake
```
### 启动
在 `examples` 目录下有部分简单的演示代码,可以在编译完成后,使用下面命令启动
```bash
xmake r playground
```