Exploiting Coherence in Voxelized Geometry
Licentiate thesis, 2014
In computer graphics, the geometry of virtual worlds can be represented in numerous
ways, from collections of simple triangles or voxels to higher-order primitives like
curved surfaces. There is a trade-off, both in terms of memory consumption and processing
time, between the cost of an individual primitive and the number of primitives
required to faithfully represent the world. This thesis focuses on decreasing the memory
consumption of large collections of very simple voxels, while still maintaining high
processing performance.
The thesis includes three papers concerning voxel data of static geometry, shadow volumes,
and time-varying geometry, respectively. A central idea in all the papers is the
utilization of coherence in the data to reduce the overall size. Coherence is utilized
when there are many identical subvolumes. The identical subvolumes are identified
without manual intervention and only a single instance of these volumes is kept, letting
several parents reference a single unique subvolume. The voxel data is represented with
hierarchical information in a directed acyclic graph, which allows for fast traversal in,
e.g., a ray tracing application.
The directed acyclic graph structure is further optimized for high performance of many
localized look-ups (like a PCF-kernel for hard shadows) and for even lower memory
footprint when streaming time-varying geometry.
time-varying
directed acyclic graph
geometry
voxel
octree