This Article 
 Bibliographic References 
 Add to: 
Hardware-Assisted Visibility Sorting for Unstructured Volume Rendering
May/June 2005 (vol. 11 no. 3)
pp. 285-295
Harvesting the power of modern graphics hardware to solve the complex problem of real-time rendering of large unstructured meshes is a major research goal in the volume visualization community. While, for regular grids, texture-based techniques are well-suited for current GPUs, the steps necessary for rendering unstructured meshes are not so easily mapped to current hardware. We propose a novel volume rendering technique that simplifies the CPU-based processing and shifts much of the sorting burden to the GPU, where it can be performed more efficiently. Our hardware-assisted visibility sorting algorithm is a hybrid technique that operates in both object-space and image-space. In object-space, the algorithm performs a partial sort of the 3D primitives in preparation for rasterization. The goal of the partial sort is to create a list of primitives that generate fragments in nearly sorted order. In image-space, the fragment stream is incrementally sorted using a fixed-depth sorting network. In our algorithm, the object-space work is performed by the CPU and the fragment-level sorting is done completely on the GPU. A prototype implementation of the algorithm demonstrates that the fragment-level sorting achieves rendering rates of between one and six million tetrahedral cells per second on an ATI Radeon 9800.

[1] N.L. Max, “Optical Models for Direct Volume Rendering,” IEEE Trans. Visualization and Computer Graphics, vol. 1, no. 2, pp. 99-108, June 1995.
[2] ATI, “Radeon 9500/9600/9700/9800 OpenGL Programming and Optimization Guide,” 2003, http:/
[3] S. Roettger, M. Kraus, and T. Ertl, “Hardware-Accelerated Volume and Isosurface Rendering Based on Cell-Projection,” Proc. IEEE Visualization, pp. 109-116, Oct. 2000.
[4] S. Guthe, S. Roettger, A. Schieber, W. Straßer, and T. Ertl, “High-Quality Unstructured Volume Rendering on the PC Platform,” Proc. ACM SIGGRAPH/Eurographics Workshop Graphics Hardware, pp. 119-126, Sept. 2002.
[5] M. Ikits, J. Kniss, A. Lefohn, and C. Hansen, GPU Gems: Programming Techniques, Tips, and Tricks for Real-Time Graphics, pp. 667-692, Addison Wesley, 2004.
[6] P. Shirley and A. Tuchman, “A Polygonal Approximation to Direct Scalar Volume Rendering,” Proc. San Diego Workshop Volume Visualization, vol. 24, no. 5, pp. 63-70, Nov. 1990.
[7] P.L. Williams, “Visibility-Ordering Meshed Polyhedra,” ACM Trans. Graphics, vol. 11, no. 2, pp. 103-126, Apr. 1992.
[8] J. Comba, J.T. Klosowski, N. Max, J.S.B. Mitchell, C.T. Silva, and P.L. Williams, “Fast Polyhedral Cell Sorting for Interactive Rendering of Unstructured Grids,” Computer Graphics Forum, vol. 18, no. 3, pp. 369-376, Sept. 1999.
[9] C.T. Silva, J.S. Mitchell, and P.L. Williams, “An Exact Interactive Time Visibility Ordering Algorithm for Polyhedral Cell Complexes,” Proc. IEEE Symp. Volume Visualization, pp. 87-94, Oct. 1998.
[10] M. Kraus and T. Ertl, “Cell-Projection of Cyclic Meshes,” Proc. IEEE Visualization, pp. 215-222, Oct. 2001.
[11] R. Cook, N. Max, C. Silva, and P. Williams, “Efficient, Exact Visibility Ordering of Unstructured Meshes,” IEEE Trans. Visualization and Computer Graphics, vol. 1, no. 6, pp. 695-707, Nov./Dec. 2004.
[12] M. Weiler, M. Kraus, M. Merz, and T. Ertl, “Hardware-Based Ray Casting for Tetrahedral Meshes,” Proc. IEEE Visualization, pp. 333-340, Oct. 2003.
[13] M. Weiler, P.N. Mallón, M. Kraus, and T. Ertl, “Texture-Encoded Tetrahedral Strips,” Proc. Symp. Volume Visualization 2004, pp. 71-78, 2004.
[14] R. Farias, J. Mitchell, and C.T. Silva, “ZSWEEP: An Efficient and Exact Projection Algorithm for Unstructured Volume Rendering,” Proc. IEEE Volume Visualization and Graphics Symp., pp. 91-99, 2000.
[15] L. Carpenter, “The A-Buffer, an Antialiased Hidden Surface Method,” Computer Graphics (Proc. SIGGRAPH 84), vol. 18, no. 3, pp. 103-108, July 1984.
[16] L. Guibas, “Computational Geometry and Visualization: Problems at the Interface,” Scientific Visualization of Physical Phenomena, N.M. Patrikalakis, ed., pp. 45-59, Springer-Verlag, 1991.
[17] N.L. Max, “Sorting for Polyhedron Compositing,” Focus on Scientific Visualization, pp. 259-268, Springer-Verlag, 1993.
[18] R. Farias and C.T. Silva, “Out-of-Core Rendering of Large, Unstructured Grids,” IEEE Computer Graphics and Applications, vol. 21, no. 4, pp. 42-51, July/Aug. 2001.
[19] I.E. Sutherland, R.F. Sproull, and R.A. Schumacker, “A Characterization of Ten Hidden-Surface Algorithms,” ACM Computing Surveys, vol. 6, no. 1, pp. 1-55, Mar. 1974.
[20] M. Newell, R. Newell, and T. Sancha, “A Solution to the Hidden Surface Problem,” Proc. ACM Ann. Conf., pp. 443-450, 1972.
[21] C. Stein, B. Becker, and N. Max, “Sorting and Hardware Assisted Rendering for Volume Visualization,” Proc. IEEE Symp. Volume Visualization, pp. 83-89, Oct. 1994.
[22] H. Fuchs, Z.M. Kedem, and B.F. Naylor, “On Visible Surface Generation by A Priori Tree Structures,” Computer Graphics (Proc. SIGGRAPH 80), vol. 14, no. 3, pp. 124-133, July 1980.
[23] C. Wittenbrink, “R-Buffer: A Pointerless A-Buffer Hardware Architecture,” Proc. ACM SIGGRAPH/Eurographics Workshop Graphics Hardware, pp. 73-80, 2001.
[24] A. Mammen, “Transparency and Antialiasing Algorithms Implemented with the Virtual Pixel Maps Technique,” IEEE Computer Graphics and Applications, vol. 9, pp. 43-55, July 1984.
[25] C. Everitt, “Interactive Order-Independent Transparency,” NVIDIA, technical report, 2001, http:/
[26] N.P. Jouppi and C.-F. Chang, “Z3: An Economical Hardware Technique for High-Quality Antialiasing and Transparency,” Proc. ACM SIGGRAPH/Eurographics Workshop Graphics Hardware, pp. 85-93, Aug. 1999.
[27] P. Kipfer, M. Segal, and R. Westermann, “Uberflow: A GPU-Based Particle Engine,” Eurographics Symp. Proc. Graphics Hardware 2004, pp. 115-122, 2004.
[28] S. Roettger and T. Ertl, “Cell Projection of Convex Polyhedra,” Proc. 2003 Eurographics/IEEE TVCG Workshop Volume Graphics, pp. 103-107, 2003.
[29] B. Wylie, K. Moreland, L.A. Fisk, and P. Crossno, “Tetrahedral Projection Using Vertex Shaders,” Proc. IEEE/ACM Symp. Volume Graphics and Visualization, pp. 7-12, 2002.
[30] T. Aila, V. Miettinen, and P. Nordlund, “Delay Streams for Graphics Hardware,” ACM Trans. Graphics, vol. 22, no. 3, pp. 792-800, July 2003.
[31] H. Samet, “The Quadtree and Related Hierarchical Data Structures,” ACM Computing Surveys, vol. 16, no. 2, pp. 187-260, 1984.
[32] J.M. Kniss, S. Premože, C.D. Hansen, P. Shirley, and A. McPherson, “A Model for Volume Lighting and Modeling,” IEEE Trans. Visualization and Computer Graphics, vol. 9, no. 2, pp. 150-162, 2003.
[33] J. Krüger and R. Westermann, “Acceleration Techniques for GPU-Based Volume Rendering,” Proc. IEEE Visualization, pp. 287-292, 2003.
[34] M. Segal, C. Korobkin, R. van Widenfelt, J. Foran, and P. Haeberli, “Fast Shadows and Lighting Effects Using Texture Mapping,” Proc. ACM SIGGRAPH, pp. 249-252, July 1992.
[35] T.H. Cormen, C.E. Leiserson, R.L. Rivest, and C. Stein, Introduction to Algorithms, second ed., pp. 40, 127-173. McGraw-Hill, 2001.
[36] R. Sedgewick, Algorithms in C, third ed., pp. 298-301, 403-437. Addison-Wesley, 1998.
[37] H. Warren Jr., Hacker's Delight, pp. 261-265. Addison-Wesley, 2002.
[38] H. Edelsbrunner, Geometry and Topology for Mesh Generation. Cambridge Univ. Press, 2001.
[39] L. Freitag, P. Knupp, T. Munson, and S. Shontz, “A Comparison of Optimization Software for Mesh Shape-Quality Improvement Problems,” Proc. 11th Int'l Meshing Roundtable, pp. 29-40, 2002.
[40] M. Weiler, M. Kraus, M. Merz, and T. Ertl, “Hardware-Based View-Independent Cell Projection,” IEEE Trans. Visualization and Computer Graphics, vol. 9, no. 2, pp. 163-175, 2003.
[41] F.F. Bernardon, C.A. Pagot, J.L.D. Comba, and C.T. Silva, “GPU-Based Tile Ray Casting Using Depth Peeling,” Technical Report UUSCI-2004-006, SCI Inst., 2004.
[42] J.S.B. Mitchell, D.M. Mount, and S. Suri, “Query-Sensitive Ray Shooting,” Int'l J. Computational Geometry and Applications, vol. 7, no. 4, pp. 317-347, Aug. 1997.
[43] M. de Berg, M.J. Katz, A.F. van der Stappen, and J. Vleugels, “Realistic Input Models for Geometric Algorithms,” Proc. Ann. Symp. Computational Geometry, pp. 294-303, 1997.
[44] G.L. Kindlmann, “The Teem Toolkit,” 2003, http:/teem.source

Index Terms:
Volume visualization, graphics processors, visibility sorting.
Steven P. Callahan, Milan Ikits, Jo?o L.D. Comba, Cl?udio T. Silva, "Hardware-Assisted Visibility Sorting for Unstructured Volume Rendering," IEEE Transactions on Visualization and Computer Graphics, vol. 11, no. 3, pp. 285-295, May-June 2005, doi:10.1109/TVCG.2005.46
Usage of this product signifies your acceptance of the Terms of Use.