Issue No.10 - Oct. (2013 vol.19)
pp: 1732-1745
Baoquan Liu , Dept. of Comput. Sci. & Technol., Univ. of Bedfordshire, Luton, UK
G. J. Clapworthy , Dept. of Comput. Sci. & Technol., Univ. of Bedfordshire, Luton, UK
Feng Dong , Dept. of Comput. Sci. & Technol., Univ. of Bedfordshire, Luton, UK
E. C. Prakash , Dept. of Comput. Sci. & Technol., Univ. of Bedfordshire, Luton, UK
We present a novel approach for GPU-based high-quality volume rendering of large out-of-core volume data. By focusing on the locations and costs of ray traversal, we are able to significantly reduce the rendering time over traditional algorithms. We store a volume in an octree (of bricks); in addition, every brick is further split into regular macrocells. Our solutions move the branch-intensive accelerating structure traversal out of the GPU raycasting loop and introduce an efficient empty-space culling method by rasterizing the proxy geometry of a view-dependent cut of the octree nodes. This rasterization pass can capture all of the bricks that the ray penetrates in a per-pixel list. Since the per-pixel list is captured in a front-to-back order, our raycasting pass needs only to cast rays inside the tighter ray segments. As a result, we achieve two levels of empty space skipping: the brick level and the macrocell level. During evaluation and testing, this technique achieved 2 to 4 times faster rendering speed than a current state-of-the-art algorithm across a variety of data sets.
Octrees, Graphics processing unit, Rendering (computer graphics), Acceleration, Interpolation, Cameras, Casting,ray casting, GPU techniques, out-of-core volume rendering, octree
Baoquan Liu, G. J. Clapworthy, Feng Dong, E. C. Prakash, "Octree Rasterization: Accelerating High-Quality Out-of-Core GPU Volume Rendering", IEEE Transactions on Visualization & Computer Graphics, vol.19, no. 10, pp. 1732-1745, Oct. 2013, doi:10.1109/TVCG.2012.151
[1] ImageVis3D: A Real-time Vol. Rendering Tool for Large Data. Scientific Computing and Imaging Inst. (SCI), http:/www., 2009.
[2] The OpenGL registry, Sept. EXT_shader_image_load_store, shader_image_ load_store.txt, 2010.
[3] T. Akenine-Möller, E. Haines, and N. Hoffman, Real-Time Rendering, third, ed., A.K. Peters, Ltd., 2008.
[4] J. Amanatides, "Ray Tracing with Cones," ACM SIGGRAPH Computer Graphics, vol. 18, no. 3, pp. 129-135, 1984.
[5] L. Bavoil and K. Myers, "Order Independent Transparency with Dual Depth Peeling," Nvidia Graphics SDK 10.5, 2008.
[6] C. Crassin, F. Neyret, S. Lefebvre, and E. Eisemann, "Gigavoxels: Ray-Guided Streaming for Efficient and Detailed Voxel Rendering," Proc. Symp. Interactive 3D Graphics and Games (I3D '09), pp. 15-22, 2009.
[7] C. Crassin, F. Neyret, M. Sainz, and E. Eisemann, Efficient Rendering of Highly Detailed Volumetric Scenes with GigaVoxels. In book: GPU Pro. A.K. Peters Ltd., 2010.
[8] C. Dyken, G. Ziegler, C. Theobalt, and H.-P. Seidel, "High-Speed Marching Cubes Using Histopyramids," Computer Graphics Forum, vol. 27, no. 8, pp. 2028-2039, Dec. 2008.
[9] K. Engel, M. Hadwiger, J. Kniss, C. Rezk-Salama, and D. Weiskopf, Real-Time Volume Graphics. A.K. Peters Ltd., 2006.
[10] C. Everitt, "Interactive Order-Independent Transparency," Research Report, NVIDIA Corporation, 2001.
[11] T. Fogal, H. Childs, S. Shankar, J. Krüger, R.D. Bergeron, and P. Hatcher, "Large Data Visualization on Distributed Memory Multi-GPU Clusters," Proc. Conf. High Performance Graphics (HPG '10), pp. 57-66, 2010.
[12] T. Fogal and J. Krüger, "Tuvok, an Architecture for Large Scale Volume Rendering," Proc. 15th Int'l Workshop Vision, Modeling, and Visualization, pp. 57-66, Nov. 2010.
[13] E. Gobbetti, F. Marton, and J. Iglesias Guitián, "A Single-Pass GPU Ray Casting Framework for Interactive Out-of-Core Rendering of Massive Volumetric Data Sets," The Visual Computer, vol. 24, nos. 7-9, pp. 797-806, July 2008.
[14] S. Grimm and S. Bruckner, "Memory Efficient Acceleration Structures and Techniques for Cpu-Based Volume Raycasting of Large Data," Proc. IEEE/SIGGRAPH Symp. Volume Visualization and Graphics, pp. 1-8, 2004.
[15] S. Guthe, M. Wand, J. Gonser, and W. Strasser, "Interactive Rendering of Large Volume Data Sets," Proc. IEEE Conf. Visualization, pp. 53-60, 2002.
[16] M. Hadwiger, P. Ljung, C.R. Salama, and T. Ropinski, "Advanced Illumination Techniques for GPU Volume Raycasting," Proc. ACM SIGGRAPH, pp. 1-166, 2009.
[17] M. Hadwiger, C. Markus, H. Sigg, K. Scharsach, M. Bühler, and Gross, "Real-Time Ray-Casting and Advanced Shading of Discrete Isosurfaces," Computer Graphics Forum, vol. 24, no. 3, pp. 303-312, 2005.
[18] W. Hong, F. Qiu, and A. Kaufman, "GPU-Based Object-Order Ray-Casting for Large Data Sets," Proc. Fourth Int'l Conf. Volume Graphics, pp. 177-185, 2005.
[19] D.M. Hughes and I.S. Lim, "Kd-Jump: A Path-Preserving Stackless Traversal for Faster Isosurface Raytracing on GPUs," IEEE Trans. Visualization and Computer Graphics, vol. 15, no. 6, pp. 1555-1562, Nov./Dec. 2009.
[20] B. Kainz, M. Grabner, A. Bornik, S. Hauswiesner, J. Muehl, and D. Schmalstieg, "Ray Casting of Multiple Volumetric Data Sets with Polyhedral Boundaries on Manycore GPUs," ACM Trans. Graphics, vol. 28, pp. 152:1-152:9, Dec. 2009.
[21] A. Knoll, Y. Hijazi, R. Westerteiger, M. Schott, C. Hansen, and H. Hagen, "Volume Ray Casting with Peak Finding and Differential Sampling," IEEE Trans. Visualization and Computer Graphics, vol. 15, no. 6, pp. 1571-1578, Nov./Dec. 2009.
[22] A. Knoll, S. Thelen, I. Wald, C. Hansen, H. Hagen, and M. Papka, "Full-Resolution Interactive CPU Volume Rendering with Coherent BVH Traversal," Proc. IEEE Pacific Visualization Symp. (PacificVis '11), pp. 3-10, 2011.
[23] J. Krüger and R. Westermann, "Acceleration Techniques for GPU-Based Volume Rendering," Proc. IEEE 14th Visualization, pp. 287-292, 2003.
[24] M. Levoy, "Display of Surfaces from Volume Data," IEEE Computer Graphics Applications, vol. 8, no. 3, pp. 29-37, May 1988.
[25] B. Liu, G.J. Clapworthy, and F. Dong, "Accelerating Volume Raycasting Using Proxy Spheres," Computer Graphics Forum, vol. 28, no. 3, pp. 839-846, 2009.
[26] B. Liu, G.J. Clapworthy, and F. Dong, "Fast Isosurface Rendering on a GPU by Cell Rasterisation," Computer Graphics Forum, vol. 28, no. 8, pp. 2151-2164, 2009.
[27] F. Liu, M.-C. Huang, X.-H. Liu, and E.-H. Wu, "Single Pass Depth Peeling via CUDA Rasterizer," Proc. ACM SIGGRAPH, 2009.
[28] P. Ljung, "Adaptive Sampling in Single Pass GPU-Based Raycasting of Multiresolution Volumes," Proc. Eugraphics/IEEE Int'l Workshop Volume Graphics, pp. 39-46, 2006.
[29] W.E. Lorensen and H.E. Cline, "Marching Cubes: A High Resolution 3D Surface Construction Algorithm," ACM SIGGRAPH Computer Graphics, vol. 21, no. 4, pp. 163-169, 1987.
[30] C. Sigg and M. Hadwiger, "Fast Third Order Texture Filtering," GPU Gems 2, M. Pharr and R. Fernando, eds., pp. 313-329, Addison-Wesley, 2005.
[31] V. Vidal, X. Mei, and P. Decaudin, "Simple Empty-Space Removal for Interactive Volume Rendering," J. Graphics Tools, vol. 13, no. 2, pp. 21-36, 2008.
[32] J.C. Yang, J. Hensley, H. Grün, and N. Thibieroz, "Real-Time Concurrent Linked List Construction on the GPU," Computer Graphics Forum, vol. 29, no. 4, pp. 1297-1304, 2010.
[33] G. Ziegler, A. Tevs, C. Theobalt, and H.-P. Seidel, "On-the-Fly Point Clouds Through Histogram Pyramids," Proc. Int'l Workshop Vision, Modeling and Visualization (VMV '06), pp. 137-144, 2006.