Files
XCEngine/README.md

131 lines
4.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# XCEngine
基于 DirectX 12 的渲染引擎项目,包含体积渲染器、基础渲染示例和 Unity 风格编辑器 UI。
## 项目概述
XCEngine 是一个正在开发中的图形渲染引擎,使用 DirectX 12 作为底层渲染 API。项目采用模块化设计包含多个独立演示项目MVS - Multiple Version Samples
## 技术栈
- **渲染 API**: DirectX 12
- **语言**: C++17
- **构建系统**: CMake
- **UI 框架**: ImGui
## 项目结构
```
XCEngine/
├── MVS/ # 多个示例版本
│ ├── HelloEarth/ # 基础渲染示例
│ │ ├── main.cpp # 程序入口
│ │ ├── BattleFireDirect.cpp/h # DirectX 12 核心
│ │ ├── StaticMeshComponent.cpp/h # 静态网格组件
│ │ ├── Utils.cpp/h # 工具函数
│ │ ├── stbi/ # 图像加载库
│ │ └── Res/ # 资源文件
│ │ ├── Shader/ # HLSL 着色器
│ │ ├── Model/ # 模型文件
│ │ └── Image/ # 纹理图片
│ │
│ ├── VolumeRenderer/ # 体积渲染器
│ │ ├── main.cpp # 主程序入口
│ │ ├── BattleFireDirect.cpp/h # DirectX 12 核心渲染
│ │ ├── NanoVDBLoader.cpp/h # NanoVDB 体积数据加载
│ │ ├── StaticMeshComponent.cpp/h # 静态网格组件
│ │ ├── Utils.cpp/h # 工具函数
│ │ ├── stbi/ # 图像加载库
│ │ ├── CMakeLists.txt # CMake 构建配置
│ │ ├── Res/ # 资源文件
│ │ │ ├── Shader/ # HLSL 着色器
│ │ │ ├── Model/ # 模型文件
│ │ │ ├── Image/ # 纹理图片
│ │ │ └── NanoVDB/ # NanoVDB 体积数据
│ │ └── README.md # 详细文档
│ │
│ └── ui/ # Unity 风格编辑器 UI
│ ├── src/
│ │ ├── main.cpp # 程序入口
│ │ ├── Application.cpp/h # 应用主类
│ │ ├── Theme.cpp/h # 主题系统
│ │ ├── Core/ # 核心类
│ │ ├── Managers/ # 管理系统
│ │ │ ├── LogSystem # 日志系统
│ │ │ ├── ProjectManager # 项目管理
│ │ │ └── SceneManager # 场景管理
│ │ └── panels/ # UI 面板
│ │ ├── HierarchyPanel # 层级面板
│ │ ├── InspectorPanel # 检查器面板
│ │ ├── SceneViewPanel # 场景视图
│ │ ├── GameViewPanel # 游戏视图
│ │ ├── ProjectPanel # 项目面板
│ │ ├── ConsolePanel # 控制台面板
│ │ └── MenuBar # 菜单栏
│ ├── bin/Release/ # 输出目录
│ └── CMakeLists.txt
└── docs/ # 设计文档
├── XCVolumeRenderer渲染引擎架构设计.md
├── XCGameEngine架构设计.md
└── ...
```
## 快速开始
### 前置要求
- Windows 10/11
- Visual Studio 2019 或更高版本
- CMake 3.15+
### 构建项目
每个子项目都可以独立构建,以 HelloEarth 为例:
```bash
cd MVS/HelloEarth
mkdir build && cd build
cmake ..
cmake --build . --config Release
```
## 各模块说明
### HelloEarth
基础的 DirectX 12 渲染示例,展示如何:
- 初始化 DirectX 12 渲染环境
- 加载和渲染静态网格
- 使用几何着色器
- 纹理映射
- 常量缓冲区更新
### VolumeRenderer
基于 NanoVDB 的体积渲染器,支持:
- NanoVDB 格式体积数据加载
- 光线步进Ray Marching渲染
- HDDA 空间跳跃加速
- 体积阴影
- 多种渲染参数配置
### ui
Unity 风格的编辑器 UI包含
- 层级面板Hierarchy Panel
- 检查器面板Inspector Panel
- 场景视图Scene View
- 游戏视图Game View
- 项目面板Project Panel
- 控制台面板Console Panel
- 日志系统
## 文档
更多详细设计文档请参考 `docs/` 目录。
## 许可证
MIT License