Display of Surfaces from Volume Data

Marc Levoy
IEEE Computer Graphics and Applications,
Vol. 8, No. 3, May, 1988, pp. 29-37.

(3rd most frequently cited paper in the computer graphics literature, according to Google Scholar)


In this article we explore the application of volume rendering techniques to the display of surfaces from sampled scalar functions of three spatial dimensions. It is not necessary to fit geometric primitives to the sampled data. Images are formed by directly shading each sample and projecting it onto the picture plane.

Surface shading calculations are performed at every voxel with local gradient vectors serving as surface normals. In a separate step, surface classification operators are applied to obtain a partial opacity for every voxel. Operators that detect isovalue contour surfaces and region boundary surfaces are presented. Independence of shading and classification calculations insures an undistorted visualization of 3-D shape. Non-binary classification operators insure that small or poorly defined features are not lost. The resulting colors and opacities are composited from back to front along viewing rays to form an image.

The technique is simple and fast, yet displays surfaces exhibiting smooth silhouettes and few other aliasing artifacts. The use of selective blurring and super-sampling to further improve image quality is also described. Examples from two applications are given: molecular graphics and medical imaging.

Additional information available:

About the error in this paper

There is an error in this paper. Figure 1 suggests that voxel colors and opacities should be interpolated separately during ray tracing/resampling. This only works correctly if the colors have been premultiplied by the opacities, as suggested by Porter and Duff [1], before interpolation. If this is not done, then low-opacity colors may mix on equal terms with high-opacity colors, leading to color bleeding artifacts at the boundaries between differently colored regions of the volume. The necessity to premultiply colors by opacities was not made clear in the paper.

This error, and the visual artifacts it may cause, is nicely described in a paper by Wittenbrink, Malzbender, and Goss [2]. However, contrary to the impression one might get from reading their paper, the error in my 1988 paper is only in the exposition, not in the implementation. As I say in a letter to the editor [3] of IEEE Computer Graphics and Applications, the images in my 1988 paper, and in my later papers, are correct. The code used to produce these images, incorporated in 1994 into Lacroute and Levoy's [4] free VolPack software package, is also correct. Despite this, there is a U.S. patent [5] covering the "improved" volume rendering algorithm described in [2]. I hope no company is paying a licensing fee on this invalid patent.


[1] Porter, T., Duff., T., Compositing digital images, Proc. SIGGRAPH '84, ACM, 1984, pp. 253-259.

[2] Wittenbrink, C., Malzbender, T., Goss, M., Opacity-weighted color interpolation for volume sampling, Proc. 1998 Symposium on Volume Visualization, ACM, October, 1998, pp. 135-142.

[3] Levoy, M., Error in volume rendering paper was in exposition only, IEEE Computer Graphics and Applications, Vol. 20, No. 4, July/August, 2000, p. 6.

[4] Lacroute, P. and Levoy, M., Fast Volume Rendering Using a Shear-Warp Factorization of the Viewing Transformation, Proc. SIGGRAPH '94, ACM, 1994, pp. 451-458.

[5] Malzbender, T., Goss, M.E., Opacity-weighted color interpolation for volume sampling, U.S. patent #6,278,459, filed August 20, 1997, issued August 21, 2001,

This page © Copyright 2000-2010 by Marc Levoy
The paper © Copyright 1988 by IEEE