## Efficient ray tracing of volume data (1990)

Venue: | ACM Transactions on Graphics |

Citations: | 347 - 4 self |

### BibTeX

@ARTICLE{Levoy90efficientray,

author = {Marc Levoy},

title = {Efficient ray tracing of volume data},

journal = {ACM Transactions on Graphics},

year = {1990},

volume = {9},

pages = {245--261}

}

### Years of Citing Articles

### OpenURL

### Abstract

Volume rendering is a technique for visualizing sampled scalar or vector fields of three spatial dimensions without fitting geometric primitives to the data. A subset of these techniques generates images by computing 2-D projections of a colored semitransparent volume, where the color and opacity at each point are derived from the data using local operators. Since all voxels participate in the generation of each image, rendering time grows linearly with the size of the dataset. This paper presents a front-to-back image-order volume-rendering algorithm and discusses two techniques for improving its performance. The first technique employs a pyramid of binary volumes to encode spatial coherence present in the data, and the second technique uses an opacity threshold to adaptively terminate ray tracing. Although the actual time saved depends on the data, speedups of an order of magnitude have been observed for datasets of useful size and complexity. Examples from two applications are given: medical imaging and molecular graphics.

### Citations

2229 | Marching cubes: A high resolution 3D surface construction algorithm
- Lorensen, Cline
- 1987
(Show Context)
Citation Context ...array. Primitives that have been used for this purpose include opaque cubes [X3], polygonal meshes constructed from 2-D contours [lo], and voxelsized polygons generated directly from 3-D data samples =-=[24]-=-. The principal drawback of this approach is that fitting of primitives requires making a binary classification of the data. As a result, these methods often exhibit false positives (spurious surfaces... |

771 | Display of surfaces from volume data
- LEVOY
- 1988
(Show Context)
Citation Context ...ow nearly linearly with the size of the image rather than linearly with the size of the dataset. 1. BRUTE-FORCE ALGORITHM Let us first consider the brute-force volume-rendering algorithm described in =-=[21]-=- and outlined in Figure 1. We begin with a 3-D array of data samples. For simplicity, let us assume a scalar-valued array forming a cube that is N voxels on a side. In this paper we treat voxels as po... |

582 |
An improved illumination model for shaded display
- Whitted
- 1980
(Show Context)
Citation Context ... a semitransparent object, opacity accumulates to a level where the color of the ray stabilizes and ray tracing can be terminated. The idea of adaptively terminating ray tracing was first proposed in =-=[34]-=-. Many algorithms for displaying medical data stop after encountering the first surface or the first opaque voxel. In this guise, the idea has been reported in [15, 30, and 321 and perhaps elsewhere. ... |

400 | Volume rendering
- Drebin, Carpenter, et al.
- 1988
(Show Context)
Citation Context ...behind the dataset, and the resampled colors and opacities are composited with each other and with the background to yield a color for the ray. This color is denoted C(u). The rendering algorithms in =-=[9]-=- and [21] process data from back to front, while the algorithms in [29] and [33] operate from front to back. In this paper we work from front to back, compositing the color and opacity at each sample ... |

385 |
Compositing digital images
- Porter, Duff
- 1984
(Show Context)
Citation Context ...nt, while the algorithms in [29] and [33] operate from front to back. In this paper we work from front to back, compositing the color and opacity at each sample location under the ray in the sense of =-=[27]-=-. Specifically, the color Gout (u; U) and opacity (Y,,~(u; U) of ray u after processing sample U are related to the color c zplaces(~; U) and opacity ai”(u; U) of the ray before processing the sample ... |

283 |
Stochastic sampling in computer graphics
- Cook
- 1986
(Show Context)
Citation Context ...points? We observe, however, that these points are not evenly spaced along the ray. If the data are resampled at such nonuniformly spaced points, a noise component may be added to the resulting image =-=[7]-=-. To avoid these artifacts, we superimpose a set of evenly spaced sample locations, as shown by the rectangular tick marks in Figure 4, and then limit ourselves to resampling the data at these locatio... |

185 |
Space Subdivision for Fast Ray Tracing
- Glassner
- 1984
(Show Context)
Citation Context ...r 3-D grid of cubic cells [ll], adaptive subdivision into parallelepipeds, generalized cubes, or tetrahedrons [8], and adaptive hierarchical subdivision into cubic cells of varying size using octrees =-=[14]-=-. These methods can be applied to a geometric description of the volume data by fitting primitives as described above, or they may be applied directly to the sample array. Specifically, if we treat ea... |

171 | Optimal surface reconstruction from planar contours - Fuchs, Kedem, et al. - 1977 |

168 | Beam tracing polygonal objects - Heckbert, Hanrahan - 1984 |

166 |
A rendering algorithm for visualizing 3D scalar fields
- Sabella
- 1988
(Show Context)
Citation Context ...d from the resulting nonuniform array of sample colors by interpolation and resampling at the display resolution. In many cases, this optimization reduces rendering time by another order of magnitude =-=[23]-=-. Alternatively, a sequence of successively more refined images can be generated at equally spaced intervals of time by casting more rays, adding the resulting colors to the sample array, and repeatin... |

161 | A fast voxel traversal algorithm for ray tracing
- Amanatides, Woo
- 1987
(Show Context)
Citation Context ...cedure accepts a level number and cell index, and returns the index of the parent cell. The Next procedure accepts a level number and a point on a ray, and computes, using a method similar to that in =-=[2]-=-, the coordinates of the point where the ray enters the next cell on the same level. The RenderCell procedure composites the contribution made to a ray by the specified interval of volume data. The al... |

135 |
Ray Tracing Complex Scenes
- Kay, Kajiya
- 1986
(Show Context)
Citation Context ...nst these volumes and, if a volume is hit, then against its contents. Bounding volume schemes that have been tried include spheres [34], parallelepipeds [28], extruded extents [ 191, and convex hulls =-=[20]-=-. These methods can be applied to volume data by fitting geometric primitives to the sample array. Primitives that have been used for this purpose include opaque cubes [X3], polygonal meshes construct... |

121 |
VBUFFER: Visible volume rendering
- Upson, Keeler
- 1988
(Show Context)
Citation Context ...each other and with the background to yield a color for the ray. This color is denoted C(u). The rendering algorithms in [9] and [21] process data from back to front, while the algorithms in [29] and =-=[33]-=- operate from front to back. In this paper we work from front to back, compositing the color and opacity at each sample location under the ray in the sense of [27]. Specifically, the color Gout (u; U)... |

119 |
Geometric Modeling Using Octree Encoding
- Meagher
- 1982
(Show Context)
Citation Context ... of empty voxels. In the context of volume rendering, a voxel is defined as empty if its opacity is zero. Methods for encoding coherence in volume data include octree hierarchical spatial enumeration =-=[25]-=-, polygonal representation of bounding surfaces [lo], and octree representation of bounding surfaces [ 131. The algorithm presented in this paper employs an octree enumeration similar to that of [25],... |

114 | Fast ray tracing by ray classification
- ARVO, KIRK
- 1987
(Show Context)
Citation Context ...manating from similar locations and traveling in similar directions. Specific techniques include the light buffer of [16], the ray coherence algorithm of [26], and the ray classification algorithm of =-=[3]-=-. In the present algorithm, an orthographic viewing projection is used, and shadowing, reflection, and refraction are not supported. All rays consequently travel in the same direction. Many volume-ren... |

105 | ATRS: accelerated ray-tracing system - Fujimoto, Tanata, et al. - 1986 |

88 | A 3-dimensional representation for fast rendering of complex scenes
- RUBIN, WHITTED
- 1980
(Show Context)
Citation Context ...roups of primitives. Rays are tested first against these volumes and, if a volume is hit, then against its contents. Bounding volume schemes that have been tried include spheres [34], parallelepipeds =-=[28]-=-, extruded extents [ 191, and convex hulls [20]. These methods can be applied to volume data by fitting geometric primitives to the sample array. Primitives that have been used for this purpose includ... |

66 | Three-dimensional display of human organs from computed tomograms - Herman, Liu - 1979 |

64 |
A survey of ray tracing acceleration techniques
- Arvo, Kirk
- 1989
(Show Context)
Citation Context ...s in volume data is analogous to the tracing of rays through expanses of empty space in geometrically defined scenes. This problem has received much attention in the computer graphics literature (see =-=[4]-=- for an excellent survey), and it is useful to compare the present algorithm to strategies for speeding up ray tracing of geometric scenes. One such strategy is to place bounding volumes around primit... |

59 |
Analysis of an Algorithm for Fast Ray Tracing Using Uniform Space Subdivision
- Cleary, Wyvill
- 1988
(Show Context)
Citation Context ...dividing geometric scenes do not scale well when applied to volume data. In particular, spatial subdivisions of geometric scenes typically consist of hundreds of cells each containing many primitives =-=[6]-=-, whereas volume datasets consist of tens of millions of spatially ordered cells each containing a single data sample. Several researchers [2, 6, 111 ACM Transactions on Graphics, Vol. 9, No. 3, July ... |

58 | Volume rendering by adaptive refinement
- Levoy
- 1990
(Show Context)
Citation Context ...d from the resulting nonuniform array of sample colors by interpolation and resampling at the display resolution. In many cases, this optimization reduces rendering time by another order of magnitude =-=[23]-=-. Alternatively, a sequence of successively more refined images can be generated at equally spaced intervals of time by casting more rays, adding the resulting colors to the sample array, and repeatin... |

48 |
Principles and applications of pencil tracing
- Shiny, Takahashi, et al.
- 1987
(Show Context)
Citation Context ...ctional data structures might be useful in these cases. Other ray-tracing techniques that might be applicable to volume rendering include generalized rays such as beams [ 171, cones [ 11, and pencils =-=[31]-=-, and statistical optimizations such as distributed ray tracing [7] and frame-to-frame coherence [5]. ACKNOWLEDGMENTS The author wishes to thank Professors Henry Fuchs, Stephen M. Pizer, Frederick P. ... |

47 |
The light buffer: A shadow testing accelerator
- Hines, Greenberg
- 1986
(Show Context)
Citation Context ...efined scenes that has not been addressed in this paper is to group together rays emanating from similar locations and traveling in similar directions. Specific techniques include the light buffer of =-=[16]-=-, the ray coherence algorithm of [26], and the ray classification algorithm of [3]. In the present algorithm, an orthographic viewing projection is used, and shadowing, reflection, and refraction are ... |

46 | New techniques for ray tracing procedurally defined objects - Kajiya - 1983 |

38 |
An adaptative subdivision algorithm and parallel architecture for realistic image synthesis
- Dippe, Swensen
- 1984
(Show Context)
Citation Context ...he next cell. Variants of this approach include uniform subdivision of space into a regular 3-D grid of cubic cells [ll], adaptive subdivision into parallelepipeds, generalized cubes, or tetrahedrons =-=[8]-=-, and adaptive hierarchical subdivision into cubic cells of varying size using octrees [14]. These methods can be applied to a geometric description of the volume data by fitting primitives as describ... |

34 |
Two algorithms for taking advantage of temporal coherence in ray tracing
- Badt
- 1988
(Show Context)
Citation Context ...plicable to volume rendering include generalized rays such as beams [ 171, cones [ 11, and pencils [31], and statistical optimizations such as distributed ray tracing [7] and frame-to-frame coherence =-=[5]-=-. ACKNOWLEDGMENTS The author wishes to thank Professors Henry Fuchs, Stephen M. Pizer, Frederick P. Brooks, Jr., and Turner Whitted of the University of North Carolina Computer Science Department, and... |

19 | Linear octtrees for fast processing of three-dimensional objects”, computer graphics and image processing - Gargantini - 1982 |

18 |
A hierarchical data structure for multidimensional digital images
- Yau, Srihari
- 1983
(Show Context)
Citation Context ... bounding surfaces [ 131. The algorithm presented in this paper employs an octree enumeration similar to that of [25], but represents the enumeration by a pyramid of binary volumes or complete octree =-=[35]-=- rather than by a condensed representation. The present algorithm also differs from [25] in that it renders data in image order, that is, by tracing viewing rays from an observer position through the ... |

14 |
Ray coherence theorem and constant time ray tracing algorithm
- Ohta, Maekawa
- 1987
(Show Context)
Citation Context ...ssed in this paper is to group together rays emanating from similar locations and traveling in similar directions. Specific techniques include the light buffer of [16], the ray coherence algorithm of =-=[26]-=-, and the ray classification algorithm of [3]. In the present algorithm, an orthographic viewing projection is used, and shadowing, reflection, and refraction are not supported. All rays consequently ... |

14 | Three-Dimensional Display of Medical Image Volwnes - Schlusselberg, Smith - 1986 |

7 | Rapid Techniques for the Display and Manipulation of 3-D Biomedical Data," Tutorial presented at - Goldwasser - 1986 |

4 | Active-ray tracing for 3D medical imaging - Trousset, Schmitt - 1987 |

1 |
tracing with cones
- AMANTIDES
- 1984
(Show Context)
Citation Context ...Since voxels are treated as points, whereas cells fill the space between voxels, each volume is one cell larger in each direction than the underlying dataset as shown in Figure 3. We also place voxel =-=(1, 1, 1)-=- at the front-lower-right corner of cell (1, 1, 1). Thus, for example, cell (1, 1, 1) on level zero encloses the space between voxels (1, 1, 1) and (2, 2, 2). We construct the pyramid as follows: Cell... |

1 | Displaying a voxel-based object via linear octtrees - GARGANTINI, WALSH, et al. - 1986 |