4bcd1055dd1fca224d0b4f18b3d17d072f16e407
右键菜单: - Create: Empty Object, Camera, Light, Cube, Sphere, Plane - Rename (F2), Delete (Del) - Copy (Ctrl+C), Paste (Ctrl+V), Duplicate (Ctrl+D) 拖拽排序: - 支持拖拽实体到另一个实体下成为子节点 - 自动防止循环父子关系 搜索过滤: - 顶部搜索框实时过滤实体 双击重命名: - 双击实体名称进入编辑模式 键盘快捷键: - Delete: 删除选中实体 - F2: 重命名 - Ctrl+C/V/D: 复制/粘贴/复制
XCVolumeRenderer
基于 DirectX 12 的体积渲染器,使用 NanoVDB 格式实现云、烟雾等体积数据的实时渲染。
技术栈
- 渲染API: DirectX 12
- 语言: C++17
- 构建系统: CMake
- 依赖库: DirectX 12 SDK, stb_image, NanoVDB
项目结构
XCVolumeRenderer/
├── main.cpp # 主程序入口
├── BattleFireDirect.cpp/h # DirectX 12 核心渲染实现
├── NanoVDBLoader.cpp/h # NanoVDB 体积数据加载器
├── StaticMeshComponent.cpp/h # 静态网格组件
├── Utils.cpp/h # 工具函数
├── stbi/ # 图像加载库
├── Res/
│ ├── Shader/ # HLSL 着色器
│ │ ├── volume.hlsl # 体积渲染着色器
│ │ ├── gs.hlsl # 几何着色器
│ │ └── PNanoVDB.hlsl # NanoVDB GPU 解析
│ ├── Model/ # 模型文件
│ ├── Image/ # 纹理图片
│ └── NanoVDB/ # NanoVDB 体积数据
├── CMakeLists.txt # CMake 构建配置
└── build/ # 构建目录
构建方法
前置要求
- Windows 10/11
- Visual Studio 2019 或更高版本
- CMake 3.15+
构建步骤
# 创建并进入构建目录
mkdir build && cd build
# 配置项目
cmake ..
# 编译
cmake --build . --config Release
运行
编译完成后,运行 XCVolumeRenderer.exe 或使用 run.bat
功能特性
核心渲染
- DirectX 12 渲染管线
- 几何着色器(GS)支持
- 纹理映射
- 常量缓冲区(CBV/SRV)
体积渲染
- NanoVDB 格式支持
- 光线步进(Ray Marching)
- HDDA 空间跳跃加速
- 体积阴影(Volumetric Shadow)
- 指数步长抖动采样
- Gamma 校正
参数配置
- DensityScale - 密度缩放
- StepSize - 步进大小
- MaxSteps - 最大步数
- LightDir - 光照方向
- LightSamples - 阴影采样数
资源说明
- 着色器文件位于
Res/Shader/目录 - 模型文件为
.lhsm格式 - 纹理支持 PNG、JPG 格式
- 体积数据支持 NanoVDB
.nvdb格式
Description
Languages
C++
46.5%
HTML
37.9%
C
9.6%
C#
1.4%
GLSL
1%
Other
3.4%