• Stars
    star
    599
  • Rank 74,745 (Top 2 %)
  • Language
    C++
  • License
    MIT License
  • Created over 5 years ago
  • Updated 10 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

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

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