DOI QR코드

DOI QR Code

Accurate and efficient GPU ray-casting algorithm for volume rendering of unstructured grid data

  • Gu, Gibeom (Center for Development of Supercomputing System, Korea Institute of Science and Technology Information) ;
  • Kim, Duksu (School of Computer Engineering, Korea University of Technology and Education)
  • Received : 2019.04.09
  • Accepted : 2019.11.11
  • Published : 2020.08.18

Abstract

We present a novel GPU-based ray-casting algorithm for volume rendering of unstructured grid data. Our volume rendering system uses a ray-casting method that guarantees accurate rendering results. We also employ the per-pixel intersection list concept in the Bunyk algorithm to guarantee an accurate result for non-convex meshes. For efficient memory access for the lists on the GPU, we represent the intersection lists for all faces as an array with our novel construction algorithm. With the intersection lists, we perform ray-casting on a GPU, and a GPU thread handles each ray. To increase ray-coherency in a thread block and improve memory access efficiency, we extend a prior image-tile-based work distribution method to fit modern GPU architectures. We also show that a prior approach using a per-thread local buffer to reduce redundant computation is not appropriate for modern GPU architectures. Instead, we take an on-demand calculation strategy that achieves better performance even though it allows duplicate computations. We applied our method to three unstructured grid datasets with different characteristics. With a GPU, our method achieved up to 36.5 times higher performance for the ray-casting process and 19.7 times higher performance for the whole volume rendering process compared with the Bunyk algorithm using a CPU core. Also, our approach showed up to 8.2 times higher performance than a GPU-based cell projection method while generating more accurate rendering results. These results demonstrate the efficiency and accuracy of our method.

Keywords

References

  1. K. Brodlie and J. Wood, Recent advances in volume visualization, Comput. Graph. Forum 20 (2001), no. 2, 125-148. https://doi.org/10.1111/1467-8659.00484
  2. Y. Sugimoto, F. Ino, and K. Hagihara, Improving cache locality for gpu-based volume rendering, Parallel Comput. 40 (2014), no. 5-6, 59-69. https://doi.org/10.1016/j.parco.2014.03.013
  3. J. Wang, F. Yang, and Y. Cao, A cache-friendly sampling strategy for texture-based volume rendering on gpu, Visual Inf. 1 (2017), no. 2, 92-105. https://doi.org/10.1016/j.visinf.2017.08.001
  4. C. T. Silva et al., A survey of gpu-based volume rendering of unstructured grids, Revista de informática teórica e aplicada. Porto Alegre, RS. 12 (2005), no. 2, 9-29.
  5. W. Schroeder, K. M. Martin, and W. E. Lorensen, The visualization toolkit (4th ed.): an object-oriented approach to 3d graphics, Prentice-Hall, Inc., Upper Saddle River, NJ, USA, 2006.
  6. B. Wylie et al., Tetrahedral projection using vertex shaders, in Proc. IEEE Symp. Volume Visualization Graph. (Boston, MA, USA), Oct. 2002, pp. 7-12.
  7. R. Marroquim et al., GPU-based cell projection for interactive volume rendering, in Proc. Brazilian Symp. Comput. Graph. Image Process. (Manaus, Brazil), 2006, pp. 147-154.
  8. M. Weiler et al., Hardware-based view-independent cell projection, IEEE Trans. Visualization Comput. Graph. 9 (2003), no. 2, 163-175. https://doi.org/10.1109/TVCG.2003.1196004
  9. S. P. Callahan et al., Hardware-assisted visibility sorting for unstructured volume rendering, IEEE Trans. Visualization Comput. Graph. 11 (2005), no. 3, 285-295. https://doi.org/10.1109/TVCG.2005.46
  10. J. S. B. Mitchell, C. T. Silva, and R. Farias, ZSWEEP: an efficient and exact projection algorithm for unstructured volume rendering, in Proc. IEEE Symp. Volume Visualization (Salt Lake City, UT, USA), Oct. 2000, pp. 91-99.
  11. M. Weiler et al., Hardware-based ray casting for tetrahedral meshes, in Proc. IEEE Visualization (Seattle, WA, USA), Oct. 2003, pp. 333-340.
  12. F. F. Bernardon et al., GPU-based tiled ray casting using depth peeling, J. Graph. Tools 11 (2006), no. 4, 1-16. https://doi.org/10.1080/2151237X.2006.10129227
  13. A. Maximo et al., Memory efficient GPU-based ray casting for unstructured volume rendering, in Proc. Eurographics/IEEE VGTC Conf. Point-Based Graph. (Goslar, Germany), 2008, pp. 155-162.
  14. P. Bunyk, A. Kaufman, and C. T. Silva, Simple, fast, and robust ray casting of irregular grids, in Proc. Scientific Visualization Conf. (Dagstuhl, Germany), June 1997, pp. 1-7.
  15. D. Kim, Memory efficient parallel ray-casting algorithm for unstructured grid volume rendering, in Proc. Eurographics/IEEE VGTC Conf. Visualization: Posters (Goslar, Germany), 2017, pp. 13-15.
  16. M. P. Garrity, Raytracing irregular volume data, ACM SIGGRAPH Comput. Graph. 24 (1990), no. 5, 35-40.
  17. S. Ribeiro et al., Memory-aware and efficient ray-casting algorithm, in Proc. Brazilian Symp. Comput. Graph. Image Process. (Minas Gerais, Brazil), Oct. 2007, pp. 147-154.
  18. R. Espinha and W. Celes, High-quality hardware-based ray-casting volume rendering using partial pre-integration, in Proc. Brazilian Symp. Comput. Graph. Image Process. (Rio Grande do Norte, Brazil), Oct. 2005, pp. 273-280.
  19. NVIDIA, CUDA programming guide 9.2, NVIDIA, Santa Clara, CA, 2018.
  20. J. Wang, F. Yang, and Y. Cao, Cache-aware sampling strategies for texture-based ray casting on GPU, in Proc. IEEE Symp. Large Data Anal. Visualization (Paris, France), Nov. 2014, pp. 19-26.
  21. J. Wang, F. Yang, and Y. Cao, Computation-to-core mapping strategies for iso-surface volume rendering on GPUs, in Proc. IEEE Pacific Visualization Symp. (Hangzhou, China), Apr. 2015, pp. 153-157.
  22. J. Cheng, M. Grossman, and T. McKercher, Professional CUDA C programming, John Wiley & Sons, New York, NY, 2014.
  23. L. Dagum and R. Menon, OpenMP: an industry standard API for shared-memory programming, IEEE Comput. Sci. Eng. 5 (1998), 46-55. https://doi.org/10.1109/99.660313
  24. M. Levoy, Display of surfaces from volume data, IEEE Comput. graphics Applicat. 8 (1988), no. 3, 29-37. https://doi.org/10.1109/38.511
  25. NVIDIA, Nsight visual studio edition user guide, NVIDIA, Santa Clara, CA.