Sparse voxel octree

From Wikipedia, the free encyclopedia
Jump to: navigation, search

A sparse voxel octree (SVO) is a 3D computer graphics rendering technique using a raycasting or sometimes a ray tracing approach into an octree data representation.

The technique varies somewhat, but generally relies on generating and processing the hull of points (sparse voxels) which are visible or may be visible, given the resolution and size of the screen.[1] The main points of the technique are: First, only pixels to be actually displayed need to be computed, with the actual screen resolution limiting the level of voxel detail required, and second, interior voxels – voxels fully enclosed by other voxels which are fully opaque – are unnecessary and thus need not be included in the 3D data set. The first point limits the computational cost during rendering, and the second point limits the amount of 3D voxel data (and thus storage space) required for realistic, high-resolution digital models and/or environments.

Because it needs only a small subset of the full voxel data a system does not need to process a massive amount of voxel data at any one time; it can extract data from extremely large data sources of voxels as and when needed. The basic advantage of octrees is that as a hierarchical data structure they need not be fully explored to their full depth, and this allows the system to run on current generation computer hardware. In addition, the octree datastructure permits smoothing of the underlying data, to help with antialiasing.

It is, however, a generally less well developed technique than standard polygon-based rasterisation schemes.


  1. ^ Laine, Samuli; Tero Karras (February 2010). "Efficient Sparse Voxel Octrees – Analysis, Extensions, and Implementation" (PDF). NVIDIA Corporation. Retrieved June 11, 2010.