更新README文档
This commit is contained in:
45
README.md
45
README.md
@@ -1,13 +1,13 @@
|
|||||||
# XCVolumeRenderer
|
# XCVolumeRenderer
|
||||||
|
|
||||||
基于 DirectX 12 的体积渲染器,使用几何着色器(Geometry Shader)实现三维数据的可视化渲染。
|
基于 DirectX 12 的体积渲染器,使用 NanoVDB 格式实现云、烟雾等体积数据的实时渲染。
|
||||||
|
|
||||||
## 技术栈
|
## 技术栈
|
||||||
|
|
||||||
- **渲染API**: DirectX 12
|
- **渲染API**: DirectX 12
|
||||||
- **语言**: C++17
|
- **语言**: C++17
|
||||||
- **构建系统**: CMake
|
- **构建系统**: CMake
|
||||||
- **依赖库**: DirectX 12 SDK, stb_image
|
- **依赖库**: DirectX 12 SDK, stb_image, NanoVDB
|
||||||
|
|
||||||
## 项目结构
|
## 项目结构
|
||||||
|
|
||||||
@@ -15,15 +15,20 @@
|
|||||||
XCVolumeRenderer/
|
XCVolumeRenderer/
|
||||||
├── main.cpp # 主程序入口
|
├── main.cpp # 主程序入口
|
||||||
├── BattleFireDirect.cpp/h # DirectX 12 核心渲染实现
|
├── BattleFireDirect.cpp/h # DirectX 12 核心渲染实现
|
||||||
|
├── NanoVDBLoader.cpp/h # NanoVDB 体积数据加载器
|
||||||
├── StaticMeshComponent.cpp/h # 静态网格组件
|
├── StaticMeshComponent.cpp/h # 静态网格组件
|
||||||
├── Utils.cpp/h # 工具函数
|
├── Utils.cpp/h # 工具函数
|
||||||
├── stbi/ # 图像加载库
|
├── stbi/ # 图像加载库
|
||||||
├── Res/
|
├── Res/
|
||||||
│ ├── Shader/ # HLSL 着色器
|
│ ├── Shader/ # HLSL 着色器
|
||||||
│ ├── Model/ # 模型文件
|
│ │ ├── volume.hlsl # 体积渲染着色器
|
||||||
│ └── Image/ # 纹理图片
|
│ │ ├── gs.hlsl # 几何着色器
|
||||||
├── CMakeLists.txt # CMake 构建配置
|
│ │ └── PNanoVDB.hlsl # NanoVDB GPU 解析
|
||||||
└── build/ # 构建目录
|
│ ├── Model/ # 模型文件
|
||||||
|
│ ├── Image/ # 纹理图片
|
||||||
|
│ └── NanoVDB/ # NanoVDB 体积数据
|
||||||
|
├── CMakeLists.txt # CMake 构建配置
|
||||||
|
└── build/ # 构建目录
|
||||||
```
|
```
|
||||||
|
|
||||||
## 构建方法
|
## 构建方法
|
||||||
@@ -49,18 +54,34 @@ cmake --build . --config Release
|
|||||||
|
|
||||||
### 运行
|
### 运行
|
||||||
|
|
||||||
编译完成后,在 `Release` 目录下运行 `XCVolumeRenderer.exe`
|
编译完成后,运行 `XCVolumeRenderer.exe` 或使用 `run.bat`
|
||||||
|
|
||||||
## 功能特性
|
## 功能特性
|
||||||
|
|
||||||
- DirectX 12 基础渲染管线
|
### 核心渲染
|
||||||
|
- DirectX 12 渲染管线
|
||||||
- 几何着色器(GS)支持
|
- 几何着色器(GS)支持
|
||||||
- 纹理映射
|
- 纹理映射
|
||||||
- 常量缓冲区和常量缓冲区视图(CBV/SRV)
|
- 常量缓冲区(CBV/SRV)
|
||||||
- 基础变换矩阵(投影、视图、模型)
|
|
||||||
|
### 体积渲染
|
||||||
|
- NanoVDB 格式支持
|
||||||
|
- 光线步进(Ray Marching)
|
||||||
|
- HDDA 空间跳跃加速
|
||||||
|
- 体积阴影(Volumetric Shadow)
|
||||||
|
- 指数步长抖动采样
|
||||||
|
- Gamma 校正
|
||||||
|
|
||||||
|
### 参数配置
|
||||||
|
- DensityScale - 密度缩放
|
||||||
|
- StepSize - 步进大小
|
||||||
|
- MaxSteps - 最大步数
|
||||||
|
- LightDir - 光照方向
|
||||||
|
- LightSamples - 阴影采样数
|
||||||
|
|
||||||
## 资源说明
|
## 资源说明
|
||||||
|
|
||||||
- 着色器文件位于 `Res/Shader/` 目录
|
- 着色器文件位于 `Res/Shader/` 目录
|
||||||
- 模型文件为 `.lhsm` 格式
|
- 模型文件为 `.lhsm` 格式
|
||||||
- 纹理支持 PNG、JPG 格式
|
- 纹理支持 PNG、JPG 格式
|
||||||
|
- 体积数据支持 NanoVDB `.nvdb` 格式
|
||||||
Reference in New Issue
Block a user