AdamYuan SparseVoxelOctree Save

A GPU SVO Builder using rasterization pipeline, a efficient SVO ray marcher and a simple SVO path tracer.

Project README

Sparse Voxel Octree (Vulkan Version)

Linux Windows Mac OS
A GPU SVO Builder using the rasterization pipeline, an efficient SVO ray marcher and a simple SVO path tracer.
If you want an OpenGL version, check OpenGL branch.

Compilation

mkdir build && cd build
cmake .. -DCMAKE_BUILD_TYPE=Release
make

Built With

Usage

  • Camera
    • W A S D - move around (horizontally)
    • SPACE - go up
    • LSHIFT - go down
    • Drag - change perspective
  • X - toggle ui display

Improvements

The new Vulkan version is much faster than the old OpenGL version, given the comparison below:

GTX 1660 Ti

SVO build time Crytek Sponza (2^10) San Miguel (2^11) Living Room (2^12)
Vulkan (new) 19 ms 203 ms 108 ms
OpenGL (old) 470 ms -- --

Quadro M1200

SVO build time Crytek Sponza (2^10) San Miguel (2^11) Living Room (2^12)
Vulkan (new) 80 ms 356 ms 658 ms
OpenGL (old) 421 ms 1799 ms 3861 ms

In addition, the new Vulkan version has some advanced features such as asynchronous model loading and asynchronous path tracing.

TODOs

v1.0

  • Allow window resizing
  • Test queue ownership transfer
  • Environment map

v2.0

  • Voxel editor ?
  • Gradient-domain path tracing ?
  • Build SVO contours ?

Reference

Screenshots

Open Source Agenda is not affiliated with "AdamYuan SparseVoxelOctree" Project. README Source: AdamYuan/SparseVoxelOctree
Stars
577
Open Issues
10
Last Commit
3 months ago
License
MIT

Open Source Agenda Badge

Open Source Agenda Rating