This Article 
 Bibliographic References 
 Add to: 
An Order of Magnitude Faster Isosurface Rendering in Software on a PC than Using Dedicated, General Purpose Rendering Hardware
October-December 2000 (vol. 6 no. 4)
pp. 335-345

Abstract—The purpose of this work is to compare the speed of isosurface rendering in software with that using dedicated hardware. Input data consist of 10 different objects from various parts of the body and various modalities (CT, MR, and MRA) with a variety of surface sizes (up to 1 million voxels/2 million triangles) and shapes. The software rendering technique consists of a particular method of voxel-based surface rendering, called shell rendering. The hardware method is OpenGL-based and uses the surfaces constructed from our implementation of the “Marching Cubes” algorithm. The hardware environment consists of a variety of platforms, including a Sun Ultra I with a Creator3D graphics card and a Silicon Graphics Reality Engine II, both with polygon rendering hardware, and a 300Mhz Pentium PC. The results indicate that the software method (shell rendering) was 18 to 31 times faster than any hardware rendering methods. This work demonstrates that a software implementation of a particular rendering algorithm (shell rendering) can outperform dedicated hardware. We conclude that, for medical surface visualization, expensive dedicated hardware engines are not required. More importantly, available software algorithms (shell rendering) on a 300Mhz Pentium PC outperform the speed of rendering via hardware engines by a factor of 18 to 31.

