COMPUTER GRAPHICS Proceedings, Annual Conference Series, 1994
94
Fast Volume Rendering Using a Shear-Warp Factorization
of the Viewing Transformation
Philippe Lacroute
Computer Systems Laboratory
Stanford University
Marc Levoy
Computer Science Department
Stanford University
/"
Abstract
Several existing volume rendering algorithms operate by factor-
ing the viewing transformation into a 3D shear parallel to the data
slices, a projection to form an intermediate but distorted image,
and a 2D warp to form an undistorted final image. We extend
this class of algorithms in three ways. First, we describe a new
object-order rendering algorithm based on the factorization that is
significantly faster than published algorithms with minimal loss
of image quality. Shear-warp factorizations have the property that
rows of voxels in the volume are aligned with rows of pixels in the
intermediate image. We use this fact to construct a scanline-based
algorithm that traverses the volume and the intermediate image in
synchrony, taking advantage of the spatial coherence present in
both. We use spatial data structures based on run-length encoding
for both the volume and the intermediate image. Our implemen-
tation running on an SGI Indigo workstation renders a 2563 voxel
medical data set in one second. Our second extension is a shear-
warp factorization for perspective viewing transformations, and
we show how our rendering algorithm can support this extension.
Third, we introduce a data structure for encoding spatial coherence
in unclassified volumes (i.e. scalar fields with no precomputed
opacity). When combined with our shear-warp rendering algo-
rithm this data structure allows us to classify and render a 2563
voxel volume in three seconds. The method extends to support
mixed volumes and geometry and is parallelizable.
CR Categories:
1.3.7 [Computer Graphics]: Three-Dimensional
Graphics and Realism; 1.3.3 [Computer Graphics]: Picture/Image
Generation--Display Algorithms.
Additional Keywords:
Volume rendering, Coherence, Scientific
visualization, Medical imaging.
1 Introduction
Volume rendering is a flexible technique for visualizing scalar
fields with widespread applicability in medical imaging and sci-
entific visualization, but its use has been limited because it is
Authors' Address: Center for Integrated Systems, Stanford University,
Stanford, CA 94305-4070
E-mail: lacroute@weevil.stanford.edu, levoy@cs.stanford.edu
Word Wide Web: http://www-graphics.stanford.edu/
Permission to copy without fee all or part of this material is granted
provided that the copies are not made or distributed for direct
commercial advantage, the ACM copyright notice and the title of the
publication and its date appear, and notice is given that copying is by
permission of the Association for Computing Machinery. To copy
otherwise, or to republish, requires a fee and/or specific permission.
computationally expensive. Interactive rendering rates have been
reported using large parallel processors [17] [19] and using algo-
rithms that trade off image quality for speed [10] [8], but high-
quality images take tens of seconds or minutes to generate on
current workstations. In this paper we present a new algorithm
which achieves near-interactive rendering rates on a workstation
without significantly sacrificing quality.
Many researchers have proposed methods that reduce render-
ing cost without affecting image quality by exploiting coherence
in the data set. These methods rely on spatial data structures that
encode the presence or absence of high-opacity voxels so that
computation can be omitted in transparent regions of the volume.
These data structures are built during a preprocessing step from a
classified
volume: a volume to which an opacity transfer function
has been applied. Such spatial data structures include octrees and
pyramids [13] [12] [8] [3], k-d trees [18] and distance transforms
[23]. Although this type of optimization is data-dependent, re-
searchers have reported that in typical classified volumes 70-95%
of the voxels are transparent [12] [18].
Algorithms that use spatial data structures can be divided into
two categories according to the order in which the data structures
are traversed: image-order or object-order. Image-order algo-
rithms operate by casting rays from each image pixel and pro-
cessing the voxels along each ray [9]. This processing order has
the disadvantage that the spatial data structure must be traversed
once for every ray, resulting in redundant computation (e.g. mul-
tiple descents of an octree). In contrast, object-order algorithms
operate by splatting voxels into the image while streaming through
the volume data in storage order [20] [8]. However, this process-
ing order makes it difficult to implement early ray termination, an
effective optimization in ray-casting algorithms [12].
In this paper we describe a new algorithm which combines
the advantages of image-order and object-order algorithms. The
method is based on a factorization of the viewing matrix into a 3D
shear parallel to the slices of the volume data, a projection to form
a distorted intermediate image, and a 2D warp to produce the final
image. Shear-warp factorizations are not new. They have been
used to simplify data communication patterns in volume rendering
algorithms for SIMD parallel processors [1] [17] and to simplify
the generation of paths through a volume in a serial image-order
algorithm [22]. The advantage of shear-warp factorizations is that
scanlines of tlae volume data and scanlines of the intermediate im-
age are always aligned. In previous efforts this property has been
used to develop SIMD volume rendering algorithms. We exploit
the property for a different reason: it allows efficient, synchro-
nized access to data structures that separately encode coherence
in the volume and the image.
The factorization also makes efficient, high-quality resampling
possible in an object-order algorithm. In our algorithm the re-
© 1994 ACM-0-89791-667-0/94/007/0451 $01,50 451