Mesh-based Marching Cubes on the GPU

메시 기반 GPU 마칭큐브

  • Kim, Hyunjun (Department of Computer Science and Engineering, University of Seoul) ;
  • Kim, Dohoon (Department of Computer Science and Engineering, University of Seoul) ;
  • Kim, Minho (Department of Computer Science and Engineering, University of Seoul)
  • 김현준 (서울시립대학교 컴퓨터과학과) ;
  • 김도훈 (서울시립대학교 컴퓨터과학과) ;
  • 김민호 (서울시립대학교 컴퓨터과학과)
  • Received : 2017.07.20
  • Accepted : 2018.02.07
  • Published : 2018.03.01

Abstract

We propose a modified real-time marching cubes technique that extracts isosurfaces in the form of connected meshes instead of triangle soup. In this way, a various mesh-based isosurface rendering techniques can be implemented and additional information of the isosurfaces such as its topology can be extracted in real-time. In addition, we propose a real-time technique to extract adjacency-triangle structure for geometry shaders that can be used for various shading effects such as silhouette rendering. Compared with the previous technique that welds the output triangles of classical marching cubes, our technique shows up to 300% performance improvement.

본 논문에서는 삼각형 집합(triangle soup)형식의 등가면(isosurface)을 추출하는 기존의 마칭큐브 기법을 개선하여, 연결된 메시(connected mesh)형식으로 추출하는 실시간 기법을 제안한다. 이를 통해 기존에는 불가능했던 다양한 렌더링 기법을 사용하여 동적으로 변하는 등가면을 렌더링할 수 있고, 등가면의 위상(topology)과 기하(geometry) 정보 등을 추출할 수 있다. 또한 지오메트리 셰이더 (geometry shader) 에서 사용하는 인접 삼각형 형태의 구조 (GL_TRIANGLES_ADJACENCY)를 생성하여 보다 다양한 셰이딩 기법을 지원한다. 본 기법은 기존 마칭큐브에 삼각형들을 연결하는 후처리 과정을 추가한 기법에 비해 300% 정도의 향상된 등가면 추출 속도를 보인다.

Keywords

References

  1. W. E. Lorensen and H. E. Cline, "Marching cubes: A high resolution 3d surface construction algorithm," in ACM siggraph computer graphics, vol. 21, no. 4. ACM, 1987, pp. 163-169.
  2. N. Bell, "High-productivity cuda development with the thrust template library," in GPU technology conference, 2010.
  3. W. Griffin, Y. Wang, D. Berrios, and M. Olano, "GPU curvature estimation on deformable meshes," in Symposium on Interactive 3D Graphics and Games. ACM, 2011, pp. 159-166.
  4. R. S. Gallagher, "Span filtering: an optimization scheme for volume visualization of large finite element models," in Proceedings of the 2nd conference on Visualization'91. IEEE Computer Society Press, 1991, pp. 68-75.
  5. G. H. Weber, G. Scheuermann, and B. Hamann, "Detecting critical regions in scalar fields," in VisSym, vol. 3, 2003, pp. 85-94.
  6. H. Carr, J. Snoeyink, and M. van de Panne, "Simplifying flexible isosurfaces using local geometric measures," in Visualization, 2004. IEEE. IEEE, 2004, pp. 497-504.
  7. C. Dyken, G. Ziegler, C. Theobalt, and H.-P. Seidel, "High-speed marching cubes using histopyramids," in Computer Graphics Forum, vol. 27, no. 8. Wiley Online Library, 2008, pp. 2028-2039.
  8. J. Chen, X. Jin, and Z. Deng, "GPU-based polygonization and optimization for implicit surfaces," The Visual Computer, vol. 31, no. 2, pp. 119-130, 2015. https://doi.org/10.1007/s00371-014-0924-7
  9. M. Harris, S. Sengupta, and J. D. Owens, "Parallel prefix sum (scan) with cuda," GPU gems, vol. 3, no. 39, pp. 851-876, 2007.
  10. C. Dyken, S. Norway, and G. Ziegler, "GPU-accelerated data expansion for the marching cubes algorithm," in GPU Technology Conference Presentations, 2010.
  11. R. Geiss, "Generating complex procedural terrains using the gpu," GPU gems, vol. 3, pp. 7-37, 2007.
  12. R. Wenger, Isosurfaces: geometry, topology, and algorithms. CRC Press, 2013.
  13. G. E. Blelloch, "Prefix sums and their applications," 1990.
  14. D. Wolff, OpenGL 4.0 shading language cookbook. Packt Publishing Ltd, 2011.
  15. S. Schaefer and J. Warren, "Dual marching cubes: Primal contouring of dual grids," in Computer Graphics and Applications, 2004. PG 2004. Proceedings. 12th Pacific Conference on. IEEE, 2004, pp. 70-76.