[1] H.K. Huang and R.S. Ledley, “Three-Dimensional Image Construction from in vivo Consecutive Transverse Axial Sections,” Computers in Biology and Medicine, vol. 5, pp. 165-170, 1975.
[2] G.T. Herman and H.K. Liu, “Three-Dimensional Display of Human Organs from Computed Tomograms,” Computer Graphics and Image Processing, vol. 9, pp. 1-29, 1979.
[3] J.K. Udupa and D. Odhner, “Fast Visualization, Manipulation, and Analysis of Binary Volumetric Objects,” IEEE Computer Graphics and Applications, vol. 11, no. 6, pp. 53-62, 1991.
[4] G. Frieder, D. Gordon, and R. Reynolds, “Back-to-Front Display of Voxel-Based Objects,” IEEE Computer Graphics and Applications, vol. 5, pp. 52-60, 1985.
[5] W.E. Lorensen and H.E. Cline, “Marching Cubes: A High Resolution 3D Surface Construction Algorithm,” Computer Graphics (SIGGRAPH '87 Proc.), vol. 21, pp. 163-169, 1987.
[6] K.H. Hohne and R. Bernstein, “Shading 3D Images from CT Using Gray-Level Gradients,” IEEE Trans. Medical Imaging, vol. 5, pp. 45-47, 1986.
[7] L.D. Harris, R.A. Robb, T.S. Yuen, and E.L. Ritman, “Non-Invasive Numerical Dissection and Display of Anatomic Structures Using Computerized X-Ray Tomography,” SPIE Proc., vol. 152, pp. 10-18, 1978.
[8] R.A. Drebin, L. Carpenter, and P. Hanrahan, “Volume Rendering,” Computer Graphics (SIGGRAPH '88 Proc.), no. 22, pp. 65-74, 1988.
[9] M. Levoy, “Display of Surfaces from Volume Data,” IEEE Computer Graphics and Applications, vol. 8, no. 3, pp. 29-37, 1988.
[10] J.K. Udupa and D. Odhner, “Shell Rendering,” IEEE Computer Graphics and Applications, vol. 13, no. 6, pp. 58-67, 1993.
[11] S. Schreiner, C.B. Paschal, and R.L. Galloway, “Comparison of Projection Algorithms Used for the Construction of Maximum Intensity Projection Images,” J. Computer Assisted Tomography, vol. 20, pp. 56-67, 1996.
[12] D.G. Brown and S.J. Riederer, “Contrast-to-Noise Ratios in Maximum Intensity Projection Images,” Magnetic Resonance in Medicine, pp. 130-137, 1992.
[13] G. Wyvill, C. McPheeters, and B. Wyvill, “Data Structures for Soft Objects,” The Visual Computer, vol. 2, pp. 227-234, 1986.
[14] M. Dürst, “Letters: Additional Reference to Marching Cubes,” Computer Graphics, vol. 22, no. 2, pp. 72-73, 1988.
[15] J. Cox, D. Karron, and B. Mishra, “The Spiderweb Surface Rendering Algorithm,” Innovation and Technology in Biology and Medicine, vol. 14, pp. 634-655, 1993.
[16] S. Roll, A. Haase, and M. von Kienlin, “Fast Generation of Leakproof Surfaces from Well-Defined Objects by a Modified Marching Cubes Algorithm,” Computer Graphics Forum, vol. 14, pp. 127-138, 1995.
[17] A. Kaufman, “Efficient Algorithms for 3-D Scan Conversion of Parametric Curves, Surfaces, and Volumes,” Computer Graphics, vol. 21, pp. 171-179, 1987.
[18] A. Kaufman, D. Cohen, and R. Yagel, "Volume Graphics," Computer, Vol. 26, No. 7, July 1993, pp. 51-64.
[19] J.K. Udupa, R.J. Goncalves, K. Iyer, S. Narendula, D. Odhner, S. Samarasekera, and S. Sharma, “3DVIEWNIX: An Open, Transportable Software System for the Visualization and Analysis of Multidimensional, Multimodality, Multiparametric Images,” SPIE Proc. 1897, Medical Imaging 1993: Image Capture, Formatting, and Display, pp. 47-58, 1993.
[20] D. Gordon and J.K. Udupa, “Fast Surface Tracking in Three-Dimensional Binary Images,” Computer Vision, Graphics, and Image Processing, vol. 45, pp. 196-214, 1989.
[21] J.K. Udupa and H.-M. Hung, “Surface versus Volume Rendering: A Comparative Assessment,” Proc. First Conf. Visualization in Biomedical Computing, pp. 83-91, 1990.
[22] G.T. Herman, “Discrete Multidimensional Jordan Surfaces,” CVGIP: Graphical Models and Image Processing, vol. 54, no. 6, pp. 507-515, 1992.
[23] J.K. Udupa, “Multidimensional Digital Boundaries,” CVGIP: Graphics Models and Image Processing, vol. 50, no. 4, pp. 311-323, 1994.
[24] R. Glidden, Graphics Programming with Direct3D. Reading, Mass.: Addison-Wesley Developers Press, 1997.
[25] W. Schroeder, K. Martin, and B. Lorensen, The Visualization Toolkit: An Object-Oriented Approach to 3D Graphics, second ed. Upper Saddle River, N.J.: Prentice Hall, 1998 (the visualization toolkit, at).
[26] A. van Gelder and J. Wilhelms, “Topological Considerations in Isosurface Generation,” ACM Trans. Graphics, vol. 13, no. 4, pp. 337-375, 1994.
[27] J.D. Foley, A. van Dam, S.K. Feiner, and J.F. Hughes, Computer Graphics, second ed. Reading, Mass.: Addison-Wesley, 1990.
[28] OpenGL Reference Manual, second ed., R. Kempf and C. Frazier, eds. Reading, Mass.: Addison-Wesley Developers Press, 1997.
[29] M. Woo, J. Neider, and T. Davis, OpenGL Programming Guide, second ed. Rading, Mass.: Addison-Wesley Developers Press, 1997.
[30] J.K. Udupa and R.J. Goncalves, “Imaging Transforms for Visualizing Surfaces and Volumes,” J. Digital Imaging, vol. 6, no. 4, pp. 213-236, 1993.
[31] D. Odhner and J.K. Udupa, “Shell Manipulation: Interactive Alteration of Multiple-Material Fuzzy Structures,” SPIE Medical Imaging, vol. 2,431, pp. 35-42, 1995.
[32] A.L. Ames, D.R. Nadeau, and J.L. Moreland, VRML 2.0 Sourcebook. second ed. John Wiley and Sons, 1997.
[33] Y. Livnat, H. Shen, and C.R. Johnson, "A Near Optimal Isosurface Extraction Algorithm Using the Span Space," IEEE Trans. Visualization and Computer Graphics, vol. 2, no. 1, Mar. 1996, pp. 73-84.
[34] H. Shen, C.D. Hansen, Y. Livnat, and C.R. Johnson, “Isosurfacing in Span Space with Utmost Efficiency (ISSUE),” Proc. IEEE Visualization '96, pp. 287-294, 1996.
[35] P. Cignoni, P. Marino, C. Montani, E. Puppo, and R. Scopigno, “Speeding Up Isosurface Extraction Using Interval Trees,” IEEE Trans. Visualization and Computer Graphics, vol. 3, no. 2, pp. 158-170, Apr.-June 1997.
[36] T. Itoh and K. Koyamada, “Automatic Isosurface Propagation by Using an Extrema Graph and Sorted Boundary Cell Lists,” IEEE Trans. Visualization and Computer Graphics, vol. 1, no. 4, pp. 319-327, Dec. 1995.

Index Terms:
Volume visualization, rendering, isosurfaces, 3D imaging.
George J. Grevera, Jayaram K. Udupa, Dewey Odhner, "An Order of Magnitude Faster Isosurface Rendering in Software on a PC than Using Dedicated, General Purpose Rendering Hardware," IEEE Transactions on Visualization and Computer Graphics, vol. 6, no. 4, pp. 335-345, Oct.-Dec. 2000, doi:10.1109/2945.895878
Usage of this product signifies your acceptance of the Terms of Use.