2026-03-13 01:35:46 +08:00
2026-03-11 17:38:11 +08:00
2026-03-11 17:56:27 +08:00
2026-03-12 02:41:26 +08:00
2026-03-13 01:35:46 +08:00
2026-03-11 17:38:11 +08:00
2026-03-11 17:38:11 +08:00
2026-03-11 17:38:11 +08:00
2026-03-11 17:38:11 +08:00

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 为例:

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

Description
No description provided
Readme 1.4 GiB
Languages
C++ 46.5%
HTML 37.9%
C 9.6%
C# 1.4%
GLSL 1%
Other 3.4%