|
|
fa50179d00
|
实现 NanoVDB 体积云渲染
完成步骤2:读取 NanoVDB 密度并渲染体积云
修改内容:
1. NanoVDBLoader: 添加 voxel_size 输出用于调试
2. volume.hlsl: 实现完整的 ray marching 体积渲染
- 初始化 NanoVDB 访问器
- 密度采样函数
- 光线步进和累积
3. wireframe.hlsl: 新增边界框线框着色器
4. main.cpp:
- 移动相机到云的外部
- 添加独立的常量缓冲区避免冲突
- 同时渲染体积云和边界框
已知问题:
- 边界框位置计算需要改进
- bunny.nvdb 渲染效果不佳
- 需要进一步优化密度和步进参数
|
2026-03-11 21:51:50 +08:00 |
|
|
|
af3b61a45a
|
实现 NanoVDB 边界框可视化
修改内容:
1. NanoVDBLoader 添加边界框信息读取 (worldBBox[6])
2. BattleFireDirect 添加 Volume 渲染相关函数:
- InitVolumeRootSignature(): 体积渲染的 root signature
- CreateVolumePSO(): 线框模式 PSO
3. main.cpp:
- 打印 NanoVDB 边界框信息
- 创建立方体网格表示边界框
- 渲染绿色线框立方体
4. 修复 CreateShaderFromFile 支持 #include
5. 修复 volume.hlsl 使用 32 位地址模式
验证结果:
- 成功显示 NanoVDB 边界框线框
- 着色器能正确读取 NanoVDB 数据
|
2026-03-11 20:32:54 +08:00 |
|
|
|
926e9a6b75
|
Fix NanoVDB upload buffer early release causing white screen
|
2026-03-11 19:14:21 +08:00 |
|
|
|
8a800f99a2
|
Fix NanoVDBLoader: reset command list before use
|
2026-03-11 18:13:36 +08:00 |
|
|
|
f89fb93d17
|
Add NanoVDBLoader with test support
|
2026-03-11 17:56:05 +08:00 |
|