Computer Graphics Forum DOI: 10.1111/cgf.12345

Out-of-Core Construction of Sparse Voxel Octrees

Jeroen Baert Ares Lagae Philip Dutré
Department of Computer Science, KU Leuven, Belgium
teaser2.png teaser1.png

Note

This article is an updated version of our HPG 2013 publication. While the basic worfklow stays the same, this article describes significant performance improvements (through better voxelization and morton code generation), a more in-depth explanation of the SVO building algorithm, a new example on how to sample additional mesh properties (normals, colors, ...) and various other additions.

Abstract

Voxel-based rendering has recently received significant attention due to its potential in the context of efficiently rendering massively large and highly detailed scenes. Unfortunately, few or no scenes are available in the form of sparse voxel octrees. In this paper, we present an out-of-core algorithm for constructing a sparse voxel octree from a triangle mesh. Our algorithm allows the input triangle mesh, the output sparse voxel octree, and, most importantly, the intermediate high-resolution 3D voxel grid, to be larger than available memory. We demonstrate that our out-of-core algorithm can construct sparse voxel octrees from triangle meshes using only a fraction of the memory required by an in-core algorithm in roughly the same time, and that our out-of-core algorithm can also handle extremely large triangle meshes.

Downloads

icon_pdf.png
preprint
icon_tex.png
citation

The article can be read online in the CGF library.

Source Code / Binaries

We've decided to release binaries and source code for our implementation of the technique on Github, in a repository called ooc_svo_builder.

  • Current release version: v1.2
  • The manual is included with the source, and can be viewed online here.
  • Source is released under this license.
  • Binaries are currently available for Win64. Linux64 and OSX
  • Source code is hosted in this Github repository. Feel free to fork / send pull requests.
icon_source_cpp.png
Source (Github)
icon_tgz.png
Win64 and Linux64 binaries


Jeroen baert, Ares Lagae and Philip Dutré Last updated on: