Sparse Voxel Octree (Vulkan 版本) 技术文档
1. 安装指南
1.1 系统要求
- 支持的操作系统:Linux, Windows, Mac OS
- 需要安装 Vulkan SDK
- 需要安装 CMake 3.10 或更高版本
1.2 依赖库
- volk
- VulkanMemoryAllocator
- GLFW
- GLM
- stb_image
- TinyOBJLoader
- TinyEXR
- meshoptimizer
- ImGui
- tinyfiledialogs
- spdlog
- FontAwesome
1.3 安装步骤
-
克隆项目仓库:
git clone https://github.com/AdamYuan/SparseVoxelOctree.git cd SparseVoxelOctree
-
创建并进入构建目录:
mkdir build && cd build
-
使用 CMake 配置项目:
cmake .. -DCMAKE_BUILD_TYPE=Release
-
编译项目:
make
2. 项目使用说明
2.1 启动项目
编译完成后,在 build
目录下会生成可执行文件。直接运行该文件即可启动项目。
2.2 操作说明
- 相机控制
- W A S D:水平移动
- SPACE:向上移动
- LSHIFT:向下移动
- 拖动:改变视角
- X:切换 UI 显示
2.3 功能改进
新版本的 Vulkan 实现比旧的 OpenGL 版本快得多。例如,在 GTX 1660 Ti 显卡上,Crytek Sponza 模型的 SVO 构建时间从 470 ms 减少到 19 ms。
3. 项目 API 使用文档
3.1 核心 API
- SVOBuilder:用于构建稀疏体素八叉树。
- SVORayMarcher:用于光线步进。
- SVOPathTracer:用于路径追踪。
3.2 异步加载
新版本支持异步模型加载和异步路径追踪,提高了性能和用户体验。
4. 项目安装方式
4.1 源码安装
按照上述安装指南中的步骤进行安装。
4.2 二进制安装
编译完成后,生成的可执行文件可以直接运行。
5. 未来计划
5.1 v1.0 已完成
- 允许窗口调整大小
- 测试队列所有权转移
- 环境贴图
5.2 v2.0 计划
- 体素编辑器
- 梯度域路径追踪
- 构建 SVO 轮廓
6. 参考资料
- Voxelization and SVO building
- Efficient Sparse Voxel Octrees
7. 截图展示
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考