“VDB: High‐Resolution Sparse Volumes With Dynamic Topology” by Museth

  • ©Ken Museth




    VDB: High‐Resolution Sparse Volumes With Dynamic Topology

Session/Category Title: Voxels & Liquids



    We have developed a novel hierarchical data structure for the efficient representation of sparse, time-varying volumetric data discretized on a 3D grid. Our “VDB”, so named because it is a Volumetric, Dynamic grid that shares several characteristics with B+trees, exploits spatial coherency of time-varying data to separately and compactly encode data values and grid topology. VDB models a virtually infinite 3D index space that allows for cache-coherent and fast data access into sparse volumes of high resolution. It imposes no topology restrictions on the sparsity of the volumetric data, and it supports fast (average O(1)) random access patterns when the data are inserted, retrieved, or deleted. This is in contrast to most existing sparse volumetric data structures, which assume either static or manifold topology and require specific data access patterns to compensate for slow random access. Since the VDB data structure is fundamentally hierarchical, it also facilitates adaptive grid sampling, and the inherent acceleration structure leads to fast algorithms that are well-suited for simulations. As such, VDB has proven useful for several applications that call for large, sparse, animated volumes, for example, level set dynamics and cloud modeling. In this article, we showcase some of these algorithms and compare VDB with existing, state-of-the-art data structures.


    1. Bayer, R. and Mccreight, E. M. 1972. Organization and maintenance of large ordered indices. Acta Informatica 1, 173–189.
    2. Breen, D., Fedkiw, R., Museth, K., Osher, S., Sapiro, G., and Whitaker, R. 2004. Level set and pde methods for computer graphics. In ACM SIGGRAPH Course Notes. ACM Press, New York.
    3. Breen, D. E., Mauch, S., and Whitaker, R.T. 1988. 3D scan conversion of csg models into distance volumes. In Proceedings of the IEEE Symposium on Volume Visualization. 7–14.
    4. Bridson, R. 2003. Computational aspects of dynamic surfaces. Ph.D. thesis, Stanford University.
    5. Brun, E., Guittet, A., and Gibou, F. 2012. A local level-set method using a hash table data structure. J. Comput. Phys. 231, 6, 2528–2536.
    6. Chang, B., Cha, D., and Ihm, I. 2008. Computing local signed distance fields for large polygonal models. Comput. Graph. Forum 27, 3, 799–806.
    7. Christensen, B., Nielsen, M., and Museth, K. 2011. Out-of-core computations of high-resolution level sets by means of code transformation. J. Sci. Comput. 50, 2, 1–37.
    8. Christensen, P. H. and Batali, D. 2004. An irradiance atlas for global illumination in complex production scenes. In Proceedings of the Eurographics Symposium on Rendering Techniques. Eurographics/ACM Press, 133–141.
    9. Crassin, C., Neyret, F., Lefebvre, S., and Eisemann, E. 2009. GigaVoxels: Ray-guided streaming for efficient and detailed voxel rendering. In Proceedings of the Symposium on Interactive 3D Graphics and Games. ACM Press, New York, 15–22.
    10. Dt-Grid. 2009. Version 0.92. http://code.google.com/p/dt-grid.
    11. Enright, D., Fedkiw, R., Ferziger, J., and Mitchell, I. 2002. A hybrid particle level set method for improved interface capturing. J. Comput. Phys. 183, 1, 83–116.
    12. Eyiyurekli, M. and Breen, D. E. 2011. Data structures for interactive high resolution level-set surface editing. In Proceedings of the Conference on Graphics Interface. 95–102.
    13. Field3d. 2009. Version 1.2.0. https://sites.google.com/site/field3d.
    14. Frisken, S. F. and Perry, R. 2002. Simple and efficient traversal methods for quadtrees and octrees. J. Graph. GPU Game Tools 7, 3, 1–11.
    15. Frisken, S. F., Perry, R. N., Rockwood, A. P., and Jones, T. R. 2000. Adaptively sampled distance fields: A general representation of shape for computer graphics. In Proceedings of the 27th Annual ACM SIGGRAPH Conference on Computer Graphics and Interactive Techniques. ACM Press/Addison Wesley, New York. 249–254.
    16. Hdfs. 2010. Version 1.8.4. http://www.hdfgroup.org/HDFS.
    17. Houston, B., Nielsen, M. B., Batty, C., Nilsson, O., and Museth, K. 2006. Hierarchical RLE level set: A compact and versatile deformable surface representation. ACM Trans. Graph. 25, 151–175.
    18. Ju, T., Losasso, F., Schaefer, S., and Warren, J. 2002. Dual contouring of hermite data. In Proceedings of the 29th Annual ACM SIGGRAPH Conference on Computer Graphics and Interactive Techniques. ACM Press, New York, 339–346.
    19. Lefebvre, S., Hornus, S., and Neyret, F. 2005. Texture sprites: Texture elements splatted on surfaces. In Proceedings of the Symposium on Interactive 3D Graphics and Games. ACM Press, New York, 163–170.
    20. Lefohn, A. E., Kniss, J. M., Hansen, C. D., and Whitaker, R. T. 2003. Interactive deformation and visualization of level set surfaces using graphics hardware. In Proceedings of the 14th IEEE Visualization Conference. IEEE Computer Society, 75–82.
    21. Leiserson, C. E., Prokop, H., and Randall, K. H. 1998. Using de bruijn sequences to index a 1 in a computer word. http://supertech.csail. mit.edu/papers/debruijn.pdf.
    22. Leveque, R. J. 1996. High-resolution conservative algorithms for advection in incompressible flow. SIAM J. Numer. Anal. 33, 2, 627–665.
    23. Liu, X., Osher, S., and Chan, T. 1994. Weighted essentially nonoscillatory schemes. J. Comput. Phys. 115, 200–212.
    24. Losasso, F., Gibou, F., and Fedkiw, R. 2004. Simulating water and smoke with an octree data structure. ACM Trans. Graph. 23, 457–462.
    25. Mauch, S. 1999. Stlib. https://bitbucket.org/seanmauch/stlib/wiki/Home.
    26. Miller, B., Museth, K., Penny, D., and Zafar, N. B. 2012. Cloud modeling and rendering for “Puss in Boots”. In ACM SIGGRAPH Talks. ACM Press, New York, 5:1.
    27. Min, C. 2004. Local level set method in high dimension and codimension. J. Comput. Phys. 200, 368–382.
    28. Museth, K. 2009. An efficient level set toolkit for visual effects. In ACM SIGGRAPH Talks. ACM Press, New York, 5:1.
    29. Museth, K. 2011. DB+Grid: A novel dynamic blocked grid for sparse high-resolution volumes and level sets. In ACM SIGGRAPH Talks. ACM Press, New York.
    30. Museth, K., Breen, D., Whitaker, R., Mauch, S., and Johnson, D. 2005. Algorithms for interactive editing of level set models. Comput. Graph. Forum 24, 4, 821–841.
    31. Museth, K. and Clive, M. 2008. CrackTastic: Fast 3D fragmentation in “The Mummy: Tomb of the Dragon Emperor”. In ACM SIGGRAPH Talks. ACM Press, New York, 61:1.
    32. Museth, K., Clive, M., and Zafar, N. B. 2007. Blobtacular: Surfacing particle system in “Pirates of the Caribbean 3”. In ACM SIGGRAPH Sketches. ACM Press, New York.
    33. NIELSEN, M. B. 2006. Efficient and high resolution level set simulations. Ph.D. thesis, Aarhus University.
    34. Nielsen, M. B. and Museth, K. 2006. Dynamic tubular grid: An efficient data structure and algorithms for high resolution level sets. J. Sci. Comput. 26, 261–299.
    35. Ohtake, Y., Belyaev, A., Alexa, M., Turk, G., and Seidel, H.-P. 2003. Multi-level partition of unity implicits. ACM Trans. Graph. 22, 3, 463–470.
    36. Openvdb. 2012. August 3. http://www.openvdb.org.
    37. Osher, S. and Fedkiw, R. 2002. Level Set Methods and Dynamic Implicit Surfaces. Springer.
    38. Shu, C. and Osher, S. 1988. Efficient implementation of essentially non-oscillatory shock capturing schemes. J. Comput. Phys. 77, 439–471.
    39. Sparsehash. 2009. Version 1.12. http://goog-sparsehash.sourceforge.net.
    40. Stolte, N. and Kaufman, A. 1998. Parallel spatial enumeration of implicit surfaces using interval arithmetic for octree generation and its direct visualization. In Proceedings of the 3rd International Workshop on Implicit Surfaces. 81–87.
    41. Strain, J. 1999. Tree methods for moving interfaces. J. Comput. Phys. 151, 2, 616–648.
    42. Teschner, M., Heidelberger, B., Mueller, M., Pomeranets, D., and Gross, M. 2003. Optimized spatial hashing for collision detection of deformable objects. In Proceedings of the Conference on Vision, Modeling, and Visualization. 47–54.
    43. Veenstra, J. and Ahuja, N. 1988. Line drawings of octree-represented objects. ACM Trans. Graph. 7, 1, 61–75.
    44. Williams, R. D. 1992. Voxel databases: A paradigm for parallelism with spatial structure. Concurr. Pract. Exper. 4, 8, 619–636.
    45. Zafar, N. B., Stephens, D., Larsson, M., Sakaguchi, R., Clive, M., Sampath, R., Museth, K., Blakey, D., Gazdik, B., and Thomas, R. 2010. Destroying la for “2012”. In ACM SIGGRAPH Talks. ACM Press, New York, 25:1.

ACM Digital Library Publication:

Overview Page: