Abstract
This paper considers the task of real-time visualization of detailed 3D scalar fields through isosurfaces (surfaces representing constant values of scalar fields). A new method is proposed to overcome the limitations associated with the intensive reading of dummy (non-visualized) vertices from video memory and overheads of their storage, which arise when implementing isosurface polygonization methods on the GPU. The proposed method is based on the efficient generation of GPU threads (in which an isosurface model is constructed) by the programmed tessellation of quadrangular patches into regular vertex grids. We also propose a modified technology for marching cubes implementation on the GPU that is based on the developed method and allows the time cost of GPU thread generation and video memory footprint to be significantly reduced. Based on the proposed solutions, a software complex for the real-time construction and visualization of polygonal models of isosurfaces is implemented and tested, as well as the verification of synthesized images is carried out.
Similar content being viewed by others
REFERENCES
Barladian, B.Kh., Voloboy, A.G., Galaktionov, V.A., Knyaz’, V.V., Koverninskii, I.V., Solodelov, Yu.A., Frolov, V.A., and Shapiro, L.Z., Efficient implementation of OpenGL SC for avionics embedded systems, Program. Comput. Software, 2018, vol. 44, pp. 207–212.
Gavrilov, N. and Turlapov, V., General implementation aspects of the GPU-based volume rendering algorithm, Sci. Visualization, 2011, vol. 3, no. 1, pp. 19–31. http://sv-journal.org/2011-1/02/index.html.
Timokhin, P. and Mikhaylyuk, M., Compact GPU-based visualization method for high-resolution resulting data of unstable oil displacement simulation, Proc. 29th Int. Conf. Computer Graphics and Vision (GraphiCon), Bryansk, 2019, vol. 2485, pp. 4–6.
Shakaev, V., Polygonizing volumetric terrains with sharp features, Tr. 26-i Mezhdunar. Nauchn. Konf. GraphiCon (Proc. 26th Int. Sci. Conf. GraphiCon), Nizhny Novgorod, 2016, pp. 364–368.
Timokhin, P.Yu., Mikhailyuk, M.V., Vozhegov, E.M., and Panteley, K.D., Technology and methods for deferred synthesis of 4K stereo clips for complex dynamic virtual scenes, Tr. Inst. Sistemnogo Program. Ross. Akad. Nauk (Proc. Inst. Syst. Program. Russ. Acad. Sci.), 2019, vol. 31, no. 4, pp. 61–72.
Segal, M. and Akeley, K., The OpenGL graphics system: A Specification, Version 4.6, Core profile, 2006–2018. https://www.khronos.org/registry/OpenGL/specs/gl/glspec46.core.pdf.
Parker, S., Shirley, P., Livnat, Y., et al., Interactive ray tracing for isosurface rendering, Proc. IEEE Visualization (VIZ), 1998, pp. 233–238.
Hadwiger, M., Sigg, C., Scharsach, H., Buhler, K., and Gross, M., Real-time ray-casting and advanced shading of discrete isosurfaces, Comput. Graphics Forum, 2005, vol. 24, no. 3, pp. 303–312.
Kim, M., GPU isosurface raycasting of FCC datasets, Graphical Models, 2013, vol. 75, no. 2, pp. 90–101.
Sanzharov, V.V., Gorbonosov, A.I., Frolov, V.A., and Voloboy, A.G., Examination of the Nvidia RTX, Proc. 29th Int. Conf. Computer Graphics and Vision (GraphiCon), 2019, vol. 2485, pp. 7–12.
Lorensen, W.E. and Cline, H.E., Marching cubes: A high resolution 3D surface construction algorithm, Proc. 14th Annu. Conf. Computer Graphics and Interactive Techniques (SIGGRAPH), Anaheim, 1987, vol. 21, no. 4, pp. 163–169.
Bourke, P., Polygonising a scalar field, 1994. http://paul-bourke.net/geometry/polygonise.
Kobbelt, L., Botsch, M., Schwanecke, U., and Seidel, P., Feature sensitive surface extraction from volume data, Proc. 28th Annu. Conf. Computer Graphics and Interactive Techniques (SIGGRAPH), 2001, pp. 57–66.
Ju, T., Losasso, F., Schaefer, S., and Warren, J., Dual contouring of Hermite data, Proc. ACM Trans. Graphics (TOG), 2002, vol. 21, no. 3, pp. 339–346.
Schmitz, L., Dietrich, C., and Comba, J., Efficient and high quality contouring of isosurfaces on uniform grids, Comput. Graphics Image Process., 2009, pp. 64–71.
Nielson, G., Dual marching cubes, IEEE Visualization, 2004, pp. 489–496.
Schaefer, S. and Warren, J., Dual marching cubes: Primal contouring of dual grids, Comput. Graphics Forum, 2005, vol. 24, no. 2, pp. 195–201.
Ho, C.-C., Wu, F.-C., Chen, B.-Y., Chuang, Y.-Y., and Ouhyoung, M., Cubical marching squares: Adaptive feature preserving surface extraction from volume data, Proc. Eurographics, 2005, vol. 24, no. 3, pp. 537–545.
Manson, J. and Schaefer, S., Isosurfaces over simplicial partitions of multiresolution grids, Comput. Graphics Forum (Proc. Eurographics), 2010, vol. 29, no. 2, pp. 377–385.
De Araújo, B.R., Lopes, D.S., Jepp, P., Jorge, J.A., and Wyvill, B., A survey on implicit surface polygonization, ACM Computing Surveys, 2015, vol. 47, no. 4, pp. 1–39.
Matsumura, M. and Anjo, K., Accelerated isosurface polygonization for dynamic volume data using programmable graphics hardware, Proc. SPIE-IS&T Electronic Imaging, Visualization and Data Analysis, 2003, vol. 9, pp. 145–152.
Visualization Handbook, Hansen, C. and Johnson, C., Eds., Elsevier, 2004.
Goetz, F., Junklewitz, T., and Domik, G., Real-time marching cubes on the vertex shader, Proc. Eurographics, 2005, pp. 1–4.
Tatarchuk, N., Shopf, J., and DeCoro, C., Real-time isosurface extraction using the GPU programmable geometry pipeline, Proc. ACM SIGGRAPH, 2007, pp. 122–137.
Dyken, C., Ziegler, G., Theobalt, C., and Seidel, H.-P., High-speed marching cubes using histopyramids, Comput. Graphics Forum, 2008, vol. 27, no. 8, pp. 2028–2039.
Akayev, A.A., Kuzin, A.K., Orlov, S.G., Chetverushkin, B.N., Shabrov, N.N., and Iakobovski, M.V., Generation of isosurface on a large mesh, Proc. IASTED Int. Conf. Automation, Control, and Information Technology (ACIT), 2010, pp. 236–240.
Chen, J., Jin, X., and Deng, Z., GPU-based polygonization and optimization for implicit surfaces, Visual Comput., 2015, vol. 31, no. 2, pp. 119–130.
Mikhaylyuk, M.V., Timokhin, P.Y., and Maltsev, A.V., A method of Earth terrain tessellation on the GPU for space simulators, Program. Comput. Software, 2017, vol. 43, pp. 243–249.
Bailey, M. and Cunningham, S., Graphics Shaders: Theory and Practice, CRC Press, 2011, 2nd ed.
MATLAB documentation, Volume visualization. https://www.mathworks.com/help/matlab/ref/isosurface.html.
Funding
The publication is made within the state task on carrying out basic scientific researches (GP 14) on topic (project) “34.9. Virtual environment systems: technologies, methods and algorithms of mathematical modeling and visualization” (0065-2019-0012).
Author information
Authors and Affiliations
Corresponding authors
Additional information
Translated by Yu. Kornienko
Rights and permissions
About this article
Cite this article
Timokhin, P.Y., Mikhaylyuk, M.V. Method to Extract Isosurfaces on the GPU by Means of Programmable Tessellation. Program Comput Soft 46, 244–249 (2020). https://doi.org/10.1134/S036176882003010X
Received:
Revised:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1134/S036176882003010X