6 research outputs found

    Sparse Voxel DAGs

    No full text
    This thesis investigates a memory-efficient representation of highly detailed geometry in 3D voxel grids. The memory consumption of a plain dense grid scales too fast as the resolution increases to be feasible at very high resolutions. In computer graphics, the geometry is often surface geometry, and representing the data in a sparse voxel octree exploits the sparsity, making the memory consumption scale much better than for a dense grid. The size of sparse voxel octrees is still significant at high resolutions, and this thesis consists of four papers addressing the memory consumption by also exploiting coherence in the data. The coherence is detected automatically in voxel data sets and encoded losslessly in a directed acyclic graph as nodes sharing descendants, as opposed to a tree where all descendants are unique. The sparse voxel DAG is used to encode hard shadows and static and time-varying opaque surface geometry, and offers just as fast access as trees, at a fraction of the memory consumption. While 1 bit per leaf node implies a lowest memory consumption of 1 bit per occupied voxel in a tree, the sparse voxel DAG repeatedly achieves much lower memory consumptions, e.g., 0.08 bits per voxel. The sparse voxel DAG is not just a single data layout for a single purpose, but a way of encoding coherence in voxel grids. The thesis shows that the limits of tree representations are not the fundamental, nor the practical, limits of how efficiently voxel grids can be represented and used, and advances the limit of grid resolutions to be considered practical in real-time rendering

    Exploiting Coherence in Voxelized Geometry

    No full text
    In computer graphics, the geometry of virtual worlds can be represented in numerousways, from collections of simple triangles or voxels to higher-order primitives likecurved surfaces. There is a trade-off, both in terms of memory consumption and processingtime, between the cost of an individual primitive and the number of primitivesrequired to faithfully represent the world. This thesis focuses on decreasing the memoryconsumption of large collections of very simple voxels, while still maintaining highprocessing 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 theutilization of coherence in the data to reduce the overall size. Coherence is utilizedwhen there are many identical subvolumes. The identical subvolumes are identifiedwithout manual intervention and only a single instance of these volumes is kept, lettingseveral parents reference a single unique subvolume. The voxel data is represented withhierarchical 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 manylocalized look-ups (like a PCF-kernel for hard shadows) and for even lower memoryfootprint when streaming time-varying geometry

    Sparse Voxel DAGs

    Get PDF
    This thesis investigates a memory-efficient representation of highly detailed geometry in 3D voxel grids. The memory consumption of a plain dense grid scales too fast as the resolution increases to be feasible at very high resolutions. In computer graphics, the geometry is often surface geometry, and representing the data in a sparse voxel octree exploits the sparsity, making the memory consumption scale much better than for a dense grid. The size of sparse voxel octrees is still significant at high resolutions, and this thesis consists of four papers addressing the memory consumption by also exploiting coherence in the data. The coherence is detected automatically in voxel data sets and encoded losslessly in a directed acyclic graph as nodes sharing descendants, as opposed to a tree where all descendants are unique. The sparse voxel DAG is used to encode hard shadows and static and time-varying opaque surface geometry, and offers just as fast access as trees, at a fraction of the memory consumption. While 1 bit per leaf node implies a lowest memory consumption of 1 bit per occupied voxel in a tree, the sparse voxel DAG repeatedly achieves much lower memory consumptions, e.g., 0.08 bits per voxel. The sparse voxel DAG is not just a single data layout for a single purpose, but a way of encoding coherence in voxel grids. The thesis shows that the limits of tree representations are not the fundamental, nor the practical, limits of how efficiently voxel grids can be represented and used, and advances the limit of grid resolutions to be considered practical in real-time rendering

    Fast, Memory-Efficient Construction of Voxelized Shadows

    No full text
    We present a fast and memory efficient algorithm for generatingCompact Precomputed Voxelized Shadows. By performing much ofthe common sub-tree merging before identical nodes are ever created,we improve construction times by several orders of magnitude forlarge data structures, and require much less working memory. Wealso propose a new set of rules for resolving undefined regions,which significantly reduces the final memory footprint of the alreadyheavily compressed data structure. Additionally, we examine thefeasibility of using CPVS for many local lights and present twoimprovements to the original algorithm that allow us to handlehundreds of lights with high-quality, filtered shadows at real-timeframe rates

    Compressing color data for voxelized surface geometry

    No full text
    We explore the problem of decoupling color information from geometry in large scenes of voxelized surfaces and of compressing the array of colors without introducing disturbing artifacts. First, we present a novel method for connecting each node in a sparse voxel DAG to its corresponding colors in a separate 1D array of colors, with very little additional information stored to the DAG. Then, we show that by mapping the 1D array of colors onto a 2D image using a space-filling curve, we can achieve high compression rates and good quality using conventional, modern, hardware-accelerated texture compression formats such as ASTC or BC7. We additionally explore whether this method can be used to compress voxel colors for off-line storage and network transmission using conventional off-line compression formats such as JPG and JPG2K. For real-time decompression, we suggest a novel variable bitrate block encoding that consistently outperforms previous work, often achieving two times the compression at equal quality

    Compressing color data for voxelized surface geometry

    No full text
    We explore the problem of decoupling color information from geometry in large scenes of voxelized surfaces and of compressing the array of colors without introducing disturbing artifacts. In this extension of our I3D paper with the same title [1] , we first present a novel method for connecting each node in a sparse voxel DAG to its corresponding colors in a separate 1D array of colors, with very little additional information stored to the DAG. Then, we show that by mapping the 1D array of colors onto a 2D image using a space-filling curve, we can achieve high compression rates and good quality using conventional, modern, hardware-accelerated texture compression formats such as ASTC or BC7. We additionally explore whether this method can be used to compress voxel colors for off-line storage and network transmission using conventional off-line compression formats such as JPG and JPG2K. For real-time decompression, we suggest a novel variable bitrate block encoding that consistently outperforms previous work, often achieving two times the compression at equal quality
    corecore