Skip to content

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

License

Notifications You must be signed in to change notification settings

lilesper/SparseVoxelOctree

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

About

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

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C++ 70.9%
  • C 27.1%
  • Objective-C 1.3%
  • Other 0.7%