14
j [ Volume Graphics Arie Kaufman, State University of New York at Stony Brook Daniel Cohen, Ben-Gurion University Roni Yagel, Ohio State University wift advances in hardware - particularly faster, larger, and cheaper memories - have been transforming revolutionary approaches in com- puter graphics into reality. A typical example is the revolution of the seventies, when hardware innovations enabled the transition from vector graphics to raster graphics. Another transition with similar potential is shaping up in volume graphics, an emerging subfield of computer graphics. This trend is rooted in the extensive research and development effort in scientific visualization in general and in volume visualization in particular. Volume visualization is a method for extracting meaningful information from volumetric data sets through the use of interactive graphics and imaging. It is Just as 2D raster concerned with the representation. manipulation, and rendering of volumetric data sets.’ The objective is to provide mechanisms for peering inside volumetric graphics superseded data sets and for probing into voluminous and complex structures and dynamics. vector graphics, Volume visualization encompasses an array of techniques for projecting and shading a volumetric data set, or properties thereof, and for interactively extract- volume graphics has ing from it meaningful information using transformations, cuts, segmentation. translucency control. measurements, and so forth. Typically, the volumetric data the potential to set is represented as a 3D discrete regular grid (a 3D raster) of voxefs (volume supersede surface elements) and is commonly stored in a voluMze buffer (also called a cubic frame buffer), which is a large 3D array of voxels (see “Glossary”). Alternatively, other graphics for 3D data structures and formats have been used for storing and manipulating the data geometric scene representation, manipulation, and rendering. set. such as cell decomposition as in octrees,’ sparse voxel matrices, semibound- aries, voxel runs, irregular grids. and surfaces of objects. A voxel is the cubic unit of volume centered at the integral grid point. As a unit of volume, the voxel is the 3D counterpart of the 2D pixel, which represents a unit of area. Thus, we can regard the volume buffer of voxels as the 3D counterpart of the 2D frame buffer of pixels. Each voxel has numeric values associated with it; these represent some measurable properties or independent variables (for exam-

Volume Graphics - CVC · volume graphics. From vector graphics to raster graphics Graphics displays in the sixties and seventies were based on vector drawing devices and on an object-based

  • Upload
    others

  • View
    38

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Volume Graphics - CVC · volume graphics. From vector graphics to raster graphics Graphics displays in the sixties and seventies were based on vector drawing devices and on an object-based

j [

Volume Graphics

Arie Kaufman, State University of New York at Stony Brook

Daniel Cohen, Ben-Gurion University

Roni Yagel, Ohio State University

wift advances in hardware - particularly faster, larger, and cheaper memories - have been transforming revolutionary approaches in com- puter graphics into reality. A typical example is the revolution of the

seventies, when hardware innovations enabled the transition from vector graphics to raster graphics. Another transition with similar potential is shaping up in volume graphics, an emerging subfield of computer graphics. This trend is rooted in the extensive research and development effort in scientific visualization in general and in volume visualization in particular.

Volume visualization is a method for extracting meaningful information from volumetric data sets through the use of interactive graphics and imaging. It is

Just as 2D raster concerned with the representation. manipulation, and rendering of volumetric data sets.’ The objective is to provide mechanisms for peering inside volumetric

graphics superseded data sets and for probing into voluminous and complex structures and dynamics.

vector graphics, Volume visualization encompasses an array of techniques for projecting and shading a volumetric data set, or properties thereof, and for interactively extract-

volume graphics has ing from it meaningful information using transformations, cuts, segmentation. translucency control. measurements, and so forth. Typically, the volumetric data

the potential to set is represented as a 3D discrete regular grid (a 3D raster) of voxefs (volume

supersede surface elements) and is commonly stored in a voluMze buffer (also called a cubic frame buffer), which is a large 3D array of voxels (see “Glossary”). Alternatively, other

graphics for 3D data structures and formats have been used for storing and manipulating the data

geometric scene representation,

manipulation, and rendering.

set. such as cell decomposition as in octrees,’ sparse voxel matrices, semibound- aries, voxel runs, irregular grids. and surfaces of objects.

A voxel is the cubic unit of volume centered at the integral grid point. As a unit of volume, the voxel is the 3D counterpart of the 2D pixel, which represents a unit of area. Thus, we can regard the volume buffer of voxels as the 3D counterpart of the 2D frame buffer of pixels. Each voxel has numeric values associated with it; these represent some measurable properties or independent variables (for exam-

Page 2: Volume Graphics - CVC · volume graphics. From vector graphics to raster graphics Graphics displays in the sixties and seventies were based on vector drawing devices and on an object-based

Glossary

The terms in this glossary are defined in the context of volu,me graphics; their general and formal definition is not necessarily reflected in the definition given here. Words italicized in the definitions are defined under their own en- tries in this glossary.

Adjacency - A relation between two voxels that are said to be 6-adjacent if they share a face, 18-adjacent if they share a face or an edge, and as-adjacent if they share a face, an edge, or a vertex (see Figure B in the sidebar “Fundamentals of voxelization”).

Connectivity - A relation between two voxels that are said to be 6-connected (18-connected, 26-connected) if there exists a g-path (18-path, 26-path) between them.

Hybrid (intermixed) voxel model -A volumetric data set in which a synthetic voxelized model is intermixed with sampled or computed data.

Neighborhood - The 6-neighborhood (18-neighborhood, 26-neighborhood) of a voxel is the set of all voxels that are 6-adjacent (18-adjacent, 26-adjacent) to it.

Path - A sequence of voxels is a 6-path (18-path, 26- path) if every two consecutive voxels along the sequence are 6-adjacent (18-adjacent, 26-adjacent).

Raster graphics - A subfield of computer graphics that represents the scene by a 2D array (raster) of pixels stored in a 20 frame buffer.

Ray casting - A volume-viewing algorithm in which sight rays are cast from the viewing plane through the volume. The tracing of the ray stops when the visible voxels are de- termined by accumulating or encountering opaque value.

Ray tracing (30 raster ray tracing, discrete ray tracing, volumetric ray tracing) - A volume-viewing algorithm in which light behavior is simulated by recursively tracing indi- vidual imaginary rays of light as discrete lines through the scene represented in a volume buffer (see the sidebar “Dis- crete ray tracing”).

Surface rendering -An indirect technique used for visu- alizing volume primitives by first converting them into an in- termediate surface representation and then rendering them to the screen using conventional computer graphics tech- niques (see volume rendering).

Three-dimensional discrete topology - The formal topo- logical characterizations of the digital voxel space that con- form as closely as possible to the corresponding character- izations used in the topology of the continuous 3D space.

Tunnel - A 3D path of certain connectivity that penetrates a discrete surface. Surface thickness is defined by the ab- sence of particular tunnels in the surface.

Vector graphics - A subfield of computer graphics that represents the scene by a set of lines (vectors) that are repeatedly redrawn to the screen by a random vec- tor generator.

Visualization - A method of extracting meaningful in- formation from complex data sets through the use of in- teractive graphics and imaging.

Volume buffer (3D raster, cubic frame buffer) -A 3D array of voxels used for storing a regular volumetric data set.

Volume graphics - The subfield of computer graphics that employs a volume buffer for scene representation and is concerned with synthesizing, manipulating, and rendering such scenes. Volume graphics is the 3D counterpart of raster graphics.

Volume rendering - A direct technique for visualizing volume primitives without any intermediate conversion of the volumetric data set to surface representation (see surface rendering).

Volume visualization - A visualization method con- cerned with the representation, manipulation, and ren- dering of volumetric data.

Volumetric data set - The aggregate of voxels tessel- lating the volume.

Voxblt (voxel block transfer) - A set of operations by which a rectangular subvolume of voxels (called a “room”) can be copied within the volume buffer with ar- bitrary write modes and maskings. Voxblt is the 3D counterpart of the 2D bitblt (bit block transfer).

Voxel - An abbreviation for “volume element” or “vol- ume cell.” Each voxel is a unit of volume and has a nu- meric value (or values) associated with it that repre- sents some measurable properties or independent variables of a real object or phenomenon. The voxel is the 3D conceptual counterpart of the 2D pixel.

Voxel space - A 30 integer grid or lattice of voxels in which the volumetric data set (the object) resides.

Voxelization (volume synthesis, 3D scan conver- sion) - The process of converting a geometric repre- sentation of a synthetic model into a set of voxels that best represents that synthetic model within the discrete voxel space (see the sidebar “Fundamentals of voxel- ization”).

52 COMPUTER

Page 3: Volume Graphics - CVC · volume graphics. From vector graphics to raster graphics Graphics displays in the sixties and seventies were based on vector drawing devices and on an object-based

ple. color. opacity. density. material, coverage proportion. refractive index, velocity. strength. and time) of the real phenomenon or object residing in the unit volume represented by that voxel. The aggregate of voxels tessellating the volume buffer forms the volmzetric data set.’

The source of volume data is sampled data of real objects or phenomena, com- puted data produced by a computer sim- ulation. or modeled data generated from a geometric model. Examples of appli- cations generating sampled data occur in medical imaging (computed tomog- raphy (CT). magnetic resonance imag- ing. ultrasonography). biology (confo- cal microscopy). geoscience (seismic measurements). industry (industrial CT inspection), and molecular systems (elec- tron density maps).’ Examples of appli- cations that generate computed data sets. typically by running a simulation on a supercomputer. occur in meteorol- ogy (storm prediction), computational fluid dynamics (water flow), and com- putational chemistry (new materials).

Although 3D raster representation seems to be more natural for empirical imagery because it can represent interi- ors and digital samples. its advantages are also attracting traditional surface- based applications that deal with the modeling and rendering of synthetic scenes represented by geometric mod- els. Some examples are the rendering of fractals. hypertextures,’ fur,’ and gas- es.’ and CAD models and terrain mod- els for flight simulators.h Furthermore. in many applications involving sampled data - for example, surgical planning and radiation therapy planning - the data need to be visualized along with synthetic objects that may not be avail- able in digital form, such as prosthetic devices. scalpels, injection needles, iso- dose surfaces. and radiation beams. The geometric objects can be converted into voxel representations (voxelized) and intermixed with the sampled organ in the voxel buffer..

Volume graphics is concerned with the synthesis. manipulation. and ren- dering of volumetric objects stored in a volume buffer of voxels. Unlike volume visualization. ivhich focuses primarily on sampled and computed data sets. volume graphics is concerned primarily with modeled geometric scenes. and particularly with those represented in a regular volume buffer. The volume graphics approach has the potential to

July lYY3

Sa,mpled/computed d;ta Geometric model I

130 reconstruction Surface I Volume ! buffer i

Frame buffer

greatly advance the field of 3D graphics by offering a comprehensive alterna- tive to traditional surface graphics.

Figure 1 shows the taxonomy and the dataflow of volume visualization and volume graphics. In this figure, the use of volume graphics techniques in vari- ous stages of volume visualization is marked with solid lines. The major sources of volumetric data are sampled/ computed data (top left) and geometric models (top right). The sampledicom- puted input is 3D reconstructed to fill gaps of missing information and is then stored in the volume buffer. The geo- metric model in 3D continuous space is represented byageometricformula that is 30 sari converted (voxelized) into a set of voxels that best approximate the model and are stored in the volume buffer (see Kaufman.’ Chapter 5). For the fundamentals of voxelization and the related 3D discrete topology issues. see the sidebar “Fundamentals of vox- elization.”

To visualize the data set in the vol- ume buffer, the sampled/computed data can be converted into a geometric model by fitting geometric primitives to surfaces that have been detected in the volume. This set of primitives is then rendered to the screen using a tradi-

Figure 1. Taxono- my and dataflow of volume visual- ization and volume graphics. The solid arrows mark the primary volume graphics dataflow.

tional surface-rendering algorithm. However. the preferred alternative for volume viewing is for the volume prim- itives to be projected directly onto a 2D pixel buffer. This process, called volume rendering, involves both the viewing and the shading of the volume image and can be accomplished by for- ward projection,’ ray casting,” or dis- crete ray tracing (see the sidebar ‘LDjs- Crete ray tracing” and Kaufman,’ Chapters 3 and 4).

After explaining the primary reasons behind the transition in 2D graphics from the vector-based to the raster-based approach, we will focus on volume graph- ics and show that it has the potential to promote a similar transition in 3D graph- ics as an alternative to traditional sur- face graphics. Then we will elaborate on the weaknesses and advantages of volume graphics.

From vector graphics to raster graphics

Graphics displays in the sixties and seventies were based on vector drawing devices and on an object-based approach to scene representation. manipulation,

53

Page 4: Volume Graphics - CVC · volume graphics. From vector graphics to raster graphics Graphics displays in the sixties and seventies were based on vector drawing devices and on an object-based

and display. A geometric representa- list. The major advantages of vector bited no aliasing. This technology, how- tion of the objects constituting the scene graphics were its capability for perform- ever, offered calligraphic drawing only. was stored in a display list. The screen ing object-related operations on the dis- while the interior shaded areas were was refreshed by redrawing the vectors play list and the fact that the vectors it extremely hard to render. constituting the objects in the display drew were continuous and thus exhi- The alternative approach - raster

Fundamentals of voxelization

The synthesis of voxel-represented objects is an indis- pensable stage in volume graphics. This stage, called vox- elization, is concerned with converting geometric objects from their continuous geometric representation into a set of voxels that best approximates the continuous object. Since this process mimics the scan-conversion process that pixel- izes (rasterizes) 2D geometric objects, it is also referred to as 3D scan conversion. In 2D rasterization, the pixels are drawn directly onto the screen to be visualized, and filtering is applied to reduce the aliasing artifacts. However, voxel- ization does not render the voxels; it merely generates a database of the discrete digitization of the continuous ob-

Intuitively, it would seem that a proper voxelization simply “selects” all voxels that are met (if only partially) by the ob-

ject body. Although this ap- proach could be satisfactory in some cases, the objects generated are commonly too coarse and include more voxels than necessary. For example, in Figure A a 2D

Figure A. An example of a curve is rasterized into a 2D discrete curve (shaded connected sequence of Pix- pixels) that intuitively sep- els. Although the discrete arates its two sides even curve does not “cover” the without containing all entire continuous curve, it is those pixels pierced by connected and concisely the continuous line. and successfully separates

both sides of the curve. One practical meaning of separation is apparent when a

voxelized scene is rendered by casting discrete rays from the image plane to the scene. The penetration of the back- ground voxels (which simulate the discrete ray traversal) through the voxelized surface causes the appearance of a hole in the final image of the rendered surface. Another type of error might occur when a 3D flooding algorithm is used either to fill an object or to measure its volume, sur- face area, or other properties. In this case, the nonsepara- bility of the surface causes the flood to leak through the dis- crete surface.

Unfortunately, the extension of the 2D definition of sepa- ration to the third dimension and to surfaces is not straight- forward, since voxelized surfaces cannot be defined as an ordered sequence of voxels and a voxel on the surface does not have a specific number of adjacent voxels. Fur- thermore, there are important topological issues, such as the separation of both sides of a surface, which cannot be well defined using 2D terminology. The theory that deals with these topological issues is called 3D discrete topology. Below we sketch some basic notions and informal defini- tions used in this field.

Fundamentals of 3D discrete topology. The 3D dis- crete space is a set of integral grid points in 30 Euclidean space defined by their Cartesian coordinates (x, y, z). A voxel is the unit cubic volume centered at the integral grid point. The voxel value is mapped onto (O,l}: The voxels as- signed “1” are called the “black” voxels representing opaque objects, and those assigned “0” are the “white” vox- els representing the transparent background. Outside the scope of this article are nonbinary approaches in which the voxel value is mapped onto the interval [O,l] representing either partial coverage, variable densities, or graded opaci- ties. Because of its larger dynamic range of values, this ap- proach may support higher quality rendering.

Two voxels are .26-adjacent if they share either a vertex, an edge, or a face (see Figure B). Every voxel has 26 such adjacent voxels: Eight share a vertex (corner) with the cen- ter voxel (Figure Bl), 12 share an edge (Figure B2), and six share a face (Figure 83). Accordingly, face-sharing voxels are defined as b-adjacent, and edge-sharing and face-shar- ing voxels are defined as Id-adjacent.

The prefix N is used to define the adjacency relation, where N = 6, 18, or 26. We say that a sequence of voxels having the same value (for example, “black”) is an N-path if all consecutive pairs are N-adjacent. A set of voxels A is N- connected if there is an N-path between every pair of vox- els in A. An N-connected component is a maximal N-con- nected set.

Figure C shows a 2D discrete 8connected black curve and a sequence of 8connected white pixels (8-component)

I I I 1

Figure B. The three types of voxel adjacencies in 3D discrete space: Figure C. An example of a 2D 8-curve (1) the six voxels that are 6-adjacent to the voxel at the center (not seen), that does not separate its two sides. (2) the 18 voxels that are 18-adjacent to the voxel at the center, and (3) the The white 8-curve penetrates from 26 voxels that are 26-adjacent to the voxel at the center. one side to the other.

Page 5: Volume Graphics - CVC · volume graphics. From vector graphics to raster graphics Graphics displays in the sixties and seventies were based on vector drawing devices and on an object-based

graphics-has been predominant since correspond to the discrete representa- Table 1 contrasts vector graphics with the late seventies. Raster graphics uses tion of the geometric objects. The screen raster graphics. Unlike vector graphics, a 2D frame buffer (a raster) of pixels for is refreshed by a video controller, which raster graphics provides the capability scene representation and a point-based repeatedly displays the frame buffer on to present realistic, shaded, and tex- renderer for coloring those pixels that the screen.“’ tured surfaces in full color, as well as

Figure D. (1) a 6-connected surface that is not 6-separat- ing; (2) a 6-connected surface that is not l&separating.

that passes from one side of the black component to its other side without intersecting it. This phenomenon is a dis- crete disagreement with the continuous case wherein there is no way of penetrating a closed curve without intersecting it. To avoid such a scenario, it has been the convention to define “opposite” types of connectivity for the white and black sets. Opposite types in 2D space are 4 and 8, while in 3D space 6 is opposite to 26 or to 18.

Assume that a voxel space, denoted by C, includes one subset of black voxels S. If C - S is not N-connected, that is, Z - S consists of a! leas! two white N-connected compo- nents, then S is said to be N-separating in C. Loosely speaking, in 2D, an 8-connected black path that divides the white pixels into two groups is 4-separating and a 4-con- netted black path that divides the white pixels into two groups is 8-separating. There are no analogous results in 3D space. For example, Figure D shows a 6-connected se! of voxels that is not 6-separating (Figure Dl) and a 6-con- netted se! of voxels that is no! 18-separating (Figure D2).

Let A be an N-separating surface. A voxel p E A is said to be an N-simple voxel if A - p is still N-separating. An N- separating surface is called N-minimal if it does no! contain any N-simple voxels. A cover of a continuous surface is a se! of voxels such that every point of the continuous sur- face lies in a voxel of the cover. A cover is said to be a min- imal cover if none of its subsets is also a cover. The cover property is essential in applications that use space subdivi- sion for fast ray tracing.’ The subspaces (voxels) that con- tain objects must be identified along the traced ray. Note that a cover is no! necessarily separating, while on the other hand, as mentioned above, it may include simple voxels. In fact, even a minimal cover is no! necessarily N-minimal for any N.

Voxelization algorithms. In the pas!, digitization of sol- ids was performed by spatial-enumeration algorithms that use point or cell classification methods in either an exhaus- tive fashion or by recursive subdivision.z However, subdivi- sion techniques for model decomposition into rectangular subspaces are computationally expensive and thus inappro- priate for medium- or high-resolution grids. Instead, objects

should be directly voxelized, preferably generating an N- separating, an N-minimal, and a covering set, where N is application dependent. The voxelization algorithms should follow the same paradigm as the 2D scan-conversion algo- rithms; they should be incremental and accurate, use sim- ple arithmetic (preferably integer only), and have a com- plexity that is no! more than linear with the number of voxels generated.

The literature of 3D scan conversion is relatively small. Danielsson3 and MokrzyckP developed similar 3D-curve al- gorithms in which the curve is defined by the intersection of two implicit surfaces. Voxelization algorithms have been de- veloped for 3D lines, 3D circles, and a variety of surfaces and solids, including polygons, polyhedra, and quadric ob- jec!s.5 Efficient algorithms have been developed for voxeliz- ing polygons using an integer-based decision mechanism embedded within a scan-line filling algorithm? for paramet- ric curves, surfaces, and volumes using an integer-based forward-differencing technique’; and for quadric objects such as cylinders, spheres, and cones using “weaving” al- gorithms by which a discrete circle/line sweeps along a dis- crete circle/line.8 Figures 2-12 in the main text consist of a variety of objects voxelized using the above methods. These pioneering attempts should now be followed by en- hanced voxelization algorithms that in addition to being effi- cient and accurate will also adhere to the topological re- quirements of separation, coverage, and minimality.

References

1. A.S. Glassner, “Space Subdivision for Fast Ray Tracing,” IEEE Computer Graphics and Applications, Vol. 4, No. 10, Oct. 1984, pp. 15-22.

2. Y.T. Lee and A.A.G. Requicha, “Algorithms for Computing the Vol- ume and Other Integral Properties of Solids: I - Known Methods and Open Issues; II - A Family of Algorithms Based on Representation Conversion and Cellular Approximation,” Comm. ACM, Vol. 25, No. 9, Sept. 1982, pp. 635-650.

3. P.E. Danielsson, “Incremental Curve Generation,” IEEE Trans. Computers, Vol. C-19, 1970, pp. 783-793.

4. W. Mokrzycki, “Algorithms of Discretization of Algebraic Spatial Curves on Homogeneous Cubical Grids,” Computers and Graphics, Vol. 12, Nos. 314, 1968, pp. 477-487.

5. A. Kaufman and E. Shimony, “3D Scan-Conversion Algorithms for Voxel-Based Graphics,” Proc. ACM Workshop lnferactive 30 Graphics, ACM, New York, 1986, pp. 45-76.

6. A. Kaufman, “An Algorithm for 3D Scan Conversion of Polygons,” Proc. Eurographics 87, North Holland, Amsterdam, Aug. 1987, pp. 197-208.

7. A. Kaufman, “Efficient Algorithms for 3D Scan Conversion of Para- metric Curves, Surfaces, and Volumes,” Computer Graphics (Proc. Siggraph 87), Vol. 21, No. 4, July 1987, pp. 171-179.

8. D. Cohen and A. Kaufman, “Scan-Conversion Algorithms for Linear and Quadratic Objects,” in Volume Visualization, A. Kaufman, ed., IEEE CS Press, Los Alamitos, Calif., Order No. 2020, 1990, pp. 280-301.

Page 6: Volume Graphics - CVC · volume graphics. From vector graphics to raster graphics Graphics displays in the sixties and seventies were based on vector drawing devices and on an object-based

Table 1. A comparison between vector graphics and raster graphics.

Capability

1. Rendering and screen refresh

2. Rendering performance

3. Memory and processing requirement

4. Screen-space aliasing

5. Transformation

6. Boolean and block operations

Vector Graphics

Rendering is embedded in screen refresh

Sensitive to scene and object complexity

Variable: depends on scene and object complexity

None

Continuous: performed on the geometric definition of objects

Difficult; must be performed analytically

Raster Graphics

Scan conversion is decoupled from screen refresh

Insensitive to scene and object complexity

Large but constant

Frequent

Discrete: performed on pixel blocks (windows)

Trivial; by using bitblt, pixel-by- pixel operation. aggregation, quadtrees

7. Rendering of interior No: boundary only Yes: colored, shaded, and textured surfaces

8. Adequacy for sampled digital images

No Yes

9. Measurements (for example. distance. area)

Analytical, but often complex Discrete approximation, but simple

line drawings (row 7 in Table 1). The main disadvantages of this approach are the aliasing present in the image, result- ing from the discrete nature of the rep- resentation (row 4). and the large mem- ory and processing power required (row 3). These two difficulties delayed the full acceptance of raster graphics until cheaper and faster memory and hard- ware were available to support the de- mands of this approach. In addition, the discrete nature of rasters makes them less suitable for geometric operations such as transformations (row 5) and accurate measurements (row 9).

On the other hand. raster graphics has the advantage that it decouples im- age generation from screen refresh (row 1). thus making the refresh task insensi- tive to scene complexity (row 2). In addition. the raster representation lends itself to block operations. such as hitblt (bit block transfer). in which a window or a rectangular block of pixels can be rapidly transferred with a variety of pixel-bypixel operations between the source and destination blocks (row 6).“’ Raster graphics is also suitable for dis- playing 2D sampled digital images. and

thus provides the ideal environment for mixing digital images with synthetic graphics (row 8). These advantages. coupled with advances in hardware and the development of antialiasing meth- ods. have made raster graphics the pri- mary technology for computer graph- ics.

From surface graphics to volume graphics

The object-based approach of vector graphics has been adapted for3D graph- ics at the expense of maintaining and manipulating a display list of geometric objects and regenerating the frame buffer after every change in the scene or viewing parameters. This approach. called surface graphics. combines raster technology for the display and an ob- ject-based approach for the representa- tion. manipulation. and rendering of 3D scenes. The method is supported by powerful geometry engines. which con- stitute the present hardware for poly- gon rendering. Such engines have flour-

ished in the past decade, making sur- face graphics the state of the art in 3D graphics.“’

Surface graphics strikingly resembles vector graphics in many ways. Both rep- resent the scene as a set of geometric primitives kept in a display list. In sur- face graphics, these primitives are trans- formed. mapped to the screen coordi- nates, and converted by scan-conversion algorithms into a discrete set of pixels, which is stored in the frame buffer. This digitization process is also called ruster- ization or yixelizution. Any change to the scene. viewing parameters, or shad- ing parameters requires the image gen- eration system to repeat these opera- tions and reprocess the complete scene description. Surface graphics gener- ates merely the surfaces of 3D solid objects viewed from a given direction; subject to limitations similar to those of vector graphics, it does not support ren- dering of the interior of these 3D ob- jects.

Instead of a list of geometric objects, volume graphics uses a 3D volume buff- er as a medium for the representation and manipulation of 3D scenes. A 3D

S6 COMPUTER

Page 7: Volume Graphics - CVC · volume graphics. From vector graphics to raster graphics Graphics displays in the sixties and seventies were based on vector drawing devices and on an object-based

Table 2. A comparison between surface graphics and volume graphics.

Capability Surface Graphics Volume Graphics

1. Rendering performance Sensitive to scene and object Insensitive to scene and object complexity complexity

2. Memory and processing Variable: depends on scene and Large but constant requirement object complexity

3 _ Object-space aliasing None Frequent

4. Transformation Continuous; performed on the Discrete; performed on voxel geometric definition of objects subvolumes

5. Scan conversion and rendering Pixelization is embedded in viewing Voxelization is decoupled from viewing

6. Boolean and block operations Difficult: must be performed Trivial; by using voxblt, voxel-by- analytically voxel operation, aggregation, octrees

7. Rendering of interior and No: surfaces only Yes; rendering of inner structures amorphous phenomena as well as surfaces

8. Adequacy for sampled data and Partially and indirectly (fitting Supports representation and direct intermixing with geometric data followed by surface rendering) rendering

9. Measurements (for example, Analytical, but may be complex Discrete approximation. distance. area. volume. normal) but simple

10. Viewpoint dependency Requires recalculation for every Precomputes and stores viewpoint- viewpoint change independent information

scene is discretized earlier in the image and information on both the interior Disadvantages of generation pipeline. and the resulting and exterior of 3D objects. 3D discrete form is used as a database of Several disadvantages of this approach

volume graphics the scene for manipulation and render- are related to the discrete nature of the ing purposes. which in effect decouples discretization from rendering (viewing and shading). Furthermore. all objects are converted into one uniform meta- object-the voxel. Each voxel is atom- ic and represents the information about no more than one object that resides in that voxel.

Volume graphics offers the same ben- efits as surface graphics. with several advantages due to the decoupling, uni- formity, and atomicity features. The rendering phase is viewpoint indepen- dent and insensitive to scene and object complexity. It supports Boolean and block operations and constructive solid modeling. When 3D sampled or simu- lated data is available, such as that gen- erated by medical scanners (for exam- ple. in computed tomography and magnetic resonance imaging) or scien- tific simulations (for example. compu- tational fluid dynamics). volume graph- ics is suitable for its representation. It can represent amorphous phenomena.

representation, namely, that transfor- mations and shading are performed in discrete space. In addition, this approach requires substantial amounts of storage space and specialized processing. The advantages and disadvantages, as com- pared with surface graphics, are dis- cussed in detail in the following sec- tions.

The same forces that drove the evolu- tion of computer graphics from vector graphics to raster graphics, once the memory and processing power became available, are starting to drive a variety of applications from surface-based rep- resentation of 3D scenes to voxel-based representation. Naturally, this trend first appeared in applications involving sam- pled 3D data, such as medicine and sci- entific visualization, in which the data sets are in volumetric form. The diverse empirical imagery applications of vol- ume visualization still provide a major driving force for advances in volume graphics.

Table 2 contrasts volume graphics with surface graphics. The disadvantages of volume graphics are due to its discrete form (rows 3 and 4 in Table 2), the loss of geometric information (row 9), and the memory and processing power it requires (row 2).

Discrete form. Unlike surface graph- ics, volume graphics represents the 3D scene in discrete form. This causes many of the maladies of voxel-based graphics. which are similar to those of 2D ras- ters.” The finite resolution of the raster poses a limit on the accuracy of opera- tions that are based on voxel counting (row 9 in Table 2), for example, volume and area measurements. It is difficult to manipulate and transform the discrete volume without degrading the image quality or losing some information (row 4). Rotation of rasters by angles other than 90 degrees is especially problem- atic, since a sequence of consecutive rotations will distort the image.

July 1993 57

Page 8: Volume Graphics - CVC · volume graphics. From vector graphics to raster graphics Graphics displays in the sixties and seventies were based on vector drawing devices and on an object-based

Figure 2. A T62 tank made of about

40,000 voxelized polygons, partially occluded by a tree

made of 20,000 fractally grown,

voxelized polygons, The tank resolution

is about 1.5 inches per voxel in the

foreground, which translates to about

a 2563-voxel model.

Since the continuous object is recon- structed by sampling the discrete data during rendering. a low-resolution vol- ume yields high aliasing artifacts (row 3 in Table 2). This becomes especially apparent when zooming in on the 3D raster. When naive rendering algorithms are used. the 3D discrete points may appear to be parted from each other and may cause the appearance of holes. This can be alleviated to some extent by methods similar to those adopted in 2D raster graphics. such as using either re- construction techniques (supersampling or filtering. for example) or a high-res- olution volume buffer.

Loss of geometric information. In volume graphics we allow each voxel to maintain only local information per- taining to the volume unit it represents. After a surface object has been voxel- ized. the voxels constituting the dis- crete object do not retain any geometric information regarding the object’s surface definition. Thus. when exact measurements are required (say. for distance. volume. or area). it is advanta- geous to use a surface-based model. where the geometric surface definition of the object is available. A voxel-based object is only a discrete approximation of the original continuous object: the volume buffer resolution determines the precision of such measurements. On the other hand. several measurement types are more easily computed in voxel space: for example, mass property. adjacency detection. and volume computation (row 9 in Table 2).

The lack of geometric information in the voxel may lead to other difficulties. such as those encountered when ren-

58

dering discrete surfaces. An essential requirement for most shading methods is the capability to calculate the normal vector to the surfaces making up the 3D scene. In traditional surface graphics, normal vectors are either analytically calculated from the surface representa- tion or stored as part of the surface representation. In voxel-based models. a discrete shading method is used to estimate the normal from a context of voxels. A variety of image-based and object-based methods for normal esti- mation from volumetric data have been devised (Kaufman,’ Chapter 4): most of these methods are based on fitting some type of surface primitive to a small neigh- borhood of voxels. Nevertheless. this subject is still an active field of research.

A partial integration between sur- face and volume graphics is conceivable as part of an object-based approach in which an auxiliary object table. consist- ing of the geometric definition and glo- bal attributes of each object. is main- tained in addition to the volume buffer. Each voxel consists of only an index to the object table, allowing exact calcula- tion of normal, exact measurements and intersection verification for discrete ray tracing (see “Discrete ray tracing” sidebar). The auxiliary geometric infor- mation might be useful for revoxelizing the scene in case of a change in the scene itself.

Memory and processing. A typical volume buffer occupies a large amount of memory: for example. for a moderate resolution of 512j. the volume buffer consists of more than 10” voxels. Even if we allocate only one byte per voxel. 128 Mbytes will be required (row 2 in Table

2). However. since computer memory prices are decreasing significantly while compactness and speed are improving, such large memories are becoming more and more feasible. A similar argument occurred when raster graphics emerged as a technology in the mid-seventies. With greater compactness accompany- ing the rapid decline in memory price, it is safe to predict that, just as with raster graphics. memory will soon cease to be a stumbling block for volume graphics.

Nevertheless, the extremely large throughput that must be handled re- quires a special architecture and extra attention to processing. Volume engines, analogs to the currently available ge- ometry engines, are emerging (Kauf- man.’ Chapter 6). Because of the “pre- sortedness” of the volume buffer and the fact that only a single type of ob- ject - the voxel - must be handled. volume engines are conceptually sim- pler to implement than current geome- try engines. Consequently, we predict that the volume engines that will mate- rialize in the near future will have capa- bilities to synthesize, load, store. ma- nipulate. and render volumetric scenes in real time (30 frames per second) and may be configured as accelerators or cosystems to existing geometry engines.

Advantages of volume graphics

The advantages of volume graphics include its insensitivity to scene and object complexity (row 1 in Table 2). its viewpoint independence (rows 5 and 10). its capability to represent sampled and simulated data sets (row S), its ca- pability to represent inner information and amorphous phenomena such as clouds and smoke (row 7), and its capa- bility to support various block opera- tions (row 6).

Insensitivity to scene complexity. One of the most appealing attributes of vol- ume graphics is its insensitivity to the complexity of the scene, since all ob- jects have been preconverted into a finite-size volume buffer (row 1 in Ta- ble 2). Although the performance of the voxelization phase is influenced by the scene complexity, rendering perfor- mance depends mainly on the constant resolution of the volume buffer and not on the number of objects in the scene.

COMPUTER

Page 9: Volume Graphics - CVC · volume graphics. From vector graphics to raster graphics Graphics displays in the sixties and seventies were based on vector drawing devices and on an object-based

Figure 3. A teapot modeled by 32 Bezier patches and voxelized to a 5123-resolution voxel model. The gen- erated voxels were assigned color dur- ing the voxelization process according to a 2D texture map, while the shad- ing was applied during the rendering process.

This contrasts with volume representa- tion via an octree whose size varies ac- cording to the scene complexity.2 Insen- sitivity to scene complexity makes the volumetric approach especially attrac- tive for scenes consisting of many ob- jects, such as those generated by fractal systems (see Figure 2). Another exam- ple of such a scene is a curved surface represented by a large polygon mesh that is generated by a polyhedral- smoothing or -fitting algorithm. A poly- gon mesh can approximate a curved surface. and the approximation preci- sion and presentation quality increase with the number of polygons in the mesh. However. using a very fine mesh in con- ventional surface graphics is expensive in terms of space and display time.

Insensitivity to object complexity. In volumegraphics,rendering(viewingand shading) is decoupled from digitization (voxelization). and all objects are first converted into one metaobject, the voxel, which makes the rendering pro- cess insensitive to the complexity of the objects (row 5 in Table 2). Thus, volume graphics is particularly attractive for objects that are hard to render using conventional graphics systems. Exam- ples of such objects include curved sur- faces of high order and fractals, which require the expensive computation of an iterative function for each volume unit (see Figure 2). Constructive solid models are also hard to render by con- ventional methods but are straightfor- ward to render in volumetric represen- tation. (A separate discussion appears later under “Block operations.“)

Another type of object complexity involves objects enhanced through a

July 1993

technique known as texture mapping, whereby object realism is increased by simulating surface details. Texture map- ping is commonly implemented during the last stage of the rendering pipeline, where the texture is extracted from a 2D texture image and mapped onto the surface to be rendered: its complexity is proportional to the object complexity.“’ In volume graphics, texture mapping is performed only once, during the voxel- ization stage, where the texture color is calculated and stored in each voxel. Solid texturing, which uses a 3D texture im- age, also has a high complexity similar to that of texture mapping.“’ In volume graphics, however. solid texturing, like texture mapping, is performed during the voxelization stage.

The textured objects in Figures 3 and 4 have been assigned texture during the voxelization stage by mapping each voxel back to the corresponding value on a texture surrounding the object. Figures lo-12 show voxelized terrain that has been mapped with satellite or aerial photos during the voxelization stage.

We have also implemented a photo- mapping technique whereby six pho- tographs of the real object are project- ed back onto the voxelized object (see Figure 6 and the building in Figure 12). Once this mapping is applied, it is stored with the voxels themselves dur- ing the voxelization stage: thus, the ren- dering performance is not degraded. In addition, texture mapping and pho- tomapping are also viewpoint-indepen- dent attributes, implying that once the texture is stored as part of the voxel

value. texture mapping need not be re- peated.

Viewpoint independence. A main dif- ference between voxel-based graphics and conventional surface graphics is that in the former the scene is discretized (voxelized) once for multiple viewing conditions. while in the latter the scene is repeatedly scan-converted after ev- ery change in the viewing parameters. causing a performance bottleneck in its rendering pipeline (row 10 in Table 2). This attractive advantage of volume graphics exists partly because in the volumetric representation a unit of memory is allocated for each unit of space; in surface graphics, memory is assigned only to complete surface patches. This enables volume graphics to store view-independent attributes at each volume unit, while surface graph- ics is not capable of providing storage for attributes that vary across its basic surface elements.

In anticipation of repeated access to the volume buffer (in animation, for example), all viewpoint-independent attributes can be precomputed during the voxelization stage and stored with the voxel, making them readily accessi- ble for speeding up the rendering. The voxelization algorithm can generate for each object voxel its color, its texture color. its normal vector (for visible vox- els), and information concerning the visibility of the light sources from that voxel. Actually, the viewpoint-indepen- dent parts of the illumination equation, that is. the ambient illumination and the

59

Page 10: Volume Graphics - CVC · volume graphics. From vector graphics to raster graphics Graphics displays in the sixties and seventies were based on vector drawing devices and on an object-based

Discrete ray tracing

Ray tracing’ is an image generation technique that simulates light’s behavior in a scene by following sight rays from the observer’s eye as they interact with the scene and the light sources. Therefore, the basic compu- tation performed by a ray tracer is the calculation of the intersection points between rays and objects. This com- putationally expensive operation accounts for ray trac- ing’s reputation as a costly method for image generation, though it produces superior image quality.

A major strategy for reducing the cost of ray tracing is to divide the world space into a set of rectangular subvol- umes called cells2 A cell consists of a list of all objects (partially) residing in that region of the world. Rays are then traced as they travel from cell to cell. Only the lists of objects residing in the visited cells are candidates for ordered ray-object intersection calculation. The approach taken in this sidebar follows a regular space-subdivision scheme; that is, all cells are equal-sized cubes. Alterna- tively, the octree approach divides the space into equal- sized octants. Each octant is independently and recur- sively subdivided into additional octants until some measure of uniformity or simplicity of the scene enclosed by the octant is satisfied.

When considering any subdivision approach, two is- sues must be resolved: first, how to assign each cell its list of objects, that is, how to efficiently compute cell- object intersection; and second, how to step along the ray as it crosses cell boundaries, that is, how to efficient- ly compute ray-cell intersection. Although in some appli- cations the octree presents a compact representation scheme, it does not perform as well in the case of sam- pled data. Moreover, because it lacks uniformity, it does not perform the above two tasks as efficiently as the uni- form subdivision approach.

Armed with a large memory, we can take the space- subdivision approach to an extreme by subdividing into a high-resolution uniform grid. This, in turn, can allow us to transform our internal scene representation from a 3D array of cells into a volume buffer of voxels. The major distinctions between a cell and a voxel lie in the assump- tions made concerning voxels. First, it is assumed that the voxel grid resolution is adequate; that is, there is no large variation of surface attributes across the voxel ex- tent. In addition, unlike a cell, which consists of a list of objects, the voxel represents the smallest space-enu- meration entity and therefore consists of information on a single object, much like its 2D counterpart, the pixel.

A ray-tracing approach that employs a volume buffer is called 3D raster ray tracing (RRT).3 It operates in two phases: a preprocessing voxelization phase and a dis- crete ray-tracing phase. In the voxelization phase the geometric model is digitized using voxelization algo- rithms, which convert the continuous representation of the model into a discrete representation that is stored in the volume buffer (see the sidebar “Fundamentals of voxelization”). For data sets that are already digitized, as in 3D medical imaging and 3D computational visualiza-

tion, the discretization step is, of course, unnecessary. In the second phase, a discrete variation of the con-

ventional recursive ray tracer is used. RRT differs from conventional ray-tracing algorithms, in which analytical rays are intersected with the object list to find the clos- est intersection. In RRT, 3D discrete rays (which are essentially voxelized lines) are traversed through the 30 raster to find the first surface voxel. Encountering a nontransparent voxel indicates a ray-surface hit. The view-independent attributes stored in the voxel (for ex- ample, normal) are readily available for calculating spawning offspring rays and computing the illumination at that point. Figures 7 and 8 in the main text show the RRT rendering of both a sampled data set intermixed with geometric objects and manipulated with block op- erations (Figure 7) and a voxelized geometric model (Figure 8).

In conventional ray tracing, computation time grows with the number of objects, and performance is greatly influenced by the type of objects constituting the scene. Intersection calculation between a ray and a parametric surface is significantly more complex than intersecting the ray with a sphere or a polygon. In contrast, RRT eliminates the computationally expensive ray-object in- tersection calculation and instead relies solely on a fast discrete ray-traversal mechanism and a single simple type of object - the voxel. Consequently, RRT perfor- mance is effectively independent of the number of ob- jects in the scene or the objects’ complexity or type. Therefore, for a given resolution, ray-tracing time is nearly constant and can even decrease as the number of objects in the scene increases, since less stepping is necessary before an object is encountered.

RRT can precompute the view-independent attributes during the voxelization phase, is attractive for ray trac- ing 3D sampled data sets and computed data sets4 and can support ray tracing of constructive solid geometry models that are efficiently synthesized and constructed during the voxelization phase. In short, RRT is a typical example of a volume graphics technique and demon- strates the attractive features intrinsic to the volumetric approach to 3D graphics.

References

A.S. Glassner, ed., An introduction to Ray Tracing, Academic Press, London, 1989.

A. Fujimoto, T. Tanaka, and K. Iwata, “ARTS: Accelerated Ray- Tracing System,” /EEE Computer Graphics and Applications, Vol. 6, No. 4, Apr. 1986, pp. 16-26.

R. Yagel, D. Cohen, and A. Kaufman, “Discrete Ray Tracing,” /EEE Computer Graphics and Applications, Vol. 12, No. 5, Sept. 1992, pp. 19-28

R. Yagel, A. Kaufman, and Q. Zhang, “Realistic Volume Imag- ing,” Proc. Visualization 91, IEEE CS Press, Los Alamitos, Ca- Ilf., Order No. 2245, 1991, pp. 226-231.

Page 11: Volume Graphics - CVC · volume graphics. From vector graphics to raster graphics Graphics displays in the sixties and seventies were based on vector drawing devices and on an object-based

sum of the attenuated diffuse illumina- tion of all the visible light sources,1o can also be precomputed and stored as part of the voxel value.

Once a volume buffer with precom- puted view-independent attributes is available, a rendering algorithm such as a discrete ray-tracing algorithm can be engaged. Discrete ray tracing is based on traversing 3D discrete rays through the volume buffer (see the sidebar “Dis- crete ray tracing”). The discrete ray- tracing approach is especially attractive for ray tracing complex surface scenes and constructive solid models, as well as 3D sampled and computed data sets (see below). Figures 7 and 8 show exam- ples of objects that were voxelized and then ray traced in discrete voxel space. In spite of the complexity of these scenes, ray-tracing time was approximately the same as for much simpler scenes and significantly shorter than in traditional space-subdivision ray-tracing methods. Moreover, in spite of the discrete na- ture of the volume buffer representa- tion, images indistinguishable from those produced by conventional surface-based ray tracing can be generated by using auxiliary object tables and screen su- persampling techniques, for example, by casting several rays per pixel (see Figure 8).

Sampled and simulated data sets. Sam- pled data sets. like those in 3D medical imaging (see Figure 7). and simulated data sets. like those in computational

fluid dynamics, are often reconstructed from the acquired sampled or simulated points into a regular grid of voxels and stored in a volume buffer. Such data sets provide for the majority of applica- tions using the volumetric approach. Unlike surface graphics, volume graph- ics naturally and directly supports the representation, manipulation, and ren- dering of such data sets (row 7 in Table 2). as well as providing the volume buff- er medium for intermixing data sets, such as sampled or simulated data sets, with geometricobjects (row S),‘asshown in Figures S,7, and 9.

Figure 5. The nn- clear power plant from San Onofre, California, embed- ded in a terrain database of up- state New York. This image was voxelized from a plant model con- sisting of about 45,000 polygons into 2,000 X 700 voxels horizon- tally with a l-foot- per-voxel resolu- tion. The terrain resolution is about 6 inches per voxel.

Inner information. A central feature of volumetric representation is that un- like surface representation, it can rep- resent inner structures of objects, which can be revealed and explored with the appropriate manipulation and render- ing techniques (row 7 in Table 2). Nat- ural objects as well as synthetic objects are likely to be solid rather than hol- low. The inner structure is thus an im- portant aspect of image complexity and is easily explored using volume graph- ics (see Figure 7). Moreover, while translucent objects can be represented by surface methods, these methods can-

Figure 7. A 2563-resolution volume of a reconstructed MRI head reflected in a voxelized mirror. The cut was per- formed by a constructive solid model- ing subtraction (voxel by voxel) dur- ing the voxelization stage.

61

Page 12: Volume Graphics - CVC · volume graphics. From vector graphics to raster graphics Graphics displays in the sixties and seventies were based on vector drawing devices and on an object-based

Figure 8. Turner Whitted’s spheres and a checkerboard floor voxelized into a 3203 volume and ray traced in 377 seconds on a 20-MIPS machine with geometric intersection verifica- tion and supersampling by casting four rays per pixel (see the sidebar “Discrete ray tracing”).

not efficiently support the modeling and rendering of amorphous phenom- ena (for example. clouds. fire, and smoke) that are volumetric in nature and do not actually have tangible sur- faces.‘~’ Figure 10 exemplifies the ren- dering of haze as part of a voxel-based terrain model.

Block operations. An intrinsic char- acteristic of rasters is that adjacent ob- jects in the scene are also represented by neighboring memory cells. There- fore. rasters lend themselves to various meaningful grouping-based operations, such as bitblt operations, or their 3D counterpart, vaxblt (voxel block trans- fer) operations.” These operations support transfer of cuboidal voxel blocks with a variety of voxel-by-voxel opera- tions between source and destination blocks (row 6 in Table 2). Such block operations add a variety of modeling capabilities that aid in the task of image synthesis. Moreover, the volume buffer lends itself to Boolean operations that can be performed on a voxel-by-voxel basis during the voxelization stage.

This property is very advantageous when constructive solid geometry is the modeling paradigm. CSG operations such as subtraction. union. and inter- section between two voxelized objects are accomplished at the voxel level’; thus. the original problem of evaluating a CSG tree of such operations during rendering time is reduced to a ID Bool-

Figure 9. A voxelized Tomcat (see Figure 6) flying over Yosemite Valley (see Figure 11) in a flight simulation of a dogfight.

Figure 10. View west over Camp Pendleton, California, with moderately dense haze. Resolution is about 16 feet per voxel.

ean operation between pairs of voxels during a preprocessing stage. Once a CSG model has been constructed in voxel representation, it is rendered like any other volume buffer. This makes discrete ray tracing of constructive solid models straightforward. Figure 7 shows a volumetric ray tracing of a 2561 recon-

structed MRI head with a CSG subtrac- tion and a back mirror that has been generated by a polygon voxelization al- gorithm (see the sidebar “Fundamen- tals of voxelization”).

The spatial presortedness of the vol- ume buffer voxels lends itself to other types of grouping or aggregation of

62 COMPUTER

Page 13: Volume Graphics - CVC · volume graphics. From vector graphics to raster graphics Graphics displays in the sixties and seventies were based on vector drawing devices and on an object-based

Figure 11. A typical view of a voxelized terrain model in flight simulation. This image is a view down Yosemite Val- ley showing Cathedral Rocks; each voxel represents 8 cu- bic feet.

Figure 12. A typical view of voxelized terrain with an bedded voxelized hotel building and voxelized trees.

em-

neighboring voxels. For example, the terrain images shown in Figures 2.5,9, 10. and 11 were generated by the Hughes Aircraft RealScene flight simulator6 and that in Figure 12 by the Tiltan Sys- tem Engineering SceneGenerator. Both systems simulate a flight over voxel- represented terrain enhanced by satel- lite photomapping with additional syn- thetic raised objects, such as buildings. trees. vehicles. aircraft, and clouds (see Figures 5 and 12). Since in this applica- tion the information below the terrain surface is invisible, terrain voxels can be represented as tall cuboids extend- ing from sea level to the terrain height. This representation saves storage space as well as retrieval and processing time. The raised objects. however. must be represented in a conventional voxel- based form.

Similarly. voxels can be aggregated into supervoxels in a pyramid-like hier- archy. For example. in a voxel-based flight simulator. voxels representing 1 cubic foot can be used for takeoff and landing. As the aircraft ascends. fewer and fewer details need to be processed and visualized. so a 16-cubic-foot or larger voxel size will suffice. A hierar- chical volume buffer can be prepared in advance or on-the-fly by subsampling or averaging the appropriate size neigh- borhoods of voxels.

A s Table 1 2 shows. volume graphics has advantages over surface graphics by being

viewpoint independent, insensitive to scene and object complexity, and suit- able for the representation of sampled and simulated data sets. Moreover. geometric objects can be mixed with these data sets. Volume graphics sup- ports the visualization of internal struc- tures and lends itself to the realization of block operations. CSG modeling. irregular voxel sizes. and hierarchi- cal representation. The problems as- sociated with the volume buffer rep- resentation are reminiscent of those en- countered when raster graphics emerged as an alternative to vector graphics. and they can be alleviated in similar ways.

Progress in computer hardware and memory systems. coupled with the de- sire to reveal the inner structures of volumetric objects, implies an expand- ing role for volume graphics. In fact, the striking similarities between Tables 1 and 2 suggest that volume graphics has the potential to revolutionize computer graphics. In the seventies, raster graph- ics superseded vector graphics for visu- alizing surfaces; similarly, volume graph- ics has the potential to supersede surface graphics for handling and visualizing volumes as well as for modeling and

rendering synthetic scenes composed of surfaces. n

Acknowledgments This work has been supported by the Na-

tional Science Foundation under grants IRI- 9008109, CCR-9205047, and CCR-9211288, and grants from Hughes Aimaft Company and Hewlett-Packard. Figure 12 is courtesy of Tiltan System Engineering. Figures 2, 4. 5. 6. 9. 10. and 1 I are courtesy of Hughes Aircraft Company. These images have been voxelized using voxelization algorithms. a voxel-based modeler, and a photomapper developed at the State University of New York at Stony Brook.

References

1. A. Kaufman. Volltme Visualizarion, IEEE CS Press. Los Alamitos, Calif.. Order No. 2020. 1990.

2. D.J. Meagher. “Geometric Modeling Using Octree Encoding.” Computer Graphics und Image Processing, Vol. 19, No. 2. June 1982. pp. 129-147.

3. K. Perlin and E.M. Hoffert, “Hypertcx- ture,” Computer Graphics (Proc. Siggraph 89), Vol. 23. No. 3. July 1989.~~. 253-262.

4. J.T. Kajiya and T.L. Kay. “Rendering

July 1993 63

Page 14: Volume Graphics - CVC · volume graphics. From vector graphics to raster graphics Graphics displays in the sixties and seventies were based on vector drawing devices and on an object-based

5.

6.

7.

8.

9.

10

11

Fur with Three-Dimensional Textures,” Computer Graphics (Proc. Siggraph 89), Vol. 23, No. 3, July 1989, pp. 271-280.

D.S. Ebert and R.E. Parent, “Rendering and Animation of Gaseous Phenomena by Combining Fast Volume and Scanline A-buffer Techniques,” Computer Graph- ics (Proc. Siggraph 90), Vol. 24. No. 4, Aug. 1990, pp. 361-376.

J. Wright and J. Hsieh, “A Voxel-Based. Forward Projection Algorithm for Ren- dering Surface and Volumetric Data,” Proc. Visualization 92, IEEE CS Press, Los Alamitos, Calif., Order No. 2897, 1992, pp. 340-348.

A. Kaufman, R. Yagel, and D. Cohen, “Intermixing Surface and Volume Ren- dering,” in 30 Imaging in Medicine: Al- gorithms, Systems, Applications, K.H. Hoehne, H. Fuchs, and S.M. Pizer, eds., Springer-Verlag, Berlin, June 1990, pp. 217-227.

R.A. Drebin. L. Carpenter, and P. Han- rahan. “Volume Rendering.” Computer Graphics (Proc. Siggraph 88). Vol. 22. No. 4. Aug. 1988. pp. 65-74.

M. Levoy. “Display of Surfaces from Volume Data.” IEEE Computer Gruph- its and Applications. Vol. 8, No. 3. May 1988. pp. 29-37.

J. Foley et al.. Computer Graphics: Prin- ciples and Practice. 2nd ed.. Addison- Wesley. Reading, Mass.. 1990.

C.M. Eastman, “Vector versus Raster: A Functional Comparison of Drawing Tech- nologies.” IEEE Computer Graphics and Applications. Vol. 10, No. 5, Sept. 1990, pp. 68-80.

12. A. Kaufman, “The Voxblt Engine: A Voxel Frame Buffer Processor,” in Ad- vances in Graphics Hardware III, A.A.M. Kuijk, ed., Springer-Verlag. Berlin. 1992, pp. 85-102.

Ai Arie Kaufman is a professor of computer science and director of the Cube project for volume visualization at the State University of New York at Stony Brook. He has con- ducted research and consulted in computer graphics for more than 20 years. specializing in volume visualization; graphics architec- tures, algorithms, and languages; user inter- faces: and multimedia.

Kaufman received a BS in mathematics and physics from the Hebrew University of Jerusalem in 1969, an MS in computer sci- ence from the Weizmann Institute of Sci- ence. Rehovot. in 1973, and a PhD in com- puter science from Ben-Gurion University. Israel, in 1977. He chairs the IEEE Comput- er Society’s Technical Committee on Com- puter Graphics.

PLEASE NOTIFY US 4 WEEKS IN ADVANCE

Name (Please Print)

- ~ ___ ___~ ___~ ~ - New Address

City State/Country Zip

MAIL TO: IEEE Service Center 445 Hoes Lane Piscataway, NJ 08854 j

64 COMPUTER

Daniel Cohen is a lecturer in the Depart- ment of Computer Science at Ben-Gurion University, Beer-Sheva, and at the School of Mathematics at Tel-Aviv University, Israel. He is also developing a real-time ray tracer of terrain systems at Milikon Ltd. Previous- ly, he was a software engineer working on bitmapped graphics. His research interests include rendering techniques, volume visu- alization, and architectures and algorithms for voxel-based graphics.

Cohen received a BSc cum laude in math- ematics and computer science (1985) and an MSc cum laude in computer science (1986). both from Ben-Gurion University. and a PhD in computer science from the State Universi- ty of New York at Stony Brook (1991).

Roni Yagel is an assistant professor in the Department of Computer and Information Science at Ohio State University. Previous- ly, he was a researcher in the Departments of Computer Science. Anatomy. and Physiolo- gy and Biophysics at the State University of New York at Stony Brook. His research in- terests include algorithms for voxel-based /

graphics. imaging, animation. three-dimen- sional user interfaces. hardware for volume viewing. and visualization tools for biomed- ical applications.

Yagel received BSc cum laude and MSc cum laude degrees in mathematics and com- puter science at Ben-Gurion University of the Negev. Israel, in 1986 and 1987. respec- tively. He received a PhD from the State University of New York at Stony Brook in 1991. He is a member of the IEEE Computer Societv.

Readers can contact Kaufman at the De- partment of Computer Science. State Uni- vcrsity of New York at Stony Brook. Stan! Brook. NY 117Y4-4400. e-mail ari@c<. sunysb.edu.

Bruce Shriver. formerly Computer’s ad- vanced technology area editor, coordi- nated and recommended this article for publication. His e-mail address is b.shriver@ compmail.com.