Abstract
In this paper, we propose an efficient grid-based ray casting method for rendering polygonized isosurfaces of binary volumes as a special form of voxel art. We utilize an auxiliary multi-level data structure, the region index layer, to accelerate empty space leaping. We also construct the polygonal surfaces within each cell as constructive solid geometry (CSG) combinations of half-space subvolumes to reduce boundary checks in the intersection test. We describe the construction method of the region index layer and CSG cube configurations and demonstrate how to utilize these data structures to enhance the performance of the ray casting algorithms.
Similar content being viewed by others
References
Amanatides, J., Woo, A.: A fast voxel traversal algorithm for ray tracing. Eurographics 87, 10 (1987)
Barber, C.B., Dobkin, D.P., Huhdanpaa, H.: The quickhull algorithm for convex hulls. ACM Trans. Math. Softw. (TOMS) 22(4), 469–483 (1996)
Benson, D., Davis, J.: Octree textures. ACM Trans. Graph. (TOG) 21(3), 785–790 (2002)
Bhaniramka, P., Wenger, R., Crawfis, R.: Isosurface construction in any dimension using convex hulls. IEEE Trans. Vis. Comput. Graph. 10(2), 130–141 (2004)
Chernyaev, E.: Marching Cubes 33: Construction of Topologically Correct Isosurfaces (1995)
Christensen, P.H., Batali, D.: An irradiance atlas for global illumination in complex production scenes. In: Rendering Techniques, pp. 133–142. Citeseer (2004)
Cohen, D., Sheffer, Z.: Proximity clouds-an acceleration technique for 3d grid traversal. Vis. Comput. 11(1), 27–38 (1994)
Crassin, C., Neyret, F., Lefebvre, S., Eisemann, E.: Gigavoxels: Ray-guided streaming for efficient and detailed voxel rendering. In: Proceedings of the 2009 Symposium on Interactive 3D Graphics and Games, pp. 15–22. ACM (2009)
De Araújo, B.R., Lopes, D.S., Jepp, P., Jorge, J.A., Wyvill, B.: A survey on implicit surface polygonization. ACM Comput. Surv. (CSUR) 47(4), 60 (2015)
De Figueiredo, L.H., Stolfi, J.: Affine arithmetic: concepts and applications. Numer. Algorithms 37(1–4), 147–158 (2004)
Dietrich, C.A., Scheidegger, C.E., Schreiner, J., Comba, J.L., Nedel, L.P., Silva, C.T.: Edge transformations for improving mesh quality of marching cubes. IEEE Trans. Vis. Comput. Graph. 15(1), 150–159 (2009)
Duff, T.: Interval arithmetic recursive subdivision for implicit functions and constructive solid geometry. In: ACM SIGGRAPH Computer Graphics, vol. 26, pp. 131–138. ACM (1992)
Frisken, S.F., Perry, R.N.: Simple and efficient traversal methods for quadtrees and octrees. J. Graph. Tools 7(3), 1–11 (2002)
Fujimoto, A., Iwata, K.: Accelerated ray tracing. In: Computer Graphics, pp. 41–65. Springer (1985)
Fujishiro, I., Maeda, Y., Sato, H.: Interval volume: a solid fitting technique for volumetric data display and analysis. In: Proceedings of the 6th Conference on Visualization’95, p. 151. IEEE Computer Society (1995)
Fujishiro, I., Maeda, Y., Sato, H., Takeshima, Y.: Volumetric data exploration using interval volume. IEEE Trans. Vis. Comput. Graph. 2(2), 144–155 (1996)
Gumin, M.: Wave Function Collapse (2018). https://github.com/mxgmn/WaveFunctionCollapse
Hart, J.C.: Sphere tracing: a geometric method for the antialiased ray tracing of implicit surfaces. Vis. Comput. 12(10), 527–545 (1996)
Jackson, J.C.: Marching cubes made tangible. In: Proceedings of the Twelfth International Conference on Tangible, Embedded, and Embodied Interaction, pp. 592–597 (2018)
Ju, T., Losasso, F., Schaefer, S., Warren, J.: Dual contouring of hermite data. In: Proceedings of the 29th Annual Conference on Computer Graphics and Interactive Techniques, pp. 339–346 (2002)
Kalra, D., Barr, A.H.: Guaranteed ray intersections with implicit surfaces. In: ACM SIGGRAPH Computer Graphics, vol. 23, pp. 297–306. ACM (1989)
Kchapelier: Cellular Automata Voxel Shader (2018). https://github.com/kchapelier/pseudofractals-voxel-shader
Laine, S., Karras, T.: Efficient Sparse Voxel Octrees-analysis, Extensions, and Implementation, vol. 2. NVIDIA Corporation, Santa Clara (2010)
Laine, S., Karras, T.: Efficient sparse voxel octrees. IEEE Trans. Vis. Comput. Graph. 17(8), 1048–1059 (2011)
Lefebvre, S., Hoppe, H.: Perfect spatial hashing. In: ACM Transactions on Graphics (TOG), vol. 25, pp. 579–588. ACM (2006)
Lewiner, T., Lopes, H., Vieira, A.W., Tavares, G.: Efficient implementation of marching cubes’ cases with topological guarantees. J. Graph. Tools 8(2), 1–15 (2003)
Li, W., Xiao, X., Hahn, J.: 3d reconstruction and texture optimization using a sparse set of rgb-d cameras. In: 2019 IEEE Winter Conference on Applications of Computer Vision (WACV), pp. 1413–1422. IEEE (2019)
Li,W., Zhao, S., Xiao, X., Hahn, J.: Robust template-based non-rigid motion tracking using local coordinate regularization. In: Proceedings of the IEEE/CVF Winter Conference on Applications of Computer Vision, pp. 401–410 (2020)
Lopes, A., Brodlie, K.: Improving the robustness and accuracy of the marching cubes algorithm for isosurfacing. IEEE Trans. Vis. Comput. Graph. 9(1), 16–29 (2003)
Lorensen, W.E., Cline, H.E.: Marching cubes:ACM, : A high resolution 3d surface construction algorithm. In: ACM Siggraph Computer Graphics, vol. 21, pp. 163–169 (1987)
Majercik, A., Crassin, C., Shirley, P., McGuire, M.: A ray-box intersection algorithm and efficient dynamic voxel rendering. J. Comput. Graph. Techn. (JCGT) 7(3), 66–81 (2018)
Mitchell, D.P.: Robust ray intersection with interval arithmetic. Proc. Graph. Interface 90, 68–74 (1990)
Montani, C., Scateni, R., Scopigno, R.: A modified look-up table for implicit disambiguation of marching cubes. Vis. Comput. 10(6), 353–355 (1994)
Moore, R.E.: Interval Analysis, vol. 4. Prentice-Hall, Hoboken (1966)
Museth, K.: VDB: High-resolution sparse volumes with dynamic topology. ACM Trans. Graph. (TOG) 32(3), 27 (2013)
Newman, T.S., Yi, H.: A survey of the marching cubes algorithm. Comput. Graph. 30(5), 854–879 (2006)
Pasko, A., Adzhiev, V., Sourin, A., Savchenko, V.: Function representation in geometric modeling: concepts, implementation and applications. Vis. Comput. 11(8), 429–446 (1995)
Revelles, J., Urena, C., Lastra, M.: An efficient parametric algorithm for octree traversal (2000)
Roth, S.D.: Ray casting for modeling solids. Comput. Graph. Image Process. 18(2), 109–144 (1982)
Tevs, A., Ihrke, I., Seidel, H.P.: Maximum mipmaps for fast, accurate, and scalable dynamic height field rendering. In: Proceedings of the 2008 Symposium on Interactive 3D Graphics and Games, pp. 183–190. ACM (2008)
Woop, S., Benthin, C., Wald, I.: Watertight ray/triangle intersection. J. Comput. Graph. Tech. (JCGT) 2(1), 65–82 (2013)
Wyvill, B., Guy, A., Galin, E.: Extending the CSG tree. Warping, blending and Boolean operations in an implicit surface modeling system. In: Computer Graphics Forum, vol. 18, pp. 149–158. Wiley Online Library (1999)
Wyvill, G., Kunii, T.L.: A functional model for constructive solid geometry. Vis. Comput. 1(1), 3–14 (1985)
Wyvill, G., Kunii, T.L., Shirai, Y.: Space division for ray tracing in CSG. IEEE Comput. Graph. Appl. 6(4), 28–34 (1986)
Acknowledgements
This project is funded in part by National Science Foundation Major Research Instrumentation Grant CNS-1337722: Development of Large-Scale Dense Scene Capture and Tracking Instrument.
Funding
National Science Foundation Major Research Instrumentation Grant CNS-1337722: Development of Large-Scale Dense Scene Capture and Tracking Instrument.
Author information
Authors and Affiliations
Corresponding author
Additional information
Publisher's Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Rights and permissions
About this article
Cite this article
Li, W., Hahn, J.K. Efficient ray casting polygonized isosurface of binary volumes. Vis Comput 37, 3139–3149 (2021). https://doi.org/10.1007/s00371-021-02302-3
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00371-021-02302-3