\documentstyle{article}
\pagestyle{myheadings}
\oddsidemargin=0in
\evensidemargin=0in
\topmargin=0in
\textwidth=6.5in
\textheight=9in
\newcommand{\mk}{\medskip}
\newcommand{\bk}{\bigskip \noindent $\bullet$ \mbox{\ }}
\begin{document}
\title{Ray Tracing Abstracts Survey}
\author{Tom Wilson \\ Center for Parallel Computation \\ University of Central
Florida \\ P.O. Box 25000 \\ Orlando, FL 32816-0362 \\ wilson@cs.ucf.edu}
\date{}
\maketitle
\tableofcontents
\section{Introduction}
This paper surveys the ray tracing papers I have obtained. Abstracts of the
papers have been entered and classified by certain topics. If a paper does not
have an abstract, I entered some other part of the paper or briefly summarized
the paper myself. While this document is public domain, remember the abstracts
and papers are copyrighted by the authors/publishers.
If you know of a paper not in this document, send the abstract or paper to the
address above (I would prefer getting the paper). Because of the constant
``finding'' of new and old papers, this collection will be updated
periodically. If you think a paper should be reclassified, your suggestions are
welcome. A paper will only be classified in one area even if it covers several
topics.
My comments appear in [\ ]. Each section has papers arranged by date first and
then by first author's last name. Ordering of sections was done arbitrarily.
I do not have a copy of a paper whose reference is followed by ``*''. I hope
you find this as useful as I thought it might be. In the reference section, the
page number within \{\ \} shows the page on which the abstract starts.
\section{Ray Tracing}
\subsection{The Ray Tracing Technique}
\bk
Appel, Arthur. ``Some Techniques for Shading Machine Renderings of
Solids.'' {\em AFIPS Spring Joint Computer Conference}, 1968, p. 37-45.
\label{APP68}
\mk
[No abstract. Excerpt from Introduction]
This paper presents some recent experimental results in the automatic shading
of line drawings. The purpose of these experiments was to generate pictures
of objects consisting of flat surfaces on a digital plotter and to evaluate
the cost of generating such pictures and the resultant graphical quality.
\bk
Goldstein, Robert A., and Roger Nagel. ``3-D Visual Simulation.'' {\em
Simulation}, January 1971, p. 25-31.
\label{GOL71}
\mk
This paper describes a visual simulation technique by which fully
computer-generated perspective views of three-dimensional objects may by
reproduced. The method is based on a relatively simple geometric modeling
technique for the mathematical representation of the three elements essential
to the picture-taking process, namely, a camera, a light source, and the object
or objects to be photographed. Once these three basic components have been
defined, geometric ray tracing is employed to compute a ``picture'' of the
object as it appears in the simulated camera. In essence, individual light rays
are traced from their sources to the surface of the object. The reflected
component of each ray is computed and traced to its point of intersection with
the film plane. Thus, each reflected ray provides the intensity at a single
point on the picture, and, when a sufficient number of points have been
computed, the entire area of intensity data may be displayed on a cathode ray
tube. Several are shown, and the application to the computer-generated films is
discussed.
\bk
Kay, Douglas Scott, and Donald Greenberg. ``Transparency for Computer
Synthesized Images.'' {\em SIGGRAPH '79}, p. 158-164.
\label{KAY79a}
\mk
Simple transparency algorithms which assume a linear transparency over an
entire surface are the type most often employed to produce computer synthesized
images of transparent objects with curved surfaces. Although most of the images
created with these algorithms do give the impression of transparency, they
usually do not look realistic. One of the most serious problems is that the
intensity of the light that is transmitted through the objects is generally not
proportional to the amount of material through which it must pass. Another
problem is that the image seen behind the objects is not distorted as would
naturally occur when the light is refracted as it passes through a material of
different density.
Use of a non-linear transparency algorithm can provide a great improvement in
the realism of an image at a small additional cost. Making the transparency
proportional to the normal to the surface causes it to decrease towards the
edges of the surface where the path of the light through the object is longer.
The observer, through the picture plane and through each transparent object
until an opaque surface is intersected. Since the direction of the ray would
change as each material of differing optical density was entered, the hidden
surface calculations required would be very time consuming. However, if a few
assumptions are made about the geometry of each object and about the conditions
under which they are viewed, a much simpler algorithm can be used to
approximate the refractive effect. This method proceeds in a back to front
order, mapping the current background image onto the next surface, until all
surfaces have been considered.
\bk
Kay, Douglas Scott. {\em Transparency, Refraction and Ray Tracing for Computer
Synthesized Images}, Masters Thesis, Cornell University, 1979.
\label{KAY79b}
\mk
Computer synthesized images of transparent objects often do not appear to be
realistic. The problems associated with producing such images are discussed and
some simple methods of improvement are offered. In particular, a refraction
algorithm is presented that adds little complexity to the standard transparency
algorithm and greatly improves the images created.
When sufficiently complex environments are modeled, realistic images can only
be produced if the subtle interactions such as reflections, refractions and
shadows are considered. This can be accomplished with the ray tracing method
presented. The deviations from a theoretically correct model are discussed, a
practical system is detailed and images from a limited implementation are
presented.
\bk
Whitted, Turner. ``An Improved Illumination Model for Shaded Display.'' {\em
CACM}, Vol. 23, \#6, June 1980, p. 343-349. Also appears in {\em Tutorial:
Computer Graphics: Image Synthesis}, Kenneth I. Joy, Charles W. Grant, Nelson
L. Max, and Lansing Hatfield (eds.), Computer Society Press, Washington, 1988,
p. 132-138.
\label{WHI80}
\mk
To accurately render a two-dimensional image of a three-dimensional scene,
global illumination information that affects the intensity of each pixel of
the image must be known at the time the intensity is calculated. In a
simplified form, this information is stored in a tree of ``rays'' extending
from the viewer to the first surface encountered and from there to other
surfaces and to the light sources. A visible surface algorithm creates this
tree for each pixel of the display and passes it to determine the intensity
of the light received by the shader to accurately simulate true reflection,
shadows, and refraction, as well as the effects simulated by conventional
shaders. Anti-aliasing is included as an integral part of the visibilty
calculations. Surfaces displayed include curved as well as polygonal surfaces.
\bk
Davis, Jonathan Earl. {\em Recursive Ray Tracing for the Realistic Display of
Solid Models}, M.S.M.E. Thesis, Purdue University, May 1982. *
\label{DAV82}
\mk
One of the roles of computer-aided-design is the visualization of a designed
part or an entire assembly of parts. Hidden surface algorithms are used on
geometric data to determine a realistic rendering of a created model on a
raster graphics device.
An image synthesis algorithm with an advanced shading method is implemented
and evaluated. Rays are traced from an observer's position. These rays
encounter surfaces and spawn additional rays toward other surfaces and the
light sources. A tree of rays is created containing surface intersection data
for each picture element on the raster screen. A shading algorithm traverses
the tree recursively and computes the color and intensity of light reflected.
This method is known as a ray tracing algorithm and evaluates only a single
pixel at any given time.
The advantage of a ray tracing algorithm is the use of a global shading model.
The global shading model incorporates the environment surrounding the
intersected surface and can reproduce the optical effects of diffuse
reflection, specular reflection, specular reflections between surfaces,
transparency, refraction, and shadows from multiple light sources. These
subtle effects greatly enhance the realism of an image.
The ray tracing algorithm is designed to render images of solid models
prepared by a solid geometric modeler. A geometric model can be displayed on a
raster device with the global illumination effects of true reflection,
refractions, and shadows from multiple light sources.
\bk
Roth, Scott D. ``Ray Casting for Modeling Solids.'' {\em Computer Graphics and
Image Processing}, Vol. 18, 1982, p. 109-144.
\label{ROT82}
\mk
This paper presents ray casting as the methodological basis for a CAD/CAM solid
modeling system. Solid objects are modeled by combining primitive solids, such
as blocks and cylinders, using the set operators union, intersection, and
difference. To visualize and analyze the composite solids modeled, virtual
light rays are cast as probes. By virtue of its simplicity, ray casting is
reliable and extensible. The most difficult mathematical problem is finding
line-surface intersection points. So surfaces such as planes, quadrics, tori,
and probably even parametric surface patches may bound the primitive solids.
The adequacy and efficiency of ray casting are issues addressed here. A fast
picture generation capability for interactive modeling is the biggest
challenge. New methods are presented, accompanied by sample pictures and CPU
times, to meet the challenge.
\bk
Bouville, Christian. ``Image Synthesis Through Ray Tracing.'' {\em Banc-Titre},
Mar. 1985, p. 50-51.
\label{BOU85c}
\mk
[No abstract. Gives a very brief introduction to ray tracing.]
\bk
Kilgour, A. C. ``Techniques for Modelling and Displaying 3D Scenes.'' {\em
Advances in Computer Graphics II}, F. R. A. Hopgood, R. J. Hubbold, and
D. A. Duce (eds.), Springer-Verlag, 1986, p. 55-113.
\label{KIL86}
\mk
In this article basic data structures for representing 3D objects are
described, ranging from {\em ad hoc} methods which are quite acceptable for
simple applications, through general-purpose methods such as Baumgart's
winged-edge structure, capable of representing the topology of any polyhedron,
to the set theoretic structures generated by ``constructive solid geometry''
(CSG) modelling systems. Quadric surfaces such as spheres and cylinders are
discussed, but general sculptured surfaces based on B\'{e}zier or B-spline
patches are not covered. The emphasis is on techniques which can be readily
applied to simple cases.
The choice of an appropriate rendering technique is closely linked to the
modelling method adopted. Conventional rendering techniques are described for
objects which can be readily reduced to a set of polygonal facets. These
techniques include hidden surface removal and scan conversion, which are often
closely linked. The need for antialiasing on a raster display is discussed, and
suitable methods described. Halftoning techniques, which allow the apparent
number of intensity levels or colors to be increased at the cost of some
reduction in resolution, are of importance for output both on raster displays
and hard copy devices such as laser printers, and suitable methods are
described in detail.
The use of ray tracing as an alternative to conventional rendering techniques
is discussed, and it relationship explained to the class of model being used
(boundary representation or CSG).
The realism of a 3D picture is heavily dependent on the accuracy with which the
illumination of the constituent surfaces is modelled. A range of approximations
of increasing accuracy is presented for carrying out the illumination
calculations, and the tradeoff between realism and computational cost
explained.
Algorithms and data structures are expressed throughout either in ``structured
English,'' or, where more detail is required, in C, which is rapidly
establishing itself as ``the thinking person's Fortran.'' As far as possible
the C code has been constrained to look like Pascal, as an aid to readability.
\bk
Amanatides, John. ``Realism in Computer Graphics: A Survey.'' {\em IEEE CG\&A},
January 1987, p. 44-56.
\label{AMA87b}
\mk
This article surveys most of the major issues to be dealt with when generating
realistic images, and covers papers up to December 1985. It begins with an
overview of the rendering process and a quick review of visible
surface-determination algorithms. Then, in more detail, it discusses shading,
antialiasing, texture mapping, shadows, and optical effects and closes with a
discussion of modeling primitives.
\bk
Kuchkuda, Roman. ``An Introduction to Ray Tracing.'' {\em Theoretical
Foundations of Computer Graphics and CAD}, NATO ASI Series, Vol. F40,
Springer-Verlag, 1988, p. 1039-1060.
\label{KUC88}
\mk
This paper is a practical guide to ray tracing for those familiar with
graphics. It consists of a conceptual model of ray tracing, C code for a basic
system, and an explanation of how and why the code works.
\bk
Schmitt, Alfred, Heinrich M\"{u}ller, and Wolfgang Leister. ``Ray Tracing
Algorithms -- Theory and Practice.'' {\em Theoretical Foundations of Computer
Graphics and CAD}, NATO ASI Series, Vol. F40, Springer-Verlag, 1988,
p. 997-1030.
\label{SCHM88}
\mk
This paper gives a survey on recent advances in making ray tracing a practical
technique for realistic image synthesis from spatial scenes. First, the
structure of the Karlsruhe ray tracing software VERA is described as an example
of practical ray tracing. Then a comprehensive analysis of worst case time
bounds of the ray tracing procedure and of some related algorithms, e.g.\ the
visible surface reporting algorithm, is carried out.
\bk
Glassner, Andrew S., James Arvo, Robert L. Cook, Eric Haines, Pat Hanrahan,
Paul Heckbert, and David B. Kirk. {\em An Introduction to Ray Tracing}.
Academic Press, San Diego, 1989.
\label{GLA89}
\mk
[No abstract. The following is taken from the back cover summary.]
The creation of realistic 3-D images is one of the most powerful applications
of computer graphics. The ray tracing technique has quickly become one of the
popular approaches to creating synthetic images. The algorithm is simple,
elegant, and easily implemented by the professional and novice programmer
alike. Ray tracing is a powerful tool both for understanding image rendering,
and for creating new pictures.
{\em An Introduction to Ray Tracing} begins with the basic ideas of ray
tracing, and builds to a survey of the state-of-the-art in efficient
implementations. Along the way the book covers basic algorithms in depth, and
reviews important material from surface physics, the geometry of shapes and
surfaces, and a detailed analysis of the intersection routines at the heart of
every ray tracing program. The book is heavily illustrated with color and
black-and-white figures. This book will be welcomed by anyone interested in
the art and science of creating realistic 3-D computer graphics for
applications ranging from science to art.
[This is THE source for ray tracing. It references just about every important
paper published before 1988.]
\bk
Glassner, Andrew S. ``Ray Tracing for Realism.'' {\em Byte}, December
1990, p. 263-271.
\label{GLA90b}
\mk
[No abstract. Beginner-level explanation of the ray tracing technique.]
\bk
Wilson, Thomas B. {\em Ray Tracing Techniques}. M. S. Thesis, Computer
Science Department, University of Central Florida, 1989.
\label{WIL89}
\mk
This thesis provides a survey of the many techniques applicable to ray
tracing. Ray tracing is a popular image synthesis technique that provides very
realistic images. Unfortunately, the various methods remain scattered
throughout the literature. Thus, this thesis solves the problem by bringing a
large number of these references together in one paper.
First, an overview of other image rendering algorithms is presented as well as
a brief survey of popular shading techniques and object representations. The
ray tracing technique is introduced, and its initial advantages and
disadvantages are described. The remainder of the survey presents improvements
and other extensions to the basic ray tracing algorithm and object
representations.
\bk
Cohen, Michael F., and James S. Painter. ``State of the Art in Image
Synthesis.'' {\em Advances in Computer Graphics VI -- Images: Synthesis,
Analysis, and Interaction}, G\'{e}rald Garcia and Ivan Herman (eds.),
Springer-Verlag, 1991, p. 59-111.
\label{COH91}
\mk
[Excerpt from the Introduction]
Creating a realistic synthetic image on a computer requires two steps: (1)
describing the geometry of the environment to be rendered and the material
properties of the objects which make up the environment, and (2) simulating the
propagation of light through the synthetic environment and displaying the
results of the simulation.
The technology is not yet capable of creating images as fantastic as those of
Bosch and Escher, but the shortcomings can probably be placed primarily in the
first task, that of describing the environment to the computer. The focus of
this tutorial will be on the second part of the problem, that of simulating and
displaying the interaction of light in the synthetic environment.
\bk
Wilson, Tom, and Narsingh Deo. ``Acceleration Schemes for Ray Tracing.''
Technical Report CS-TR-92-22, Department of Computer Science, University of
Central Florida, September 1992.
\label{WIL92a}
\mk
This paper surveys the many ray tracing acceleration schemes. We concentrate on
techniques that construct hierarchies of bounding volumes and/or perform
spatial subdivision. Also included are techniques that apply to certain
situations: ray reduction schemes, and primary ray and shadow ray accelerators.
Then, we discuss comparisons between these acceleration techniques. Finally,
we survey parallel ray tracing acceleration schemes on special-purpose machines
and on general-purpose MIMD, SIMD, and vector machines.
\subsection{Basic Ray Tracing}
\bk
Whitted, Turner. ``Processing Requirements for Hidden Surface
Elimination and Realistic Shading.'' {\em IEEE Digest of Papers, COMPCON},
Spring 1982, p. 245-250.
\label{WHI82}
\mk
Synthesis of realistic pictures requires enormous amounts of computing power.
An analysis of the various image making operations shows that each element
that contributes to realism also adds substantially to the processing costs.
Although the efficiency of the operations can be improved, performance
breakthroughs are rare.
\bk
Bouville, Christian, R. Brusq, J. L. Dubois, and I. Marchal. ``Generating High
Quality Pictures by Ray-Tracing.'' {\em Computer Graphics Forum}, 4 (1985),
p. 87-99. Also appears in {\em Proceedings of Eurographics '84}, Ketil
B\mbox{\o} and Hugh A. Tucker (eds.), p. 161-177.
\label{BOU85b}
\mk
Ray-casting techniques provide a very general framework in which many problems
can be solved in a much easier way than with conventional methods. This is
particularly true for the illumination model when a high level of realism is
required. Another interesting feature of ray-casting is its ability to display
a wide class of algebraic surfaces with a minimum of approximations. Both
aspects are developed in this paper where a full lighting model, based on a
theoretical approach, is presented. Then, an algorithm for the display of
surfaces of revolution is described.
\subsection{Ray Tracing Theory}
\bk
Youssef, Saul. ``Generalized Ray Tracing and Point Location.'' Technical Report
FSU-SCI-88-72, Supercomputer Computations Research Institute, 1988.
\label{YOU88}
\mk
The ray tracing and point location problems are considered for continuous rays
in $d$-dimensional euclidean space. Geometric situations in $\Re^{d}$ are
defined by combining any of a wide variety of primitive volumes, including
primitive volumes defined by other ray tracing algorithms. Primitive volumes
may be combined in a style similar to solid modeling with constructive solid
geometry. An algorithm for ray tracing is found and proven correct. The
algorithm is particularly well suited to situations where many similar volumes
need to be represented. The same algorithm solves the point location problem as
a special case. Implementation details are given.
\bk
Hofmann, Georg Rainer. ``Who Invented Ray Tracing?'' {\em The Visual Computer},
Vol. 6, 1990, p. 120-124.
\label{HOF90}
\mk
We provide some remarks on the very early developments of the visualization
technique conducted during the European Renaissance. It is shown that the basic
principle of ray tracing was already presented by Albrecht D\"{u}rer
(1471-1528) in 1525. This article is intended to be of common interest; it is
not a scientific report.
\bk
Pellegrini, Marco. ``Stabbing and Ray Shooting in 3 Dimensional Space.''
{\em Proceedings of the 6th Annual Symposium on Computational Geometry},
1990, p. 177-186.
\label{PEL90}
\mk
In this paper we consider the following problems: given a set $T$ of triangles
in 3-space, with $|T| = n$,
a) answer the query ``given a line $l$, does $l$ stab the set of triangles?''
({\em query problem}).
b) find whether a stabbing line exists for the set of triangles ({\em existence
problem}).
c) Given a ray $\rho$, which is the first triangle in $T$ hit by $\rho$?
The following results are shown:
1. There is an $\Omega(n^{3})$ lower bound on the descriptive complexity of the
set of all stabbers for a set of triangles.
2. The existence problem for triangles on a set of planes with $g$ different
plane inclinations can be solved in $O(g^{2}n^{2}\log n)$ time (Theorem 2).
3. The query problem is solvable in quasiquadratic $O(n^{2+\epsilon})$
preprocessing and storage and logarithmic $O(\log n)$ query time (Theorem 4).
4. If we are given $m$ rays we can answer ray shooting queries in
$O(m^{5/6-\delta}n^{5/6+5\delta}\log^{2} n + m \log^{2} n + n\log n \log m)$
randomized expected time and $O(m+n)$ space (Theorem 5).
5. In time $O((n+m)^{5/3+4\delta})$ it is possible to decide whether two
nonconvex polyhedra of complexity $m$ and $n$ intersect (Corrolary 1).
6. Given $m$ rays and $n$ axis-oriented boxes we can answer ray shooting
queries in randomized expected time $O(m^{3/4-\delta}n^{3/4+3\delta}\log^{4} n
+ m \log^{4} n + n\log n \log m)$ and $O(m+n)$ space (Theorem 6).
\subsection{Textbooks and Other Sources}
\bk
Rogers, David F. {\em Procedural Elements for Computer Graphics},
McGraw-Hill Book Company, New York, 1985.
\label{ROG85}
\bk
Magnenat-Thalmann, Nadia, and Daniel Thalmann. {\em Computer Animation:
Theory and Practice}, Springer-Verlag, 1985.
\label{MAG85}
\bk
Magnenat-Thalmann, Nadia, and Daniel Thalmann. {\em Image Synthesis:
Theory and Practice}, Springer-Verlag, 1987.
\label{MAG87}
\bk
Haines, Eric, n{\em et al}. {\em Ray Tracing News}. Electronic
newsletter, 1988-1992, available from erich@eye.com.
\label{HAI88}
\bk
Burger, Peter, and Duncan Gillies. {\em Interactive Computer Graphics:
Functional, Procedural, and Device-Level Methods}. Addison-Wesley Publishing
Company, Reading, Massachusetts, 1989.
\label{BUR89a}
\bk
Fiume, Eugene L. {\em The Mathematical Structure of Raster Graphics},
Academic Press, San Diego, 1989.
\label{FIU89}
\bk
Hall, Roy. {\em Illumination and Color in Computer Generated Imagery},
Springer-Verlag, 1989.
\label{HAL89}
\bk
Salmon, Rod, and Mel Slater. {\em Computer Graphics: Systems \&
Concepts}. Addison-Wesley Publishing Company, Reading, Massachusetts, 1989.
\label{SALM89}
\bk
Watt, Alan. {\em Fundamentals of Three-Dimensional Computer Graphics},
Addison-Wesley Publishing Company, Reading, Massachusetts, 1989.
\label{WAT89}
\bk
Foley, James D., Andries Van Dam, Steven K. Feiner, and John F. Hughes.
{\em Computer Graphics, Principles and Practice}, Second Edition, Addison-Wesley
Publishing Company, Reading, Massachusetts, 1990.
\label{FOL90}
\bk
Glassner, Andrew S. (ed.). {\em Graphics Gems}, Academic Press, Inc.,
San Diego, 1990.
\label{GLA90a}
\bk
Hill, Francis S., Jr. {\em Computer Graphics}. MacMillian Publishing
Company, New York, 1990.
\label{HIL90}
\bk
Samet, Hanan. {\em Applications of Spatial Data Structures: Computer
Graphics, Image Processing, and GIS}, Addison-Wesley, 1990.
\label{SAM90}
\section{Bounding Volumes, Data Structures, and Object Hierarchies}
\bk
Rubin, Steven M., and Turner Whitted. ``A 3-Dimensional Representation
for Fast Rendering of Complex Scenes.'' {\em SIGGRAPH '80}, p. 110-116.
\label{RUB80}
\mk
Hierarchical representations of 3-dimensional objects are both time and space
efficient. They typically consist of trees whose branches represent bounding
volumes and whose terminal nodes represent primitive object elements (usually
polygons). This paper describes a method whereby the object space is
represented entirely by a hierarchical data structure consisting of bounding
volumes, with no other form of representation. This homogeneity allows the
visible surface rendering to be performed simply and efficiently.
The bounding volumes selected for this algorithm are parallelepipeds oriented
to minimize their sizes. With this representation, any surface can be rendered
since in the limit the bounding volumes make up a point representation of the
object. The advantage is that the visibility calculations consist only of a
search through the data structure to determine the correspondence between
terminal level bounding volumes and the current pixel. For ray tracing
algorithms, this means that a simplified operation will produce the point of
intersection of each ray with the bounding volumes.
Memory requirements are minimized by expanding or fetching lower levels of the
hierarchy only when required. Because the viewing process has a single
operation and primitive type, the software and hardware chosen to implement
the search can be highly optimized for very fast execution.
\bk
Weghorst, Hank, Gary Hooper, and Donald P. Greenberg. ``Improved
Computational Methods for Ray Tracing.'' {\em ACM TOG}, Vol. 3, \#1, January
1984, p. 52-69.
\label{WEG84}
\mk
This paper describes algorithmic procedures that have been implemented to
reduce the computational expense of producing ray-traced images. The selection
of bounding volumes is examined to reduce the computational cost of the
ray-intersection test. The use of object coherence, which relies on a
hierarchical description of the environment, is then presented. Finally, since
the building of the ray-intersection trees is such a large portion of the
computation, a method using image coherence is described. This visible-surface
preprocessing method, which is dependent upon the creation of an ``item
buffer,'' takes advantage of {\em a priori} image formation. Examples that
indicate the efficiency of these techniques for a variety of representative
environments are presented.
\bk
Tamminen, Markku, Olli Karonen, and Martti M\"{a}ntyl\"{a}.
``Ray-Casting and Block Model Conversion Using a Spatial Index.'' {\em CAD},
Vol. 16, \#4, July 1984, p. 203-208.
\label{TAM84}
\mk
A spatial index is a data structure designed to facilitate spatial search,
exemplified by the point-in-polyhedron inclusion problem. The 3D extendible
cell (EXCELL) index is presented together with algorithms for spatial search
and for converting a complex polyhedron (boundary representation) into an
octree-like block model. We illustrate this technique by an application to
geometric mine modelling and demonstrate the efficiency of the approach by
practical experiments.
\bk
Coquillart, Sabine. ``An Improvement of the Ray-Tracing Algorithm.''
{\em Proceedings of Eurographics '85}, Carlo E. Vandoni (ed.), p. 77-88.
\label{COQ85}
\mk
This paper describes an improvement of the ray-tracing algorithm. The new
method takes advantage of a data structure which allows us to consider only
the closest objects to the path of the ray. This technique can be applied
to primary and secondary rays. Using this method, the run-time depends more on
the complexity of the generated picture than on the complexity of the scene.
\bk
Jansen, Frederik W. ``Data Structures for Ray Tracing.'' {\em Data
Structures for Raster Graphics}, L. R. A. Kessener, F. J. Peters, and
M. L. P. van Lierop (eds.), Springer-Verlag, 1985, p. 57-73.
\label{JAN85b}
\mk
Methods to improve the efficiency of the ray tracing process are reviewed.
Special attention is given to algorithms for tracing a ray through box and cell
structures of hierarchical box and spatial subdivision methods.
\bk
Kay, Timothy L., and James T. Kajiya. ``Ray Tracing Complex Scenes.''
{\em SIGGRAPH '86}, p. 269-278.
\label{KAY86}
\mk
A new algorithm for speeding up ray-object intersection calculations is
presented. Objects are bounded by a new type of extent, which can be made to
fit convex hulls arbitrarily tightly. The objects are placed into a hierarchy.
A new hierarchy traversal algorithm is presented which is efficient in the
sense that objects along the ray are queried in an efficient order.
Results are presented which demonstrate that our technique is several times
faster than other published algorithms. Furthermore, it is demonstrated that
it is currently possible to ray trace scenes containing hundreds of thousands
of objects.
\bk
Goldsmith, Jeffrey, and John Salmon. ``Automatic Creation of Object
Hierarchies for Ray Tracing.'' {\em IEEE CG\&A}, May 1987, p. 14-20.
\label{GOL87}
\mk
Intersection calculations dominate the run time of canonical ray tracers. A
common algorithm to reduce the number of intersection tests required is the
intersection of rays with a tree of extents, rather than the whole database of
objects. A shortcomming of this method is that these trees are difficult to
generate. Additionally, manually generated trees are poor, greatly reducing
the run-time improvement available. We present methods for evaluation of
these trees in approximate number of intersection calculations required and
for automatic generation of good trees. These methods run in $O(n \log n)$
expected time where $n$ is the number of objects in the scene. Some examples
of speedup are reported.
\bk
Lin, Jimmy Jih-Ming. {\em Fast Ray Tracing on BSP-Trees}, Masters
Thesis, Computer Science Department, University of Central Florida, 1987.
\label{LIN87}
\mk
[No abstract. Excerpt from Conclusions]
Based on these analyses and experiments, the BSP-Trace Method may not be the
best solution for speeding up the ray tracing, but it is worthwhile subject for
research. The potential drawbacks of the BSP-Trace which make it no better than
the Octree Method are:
(1) The number of surfaces on the BSP-Tree is typically far more than the
original number of surfaces, because of the splitting of surfaces into two by
other surfaces' planes;
(2) The Octree Method only needs to test those objects which reside in the
selected voxels, and the BSP-Trace needs to consider the objects in the whole
half-space.
[FUJI86] mentioned that the memory requirement for the octree is very costly,
but for the BSP-Tree, it can be taken care of very efficiently. The bottleneck
of the Octree Method is the time spent on traveling up and down the Octree
[FUJI86], and our experiments show that this time is around 35\% of the total
time. The solution to reduce the traveling time is to lower the height of the
octree, but meanwhile the increase in the number of objects contained in the
voxel means more intersections per ray. Thus, a new data structure for fast
ray tracing which combines the Octree and BSP-Tree is proposed.
The new data structure contains an octree on the top, and every leaf voxel
consists of a BSP-Tree. This will cut down both the tree traveling time (by
lowering the tree height) and the memory consumed by the octree. Also, if we
can keep the number of objects inside the voxel down, the increased number of
surfaces by using the BSP-Tree is limited. This thus will reduce the number of
intersection tests made inside the voxel.
\bk
Peng, Qunsheng, Yining Zhu, and Youdong Liang. ``A Fast Ray Tracing
Algorithm Using Space Indexing Techniques.'' {\em Proceedings of Eurographics
'87}, Guy Mar\'{e}chal (ed.), p. 11-23.
\label{PEN87}
\mk
A fast ray tracing algorithm is presented. Spatial coherency is exploited by
adopting a linear octree data structure which corresponds to an adaptive
partitioning of space. A ray strides over a number of empty regions aligning on
its way and intersects the desired objects directly. Efficiency of the
algorithm is achieved by decreasing the number of regions that the ray must be
checked with, by reducing the computations involved in skipping an empty region
and performing a binary search to find the next region. An efficient algorithm
based on linear programming for mapping the whole environment into a sorted
linear octree is also described. Only the terminal nodes containing boundary
surfaces of objects are explicitly represented, which not only shortens the
searching process but also leads to a considerable saving on storage space.
\bk
Scherson, Isaac D., and Elisha Caspary. ``Data Structures and the
Complexity of Ray Tracing.'' {\em The Visual Computer}, Vol. 3, 1987,
p. 201-213.
\label{SCH87}
\mk
The time complexity of ray tracing is a function of the data structures used
for space division. Octree and hierarchical extents have been suggested as
effective choices. In this paper, complexity parameters are suggested to
characterize images and show that both octrees and hierarchies are appropriate
choices if given most favorable images. Also, a unified technique is proposed
and shown to be better than previous methods for all images. Octrees and
hierarchies are particular cases of the new proposed algorithm.
\bk
Bouville, Christian, Jean-Luc Dubois, and Isabelle Marchal. ``A
Space Tracing Method Applied to Polygonal Models.'' Centre Commun d'Etudes de
T\'{e}l\'{e}diffusion et T\'{e}l\'{e}communications.
\label{BOUV88a}
\mk
The ray-tracing rendering method gives the highest possible level of realism
that can be attained in computer graphics. Recently many alternatives have
been reported on ways to speed up this process and particularly by means of a
space subdivision technique. We propose such an algorithm specially adapted to
polygonal models. A BSP tree technique is used to perform space subdivision
and a spatial index allows direct access to any cell. A method which minimizes
primary ray computations and an algorithm which avoids the tracing of a large
number of rays towards light sources have been studied. Results about time and
space required by this algorithm are presented.
\bk
Samet, Hanan. ``Implementing Ray Tracing with Octrees and Neighbor
Finding.'' {\em Computers \& Graphics}, Vol. 13, \#4, 1989, p. 445-460.
\label{SAM89}
\mk
A Ray Tracing implementation is described that is based on an octree
representation of a scene. Rays are traced through the scene by calculating
the blocks through which they pass. This calculation is performed in a
bottom-up manner through the use of neighbor finding. The octrees are assumed
to be implemented by a pointer representation.
\bk
Charney, Mark J., and Isaac D. Scherson. ``Efficient Traversal
of Well-Behaved Hierarchicial Trees of Extents for Ray-Tracing Complex Scenes.''
{\em The Visual Computer}, Vol. 6, 1990, p. 167-178.
\label{CHA90}
\mk
Traversal of hierarchical trees of extents (HTE) requires computation of
intersections between rays and bounding volumes whose faces are parallel to
the cartesian axes. By redefining the HTE so that non-overlapping bounding
volumes are generated, a well-behaved data structure is obtained in which
``geometrical coherence'' is applied to speed up its traversal. We distinguish
two types of bounding volumes: {\em internal} boxes contain the ray's origin
while {\em external} bounding volumes do not contain the ray's origin. To
traverse the HTE, we look first to polygons in the internal bounding volumes
and external boxes are dealt with only when no ray-polygon intersection is
found in internal nodes. As external nodes in the HTE define pruned subtrees of
external bounding volumes, geometrical characteristics of the boxes are
exploited for HTE traversal. A coding scheme allows a 6-bit code to determine
which faces of a bounding volume need to be tested for intersection. Also, our
well-behaved HTE allows for reuse of intersection points at lower levels of the
tree.
\bk
Thirion, J. P. ``Tries: Data Structures Based on Boolean
Representation for Ray Tracing.'' Technical Report 90-3, Laboratoire
d'Informatique de l'Ecole Normale Sup\'{e}rieure, Paris, France, February 1990.
Also appears in {\em Proceedings of Eurographics '90}, p. 530-542.
\label{THI90b}
\mk
Tries are data structures used in multidimensional searching. We introduce an
original method to build Tries for a set of convex polyhedra, show how Tries
can be used for ray tracing and compare them with other data structures. Their
advantages are mainly compactness of memory representation and fast building
of the structure due to simple boolean operations. Tries also accelerate the
ray tracing process compared to other octree-like structures. Furthermore,
they are easy to implement because they are a unified approach to
multidimensional problems. Finally we show experimental results to compare
them with other data structures used in image synthesis.
\bk
Samet, Hanan. ``Hierarchical Data Structures and Algorithms for
Computer Graphics - Part II: Applications.'' {\em Volume Visualization}, IEEE
Computer Society Press Tutorial, 1991, p. 72-88. Also appears in {\em IEEE
CG\&A}, July 1988, p. 59-75.
\label{SAM91}
\mk
This is the second part of a two-part overview of the use of hierarchical data
structures and algorithms in computer graphics. The focus of Part I was on
fundamentals. Part II focuses on advanced applications. Emphasis is on the
octree, and the applications are primarily display methods. Topics include use
of the quadtree as a basis for hidden-surface algorithms, parallel and
perspective projection methods to display a collection of objects represented
by an octree, and the use of octrees to facilitate such image-rendering
techniques as ray tracing and radiosity.
\bk
Subramanian, K. R., and Donald S. Fussell. ``Automatic Termination
Criteria for Ray Tracing Hierarchies.'' {\em Graphics Interface '91},
p. 93-100. *
\label{SUB91}
\mk
A common problem in space subdivision hierarchies used in ray tracing is
determining the proper termination criteria to stop subdivision. We propose a
cost model based on scene characteristics that can be used to predict the
correct termination point to optimize performance. The characteristics are
determined as the hierarchy is being built. The model is applied to a variety
of space subdivision schemes to test its accuracy. Experimental results
indicate the power and usefulness of this model when applied to some standard
ray tracing benchmarks.
\section{Spatial Subdivision}
\subsection{Uniform Subdivision}
\bk
Glassner, Andrew S. ``Space Subdivision for Fast Ray Tracing.'' {\em
IEEE CG\&A}, October 1984, p. 15-22. Also appears in {\em Tutorial: Computer
Graphics: Image Synthesis}, Kenneth I. Joy, Charles W. Grant, Nelson L. Max,
and Lansing Hatfield (eds.), Computer Society Press, Washington, 1988,
p. 159-167.
\label{GLA84}
\mk
[No abstract. The following is taken from the Conclusions]
We have seen that the infamous slowness of ray-tracing techniques is caused
primarily by the time required for ray-object intersection calculations. We
have also seen a new way of tracing the ray through small subsets of space at
a speed that reduces the number of ray-object intersections that must be made,
thereby cutting the overall ray-tracing time considerably.
This new algorithm makes possible the ray tracing of complex scenes by
medium- and small-scale computers. It is hoped that this will enable the power
of ray tracing to be embraced by more people, helping them generate pictures
at the leading edge of computer graphics.
\bk
Fujimoto, Akira, Takayuki Tanaka, and Kansei Iwata. ``ARTS: Accelerated
Ray-Tracing System.'' {\em IEEE CG\&A}, April 1986, p. 16-26. Also appears in
{\em Tutorial: Computer Graphics: Image Synthesis}, Kenneth I. Joy, Charles
W. Grant, Nelson L. Max, and Lansing Hatfield (eds.), Computer Society Press,
Washington, 1988, p. 148-158. A revision of ``Accelerated Ray Tracing'' by Akira
Fujimoto and Kansei Iwata in {\em Computer Graphics: Visual Technology and Art,
Proceedings of Computer Graphics Tokyo '85}, Tosiyasu L. Kunii (ed.), p. 41-65.
\label{FUJ86}
\mk
In this paper, we propose algorithms that address the two basic problems
encountered in generating continuous-tone images by ray tracing: speed and
aliasing. We examine previous approaches to the problem and propose a scheme
based on the coherency of an auxiliary data structure imposed on the original
object domain. After investigating both simple spatial enumeration and a hybrid
octree approach, we develop the 3DDDA, a 3D line generator, for efficient
traversing of both structures.
3DDDA provides an order of magnitude improvement in processing speed compared
to other known ray-tracing methods. Processing time is found to be virtually
independent of the number of objects involved in the scene. For large numbers
of objects, this method actually becomes faster than scan-line methods. To
remove jags from edges, a scheme for identifying edge orientation and distance
from pixel center to true edge has been implemented. The time required for
antialiasing depends on the total length of the edges encountered, but it is
normally only a fractional addition to the time needed to produce the scene
without antialiasing.
\bk
Amanatides, John, and Andrew Woo. ``A Fast Voxel Traversal Algorithm
for Ray Tracing.'' {\em Proceedings of Eurographics '87}, Guy Mar\'{e}chal
(ed.), p. 3-10.
\label{AMA87a}
\mk
This paper discusses a fast and simple voxel traversal algorithm through a
3D space partition. Going from one voxel to its neighbor requires only two
floating point comparisons and one floating point addition. Also, multiple ray
intersections with objects that are in more than one voxel are eliminated.
\bk
Arvo, James, and David Kirk. ``Fast Ray Tracing by Ray
Classification.'' {\em SIGGRAPH '87}, p. 55-64. Also appears in {\em Tutorial:
Computer Graphics: Image Synthesis}, Kenneth I. Joy, Charles W. Grant, Nelson
L. Max, and Lansing Hatfield (eds.), Computer Society Press, Washington, 1988,
p. 196-205.
\label{ARV87}
\mk
We describe a new approach to ray tracing which drastically reduces the number
of ray-object and ray-bounds intersection calculations by means of
5-dimensional space subdivision. Collections of rays originating from a common
3D rectangular volume and directed through a 2D solid angle are represented as
hypercubes in 5-space. A 5D volume bounding the space of rays is dynamically
subdivided into hypercubes, each linked to a set of objects which are
candidates for intersection. Rays are classified into unique hypercubes and
checked for intersection with the associated candidate object set. We compare
several techniques for object extent testing, including boxes, spheres,
plane-sets, and convex poyhedra. In addition, we examine optimizations made
possible by the directional nature of the algorithm, such as sorting, caching
and backface culling. Results indicate that this algorithm significantly
outperforms previous ray tracing techniques, especially for complex
environments.
\bk
Cleary, John G., and Geoff Wyvill. ``Analysis of an Algorithm for Fast
Ray Tracing Using Uniform Space Subdivision.'' {\em The Visual Computer},
Vol. 4, 1988, p. 65-83.
\label{CLE88}
\mk
Ray tracing is becoming popular as the best method of rendering high quality
images from three dimensional models. Unfortunately, the computational cost
is high. Recently, a number of authors have reported on ways to speed up this
process by means of space subdivision which is used to minimize the number of
intersection calculations. We describe such an algorithm together with an
analysis of the factors which affect its performance. The critical operation of
skipping an empty space subdivision can be done very quickly, using only
integer addition and comparison. A theoretical analysis of the algorithm is
developed. It shows how the space and time requirements vary with the number
of objects in the scene.
\bk
Jevans, David A. J., and Brian Wyvill. ``Adaptive Voxel Subdivision
for Ray Tracing.'' {\em Graphics Interface '89}, p. 164-172. A revision of
research report 88/332/44, Computer Science Department, University of Calgary,
November 1988.
\label{JEV89a}
\mk
Although regular subdivision has been shown to be efficient at ray tracing
scenes where objects are evenly distributed, such algorithms perform poorly
when objects are concentrated in a small number of voxels. In this paper,
a method is presented where voxels in a regular grid are examined and
recursively subdivided depending on object density. This integration of regular
and adaptive spatial subdivision methods allows images consisting of large
regularly distributed objects and small dense objects to be ray traced
efficiently. The parameters controlling the coarseness of the voxel grid,
depth of adaptive subdivision trees, and maximum number of polygons per voxel
are varied and their effects on execution time, subdivision time, and memory
use are measured.
\bk
MacDonald, David. {\em Space Subdivision Algorithms for Ray Tracing}.
Masters Thesis, Computer Science Department, University of Waterloo, 1988.
\label{MAC88}
\mk
Ray tracing provides computer rendering of synthetic images with many
realistic qualities, but is computationally expensive. Ray tracing requires
testing of rays against a scene to see which objects, if any, are intersected.
The high number of such tests required by typical ray tracers contributes
significantly to the computational expense of ray tracing.
An efficient method of reducing the computation involved in the intersection
tests is to organize the objects composing the scene into one of several types
of hierarchical data structures.
This thesis describes algorithms for the construction, storage, and traversal
of the space subdivision hierarchy. Methods are suggested for decreasing
computational requirements of the data structure with respect to these three
areas.
One suggested strategy for improving performance in all three areas
(construction, storage, and traversal) is implemented for the bintree
structure. The performance of these simulations is compared with
implementations of contemporary methods and some efficiency gains are shown.
Further work is suggested, including adaptation of some of the ideas presented
within this thesis to more general types of hierarchical structures.
\bk
Murakami, Koichi, Katsuhiko Hirota and Mitsuo Ishii. ``Fast Ray
Tracing.'' {\em Fujitsu Science and Technology Journal}, vol. 24, \#2, June
1988, p. 150-159.
\label{MUR88}
\mk
Ray tracing produces images of excellent quality, but it requires lengthy
computations that limit its practical use. This paper discusses two approaches
to shortening ray tracing computation time.
The first approach involves partitioning the environment with voxels to reduce
the number of ray-object intersections. Proposed here is a new traversal
algorithm that efficiently traverses the voxel data structure.
Experimental data demonstrate that the resulting traversal overhead is small.
The second approach involves implementing a ray tracing algorithm on CAP
(Cellular Array Processor) parallel processor. The parallelization of ray
tracing takes advantage of the computational independency of individual rays.
The results demonstrate that, when using the proposed load distribution
scheme, performance increases in proportion to the number of cells used.
\bk
MacDonald, J. David, and Kellogg S. Booth. ``Heuristics for Ray
Tracing Using Space Subdivision.'' {\em The Visual Computer}, Vol. 6, 1990,
p. 153-166. Also appears in {\em Graphics Interface '89}, p. 152-163.
\label{MAC90}
\mk
Ray tracing requires testing of many rays to determine intersections with
objects. A way of reducing the computation is to organize objects into
hierarchical data structures. We examine two heuristics for space subdivision
using bintrees: one based on the intuition that surface area is a good
estimate of intersection probability, and one based on the fact that the
optimal splitting plane lies between the spatial median and the object
median planes of a volume. Traversal algorithms using cross links between
nodes are presented as generalizations of ropes in octrees. Simulations of
the surface area heuristic and the cross link scheme are presented. These
results generalize to other hierarchical data structures.
\bk
Hsiung, Ping-Kang, and Robert Thibadeau. ``Accelerating ARTS.'' {\em
The Visual Computer}, Vol. 8, 1992, p. 181-190.
\label{HSI92}
A major fraction of ray-tracing computation time is spent on ray-object
intersection calculation. To reduce this calculation cost, one method, ARTS,
subdivides the 3-D object space into voxels and uses a 3-D line-drawing
routine to simulate ray propagation in the subdivided space to select objects
for intersection testing. Finer space subdivision gives better object selection
resolution and few ray-object tests. However, as the subdivision increases, the
improvement is offset by a linear degradation of the line-drawing-routine
efficiency and a cubic growth of the memory requirement. We solve these time
and memory scalability problems in ARTS using an adaptive 3-D line-drawing
algorithm, which traverses space with multiple step-sizes, and a hybrid
database that employs both the octree and the 3-D array data structures. The
space traversal cost in our solution grows logarithmically with the subdivision
increase, and the memory requirement grows only linearly.
\bk
Yagel, Roni, Daniel Cohen, and Arie Kaufman. ``Discrete Ray
Tracing.'' {\em IEEE CG\&A}, September 1992, p. 19-28.
\label{YAG92}
\mk
[No abstract. The following is taken from the Conclusions]
Our new ray tracing approach, RRT, in its basic version ray traces voxelized
scenes in record speeds, at the price of negligible degradation in image
quality. One can progressively refine the image by employing the more
sophisticated variations of the algorithm, which employ supersampling and
intersection verification. Even the processing time of the algorithm's most
elaborate variation proves attractive compared to existing techniques, with
comparable image quality. RRT especially suits complex scenes and constructive
solid geometry. It also offers ray tracing for photorealism of sampled and
computed voxel data sets, or mixtures thereof with synthetic models.
\subsection{Nonuniform Subdivision}
\bk
Nemoto, Keiji, and Takao Omachi. ``An Adaptive Subdivision by
Sliding Boundary Surfaces for Fast Ray Tracing.'' {\em Proceedings of Graphics
Interface '86/Vision Interface '86}, p. 43-48.
\label{NEM86}
\mk
This paper presents an adaptive subdivision algorithm for fast ray tracing
implemented on parallel architecture using a three dimensional computer array.
The object space is divided into several subregions and boundary surfaces for
the subregions are adaptively slid to redistribute loads of the computers
uniformly. Since the shape of the subregions is preserved as orthogonal
parallelepiped the redistribution overhead can be kept small. The algorithm is
quite simple but can avoid load concentration to a particular computer.
Simulation results reveal that the adaptive space subdivision algorithm by
sliding boundary surfaces reduces the computing time to 3/4 - 1/5 as much as
that for the conventional space subdivision algorithm with no redistribution,
which reduces the computing time almost proportionally to the number of
computers.
\bk
Semwal, S. K., and J. M. Moshell. ``Geometric Issues of the
Slicing Extent Technique for Ray Tracing.'' Technical Report CS-TR-86-17,
Department of Computer Science, University of Central Florida, 1986.
\label{SEM86}
\mk
We introduce a new technique for image generation using ray tracing. The
``Slicing Extent Technique'' (SET) partitions object space with slicing
planes perpendicular to all three axes. Planes are dividied into two
dimensional rectangular cells, which contain pointers to nearby objects.
Cell size and the space between slices varies, and is determined by objects'
locations and orientations. Unlilke oct-tree and other space partitioning
methods, SET is not primarily concerned with dividing space into mutually
exclusive volume elements (`voxels') and identifying objects within each
voxel. Instead, SET is based on analysis of projections of objects onto
slicing planes.
The analysis of projections onto planes leads to an interesting geometric
problem of ``marking the cells'' on the various planes so that no ray-object
intersection goes undetected. In this paper, we show that our method of
``marking the cells'' for spheres and polyhedras is sufficient in this sense.
The nature of these extents is analyzed.
In comparison to the existing methods for ray tracing, SET avoids tree
traversal. Preprocessing to create slices is inexpensive and produces a finely
tuned filter mechanism which supports rapid ray tracing.
SET resembles other efforts to speed up ray tracing inasmuch as a two step
process is used. First, an approximate ``filter'' technique eliminates most
possible ray/object collisions. Then an accurate computation evaluates the
remaining possible collisions and provides information for the generation of
subsequent rays.
\bk
Semwal, S. K. {\em The Slicing Extent Technique for Fast Ray
Tracing}, Ph.D. Dissertation, Department of Computer Science, University of
Central Florida, 1987.
\label{SEM87}
\mk
A new technique for image generation using ray tracing is introduced. The
``Slicing Extent Technique'' (SET) partitions object space with slicing planes
perpendicular to all three axes. Planes are divided into two dimensional
rectangular cells, which contain pointers to nearby objects.
Cell size and the space slices varies, and is determined by the objects'
locations and orientations. Unlike oct-tree and other space-partitioning
methods, SET is not primarily concerned with dividing space into mutually
exclusive volume elements (`voxels') and identifying objects within each
voxel. Instead, SET is based on analysis of projections of objects onto
slicing planes.
In comparison to the existing space subdivision methods for ray tracing, SET
avoids tree traversal and exhibits no anomalous behavior. There is no
reorganization when new objects arrive. Preprocessing to create slices is
inexpensive and produces a finely tuned filter mechanism which supports rapid
ray tracing.
\bk
Quek, Lee Hian, and D. D. Hearn. ``Efficient Space-Subdivision Methods
in Ray-Tracing Algorithms,'' Report No. UIUCDCS-R-88-1468, Department of
Computer Science, University of Illinois at Urbana-Champaign, November 1988.
\label{QUE88}
\mk
Ray tracing provides a simple and powerful tool for the generation of highly
realistic displays. However, it is a computationally expensive approach. A
basic ray-tracing algorithm employing no antialiasing may require several
hours to render a scene of moderate complexity. Methods for attaining higher
picture quality, such as supersampling, adaptive sampling, and distributed
sampling, require even longer ray-processing times. One method for improving
the performance of ray-tracing algorithms is to reduce ray-object intersection
calculations by employing spatial subdivision techniques to group objects in a
scene. Here, we consider some improvements that can be made to
space-subdivision ray tracers by reducing ray-traversal calculations and by
implementing the algorithms on parallel vector architectures.
\bk
Devillers, Olivier. ``The Macro-regions: an Efficient Space Subdivision
Structure for Ray Tracing.'' {\em Proceedings of Eurographics '89}, W. Hansmann,
F. R. A. Hopgood and W. Strasser (eds.), p. 27-38, 541. A revision of Technical
Report 88-13, Laboratoire d'Informatique de l'Ecole Normale Sup\'{e}rieure,
Paris, France, November 1988.
\label{DEV89a}
\mk
Ray tracing is the usual image synthesis technique which allows rendering of
specular effects. The use of space subdivision for ray tracing optimization is
studied. A new method of subdivision is proposed: the macro-regions. This
structure allows a different treatment of the regions with a low density of
information, and the regions with a high density of information. A theoretical
and practical study of space subdivision methods--grid, octree--and the
macro-regions structure is presented.
\bk
Devillers, Olivier. ``Tools to Study the Efficiency of Space
Subdivision Structures for Ray Tracing.'' {\em Proceedings of PIXIM '89},
p. 467-481.
\label{DEV89b}
\mk
Space Subdivision structures are often used to improve the performance of ray
tracing. The subject of this article is to study theoretically the effects of
the subdivision on the CPU time. The average number of regions crossed by a ray
is calculated in several cases of subdivision.
With a space subdivision scheme, the complexity of ray tracing is due to two
main factors: computation of the intersections within a region, and computation
of the sequence of regions intersected by a given ray. The complexity of these
two points is studied. The distribution of the objects among the regions is
evaluated, and a method to compute the average number of regions crossed by a
ray for a given method of subdivisions is proposed. This method is applied to
some usual space subdivision techniques: octree, bounding boxes, grid, and
macro-regions.
\bk
Gigante, Michael. ``Accelerated Ray Tracing Using Non-Uniform
Grids.'' {\em Proceedings of Ausgraph '90}, p. 157-163.
\label{GIG90}
\mk
A new space-partitioning method for ray tracing complex environments is
described in this paper. Elements of a scene are placed into a collection of
non-hierarchical, variable-sized voxels.
The creation of this structure is the result of a simple pre-processing step.
In a scheme similar to that used by uniform grid methods, the non-uniform grid
can be traversed very efficiently.
Unlike uniform grid methods, this method generates voxels with approximately
uniform density of primitives per voxel. Its performance is less sensitive to
the type of scene and does not fail on scenes with local, high-density clusters
of primitives.
\bk
Spackman, John. {\em Scene Decompositions for Accelerated Ray
Tracing}, Ph.D. Dissertation, The University of Bath, UK, 1990. Available as
Bath Computer Science Technical Report 90/33.
\label{SPA90}
\mk
Ray tracing has come to the fore in the computer synthesis of realistic images
over the last decade. This algorithm synthesises a particularly high degree of
realism in both the shading and shape of surfaces. Surface shading calculations
incorporate not only local diffuse and specular radiance but also global
shadowing, multiple reflection and refraction of view and light attenuation,
all according to the laws of optical physics. Complex object shapes may be
modelled as boolean constructs from exact specifications of many common
geometries. A wide range of objects may be modelled exactly without resorting
to polyhedral approximation.
Early implementations of ray tracing synthesised some of the most realistic
images up to that date, but imposed an extremely high computational load for
complex scenes. Synthesis times proved to be linear in object count, and
projected times for scenes of a few thousand objects extended into months on
popular mini-computers. This prevented the wide-spread application of ray
tracing on non-specialised hardware. Various methods have been proposed over
the last few years to improve the efficiency of ray tracing for more viable
synthesis times.
This thesis addresses scene decompositions for the acceleration of ray traced
image synthesis. The decomposition of a globally complicated scene into simpler
local regions is shown to reduce the computational load imposed by ray tracing.
Algorithms are presented for the construction and use of various types of scene
decomposition. Their relative merits are compared and the ``octtree''
decomposition is shown to be particularly suitable for accelerating the
synthesis of complex scenes.
\bk
Subramanian, K. R. ``Adapting Search Structures to Scene
Characteristics for Ray Tracing'', Ph.D. thesis, Department of Computer
Sciences, University of Texas at Austin, December 1990.
\label{SUB90}
\mk
Ray tracing is an important and popular rendering technique in computer
graphics for synthesizing photorealistic images. However, ray tracing, if not
carefully done, can be a computationally expensive technique. A great deal of
research has focused on discovering efficient ways to perform ray tracing. An
important approach to controlling the computational expense has been the use of
geometric search structures to prevent needless ray-object intersection
calculations.
Search structures in current use take advantage of scene characteristics in a
variety of ways to enhance ray tracing performance. Constraints in their
construction can cause inefficiencies and consequent degradation in
performance. Performance comparisons between search structures using timing
benchmarks have shown that no single existing search structure performs best on
all scene models. A knowledge of search structure performance prior to
rendering is therefore important to selecting a search structure for a given
scene. A thorough understanding of the ways in which search structures succeed
in enhancing performance on various types of scenes can also be expected to
lead to improvements in existing techniques.
We present new results in adapting search structures to scene characteristics
for improving the performance of ray tracing. A cost model is developed for
evaluating search structures currently being used in ray tracing. The model has
been successfully used to terminate search structure construction, thus making
it unnecessary to set termination parameters in advance. The model has also
been used with limited success to compare the performance of different search
structures for a given scene.
A detailed experimental study of some of the important properties of search
structures has been performed. This has resulted in a new adaptive search
structure that is based on {\em k-d} trees, a multi-dimensional binary search
structure which outperforms existing methods. Its high performance is primarily
due to the fact that it combines the advantages of such structures based on
space partitioning and those based on bounding volumes. The greater flexibility
of this search structure allows it to terminate automatically at a point where
further subdivision would result in no additional benefits.
Finally, this search structure has been used to render volume models from
scientific applications such as medical imaging and molecular modeling. Its
advantages over traditional volume rendering techniques have been demonstrated.
\bk
Sung, Kelvin. ``A DDA Octree Traversal Algorithm for Ray Tracing.''
{\em Eurographics '91}, p. 73-85.
\label{SUN91}
\mk
A spatial traversal algorithm for ray tracing that combines the memory
efficiency of an octree and the traversal speed of a uniform voxel space is
described. A new octree representation is proposed and an implementation of the
algorithm based on that representation is presented. Performance of the
implementation and other spatial structure traversal algorithms are examined.
\bk
Dauenhauer, David E., and Sudhanshu K. Semwal. ``Approximate Ray Tracing.''
{\em Proceedings of Graphics Interface '90}, p. 75-82.
\label{DAU90}
\mk
We provide a general technique for all ray tracing space subdivision methods to
perform what we term ``Approximate Ray Tracing.'' An implementation of the
Approximate Ray Tracing called the Approximate Slicing Extent Technique or ASET
is provided. ASET checks only one ray-polygon intersection per cell along the
path of the ray. All other ray-object intersections are eliminated.
While the benefits of standard area subdivision techniques have proven to be
fairly optimal, our experiments have shown an average of fifteen to fifty
percent reduction in the time required to ray trace approximate images. Time
savings are expected to be greater when more complex scenes are rendered.
Irrespective of the scene complexity, ASET adds only a constant amount of
memory overhead.
\bk
Logan, James, Sudhanshu K. Semwal, and J. Michael Moshell. ``The Modified
Slicing Extent Technique of Subdivision for Ray Tracing.'' ?.
\label{LOG??}
\mk
Currently there are many techniques for generating realistic images in the
field of computer graphics. Ray tracing is a popular method for generating
realistic images. The inherent computational complexity of ray tracing makes
image generation a very slow process. Space subdivision techniques have been
suggested to speed up the ray tracing process. The {\em Modified Slicing Extent
Technique} or MSET is presented as an alternative to existing space subdivision
techniques. Comparisons are made with the octree and grid methods for ray
tracing. These comparisons are based on preprocessing times, rendering times,
memory usage and the number of ray-object intersections. Our results show the
proposed MSET method is fast and computationally efficient.
\bk
Semwal, Sudhanshu K., Charulata K. Kearney, and J. Michael Moshell. ``Ray
Tracing Using the Slicing Extent Technique.'' {\em 1992 International
Conference on 3D Graphics (?)}, p. ?.
\label{SEM92}
\mk
We present a novel approach to ray tracing called the Slicing Extent Technique
(SET) and its variations. SET partitions object space with slicing planes
perpendicular to all three axes. Slicing planes are divided into two
dimensional rectangular cells, which contain pointers to nearby objects. The
novelty of SET is that rather than using a collection of volumes as an extent,
SET uses a collection of planar cells and is based on analysis of projections
of objects onto slicing planes. These rectangular cells are used to quickly
traverse through the sparse area of the scene and also provide further
subdivision in the highly populated dense area. These 2D cells can also define
tighter extents.
In comparison to the existing space subdivision techniques for ray tracing, SET
avoids tree traversal and multiple ray-object intersections. It guarantees no
increase in image generation time when number of cells per slice increase in
multiples of four. There is no reorganization when new objects arrive and
preprocessing to create slices is inexpensive.
\bk
Wilson, Tom, and Narsingh Deo. ``Extent Tracing: Algorithm and
Implementation.'' Technical Report CS-TR-92-34, Department of Computer Science,
University of Central Florida, December 1992.
\label{WIL92c}
\mk
This paper describes a new ray tracing acceleration algorithm called {\em
extent tracing}. The algorithm works on a structure that is conceptually
related to a hierarchical tree of extents (HTE), but does not require the
hierarchy. To speed up extent tracing, spatial subdivision is added, resulting
in a nonuniform subdivision grid. Implementation details and the results of
comparisons to some other established acceleration techniques are given.
\section{Shadow Testing}
\bk
Haines, Eric A., and Donald P. Greenberg. ``The Light Buffer: A
Shadow-Testing Accelerator.'' {\em IEEE CG\&A}, September 1986, p. 6-16.
Contains main points of: {\em The Light Buffer: A Ray Tracer Shadow Testing
Accelerator} by Eric A. Haines, Master's Thesis, Program of Computer Graphics,
1986.
\label{HAI86}
\mk
In one area of computer graphics, realistic image synthesis, the ultimate goal
is to produce a picture indistinguishable from a photograph of a real
environment. A particularly powerful technique for simulating light
reflection---an important element in creating this realism---is called ray
tracing. This method produces images of excellent quality, but suffers from
lengthy computation time that limits its practical use.
This article presents a new method to reduce shadow testing time during ray
tracing. The technique involves generating light buffers, each of which
partition the environment with respect to an individual light source. These
partition descriptions are then used during shadow testing to quickly
determine a small subset of objects that may have to be tested for
intersection.
The results of timing tests illustrate the beneficial performance of these
techniques. The tests compare the standard ray-tracing algorithm to light
buffers of varying resolution.
\bk
Eo, K. S., and C. M. Kyung. ``Hybrid Shadow Testing Scheme for Ray
Tracing.'' {\em CAD}, Vol. 21, \#1, January/February 1989, p. 38-48.
\label{EO89}
\mk
The paper presents a new shadow testing acceleration scheme for ray tracing
called hybrid shadow testing (HST) based on conditional switching between the
conventional shadow testing method and Crow's shadow volume method, where the
shadow polygons as well as the object polygons are registered onto the
corresponding cells under the 3D space subdivision environment. Despite the
preprocessing time needed for the generation and registration of the shadow
polygons, the total shadow testing time of HST was approximately 50\% of that
of conventional shadow testing for several examples, while the total ray
tracing time was typically reduced by 30\%. This is due to the selective use
of the shadow volume method, with a compromise between maximizing use of the
shadow's spatial coherency and minimizing the computational overhead for
checking ray intersections with the shadow polygons. A parameter $N_{th}$,
denoting the critical number of shadow polygons between successive reflection
points, was used as a guideline for switching the shadow testing scheme
between the conventional method and shadow volume method. A method for
calculating $N_{th}$ from statistical data such as the number of object
polygons, average polygon size, and average peripheral length of the polygons
was proposed, resulting in good agreement with the experimental results.
\bk
Woo, Andrew, Pierre Poulin, and Alain Fournier. ``A Survey of Shadow
Algorithms.'' {\em IEEE CG\&A}, November 1990, p. 13-32.
\label{WOO90a}
\mk
Essential to realistic and visually appealing images, shadows are difficult to
compute in most display environments. This survey characterizes the various
types of shadows. It also describes most existing shadow algorithms and
discusses their complexities, advantages, and shortcomings. We examine hard
shadows, soft shadows, shadows of transparent objects, and shadows for complex
modeling primitives. For each type, we examine shadow algorithms within
various rendering techniques.
This survey attempts to provide readers with enough background and insight on
the various methods to allow them to choose the algorithm best suited to their
needs. We also hope that our analysis will help identify the areas that need
more research and point to possible solutions.
\bk
Woo, Andrew, and John Amanatides. ``Voxel Occlusion Testing: A Shadow
Determination Accelerator for Ray Tracing.'' {\em Proceedings of Graphics
Interface '90}, p. 213-220.
\label{WOO90b}
A shadow determination accelerator for ray tracing is presented. It is built on
top of the uniform voxel traversal grid structure. The accelerator proves to be
rather efficient, requires little additional memory and the worst case scenario
per shadow determination just reduces down to traditional voxel traversal. It
can also be extended to model linear, area lights, as well as atmospheric
shadows.
\bk
Ward, Gregory J. ``Adaptive Shadow Testing for Ray Tracing.'' {\em
Second Eurographics Workshop on Rendering}, May 1991, p. ?.
\label{WAR91}
\mk
We present a simple technique for improving the efficiency of ray tracing
in scenes with a large number of light sources. The sources sorted
according to their potential contribution, and only those sources whose
shadows are above a specified threshold are tested. The remainder are
added into the result in proportion to a statistical estimate of their
visibility. The algorithm requires very little storage, and produces no
objectionable artifacts.
\section{Coherence}
\subsection{Spatial Coherence}
\bk
Heckbert, Paul S., and Pat Hanrahan. ``Beam Tracing Polygonal Objects.'' {\em
SIGGRAPH '84}, p. 119-127.
\label{HEC84}
\mk
Ray tracing has produced some of the most realistic computer generated
pictures to date. They contain surface texturing, local shading, shadows,
reflections, and refractions. The major disadvantage of ray tracing results
from its point-sampling approach. Because calculation proceeds {\em ab
initio} at each pixel it is very CPU intensive and may contain noticeable
aliasing artifacts. It is difficult to take advantage of spatial coherence
because the shapes of reflections and refractions from curved surfaces are so
complex.
In this paper we describe an algorithm that utilizes the spatial coherence of
polygonal environments by combining features of both image and object space
hidden surface algorithms. Instead of tracing infinitesimally thin rays of
light, we sweep areas through a scene to form ``beams.'' This technique
works particularly well for polygonal models since for this case the
reflections are linear transformation, and refractions are often approximately
so.
The recursive beam tracer begins by sweeping the projection plane through the
scene. Beam-surface intersections are computed using two-dimensional polygonal
set operations and an occlusion algorithm similar to the Weiler-Atherton
hidden surface algorithm. For each beam-polygon intersection the beam is
fragmented and new beams created for the reflected and transmitted swath of
light. These sub-beams are redirected with a 4x4 matrix transformation and
recursively traced. This beam trree is an object space representation of the
entire picture.
\bk
Dadoun, N., D. G. Kirkpatrick, and J. P. Walsh. ``The Geometry of Beam
Tracing.'' {\em ACM Symposium on Computational Geometry}, 1985, p. 55-61.
\label{DAD85}
\mk
A solution to the hidden surface elimination problem called beam tracing is
described. Beam tracing is related to ray tracing but uses spatial coherence
within the scene, and area coherence within the image to batch computations.
Beam tracing is an object space solution to the hidden surface problem.
Beam tracing is formulated in terms of its principal subprocesses:
intersection, sorting, and clipping. A hierarchical scene representation is
proposed. This incorporates the space decomposition idea of the BSP tree
[Fuchs, Kedem, and Naylor, 80] along with the convex polytope intersection
detection technique of [Dobkin and Kirkpatrick, 83] to interleave and
efficiently solve the intersection and sorting subproblems of beam tracing.
\bk
Speer, L. Richard, Tony D. DeRose, and Brian A. Barsky. ``A Theoretical and
Empirical Analysis of Coherent Ray-Tracing.'' {\em Computer-Generated Images:
The State of the Art, Proceedings of Graphics Interface '85},
N. Magnenat-Thalmann and D. Thalmann (ed.), p. 11-25. Also appears in {\em
Graphics Interface '85}, p. 1-8.
\label{SPE85}
\mk
The use of {\em coherence} has been advocated as a means of reducing the large
computational cost of the ray-tracing method of image synthesis. This paper
examines the theoretical and empirical performance of a typical coherent
ray-tracing algorithm, one that exploits the similarity between the
intersection trees generated by successive rays. It is shown that despite the
large degree of coherence present in a scene, the need to ensure the validity
of ray-object intersections prevents any significant computational savings.
This indicates that other algorithmic methods must be used in order to
substantially reduce the computational cost of ray-traced imagery.
\bk
Hanrahan, Pat. ``Using Caching and Breadth-First Search to Speed Up Ray
Tracing.'' {\em Proceedings of Graphics Interface '86/Vision Interface '86},
1986, p. 56-61.
\label{HAN86}
\mk
Ray-tracing is an expensive image synthesis technique because many more
ray-surface intersection calculations are done than are necessary to shade the
visible areas of the image. This paper extends the concept of beam-tracing so
that it can be coupled with caching to reduce the number of intersection
tests. Two major improvements are made over existing techniques. First, the
cache is organized so that cache misses are only generated when another
surface is intersected, and second, the search takes place in breadth-first
order so that coherent regions are completely computed before moving onto the
next region.
\bk
M\"{u}ller, H. ``Image Generation by Space Sweep.'' {\em Computer Graphics
Forum}, Vol. 5, 1986, p. 189-195.
\label{MUL86}
\mk
A method of using spatial coherence in image generation by ray tracing is
presented. The idea is to trace a set of rays in parallel. This is carried
out by space sweep. Space sweep consists of moving a plane through the
object space. The rays intersected by the plane are organized into a dynamic
data structure $R$ for range searching. When an object is met by the sweeping
plane, those rays intersecting the object are found by a range search with the
object in $R$. Exact complexity bounds are given for this algorithm, as well
as details to allow practical application of this approach in image operation.
\bk
Kaplan, Michael R. ``The Use of Spatial Coherence in Ray Tracing.'' {\em
Techniques for Computer Graphics}, David F. Rogers and Rae A. Earnshaw (eds.),
Springer-Verlag, 1987, p. 173-193.
\label{KAP87}
\mk
Although ray tracing has proven to be a valuable technique in realistic image
synthesis and a variety of other disciplines, it traditionally has not been
viable in highly complex, unstructured environments. Spatial coherence
algorithms for ray tracing are proposed as a solution to this problem, and the
tradeoffs between various spatial coherence schemes are discussed.
\bk
Ohta, Masataka, and Mamoru Maekawa. ``Ray Coherence Theorem and Constant Time
Ray Tracing Algorithm.'' {\em Computer Graphics 1987 - Proceedings of CG
International '87}, Tosiyasu L. Kunii (ed.), Springer-Verlag, p. 303-314.
\label{OHT87}
\mk
The concept of ray coherence is formalized as a ray coherence theorem to
decrease the amount of computation in a ray object intersection of the ray
tracing algorithm. Using the theorem, the calculation time of ray-object
intersection in a ray tracing algorithm can be drastically decreased, by
calculating a table which is used to limit the number of objects which may
intersect with a given ray. The overhead of the algorithm is so small that it
is effective even when there are only two objects. For more objects, the
computation time of the ray-object intersection remains almost constant.
\bk
Shinya, Mikio, Tokiichiro Takahashi, and Seiichiro Naito. ``Principles and
Applications of Pencil Tracing.'' {\em SIGGRAPH '87}, p. 45-54.
\label{SHI87}
\mk
Pencil tracing, a new approach to ray tracing, is introduced for faster image
synthesis with more physical fidelity. The paraxial approximation theory for
efficiently tracing a pencil of rays is described and analysis of its errors is
conducted to insure the accuracy required for pencil tracing. The paraxial
approximation is formulated from a 4x4 matrix (a system matrix) that provides
the basis for pencil tracing and a variety of ray tracing techniques, such as
beam tracing, ray tracing with cones, ray-object intersection tolerance, and a
lighting model for reflection and refraction. In the error analysis, functions
that estimate approximation errors and determine a constraint on the spread
angle of a pencil are given.
The theory results in the following fast ray tracing algorithms; ray tracing
using a system matrix, ray interpolation, and extended `beam tracing' using a
`generalized perspective transform.' Some experiments are described to show
their advantages. A lighting model is also developed to calculate the
illuminance for refracted and reflected light.
\bk
Shinya, Mikio, Takafumi Saito,, and Tokiichiro Takahashi. ``Rendering
Techniques for Transparent Objects.'' {\em Graphics Interface '89}, p. 173-181.
\label{SHI89}
\mk
Three techniquesare proposed for more realistic image synthesis of transparent
objects. The techniques simulate important phenomena due to refraction and/or
reflection, such as focuses and caustics, a method called {\em grid-pencil
tracing} is proposed, based on the ideas of pencil tracing and backward ray
tracing. An anti-aliasing filter is designed for grid-pencil tracing in
area-source illumination environments. The theory of pencil tracing is also
applied to dispersion simulation. An extension of the theory provides a basis
for dispersive pencil tracing, where both spatial coherency and 'wavelength
coherency' is effectively used for fast image synthesis of dispersive objects.
Furthermore, a linear filtering technique is applied to effectively express
extremely bright spots such as sunshine reflection. The technique is based on
an analysis of a special camera filter called a 'cross-screen filter,' which
emphasizes bright spots by producing star-like lines around the spots on the
image.
With these techniques, the realism of transparent object images can be much
enhanced in an inexpensive way.
\bk
Thirion, J. P. ``Interval Arithmetic for High Resolution Ray
Tracing.'' Technical Report 90-4, Laboratoire d'Informatique de l'Ecole Normaje
Sup\'{e}rieure, Paris, France, February 1990.
\label{THI90a}
\mk
We describe in this paper a new technique to accelerate ray tracing for high
resolution pictures. This technique uses the coherence of the rays, for direct
and shadow rays as for reflected and refracted rays. It is not an approximate
calculation, for the result of the process we describe is exactly the same as
conventional ray tracing. The basic idea in this algorithm is that for two rays
that are close together the operations to perform are almost the same.
Therefore, with a techique coming from interval arithmetic, we solve ray
tracing intersections for a cluster of rays, called a beam, instead of a single
ray. This algorithm appears to be between 2 and 3 times faster than
conventional ray tracing with traditional resolution, and this ratio improves
with higher resolution. Our approach is efficient to optimize algorithms where
the same operations occur repeatedly. The primitives we defined for our beam
tracer could be packaged into a module, useful to optimize a wide range of
repetitive algorithms provided that there is coherence between data.
\subsection{Image Coherence}
\bk
Amanatides, John, and Alain Fournier. ``Ray Casting Using Divide and Conquer in
Screen Space.'' {\em International Conference on Engineering and Computer
Graphics}, August 1984, p. 290-296.
\label{AMA84b}
\mk
Ray tracing the light path from the eye position has been used to model
illumination effects in computer rendered scenes with spectacular results.
In Constructive Solid Geometry (CSG), a similar method limited to the first
surface-ray intersection, known as {\em ray casting} or {\em ray firing}, has
been used. Unfortunately, these methods can be very expensive computationally.
The classic algorithm paradigm of divide and conquer has been used to reduce
the computations, by ``boxing'' and/or subdividing the objects to rapidly
eliminate non-intersecting objects.
We introduce here a new algorithm, using divide and conquer in screen space
and ray casting in object space at the same time. Instead of ``firing'' one
ray per pixel, rays (or more exactly cones with the apex at the eye) covering
recursive subdivisions of the screen are fired. Quick inclusion tests in
object space are used to decide if an object is potentially visible for this
ray, and if further subdivisions are necessary.
The main advantage over simple ray casting is that far less intersection
calculations are done, and that antialiasing is easily built into it.
\bk
Hashimoto, Akihiko, Taka-aki Akimoto, Kenji Mase, and Yasuhito Suenaga.
``Vista Ray-Tracing: High Speed Ray Tracing Using Perspective Projection
Image.'' {\em New Advances in Computer Graphics, Proceedings of CG
International '89}, R. A. Earnshaw and B. Wyvill (eds.), p. 549-561.
\label{HAS89}
\mk
This paper presents a new high speed algorithm of ray-tracing named Vista
Ray-tracing. In Vista Ray-tracing, time consuming intensity calculations are
done only for ``active'' pixels which really need precise ray-tracing, while
the intensity of ``moderate'' pixels in calculated by interpolation. The
perspective projection image, or Vista, is generated at the first stage to be
used as a guide map in active pixel selection. In this paper, a new method for
obtaining Vistas for CSG models of quadratic surface objects is presented as a
key technology. A new texture mapping algorithm is also presented. Vista
Ray-tracing is actually 16-75 times faster than standard ray-tracing, and can
be even faster if other acceleration methods are employed. Consequently, Vista
Ray-tracing is very useful for intermediate processes in making various images
for TV animation, movies, high definition television, printing, etc.
\bk
Lamparter, Bernd, Heinrich M\"{u}ller, J\"{o}rg Winckler. ``The
Ray-z-Buffer--An Approach for Ray Tracing Arbitrarily Large Scenes.''
Universit\"{a}t Freiburg Institut f\"{u}r Informatik, April 1990.
\label{LAM90}
\mk
This paper presents the ray-z-buffer as part of an alternative strategy of ray
tracing called breadth first ray tracing. Breadth first ray tracing differs
from usual pixel-wise rendering in tracing whole generations of rays together.
This means that first all rays of view are treated, next the set of reflecting
and refracting rays, then the reflecting and refracting rays caused by them,
and so on. The calculation of intersections for a generation of rays uses the
the ray-z-buffer algorithm. The ray-z-buffer algorithm generalizes the
well-known z-buffer algorithm. Like the z-buffer algorithm the ray-z-buffer
algorithm allows rendering of scenes with an unbounded number of primitives.
An implementation based on nested adaptive quadtrees is presented. Analysis and
measuring show the rendering time increases sublinearly in the resolution of the
image, and increasing linearly in the number of primitives. The main memory
required only depends on the resolution of the image, in about linear manner.
\bk
Akimoto, Taka-aki, Kenji Mase, and Yasuhito Suenaga. ``Pixel Selected Ray
Tracing.'' {\em IEEE CG\&A}, July 1991, p. 14-22. A revision of same paper also
appears in {\em Proceedings of Eurographics '89}, W. Hansmann, F. R. A. Hopgood
and W. Strasser (eds.), p. 39-50, 542.
\label{AKI91}
\mk
This paper presents a new ray-tracing acceleration technique called Pixel
Selected Ray-Tracing (PSRT). PSRT uses undersampling based on Iterative
Central Point Selection (ICPS) along with checking for similarities among
trees in neighboring pixels. By using ICPS and trees, the largest danger of
missing object borders can be drastically reduced.
Although the speed increase attributable to PSRT varies with the image
generation environment, according to experiments comparing PSRT with standard
ray-tracing, PSRT is 2.6 to 8.2 times faster than standard ray-tracing for
512 by 512 pixel images, maintaining the same visual image quality.
It is true that images generated by this method may contain very small errors.
However, such errors can be reduced and may be made visually negligible by
using ICPS and the trees of ray-object intersections to check for similarities.
\subsection{Temporal Coherence}
\bk
Badt, Sig, Jr. ``Two Algorithms for Taking Advantage of Temporal
Coherence in Ray Tracing.'' {\em The Visual Computer}, Vol. 4, 1988,
p. 123-132.
\label{BAD88}
\mk
The basic ray-tracing algorithm is adapted to make ray-tracing faster for the
production of motion pictures. Two algorithms are presented. The image space
temporal coherence algorithm takes advantage of the fact that motion picture
images do not change very much from frame to frame. The reprojection algorithm
uses information about the object space saved from the previous frame to
accelerate the processing of the current frame. The reprojection algorithm
is used when the viewpoint of the current frame is changed by a small amount
from the viewpoint of the previous frame.
\bk
Glassner, Andrew S. ``Spacetime Ray Tracing for Animation.'' {\em IEEE
CG\&A}, March 1988, p. 60-70.
\label{GLA88}
\mk
We are presenting techniques for the efficient ray tracing of animated scenes.
These techniques are based on two central concepts: spacetime ray tracing, and
a hybrid adaptive subdivision/bounding volume technique for generating
efficient, nonoverlapping hierarchies of bounding volumes.
In spacetime ray tracing, instead of rendering dynamically moving objects in
3D space, we render static objects in 4D spacetime. To support spacetime ray
tracing, we use 4-dimensional analogues to familiar 3-dimensional ray-tracing
techniques.
The new bounding volume hierarchy combines elements of adaptive space
subdivision and bounding volume techniques. The quality of the hierarchy and
its nonoverlapping character make it an improvement over previous algorithms,
because both attributes reduce the number of ray/object intersections that
must be computed. These savings are amplified in animation because of the
much higher cost of computing ray/object intersections for motion-blurred
animation.
We show it is possible to ray trace large animations more quickly with
spacetime ray tracing using this hierarchy than with straightforward
frame-by-frame rendering.
\bk
S\'{e}quin, Carlo H., and Eliot K. Smyrl. ``Parametric Ray Tracing.'' {\em
SIGGRAPH '89}, p. 307-314.
\label{SEQ89}
\mk
The construction and refinement of a computer graphics scene is unacceptably
slow when using ray tracing. We introduce a new technique to speed up the
generation of successive ray traced images when the geometry of the scene
remains constant and only the light source intensities and the surface
properties need to be adjusted. When the scene is first traced, an expression
parameterized in the color of all lights and the surface property coefficients
of all objects is calculated and stored for each pixel. Redisplaying a scene
with a new set of lights and colors then consists of substituting values for
the corresponding parameters and re-evaluating the expressions for the pixels.
This parameter updating and redisplay takes only a few seconds, as compared to
the many minutes or hours required to ray trace the entire scene again, but it
uses much more memory and disk space. With suitable expression sharing,
however, these storage needs can be reduced to an acceptable level.
\bk
Jevans, David A. ``Object Space Temporal Coherence for Ray Tracing.''
{\em Graphics Interface '92}, p. 176-183.
\label{JEV92}
\mk
A method is presented for exploiting object space temporal coherence to speed
up ray tracing of animation sequences where the camera remains static. The
object space is subdivided with a hierarchical voxel grid structure. Each voxel
keeps a list of the rays that pass through it when the first frame of a
sequence is rendered. To render a successive frame, only rays that passed
through voxels in which an object has moved are retraced. The method speeds up
ray tracing of a test animation sequence by nearly a factor of four.
The method is easily adapted to work with any spatial subdivision technique.
The memory requirements of the method are low.
\bk
Murakami, Koichi, and Katsuhiko Hirota. ``Incremental Ray Tracing.'' {\em
Photorealism in Computer Graphics}, K. Bouatouch, and C. Bouville (eds.),
Springer-Verlag, 1992, p. xiii-xiv, 17-32.
\label{MUR92}
\mk
We have developed a method to reduce the ray tracing time that recomputes or
updates only the changed parts of the image for a fixed viewpoint for a
dynamic sequence of images. This method enables a designer to make small
changes in geometry or surfaces properties of a ray-traced scene without
recalculating the entire image. The intersection tree is extended to contain
the intersection point, surface normal, and related data that record the path
through which the ray propagated using a voxel partition scheme. These
descriptions are then used during the update to quickly determine which parts
of the image need recomputation and to reduce the number of recomputations. The
key idea behind the method is to localize the influence of changed objects
using the voxel partition and to minimize the access cost of the data
structures. Testing if a ray is changed by the changed object is done with a
hash index, which represents the ray's path. Intersection recalculation to
determine a changed ray's new visible point can be reduced with information
saved in the intersections. The optimal tree traversal algorithm limits the
parts of developed on the {\em CAP (Cellular Array Processor)} parallel
processor. An implementation approach that accounts for data storage and load
balancing is also presented. The results demonstrate great performance
improvements over calculating an entirely new rendering. With this method ray
tracing may become practical for some computer graphics applications, such as
CAD and animation which require high-quality images.
\section{Object Modeling}
\subsection{CSG (Constructive Solid Geometry)}
\bk
Bronsvoort, Willem F., Jarke J. van Wijk, and Frederik W. Jansen.
``Two Methods for Improving the Efficiency of Ray Casting in Solid Modelling.''
{\em CAD}, Vol. 16, \#1, January 1984, p. 51-55.
\label{BRO84}
\mk
In solid modelling based on constructive solid geometry and primitive
instancing, ray casting is a very suitable technique for visualization of
models on a raster display. In its present form, it is, however, too
inefficient for interactive use.
Two methods for improving the efficiency are given here. The first uses
scan-line interval enclosures instead of box enclosures, and also bypasses
non-contributing nodes during each traversal of the CSG (constructive solid
geometry) tree. The second refines the image step by step by subdivision,
thereby avoiding explicit computation of the intensities of many pixels of the
image. The second method reduces computing time more than the first, but has
the disadvantage that slivers may occasionally be lost from the image.
\bk
Cordonnier, E., C. Bouville, J. L. Dubois, and I. Marchal. ``Creating
CSG Modelled Pictures for Ray-Casting Display.'' {\em Proceedings of
Eurographics '85}, Carlo E. Vandoni (ed.), p. 171-182.
\label{COR85}
\mk
3D-picture synthesis systems used for instance in the audio-visual field or
networked services require the implementation of easy-to-use aids to
composition. This particular composition software realizes the sizing and
locating of even complex CSG objects in a simple direct manner.
The ray-casting method is used for display and designation.
\bk
Jansen, F. W. ``A CSG List Priority Hidden Surface Algorithm.''
{\em Proceedings of Eurographics '85}, Carlo E. Vandoni (ed.), p. 51-62.
\label{JAN85a}
\mk
Several algorithms exist for visualizing geometric models defined by
constructive solid geometry (CSG). Each of these algorithms is based on
standard hidden surface methods, such as ray tracing, scan-line, and z-buffer
algorithms. In this paper a CSG list priority algorithm is described that is
combined with a ray tracing algoritm in the use of a spatial subdivision
technique and a CSG list structure to exploit CSG coherence. The combined
algorithm is designed for interactive viewing and high quality rendering
of CSG models with faceted primitives.
\bk
Kunii, Tosiyasu L., and Geoff Wyvill. ``CSG and Ray Tracing Using
Functional Primitives.'' {\em Computer-Generated Images: The State of the Art,
Proceedings of Graphics Interface '85}, N. Magnenat-Thalmann and D. Thalmann
(ed.), p. 137-152.
\label{KUN85}
\mk
A simple system is described for computer aided design by constructive
solid geometry (CSG). The system allows the design of engineering components
by combining `basic components' which represent shapes produced by
standard machining operations.
The system has for significant original features:
1. The primitive components are described in an object orieinted fashion, data
plus procedures.
2. A new kind of octree structure is used to render various displays from
descriptions.
3. Certain objects can be directly associated with components of tool paths.
For example, a cylindrical object might represent a drill moving along its
length or a prism might represent the shape of material cut by a milling too
sweeping horizontally. An object built from these basic objects can, in
principle, be cut using combinations of their associated tool paths.
4. The system consists of four conceptual modules with well-defined interfaces.
One module, for example, is the set of primitive objects and their associated
procedures. Another is the octree generator. Because of this design technique,
it is easy to modify or even replace modules. This meta-structure provides a
general, if informal method of describing CSG systems.
\bk
Wyvill, Geoff, and Tosiyasu L. Kunii. ``A Functional Model for
Constructive Solid Geometry.'' {\em The Visual Computer}, Vol. 1, 1985,
p. 3-14.
\label{WYV85}
\mk
A system of constructive solid geometry (CSG) enables an engineering designer
to compose three dimensional (3D) shapes by combining simpler ones. Most
existing systems, however, actually represent solid shapes as boundaries of
surfaces patches. At the Kunii Laboratory, University of Tokyo, we have
produced an experimental system in which solids are modelled functionally by
procedures which describe their properties. These ``primitive objects'' are
combined with the aid of a new ``octree'' structure. Careful study of the data
structures in this system reveals some interesting aspects of program
efficiency.
\bk
Gervautz, Michael. ``Three Improvements of the Ray Tracing Algorithm
for CSG Trees.'' {\em Computers \& Graphics}, Vol. 10, \#4, 1986, p. 333-339.
\label{GER86}
\mk
Ray tracing is one of the most powerful techniques for image synthesis today.
The most beautiful pictures in computer graphics were made by this method.
Unfortunately, the computational expense and the computation time are very
high. For reduction of computational effort in this paper three improvements
for the ray tracing algorithm will be introduced. Two of them are extensions of
existing improvements, the third is a new idea: (1) use of enclosures in the
object tree; (2) bounding the ray length and (3) dynamical temporary object
trees. These improvements are independent and therefore can be used separately
or together. They are for ray tracing objects described in a CSG model. The
improvements can also be used for secondary rays.
\bk
van Wijk, Jarke J. {\em On New Types of Solid Models and Their
Visualization with Ray Tracing}, Ph.D. Dissertation, Delft University Press,
Delft University of Technology, 1986.
\label{WIJ86}
\mk
[No abstract. The following is taken from the Summary.]
Solid modelling is a technique for the representation of the geometry of
objects in CAD/CAM-systems. A major technique within sold modelling is
Constructive Solid Geometry (CSG). Here an object is defined by applying the
set operations union, difference, and intersection on transformed (translated,
rotated, scaled) instances of a set of primitive objects, such as sphere,
block, and cylinder. The ray tracing technique can be used for generating
shaded images of objects defined with CSG.
The shape domain of current solid modellers based on CSG is often too
restrictive for application in, for instance, industrial design. The subject
of this thesis is the development of techniques to define additional types of
shapes, which can be used as primitive elements in solid modelling systems.
Algorithms for the evaluation of these objects with ray tracing are presented.
The set of discussed shapes includes objects defined by translational and
rotational sweeping, objects that result from sweeping a sphere, blends and
fillets for quadric surfaces, and some types of objects bounded by free-form
surfaces. A procedural modelling language is presented that allows the user to
describe regular structures in geometric models in a compact way.
\bk
Wyvill, Geoff, Tosiyasu L. Kunii, and Yasuto Shirai. ``Space
Division for Ray Tracing in CSG.'' {\em IEEE CG\&A}, April 1986, p. 28-34.
\label{WYV86a}
\mk
A system of Constructive Solid Geometry (CSG) enables an engineering designer
to compose three-dimensional shapes by combining simpler ones. Definitions of
such objects are represented by tree structures or direct acyclic graphs.
Most existing systems convert this representation to a more conventional
boundary representation of the solids in order to render pictures from the
model. More recently, a number of systems have been described that render the
pictures directly from the CSG structure. We describe such a system. We render
a scene by ray tracing from a directed acyclic graph. This process is made
efficient for large models by using an adaptive method of space division to
reduce the number of intersection calculations needed.
\bk
Youssef, Saul. ``A New Algorithm for Object Oriented Ray Tracing.''
{\em Computer Vision, Graphics, and Image Processing}, Vol. 34, 1986,
p. 125-137.
\label{YOU86}
\mk
A new algorithm for ray tracing object oriented environments is presented. The
new algorithm promises significant savings in CPU time compared with the
standard Constructive Solid Geometry (CSG) algorithm. In particular, few
ray-surface intersections are calculated, all sorting is eliminated, and there
is no binary tree traversal. The new algorithm is bounded in CPU cost by
$O(N)$ for $N$ objects compared with $O(N^{2})$ for CSG.
\bk
Arnaldi, Bruno, Thierry Priol, and Kadi Bouatouch. ``A New Space
Subdivision Method for Ray Tracing CSG Modelled Scenes.'' {\em The Visual
Computer}, Vol. 3, 1987, p. 98-108. Also appears as ``A New Algorithm of Space
Tracing Using a CSG Model'' by Kadi Bouatouch, M. O. Madani, Thierry Priol, and
Bruno Arnaldi in {\em Proceedings of Eurographics '87}, Guy Mar\'{e}chal (ed.),
p. 65-78. Each paper contains details the other does not.
\label{ARN87}
\mk
A new algorithm for space tracing with CSG modelled scenes is presented. Space
is divided in an irregular fashion to fit the objects as closely as possible.
For this reason, primitive minimal bounding boxes are computed. Space
subdivision is achieved in two steps: partitioning in projection plane and
depth partitioning. A set of 3D regions named cells are then created. A
Boolean CSG tree is distributed into the cell structure to form in each cell
the minimal boolean CSG tree using the relevant primitives. The searching
process for the ``next cell'' along the ray path is performed by using a local
data structure associated with each cell. The goal of this structure is to
link the cells together. An improvement, named ``mailbox,'' for all space
tracing algorithms is detailed. Results are presented for two scenes to
compare this new algorithm with Roth's algorithm.
\bk
Wyvill, G., and P. Sharp. ``Volume and Surface Properties in CSG.''
{\em New Trends in Computer Graphics, Proceedings of CG International '88},
Nadia Magnenat-Thalmann and Daniel Thalmann (eds.), Springer-Verlag,
p. 257-267.
\label{WYV88}
\mk
If we use a red drill to make a hole in a blue block, the inside of the hole
will still be blue. To simulate this process in a CSG system, the we subtract
red cylinder from the blue block. The hole's surface belongs to the cylinder
but it takes it color from the block.
We present algorithms for elucidating the correct colors from CSG models
and an application in design for wood turning is described.
\bk
Getto, Philip. ``Fast Ray Tracing of Unevaluated Constructive Solid
Geometry Models.'' {\em New Advances in Computer Graphics, Proceedings of CG
International '89}, R. A. Earnshaw and B. Wyvill (eds.), p. 563-578.
\label{GET89}
We present a refinement of the ray tracing, algorithm, for use with unevaluated
constructive solid geometry models. Bounding enclosures around the children of
a part are combined into a tree with nearly optimal minimum expected number of
extent-ray intersections. An approximate evaluation of the expression
represented by the part can be evaluated on the enclosure-ray intersections to
find the subset of children that might be hit by a ray. These candidate
children are then used to evaluate the expression exactly. Several critieria
are suggested which allow early termination of the exact expression evaluation.
\bk
Morris, D. T., and P. M. Dew. ``Dynamic Dataflow Algorithms for Ray
Tracing CSG Objects.'' {\em Parallel Processing for Computer Vision and
Display}, P. M. Dew, R. A. Earnshaw, and T. R. Heywood (eds.), Addison-Wesley
Publishing Company, Reading, Massachusetts, 1989, p. 452-460.
\label{MOR89}
\mk
This paper describes how solid objects may be rendered by use of dynamic
dataflow techniques. Particular emphasis is given to the ray-tracing
algorithm. The objects are described by constructive solid geometry. The
algorithms are designed to be executed on a processor farm coupled with a
data-driven dataflow machine. Many of the limitations of previous approaches,
such as the Kedem-Ellis ray-casting machine are overcome. For example, the
size of the objects that can be drawn directly is increased, the shading
computations are made more efficient and there is better hardware utilization.
\bk
Amanatides, John, and Don P. Mitchell. ``Some Regularization Problems
in Ray Tracing.'' {\em Proceedings of Graphics Interface '90}, p. 221-228.
\label{AMA90}
\mk
Ray tracers that render CSG models should consider issues of regularization and
numerical accuracy. The special case of rays originating on surfaces (shadow
probes, reflections, and refractions) present a regularization problem that is
significant--even in ray tracers which are not explicitly based on the CSG
scheme. An analysis of this problem yields a better solution than the epsilon
tests incorporated in most ray tracers.
\bk
Salesin, David, and Jorge Stolfi. ``Rendering CSG Models with a
ZZ-Buffer.'' {\em SIGGRAPH '90}, p. 67-76.
\label{SAL90}
The ZZ-buffer is a simple acceleration scheme for ray tracing that can be
applied to a wide variety of scenes, including those with small features,
textured and transparent surfaces, shadows and penubrae, and depth-of-field
effects. In this paper, we describe how the ZZ-buffer algorithm can be adapted
to the rendering of scenes defined by constructive solid geometry.
\bk
Hui, K. C., and S. T. Tan. ``Display Techniques and Boundary
Evaluation of a Sweep-CSG Modeller.'' {\em The Visual Computer}, Vol. 8, 1991,
p. 18-34.
\label{HUI91}
\mk
Among the various techniques for displaying solid objects, ray tracing is the
most popular method for sweep-generated objects, owing to its simplicity and
effectiveness. The main problem in ray tracing is to find the point of
intersection between the ray and the object. By taking consideration of the
special features of a surface generated by a sweep, the ray/object intersection
problem can be reduced to a 2-D planar problem. This paper presents a
ray-casting technique for displaying Sweep-CSG-represented solids. This
technique works directly on the Sweep-CSG representation and does not require
explicit boundary information. Boundary information is, however, essential for
line-drawing outputs. In this paper, boundary-evaluation techniques for
obtaining edges of a Sweep-CSG solid are described. Special techniques for
evaluating the boundaries of a solid are also discussed.
\bk
Jansen, Frederik W. ``Depth-Order Point Classification Techniques for
CSG Display Algorithms.'' {\em ACM TOG}, Vol. 10, \#1, January 1991, p. 40-70.
\label{JAN91}
\mk
Constructive Solid Geometry (CSG) defines objects as Boolean combinations
(CSG trees) of primitive solids. To display such objects, one must classify
points on the surfaces of the primitive solids with respect to the resulting
composite object, to test whether these points lie on the boundary of the
composite object or not. Although the point classification is trivial compared
to the surface classification (i.e.\ the computation of the portion of the
faces of primitive solids that lie on the boundary of the composite object),
for CSG models with a large number of primitive solids (large CSG trees), the
point classification may still consume a considerable fraction of the total
processing time. This paper presents an overview of existing and new
efficiency-improving techniques for classifying points in depth order. The
different techniques are compared through experiments.
\bk
Bronsvoort, Willem F., Frederik W. Jansen, and Frits H. Post. ``Design and
Display of Solid Models.'' {\em Advances in Computer Graphics VI -- Images:
Synthesis, Analysis, and Interaction}, G\'{e}rald Garcia and Ivan Herman
(eds.), Springer-Verlag, 1991, p. 1-57.
\label{BRON91}
\mk
Solid modelling plays an important role in CAD/CAM and other advanced
applications of 3D graphics. This survey presents an overview of graphics
techniques for the design, fast display, and high-quality rendering of solid
models ({\em i.e.\ Graphics for Solid Modelling}). Emphasis will be on
techniques for Constructive Solid Geometry (CSG).
After an introduction on representation techniques, the following topics on
interactive design of solid models will be covered: input and editing curves,
surfaces and solids, assembly modelling, parametrization, constraints,
modelling languages and direct manipulation. The second part of the survey will
discuss display techniques: ray tracing, scanline and depth buffer algorithms,
CSG classification techniques and efficiency-improving methods.
\subsection{Objects Defined by Sweeps and Revolutions}
\bk
van Wijk, Jarke J. ``Ray Tracing Objects Defined by Sweeping a
Sphere.'' {\em Proceedings of Eurographics '84}, Ketil B\mbox{\o} and Hugh
A. Tucker (ed.), p. 73-82.
\label{WIJ84a}
\mk
The basic calculation underlying ray tracing is that of the intersection of a
line with the surfaces of the object. A method is presented here for performing
this calculation for a new and powerful class of objects, those defined by
sweeping a sphere of varying radius along a 3D trajectory. When polynomials are
used for the parametrization of the center and radius of the sphere, the
intersection problem reduces to the location of the roots of a polynomial. An
implementation is presented, together with sample applications.
\bk
van Wijk, Jarke J. ``Ray Tracing Objects Defined by Sweeping
Planar Cubic Splines.'' {\em ACM TOG}, Vol. 3, \#3, July 1984, p. 223-237.
\label{WIJ84b}
\mk
The crucial step in a program based on ray tracing is the calculation of the
intersection of a line with an object. In this paper, algorithms are presented
for performing this calculation for objects defined by sweeping a planar
cubic spline through space. Translational, rotational, and conic sweeping are
treated. Besides solutions for the exact calculation, rectangle tests for
improving efficiency are given. Possible extensions and improvements are
discussed.
\bk
Bronsvoort, Willem F., and Fopke Klok. ``Ray Tracing Generalized
Cylinders.'' {\em ACM TOG}, Vol. 4, \#4, October 1985, p. 291-303. A revision of
``Ray Tracing Generalized Sweep-Defined Objects.'' 84-36, Dept. of Mathematics
and Informatics, Delft U. of Tech., 1984.
\label{BRO85}
\mk
\bk
Bronsvoort, Willem F. Corrigendum to ``Ray Tracing Generalized
Cylinders.'' {\em ACM TOG}, Vol. 6, \#3, July 1987, p. 238-239.
\label{BRO87}
\mk
An algorithm is presented for ray tracing generalized cylinders, that is,
objects defined by sweeping a two-dimensional contour along a three-dimensional
trajectory. The contour can be any ``well-behaved'' curve in the sense that it
is continuous, and that the points where the tangent is horizontal or vertical
can be determined; the trajectory can be any spline curve. First a definition
is given of generalized cylinders in terms of the Frenet frame of the
trajectory. Then the main problem in ray tracing these objects, the
computation of the intersection points with a ray, is reduced to the problem of
intersecting two two-dimensional curves. This problem is solved by a subdivision
algorithm. The three-dimensional normal at the intersection point closest to
the eye point, necessary to perform the shading, is obtained by transforming
the two-dimensional normal at the corresponding intersection point of the two
two-dimensional curves. In this way it is possible to obtain highly realistic
images for a very broad class of objects.
\bk
van Dijk, C. G. C. {\em Ray Tracing Profiled Generalized Cylinders},
Masters Thesis, Delft University Press, Delft University of Technology, 1989.
\label{DIJ89}
\mk
Ray tracing is a popular method to generate realistic images of
three-dimensional objects. Objects displayed by means of ray tracing are often
constructed out of primitive objects such as blocks and cylinders, combined
with Constructive Solid Geometry operations. Profiled generalized cylinders
constitute another, very flexible class of primitive objects. An algorithm
for ray tracing profiled generalized cylinders already exists, but it is very
slow, and it is not compatible with CSG operations. To accelerate the ray
tracing of profiled generalized cylinders, two new algorithms and several
optimizations are implemented. Also a method is developed that allows the
application of the CSG operations to profiled generalized cylinders.
\bk
Bronsvoort, Willem F., Peter R. van Nieuwenhuizen, and Frits
H. Post. ``Display of Profiled Sweep Objects.'' {\em The Visual Computer},
Vol. 5, 1989, p. 147-157.
\label{BRO89}
\mk
A class of free-form solids called profiled sweep objects is defined by four
parametric curves: a 2D contour (cross-section), a 3D trajectory (spline), and
two profile curves, which control the scaling of the contour as it traves along
the trajectory. Subclasses of this are profiled prisms, which have a linear
trajectory, and profiled generalized cylinders, which have an arbitrary 3D
trajectory.
Details for ray tracing these two subclasses are presented. Example code and
images are also given.
\bk
Burger, Peter, and Duncan Gillies. ``Rapid Ray Tracing of General
Surfaces of Revolution.'' {\em New Advances in Computer Graphics, Proceedings
of CG International '89}, R. A. Earnshaw and B. Wyvill (eds.), p. 523-532.
\label{BUR89b}
\mk
Previous ray tracing of general surfaces of revolution involved the solution of
sixth order algebraic equations by iteration. When the spline curve which
generates the surface is expressed in the form: $r^{2} = Az^{3} + Bz^{2} +
Cz + D$, the resulting equations become cubic which can be solved directly.
Smooth surfaces can be generated by using any of the well known cubic spline
techniques. Further reduction of processing time can be achieved with a
hierarchical description of the objects and easily tested bounding volumes.
These techniques have been applied to scenes containing a general surface of
revolution for which multiple reflections and shadows can be calculated on a
personal computer.
\bk
Bidasaria, H. B. ``Ray Tracing Surfaces of Revolution Using a
Simplified Strip-Tree Method.'' {\em Proceedings of the 1990 ACM Eighteenth
Annual Computer Science Conference}, 1990, p. 427. Only abstract appears. *
\label{BID90}
\mk
In ray tracing a surface of revolution, the problem of finding the point of
intersection of an arbitrary ray with the surface of revolution can be reduced
to that of finding a point of intersection between two curves in a plane -- the
so called cut plane. In the cut plane, by using a local coordinate system
$(x' = x^{2}, z' = z^{2})$ instead of $(x, z)$ where $z$ is along the
direction parallel to the axis of the surface of revolution, and then further
translating the origin of the coordinate system along the $x'$ axis
(depending upon the ray), the curve(s) of intersection of the surface of
revolution with the cut plane are expressed exactly by the square radial curve
defining the surface of revolution itself. We need to find the point(s) of
intersection between this square radial curve of the surface of rotation by a
variation of the usual strip-tree such that the direction of the sides of the
rectangles corresponding to different nodes are parallel to the axes of the
local coordinate system, instead of being in arbitrary directions. The terminal
nodes in the strip-tree contain the segments of the square radial curve divided
approximately equally lengthwise. The method works efficiently for all cases
with a smooth radial curve or a piecewise smooth radial curve.
\bk
Bronsvoort, Willem F. {\em Direct Display Algorithms for Solid
Modelling}, Delft University Press, Delft University of Technology,
Ph.D. Dissertation, 1990.
\label{BRO90}
\mk
[no abstract, the following is taken from Summary]
In this thesis algorithms are discussed for displaying geometric models of
three-dimensional objects. An important use of such algorithms is in
CAD/CAM-systems to give the designer insight in the shape of the design.
Of particular concern here are direct display algorithms for constructive
solid geometry models and generalized cylinders. `Direct' in this context
means that a solid object is displayed without the need to convert its model
into a boundary representation providing the information about faces, edges
and vertices required by the standard display algorithms.
For constructive solid geometry models, the starting point is a collection of
primitive objects, such as cubes, spheres and cylinders, that can be combined
into more complex objects with set operations. The two alternatives for
displaying such models, namely conversion into a boundary representation
followed by display with a standard algorithm, and direct display with an
adapted algorithm, are weighed. An overview of direct display algorithms for
constructive solid geometry models is also given.
An efficient standard algorithm for display of models approximated with planar
faces is the scanline algorithm. This algorithm can be extended to a direct
display algorithm for constructive solid geometry models in a rather
straightforward way. A detailed description is given of such an algorithm.
Next, several methods are described to further increase the efficiency of such
scanline algorithms for constructive sold geometry models. First, a number of
techniques are discussed that reduce the extra time required for processing
constructive solid geometry models. Second, an algorithm for larger areas of
the screen per step than a scanline algorithm does; a version of this
algorithm for producing line drawings is also given. Third, local updating
of an image, in which only those parts are redisplayed that may have changed
since the previous display, is discussed. For all methods, results are given
in the form of images and computing times.
Generalized cylinders are objects defined by an arbitrary two-dimensional
contour, or cross-section, and an arbitrary three-dimensional trajectory along
which to sweep the contour. With profiled generalized cylinders, the contour
can be scaaed along the trajectory in two perpendicular directions according
to two profile curves. An exact definition of such objects is given. Here also
the alternative for display, namely conversion into a boundary representation
followed by display with a standard algorithm, and direct display with a
special algorithm, are compared.
Next, two direct display algorithms for generalized cylinders are described.
The first is a ray tracing algorithm with which high-quality images with
various optical effects can be produced, but that requires much more
computing time. The second is an algorithm that scans the surface of the
object in a way tht generates enough points to produce a smooth image without
gaps; this algorithm is simpler and much more efficient than the ray tracing
algorithm, but the image quality obtainable is lower.
Finally, some conclusions are drawn, and directions for further research on
direct display algorithms for solid models are identified.
\subsection{Explicit Representations}
\bk
Kajiya, James T. ``Ray Tracing Parametric Patches.'' {\em SIGGRAPH '82},
p. 245-254.
\label{KAJ82}
\mk
This paper describes an algorithm that uses ray tracing techniques to display
bivariate polynomial surface patches. A new intersection algorithm is developed
which uses ideas from algebraic geometry to obtain a numerical procedure for
finding the intersection of a ray and a patch without subdivision. The
algorithm may use complex coordinates for the ($u$,$v$)-parameters of the
patches. The choice of these coordinates makes the computations more uniform,
so that there are fewer special cases to be considered. In particular, the
appearance and disappearance of silhouette edges can be handled quite
naturally. The uniformity of these techniques may be suitable for
implementation on either a general purpose pipelined machine, or on special
purpose hardware.
\bk
Steinberg, Herbert A. ``A Smooth Surface Based on Biquadratic
Patches.'' {\em IEEE CG\&A}, September 1984, p. 20-23.
\label{STE84}
\mk
[No abstract. Introduction]
The Coons patch description is a widely used procedure for computer
representation of surfaces for graphics. To represent surfaces with normal
that are continuous, or have prescribed discontinuities, we usually specify the
surface by a bicubic polynomial in two variables. That is, the position vector
{\em $P$} is defined as a function of abstract variables $u$ and $v$ in a
patch, defined by $(0 \leq u, v \leq 1)$.
Although this approach is viable for netlike graphics representations, major
problems exist in hidden-line elimination and shaded-image rendering. The basic
algorithm used for the solution to this problem is known as ray tracing. It
determines the points of intersection of a line in space and the surfaces in
question. (The visible surface is given as that surface with the point of
intersection closest to the synthetic image plane or eyepoint.) When bicubic
patches are used, the determination of the point of intersection requires the
solution of a polynomial of a degree as high as 18--a very difficult numerical
problem.
This article describes an alternative approach to the problem that requires
only biquadratic patches. The key to this simplification is the introduction
of extra knots into the system. With the extra knots, the degree of the
ray-tracing polynomial is at most eight.
\bk
Toth, Daniel L. ``On Ray Tracing Parametric Surfaces.'' {\em SIGGRAPH '85},
p. 171-179.
\label{TOT85}
\mk
A new method for ray tracing parametric surfaces is presented. The new
algorithm solves the ray surface intersection directly using multivariate
Newton iteration. This provides enough generality to render surfaces which
could not be ray traced using existing methods. To overcome the problem of
finding a starting point for the Newton algorithm, techniques from Interval
Analysis are employed. The results are presented in terms of solving a general
nonlinear system of equations $f(x) = 0$, and thus can be extended to a large
class of problems which arise in computer graphics.
\bk
Barr, Alan H. ``Ray Tracing Deformed Surfaces.'' {\em SIGGRAPH '86},
p. 287-296.
\label{BAR86}
\mk
A collection of new methods for ray tracing differentiable surfaces is
developed. The methods are general, and extend the set of ``ray-traceable''
surfaces suitable for use in geometric modeling. We intersect a ray
\underline{$l$} = \underline{$a$}$t$ + \underline{$b$}, $t > 0$ with a
parametric surface \underline{$x$} = \underline{$f$}$(u,v)$, and with implicit
surfaces $f(x,y,z) = 0$. A smooth surface is treated as a deformation of a flat
sheet; the intersection problem is converted to a new coordinate system in
which the surfaces are flat, and the rays are bent. We develop methods for
providing good initial estimates of the parametric intersection values, and a
``closeness criterion,'' to reduce computation. These same criteria help
substitute a set of simpler surfaces for the more complex surface. The
parametric method produces the intersection values of $u, v,$ and $t$. These
are suitable for shading calculations and for mapping textures onto the
surface; they can also produce the local coordinate frame values, suitable for
anisotropic lighting models.
\bk
Joy, Kenneth I., and Murthy N. Bhetanabhotla. ``Ray Tracing Parametric Surface
Patches Utilizing Numerical Techniques and Ray Coherence.'' {\em SIGGRAPH '86},
p. 279-285.
\label{JOY86}
\mk
A new algorithm for ray tracing parametric surface patches is presented. The
method uses quasi-Newton iteration to solve the ray/surface intersection
and utilizes ray-to-ray coherence by using numerical information from
adjoining rays as initial approximations to the quasi-Newton algorithm.
Techniques based upon object space subdivisions are used to insure convergence
to the correct intersection point. Examples are given of the use of the
algorithm in scenes containing B\'{e}zier surface patches. Results show that
a significant number of ray/surface intersections on these parametric surface
patches can be found using very few iterations, giving a significant
computational savings.
\bk
Sweeney, Michael A. J., and Richard H. Bartels. ``Ray Tracing
Free-Form B-Spline Surfaces.'' {\em IEEE CG\&A}, February 1986, p. 41-49.
\label{SWE86}
\mk
We present a method for using ray tracing to render spline surfaces--one
that is suitable for any object generated from control vertices via
tensor-product B-splines. The method derives from Kajiya's work on ray tracing
procedurally defined surfaces and make use of two preprocessing steps. One
involves the control-vertex refinement recurrences due to Riesenfeld {\em et
al}.\ and the second generates a tree of nested bounding boxes. Intersection
testing involves running Kajiya's algorithm on the tree, followed by two or
three (on the average) iterations of Newton's method.
\bk
Levner, Geoff, Paolo Tassinari, and Daniele Marini. ``A Simple,
General Method for Ray Tracing Bicubic Surfaces.'' {\em Computer Graphics 1987
- Proceedings of CG International '87}, Tosiyasu L. Kunii (ed.),
Springer-Verlag, p.285-302. Also appears in {\em Theoretical Foundations of
Computer Graphics and CAD}, NATO ASI Series, Vol. F40, Springer-Verlag, 1988,
p. 805-820.
\label{LEV87}
\mk
A software package for creating and ray tracing bicubic surfaces is described.
The software supports Beta-splines as well as B\'{e}zier and Hermite surfaces.
We present a simple algorithm for calculating the intersection of a ray with a
surface, and an interactive modeler is also presented for creating bicubic
surfaces.
\bk
Peterson, John W. ``Ray Tracing Spline Surfaces with Motion Blur.''
Department of Computer Science, University of Utah, 1987.
\label{PET87}
\mk
An algorithm for ray tracing B-spline surfaces is described. It is based on
preprocessing the surface with adaptive subdivision to build a polygonal
representation of the surface, and hierarchical bounding volumes around the
polygons. This allows for very efficient ray surface intersections, and avoids
complex numerical methods. The algorithm is extended to allow for motion blur
without sacrificing efficiency. An adaptive anti-aliasing method is also
presented.
\bk
Yang, Chang-Gui. ``On Speeding Up Ray Tracing of B-Spline Surfaces.''
{\em CAD}, 1987, p. 122-130.
\label{YAN87}
\mk
This paper presents an algorithm that has been implemented to speed up the ray
tracing of B-spline surfaces. The method uses bounding-box trees instead of the
traditional bounding volumes, to effectively reduce the number of
time-consuming ray-surface intersection calculations. A bounding-box tree is
an octree obtained by recursively subdividing the bounding box of a B-spline
patch, with each non-empty leaf serving as a container of some points on the
patch. In the ray-surface inersection test, every tree is searched recursively
for intersection with a ray. If the ray hits a nonleaf box, the intersection
tests are made for the `children' of the box. If a ray hits a leaf box, the
intersection of the ray and the patch must be within the box or very close to
it, provided that the size of leaf boxes is not too large. The mean parameter
values of the points contained in the box provide good initial guesses for
the Newton iteration for the calculation of the parameter values of the
intersection point. The coordinates and the normal are then determined from
the parameter values to calculate the intensity at the point. The use of image
coherence, along with some other ways for further improving the speed of the
algorithm, are also discussed. The techniques introduced in this paper also
apply to other kinds of parametric surfaces.
\bk
Bouatouch, Kadi. ``Theoretical Developments on Polygonal Approximation of
Parametric Surfaces for Ray Tracing.'' {\em Computer Graphics Forum}, Vol. 7,
1988, p. 257-264.
\label{BOUA88b}
\mk
Some theoretical extensions are brought of Koparkar and Mudur's method which
deals with a polygonal approximation of parametric surfaces using potential
extrema. The proposed extensions allow the determination of both the
existence and the equation of a curve solution of potential extrema. Solutions
are given to solve the crack problem and to avoid the artifacts due to an
inexact ray-surface intersection point near the silhouette or on the higher
curvature regions. Moreover, two methods of ray tracing surfaces are proposed.
\bk
Giger, Christine. ``Ray Tracing Polynomial Tensor Product Surfaces.''
{\em Proceedings of Eurographics '89}, W. Hansmann, F. R. A. Hopgood and
W. Strasser (eds.), p. 125-136, 544.
\label{GIG89}
\mk
With regard to ray tracing algorithms for polynomial tensor product surfaces,
the most time-critical step is to find an intersection point of a ray and a
surface. In this case it proves to be very difficult to decide whether
numerical methods will converge to the correct solution. In this paper we
present a new method based on numerical algorithms which is suitable to solve
the intersection problem. We mention how to force correct convergence and give
some information about techniques to speed up the algorithm.
\bk
Griessmair, Josef, and Werner Purgathofer. ``Deformation of Solids with
Trivariate B-Splines.'' {\em Proceedings of Eurographics '89}, W. Hansmann,
F. R. A. Hopgood and W. Strasser (eds.), p. 137-148, 545.
\label{GRI89}
\mk
Solid geometric models can be deformed to free-form solids by the use of
trivariate B-Splines. This paper describes the problems of implementing such
transformations for shaped rendering.
The surfaces are subdivided into triangles adaptively so that the error in
image space is limited. This adaptive triangulation ensures a smooth
appearance of the resulting pictures.
\bk
Woodward, Charles. ``Ray Tracing Parametric Surfaces by Subdivision in Viewing
Plane.'' {\em Theory and Practice of Geometric Modeling}, Wolfgang
Stra\mbox{\ss}er and Hans-Peter Seidel (eds.), Springer-Verlag, 1989,
p. 273-287.
\label{WOO89}
\mk
This paper presents a new approach for ray tracing parametric surfaces. Instead
of performing the computations in object space, the intersection search is more
efficiently done in the ray's orthogonal viewing coordinate system. Speeding up
ray tracing composite surfaces with adaptive space subdivision is also
discussed.
\bk
Lischinski, Daniel, and Jokob Gohczarowski. ``Improved Techniques for Ray
Tracing Parametric Surfaces.'' {\em The Visual Computer}, Vol. 6, 1990,
p. 134-152.
\label{LIS90}
\mk
Several techniques for acceleration of ray tracing parametric surfaces
are presented. Some of these are entirely new to ray tracing, while others
are improvements of previously known techniques. First a uniform spatial
subdivision scheme is adapted to parametric surfaces. A new space- and
time-efficient algorithm for finding ray-surface intersections is introduced.
It combines numerical and subdivision techniques, thus allowing utilization of
ray coherence and greatly reducing the average ray-surface intersection time.
Non-scan-line sampling orders of the image plane are proposed that facilitate
utilization of coherence. Finally, a method to handle reflected, refracted, and
shadow rays in a more efficient manner is described. Results of timing tests
indicating the efficiency of these techniques for various environments are
presented.
\bk
Nishita, Tomoyuki, Thomas W. Sederberg, and Masanori Kakimoto. ``Ray
Tracing Trimmed Rational Surface Patches.'' {\em SIGGRAPH '90}, p. 337-345.
\label{NIS90}
This paper presents a new algorithm for computing the points at which a ray
intersects a rational B\'{e}zier surface patch, and also an algorithm for
determining if an intersection point lies within a region trimmed by piecewise
B\'{e}zier curves. Both algorithms are based on a recent innovation known as
B\'{e}zier clipping, described herein. The intersection algorithm is faster than
previous methods for which published performance data allow reliable
comparison. It robustly finds all intersections without requiring special
preprocessing.
\bk
Vlassopoulos, Vasilis. ``Adaptive Polygonization of Parametric Surfaces.'' {\em
The Visual Computer}, Vol. 6, 1990, p. 291-298.
\label{VLA90}
\mk
This paper describes an algorithm for dividing a $(u,v)$-parametric surface
into the least possible number of plane triangular elements that closely follow
the surface they approximate. The concept of closeness defined here is based on
a set of three subdivision criteria: unit-normal criterion, chord-distance
criterion, and edge-refinement criterion.
The triangles generated by the subdivision, together with the unit normals at
their vertices, serve as input to the ray-tracing program, which generates a
shaded image of the surface with photogrphic realism.
\bk
Webber, Robert E. ``Ray Tracing Voxel Data Via Biquadratic Local Surface
Interpolation.'' {\em The Visual Computer}, Vol. 6, 1990, p. 8-15.
\label{WEB90}
\mk
Various shaded hidden-surface display techniques have been used to render voxel
data. In this paper, an approach to using general ray tracing for the rendering
of voxel data is presented. Central to this approach is the interpolation of a
surface with respect to its neighbors. Nine columns (of three voxel volumes
each) provide sufficient constraints on the integral of a biquadratic function
over the column's base to solve its specific coefficients. The use of these
locally interpolated surfaces to define a scene to be ray traced is
investigated.
\bk
Woo, Andrew. ``Ray Tracing Polygons Using Spatial Subdivision.'' {\em Graphics
Interface '92}, p. 184-191.
\label{WOO92}
\mk
Ray tracing consumes a lot of computational resources to render images. This
expense usually lies in the ray-surface intersection tests. If the surfaces
were polygonal, then we should be able to apply more polygon-specific
optimizations to partially cull intersections. Our ray tracer uses a non-memory
intensive, voxel traversal intersection culler to assist in such optimizations.
\subsection{Procedurally Defined Objects}
\bk
Kajiya, James T. ``New Techniques for Ray Tracing Procedurally Defined
Objects.'' {\em ACM TOG}, Vol. 2, \#3, July 1983, p. 161-181. Also appears in
{\em Tutorial: Computer Graphics: Image Synthesis}, Kenneth I. Joy, Charles
W. Grant, Nelson L. Max, and Lansing Hatfield (eds.), Computer Society Press,
Washington, 1988, p. 168-188.
\label{KAJ83}
\mk
We present new algorithms for efficient ray tracing of three procedurally
defined objects: fractal surfaces, prisms, and surfaces of revolution. The
fractal surface algorithm performs recursive subdivision adaptively.
Subsurfaces which cannot intersect a given ray are culled from further
consideration. The prism algorithm transforms the three-dimensional ray-surface
intersection problem into a two-dimensional ray-curve intersection problem,
which is solved by the method of strip trees. The surface-of-revolution
algorithm transforms the three-dimensional ray-surface intersection problem
into a two-dimensional curve-curve intersection problem, which again is solved
by strip trees.
\bk
Bouville, Christian. ``Bounding Ellipsoids for Ray-Fractal Intersection.'' {\em
SIGGRAPH '85}, p. 45-52.
\label{BOU85a}
\mk
Recently published papers have shown that, with appropriate intersection
algorithms, the rendering of many procedural objects is possible with all the
advantages offered by the ray-tracing techniques. In the case of stochastic
surfaces, the intersection can be computed by a recursive subdivision
technique. The efficiency of this algorithm depends essentially on the
bounding volume whose size and shape are directly related to the stochastic
characteristics of these surfaces. After a brief review of the rendering of
stochastic surfaces and the bounding volume selection problem, two types of
bounding volumes are studies, describing how their intersection with a ray
can be computed and how their size can be derived from the stochastic
characteristics. The efficiency then, of these bounding volumes is compared.
\bk
Snyder, John M., and Alan H. Barr. ``Ray Tracing Complex Models Containing
Surface Tessellations.'' {\em SIGGRAPH '87}, p. 119-128.
\label{SNY87}
\mk
An approach to ray tracing complex models containing mathematically defined
surfaces is presented. Parametric and implicit surfaces, and boolean
combinations of these, are first tessellated into triangles. The resulting
triangles from many such surfaces are organized into a hierarchy of lists and
3D grids, allowing efficient calculation of ray/model intersections.
The technique has been used to ray trace models containing billions of
triangles and surfaces never before traced. The organizing scheme developed is
also independently useful for efficiently ray tracing any any complex model,
whether or not it contains surfaces tessellations.
\bk
Stepoway, Stephen L., and Michael Christiansen. ``Parallel Rendering of Fractal
Surfaces.'' {\em International Journal of Parallel Programming}, Vol. 17, \#1,
1988, p. 43-58.
\label{STE88}
\mk
Fractal surfaces are a useful modeling technique for terrain in computer
graphics. Although an algorithm exists for ray tracing (Mandelbrot) fractal
surfaces, the technique is computationally very expensive. The large degree of
parallelism inherent in the problem suggests the use of parallel architectures
for generating these images. A parallel rendering algorithm is described for
shared memory MIMD machines which takes advantage of image coherence to reduce
computation. This algorithm has, on a Sequent Balance 21000 with 20 processors,
demonstrated a near-linear speedup. The possible synchronization bottlenecks
are examined by statically assigning different numbers of CPUs to sections of
the screen.
\bk
Hart, John C., Daniel J. Sandin, and Louis H. Kauffman. ``Ray Tracing
Deterministic 3-D Factals.'' {\em SIGGRAPH '89}, p. 289-296.
\label{HAR89}
\mk
As shown in 1982, Julia sets of quadratic functions as well as many other
deterministic fractals exist in spaces of higher dimensionality than the
complex plane. Originally a boundary-tracking algorithm was used to view these
structures but required a large amount of storage space to operate. By ray
tracing these objects, the storage facilities of a graphics workstation frame
buffer are sufficient. A short discussion of a specific set of 3-D
deterministic fractals precedes a full description of a ray-tracing algorithm
applied to these objects. A comparision with the boundary-tracing method and
applications to other 3-D deterministic fractals are also included.
\bk
Hart, John C., and Thomas A. DeFanti. ``Efficient Antialiased Rendering of 3-D
Linear Fractals.'' {\em SIGGRAPH '91}, p. 91-100.
\label{HAR91}
\mk
Object instancing is the efficient method of representing a hierachical object
with a directed graph instread of a tree. If this graph contains a cycle then
the object it represents is a linear fractal. Linear fractals are difficult to
render for three specific reasons: (1) ray-fractal intersection is not trivial,
(2) surface normals are undefined, and (3) the object aliases at all sampling
resolutions.
Ray-fractal intersections are efficiently approximated to sub-pixel accuracy
using procedural bounding volumes and a careful determination of the size of a
pixel, giving the perception that the surface is infinitely detailed.
Furthermore, a surface normal for these non-differentiable surfaces is defined
and analyzed. Finally, the concept of antialiasing ``covers'' is adapted and
used to solve the problem of sampling fractal surfaces.
An initial bounding volume estimation method is also described, allowing a
linear fractal to be rendered given only its iterated function system. A
parallel implementation of these methods is described and applications of these
results to the rendering of other fractal models are given.
\subsection{Implicit Representations}
\bk
Hanrahan, Pat. ``Ray Tracing Algebraic Surfaces.'' {\em SIGGRAPH '83},
p. 83-90.
\label{HAN83}
\mk
Many interesting surfaces can be written as polynomial functions of the spatial
coordinates, often of low degree. We present a method based on a ray casting
algorithm, extended to work in more than three dimensions, to produce pictures
of these surfaces. The method uses a symbolic algebra system to automatically
derive the equation of intersection between the ray and the surface and then
solves this equation using an exact polynomial root finding algorithm.
Included are illustrations of the cusp catastrophe surface, and two unusually
shaped quartic surfaces, Kummer's quadruple and Steiner's surface.
\bk
Sederberg, Thomas W., and David C. Anderson. ``Ray Tracing of Steiner
Patches.'' {\em SIGGRAPH '84}, p. 159-164.
\label{SED84}
\mk
Steiner patches are triangular surface patches for which the Cartesian
coordinates of points on the patch are defined parametrically by quadratic
polynomial functions of two variables. It has recently been shown that it is
possible to express a Steiner patch in an implicit equation which is a degree
four polynomial in $x, y, z$. Furthermore,the parameters of a point known to
be on the surface can be computed as rational polynomial functions of $x, y,
z$. These findings lead to a straightforward algorithm for ray tracing Steiner
patches in which the ray intersection equation is a degree four polynomial in
the parameter of the ray. The algorithm presented represents a major
simplification over existing techniques for ray tracing free-form surface
patches.
\bk
Holmstr\"{o}m, Lasse, Timo Laakko, Martti M\"{a}ntyl\"{a}, and Panu
Rekola. ``Ray Tracing Boundary Models with Implicit Blend Surfaces.'' {\em
Theory and Practice of Geometric Modeling}, Wolfgang Stra\mbox{\ss}er and
Hans-Peter Seidel (eds.), Springer-Verlag, 1989, p. 253-271.
\label{HOL89}
\mk
We present a method for producing ray traced images of boundary representation
solid models where the faces of the solids are subsets of implicitly defined
algebraic surfaces. Specifically, we consider surfaces which are either natural
tori, or implicit blend surfaces. A point lying on such a surface is classified
as inside or outside a face on the surface either by parameterizing the face
(faces lying on natural quadrics or tori) and transforming the problem to the
parameter plane, or by using set theoretic (CSG) information associated with
the face (blend faces).
\bk
Kalra, Devendra, and Alan H. Barr. ``Guaranteed Ray Intersections with
Implicit Surfaces.'' {\em SIGGRAPH '89}, p. 297-306.
\label{KAL89}
\mk
In this paper, we present a robust and mathematically sound ray-intersection
algorithm for implicit surfaces. The algorithm is guaranteed to numerically
find the nearest intersection of the surface with a ray, and is guaranteed not
to miss fine features of the surface. It does not require fine tuning or human
choice of interactive parameters. Instead, it requires two upper bounds: ``L''
that limits the net rate of change of the implicit surface function $f(x,y,z)$
and ``G'' that limits the rate of change of the gradient. An implicit surface
with these rate limits is referred to as an ``LG-implicit surface.''
Existing schemes to intersect a ray with an implicit surface have typically
been guaranteed to work only for a limited set of implicit functions, such as
quadric surfaces or polynomials, or else have been ad-hoc and have not been
guaranteed to work. Our technique significanty extends the ability to
intersect rays with implicit surfaces in a guaranteed fashion.
\bk
Cychosz, Joseph M. ``Intersecting a Ray with an Elliptical Torus.''
Purdue CADLAB Technical Report No. JC-07, Purdue University CADLAB, October 29,
1990.
\label{CYC90}
\mk
Presented in this paper is the mathematics and computations required for
determining the points of intersection between a ray and a torus. Also
presented is an efficient bounding method for tori.
\bk
Wyvill, Geoff, and Andrew Trotman. ``Ray-Tracing Soft Objects.'' {\em
Proceedings of CG International '90}, p. 467-476.
\label{WYV90}
\mk
Soft objects, also known as metaballs or implicit surfaces, are deformable
free-form shapes represented as a surface of constant value in a scalar field.
We present a simple, robust method for ray tracing soft objects defined by
polynomial field functions. The method is guaranteed to find all intersections
of a ray with a soft object. Thus it is suitable for use in CSG systems where
all intersections may be required.
\bk
Biard, Luc. ``Parametric Surfaces and Ray Tracing.'' {\em Photorealism in
Computer Graphics}, K. Bouatouch, and C. Bouville (eds.), Springer-Verlag,
1992, p. 33-53.
\label{BIA92}
\mk
A new method for ray tracing polynomial and rational parametric surfaces is
presented. The algorithm we describe is based on algebraic tools
(implicitization and inversion) and does not proceed by a previous
approximation of the surface. Each surface can be associated with numerical
matrices in such a way that operations to be done on surfaces can be
translated into operations on the corresponding matrices and treated by
numerical matrix techniques. These matrices are an implicit version of a given
parametric surface and contain all algebraic and topological informations about
it.
\subsection{Special Purpose Hardware}
\bk
Pulleyblank, Ron, and John Kapenga. ``The Feasibility of a VLSI Chip
for Ray Tracing Bicubic Patches.'' {\em IEEE CG\&A}, March 1987, p. 33-44. Also
appears in {\em Tutorial: Computer Graphics Hardware: Image Generation and
Display}, Hassan K. Reghbati and Anson Y. C. Lee (eds.), Computer Society
Press, Washington, 1988, p. 328-339. Also appears as ``A VLSI Chip for Ray
Tracing Bicubic Patches'' in {\em Advances in Computer Graphics Hardware I},
W. Stra\mbox{\ss}er (ed.), 1987, p. 125-140.
\label{PUL87}
\mk
In this article we explore the possibility of a VLSI chip for ray tracing
bicubic patches in B\'{e}zier form. The purpose of the chip is to calculate the
intersection point of a ray with the bicubic patch to a specified level of
accuracy, returning parameter values $(u,v)$ specifing the location of the
intersection on the patch, and a parameter value, $t$, which specifies the
location of the intersection on the ray. The intersection is calculated by
successively subdividing the patch and computing the intersection of the ray
with a bounding box of each subpatch until the bounding volume meets the
accuracy requirement. There are two operating modes: one in which only the
nearest intersection is found, and another in which all intersections are
found. This algorithm (and the chip) correctly handle the difficult cases of
the ray tangentially intersecting a planar patch and intersections of the ray
at a silhouette edge of the patch. Estimates indicate that such a chip could
be implemented with 2-micron NMOS (N-type metal oxide semiconductor) and could
compute patch-ray intersections at the rate of one every 15 microseconds for
patches that are prescaled and specified to a 12-bit fixed point for each of
the $x, y$, and $z$ components. A version capable of handling 24-bit patches
could compute patch-ray intersections at the rate of one every 140
microseconds. Calculations of the normal at the intersection point could be
performed with the addition of Re scalar subtractions and six scalar
multiplies. Images drawn using a software version of the algorithm are
presented and discussed.
\bk
Schneider, Bengt-Olaf. ``Ray Tracing Rational B-Spline Patches in
VLSI.'' {\em Advances in Computer Graphics Hardware II}, A. A. M. Kuijk and
W. Stra\mbox{\ss}er (eds.), 1988, p. 45-63.
\label{SCHN88}
\mk
Rational B-spline surfaces make it possible to merge the concepts of freeform
surfaces described by rational polynomials especially conic sections. For ray
tracing it is crucial to determine the intersection between ray and object.
Therefore an algorithm is developed that is suitable for a VLSI
implementation. Some alternatives for the implementation of this algorithm are
presented and discussed. The paper concludes with a discussion of some
problems and possible further developments.
\bk
Bouatouch, Kadi, Yannick Saouter, and Jean Charles Candela. ``A VLSI
Chip for Ray Tracing Bicubic Patches.'' {\em Proceedings of Eurographics '89},
W. Hansmann, F. R. A. Hopgood and W. Strasser (eds.), p. 107-124.
\label{BOU89}
\mk
This paper deals with the integration of a VLSI chip dedicated to ray tracing
bicubic patches. A recursive subdivision algorithm is embedded in this chip.
The recursion stops when the termination conditions are met. A software
implementation allowed for the determination of key parameters which
influenced the choice of the proposed chip's architecture. Only some modules
of the chip are, at the present time, simulated and laid out, the rest is
being implemented. A detailed description of the chip's modules is given.
\subsection{Natural Phenomena}
\bk
Max, Nelson L. ``Vectorized Procedural Models for Natural Terrain:
Waves and Islands in the Sunset.'' {\em SIGGRAPH '81}, p. 317-324.
\label{MAX81}
\mk
A ray-tracing procedural model is described, in which ocean waves and islands
are rendered by different but related algorithms. The algorithms are based on
analytic formulas involving arithmetic operations, trigonometric functions, and
square roots, and are organized for a vectorizing compiler on a Cray 1, a
``supercomputer'' with a vector pipeline architecture. Height field methods are
used, one vertical scan line at a time, to trace the direct rays to the ocean,
where they are reflected. Approximate methods are then applied to find whether
the reflected rays meet any other objects on their way to the sky. The output,
at eight bits per pixel, gives information for shading, e.g.\ the angle of the
surface normal for rays meeting the islands, or the angle of elevation from the
horizon for rays continuing unobstructed to the sky.
The output is recorded on a magnetic tape for each frame in one cycle of the
wave motion, and plotted offline on a Dicomed D-48 color film recorder. The
eight bits per pixel are interpreted by a color translation table, which is
gradually changed as the wave cycle is repeated to simulate the changing
illumination during sunset.
\bk
Kajiya, James T., and Brian P. Von Herzen. ``Ray Tracing Volume
Densities.'' {\em SIGGRAPH '84}, p. 165-174.
\label{KAJ84}
\mk
This paper presents new algorithms to trace objects represented by densities
within a volume grid, e.g.\ clouds, fog, flames, dust, particle systems. We
develop light scattering equations, discuss previous methods of solution, and
present a new approximate solution to the full three-dimensional radiative
scattering problem which is suitable for use in computer graphics.
Additionally, we review dynamical models for clouds used to make an animated
movie.
\bk
Wyvill, Geoff, Andrew Pearce, and Brian Wyvill. ``The Representation of
Water.'' {\em Proceedings of Graphics Interface '86/Vision Interface '86},
p. 217-222.
\label{WYV86b}
\mk
Water is the commonest of everyday substances and its many forms have provided
subjects for artists for as long as art has existed. But in computer graphics,
there seem to have been few attempts to make pictures of water. The reason for
this is simple. Realistic pictures of water are very hard to produce. Some of
the reasons for this difficulty are examined and some experiments are
reported.
\bk
Kirk, David B. ``The Simulation of Natural Features Using Cone
Tracing.'' {\em The Visual Computer}, Vol. 3, 1987, p. 63-71. A revision of
same paper in {\em Advanced Computer Graphics, Proceedings of Computer Graphics
Tokyo '86}, Tosiyasu L. Kunii (ed.), Springer-Verlag, p. 129-144.
\label{KIR87}
\mk
The method of ray tracing with cones is used to area sample objects for
properly filtered rendering. Methods for generating antialiased reflections
and refractions distorted by normal vector perturbation (bump-mapping) are
developed to simulate the appearance of rippled water surfaces. The sampling
aperture of the cones is distorted to antialias the reflections and
refractions properly. A calculated texture function is used as a diffusion map
for transparent surfaces to simulate the visual effect of diffuse,
soft-shadowed cloud layers.
\bk
Inakage, Masa. ``An Illumination Model for Atmospheric Environments.''
{\em New Advances in Computer Graphics, Proceedings of CG International '89},
R. A. Earnshaw and B. Wyvill (eds.), p. 533-548.
\label{INA89}
\mk
Current three dimensional computer graphics assumes a vacuum space. The
inclusion of atmosphere is essential for the modeling and rendering of natural
phenomena. This paper presents an illumination model in the presence of
atmosphere. The model is built within a framework called the atmospheric
cube. The atmospheric cube, or the A-cube, is a finite volume that encloses
the three dimensional scene to be modeled. The atmosphere is defined by
particles of varying radii that are distributed over the cube. The distribution
of particles determines the density of atmosphere. The interaction of light
with the atmosphere is divided into four cases to capture the characteristics
of the atmospheric illumination by particles of different radii: absorption,
Rayleigh scattering, Mie scattering, and geometric optics. The atmospheric
equation is a combination of modeling techniques which cover the four cases. To
render the interaction of light with the atmosphere, discrete points in the
A-cube are volume sampled. Examples of blue sky, sunset, hazy sky, shaft of
light beam, and rainbow are given.
\bk
Musgrave, F. Kenton, Craig E. Kolb, and Robert S. Mace. ``The Synthesis and
Rendering of Eroded Fractal Terrains.'' {\em SIGGRAPH '89}, p. 41-50.
\label{MUS89b}
\mk
In standard fractal terrain models based on fractional Brownian motion the
statistical character of the surface is, by design, the same everywhere. A new
approach to the synthesis of fractal terrain height fields is presented which,
in contrast to previous techniques, features locally independent control of
the frequencies composing the surface, and thus local control of fractal
dimension and other statistical characteristics. The new technique, termed
{\em noise synthesis}, is intermediate in difficulty of implementation, between
simple stochastic subdivision and Fourier filtering or generalized stochastic
subdivision, and does not suffer the drawbacks of creases or periodicity.
Varying the local crossover scale of fractal character or the fractal
dimension with altitude or other functions yields more realistic first
approximations to eroded landscapes. A simple physical erosion model is then
suggested which simulates hydraulic and thermal erosion processes to create
global stream/valley networks and talus slopes. Finally, an efficient ray
tracing algorithm for general height fields, of which most fractal terrains
are a subset, is presented.
\bk
Perlin, Ken, and Eric M. Hoffert. ``Hypertexture.'' {\em SIGGRAPH
'89}, p. 253-262.
\label{PER89}
\mk
We model phenomena intermediate between shape and texture by using
space-filling applicative functions to modulate density. The model is
essentially an extension of procedural solid texture synthesis, but evaluated
throughout a volumetric region instead of only at surfaces.
We have been able to obtain visually realistic representations of such
shape+texture ({\em hypertexture}) phenomena as hair, fur, fire, glass, fluid
flow and erosion effects. We show how this is done, first by describing a set
of base level functions to provide basic texture and control capabilities, then
by combining these to synthesize various phenomena.
Hypertexture exists within an intermediate region between object and
non-object. We introduce a notion of {\em generalized boolean shape operators}
to combine shapes having such a region.
Rendering is accomplished by {\em ray marching} from the eye point through the
volume to accumulate opacity along each ray. We have implemented our
hypertexture rendering algorithms on a traditional serial computer, a
distributed network of computers and a coarse-grain MIMD computer. Extensions
to the rendering technique incorporating refraction and reflection effects are
discussed.
\bk
Berger, Marc, Terry Trout, and Nancy Levit. ``Ray Tracing Mirages.''
{\em IEEE CG\&A}, May 1990, p. 36-41.
\label{BER90}
\mk
Ray tracing has been used extensively to produce realistic images. Traditional
algorithms simulate various optical phenomena, including reflections,
refractions, and shadows. With all of these the direction of the ray changes
only when it intersects an object. Atmospheric variations, however, can cause
light rays to bend, thereby changing their direction at any time. Mirages are
just one possible visual effect of these bent rays. We generate mirages by
sending rays through an object with multiple air layers having different
refractive indices. As a ray enters this virtual object, it strikes several
air layers and causes repeated bending of the ray, which results in the mirage
effect.
\bk
Musgrave, F. Kenton. ``A Note on Ray Tracing Mirages.'' {\em IEEE
CG\&A}, November 1990, p. 10-12.
\label{MUS90}
[No abstract. This note describes a problem in the paper by Berger {\em et
al}.\ and points out a correction in handling total internal reflection.]
\bk
Watt, Mark. ``Light-Water Interaction Using Backward Beam Tracing.''
{\em SIGGRAPH '90}, p. 377-385.
\label{WAT90}
\mk
A new two pass approach is presented based on a variation of backward ray
tracing - backward beam tracing. Advantages include its capability of
rendering complex, hitherto unattainable, specular to diffuse phenomenon and
its easy insertion into standard renderers. The algorithm is applied to
aspects of the interaction of light with water. Within this context a variety
of first generation effects, including shadowing and light scattering, are
both rendered and animated. Results taken from the treatment of caustics
within classical optics are included as they provide valuable insights into
the precise nature of specular to diffuse transfer.
\bk
Dias, Maria Lurdes. ``Ray Tracing Interference Color.'' {\em IEEE
CG\&A}, March 1991, p. 54-60.
\label{DIA91}
\mk
[No abstract. Taken from Introduction]
The interaction of light with thin films causes some of the most beautiful
color effects in nature. The multiple reflections of light between two surfaces
of a thin film of transparent material produce a color effect called
interference color. The lovely colors of a soap bubble, oil on water or on a
wet road, thin glass bulbs, cracks in a piece of glass, butterfly and
dragonfly wings, mother of pearl, and peacock's tails offer examples of this
phenomenon in nature.
Because interference color is produced in transparent materials and is view
dependent, ray tracing seems like the best approach to simulate it. I set out
to recreate this phenomenon with a ray-tracing model that takes into account
any kind of film layer in any medium. My method is a generalization of
well-known reflectance models, such as the Cook-Torrance, and Hall and
Greenberg models.
\bk
Sabella, Paolo. ``A Rendering Algorithm for Visualizing 3D Scalar
Field.'' {\em Volume Visualization}, IEEE Computer Society Press Tutorial,
1991, p. 160-167. Also appears in {\em SIGGRAPH '88}, p. 51-58.
\label{SAB91}
\mk
This paper presents a ray tracing algorithm for rendering 3D scalar fields. An
illumination model is developed in which the field is characterized as a
varying density emitter with a single level of scattering. This model is
equivalent to a particle system in which the particles are sufficiently small.
Along each ray cast from the eye, the field is expressed as a function of the
ray parameter. The algorithm computes properties of the field along the ray
such as the attenuated intensity, the peak density, and the center of gravity,
etc. These are mapped into HSV color space to produce an image for
visualization.
Images are produced in this manner are perceived as a varying density 'cloud'
where color highlights the computed attributes. The application of this
technique is demonstrated for visualizing a three dimensional seismic data set.
\bk
Paglieroni, David W., and Sidney M. Petersen. ``Parametric Height Field Ray
Tracing.'' {\em Graphics Interface '92}, p. 192-200.
\label{PAG92}
Height field ray tracing is one approach to photorealistic visualization of
terrain. {\em Parametric methods}, which fall into a new class of height fields
ray trace methods, are introduced. The height field is horizontally sliced into
evenly spaced cross-sections. For each cross-section, the Euclidean distance
from each point to the nearest point where the slice cuts through terrain is
computed off-line. These planes of distance values are condensed into
{\em parameter planes} that encode cones of empty space above each height field
cell, where cone width is bounded by the terrain relief. Parametric ray tracing
occurs along intersections betwen rays and these cones. Parametric methods are
shown to be memory efficient and often much faster than the other popular
height field ray trace methods.
\subsection{Other Phenomena}
\bk
Cook, Robert L., Thomas Porter, and Loren Carpenter. ``Distributed
Ray Tracing.'' {\em SIGGRAPH '84}, p. 137-145. Also appears in {\em Tutorial:
Computer Graphics: Image Synthesis}, Kenneth I. Joy, Charles W. Grant, Nelson
L. Max, and Lansing Hatfield (eds.), Computer Society Press, Washington, 1988,
p. 139-147.
\label{COO84}
\mk
Ray tracing is one of the most elegant techniques in computer graphics. Many
phenomena that are difficult or impossible with other techniques are simple
with ray tracing, including shadows, reflections, and refracted light. Ray
directions, however, have been determined precisely, and this has limited the
capabilities of ray tracing. By distributing the directions of the rays
according to the analytic function they sample, ray tracing can incorporate
fuzzy phenomena. This provides correct and easy solutions to some previously
unsolved or partially solved problems, including motion blur, depth of field,
penumbras, translucency, and fuzzy reflections. Motion blur and depth of field
calculations can be integrated with the visible surface calculations, avoiding
the problems found in previous methods.
\bk
Inakage, Masa. ``Caustics and Specular Reflection Models for Spherical
Objects and Lenses.'' {\em The Visual Computer}, Vol. 2, 1986, p. 379-383.
\label{INA86}
\mk
Ray tracing is a most powerful and elegant rendering technique and is able
to render shadows, reflections, and refractions very nicely. However,
reflections and refractions in ray tracing simulate the reflected and refracted
``eye'' ray and not the ``light'' ray. Standard ray tracing techniques
therefore suffer from a lack of specular interreflection and caustics. This
paper proposes an algorithm to render reflected and refracted ``light'' rays
for spherical objects and lenses. Indirect illumination is a result of the
reflection of light rays. Reflected light may be considered an additional light
source; if it is included in the intensity calculation, indirect illumination
can be rendered. The refracted light is noticeable as a focal point for a
convex lens. The dispersed light has low intensity which may be insignificant
for the illumination calculations. In the case of a convex lens, light rays
become extremely directional and light energy increases. The result appears as
caustics. The proposed algorithm is limited to a collimated light ray and does
not account for the case of dispersed light.
\bk
Thomas, Spencer W. ``Dispersive Refraction in Ray Tracing.'' {\em The
Visual Computer}, Vol. 2, 1986, p. 3-8.
\label{THO86}
\mk
Dispersive refraction is the property that gives gemstones their fire, and
that makes prisms produce a spectrum from white light. Modeling dispersion is
a ray tracing environment requires solution of some new problems, but allows
production of more exciting images. The mechanism of dispersive refraction is
discussed, and its implementation is described. Pictures of a prism and of
several diamonds are included. Images generated by this technique are
realistic, but are computationally expensive.
\bk
Yokoi, Shigeki, Kosuke Kurashige, and Jun-ichiro Toriwaki. ``Rendering
Gems with Asterism or Chatoyancy.'' {\em The Visual Computer}, Vol. 2, 1986,
p. 307-312.
\label{YOK86}
\mk
In this paper we describe an algorithm to render the asterism and chatoyancy
effect in gems. This effect is due to light dispersion caused by inclusions
consisting of vast numbers of thin fibrous needles. We develop models for
distribution of the microfacet directions of the inclusions and of the light
dispersion by them. Based on these models, we derive an algorithms to render
gems with the asterism effect. By introducing a ray distribution map, a new
algorithm for tracing dispersed light rays is developed.
\bk
Heckbert, Paul S. ``Ray Tracing Jell-O Brand Gelatin.'' {\em CACM},
Vol. 31, \#2, February 1988, p. 130-134. A revision of same paper in {\em
SIGGRAPH '87}, p. 73-74.
\label{HEC88}
\mk
[No abstract. Introduction]
Ray tracing has established itself in recent years as the most general
image-synthesis algorithm. Researchers have investigated ray-surface
intersection calculations for a number of surface primitives. These have
included checkboards [Whitted 80], chrome balls [Whitted 80], glass balls
[Whitted 80], robot arms [Barr 82], blue abstract things [Hanrahan 82],
more glass balls [Watterberg 83], mandrills [Watterberg 83], more mandrills
[Sweeney 83], green fractal hills [Kajiya 83], more glass balls [SEDIC 83],
aquatic blobby things [Kaw 83], more chrome balls [Heckbert 83], pool balls
[Porter 84], and more glass balls [Kajiya 86].
Unfortunately, {\em nobody} has ray traced any food. So far, the most realistic
foods were Blinn's classic orange and strawberry images, but these were created
with a scan-line algorithm. The {\em Dessert Realism Project} at Pixar is
addressing this problem. This article presents new technology for ray tracing
a restricted class of dessert foods, in particular Jell-O-brand gelatin. We
believe this method may have application to other brands of gelatin and,
perhaps, pudding as well.
This article is divided into three parts: methods for modeling static Jell-O,
simulation of Jell-O motion using impressive mathematics, and ray-Jell-O
intersection calculations.
\bk
Iizuka, Masa. ``Ray-Traced View and Visual Transparent Quality of
Double Transparent Objects.'' {\em New Trends in Computer Graphics,wProceedings
of CG International '88}, Nadia Magnenat-Thalmann and Daniel Thalmann (eds.),
Springer-Verlag, p. 189-198.
\label{IIZ88}
\mk
A constructive solid geometry for simulation models is composed of fundamental
primitives in a ray tracing algorithm. Only a ray of light from two components
of specular reflection and refraction is simply traced backwards according to
the value of depth level and threshold of energy attenuation. Ray traced images
of a main transparent object enclosed with another transparent object are
displayed on a color CRT. Complex color rendering view of double transparent
objects is discussed from a viewpoint of the color shift and visual transparent
quality of computer-generated images.
\bk
Inakage, Masa. ``Particals: An Artistic Approach to Fuzzy Objects.''
{\em New Trends in Computer Graphics, Proceedings of CG International '88},
Nadia Magnenat-Thalmann and Daniel Thalmann (eds.), Springer-Verlag,
p. 126-134.
\label{INA88}
\mk
An artistic approach for modeling fuzzy objects called Particals is presented.
The method unifies the modeling and rendering process. Particals treat fuzzy
objects as a cluster of miniscule particles. The distribution of particles is
defined by a stochastic function. Particles are generated during the rendering
process by referencing the stochastic function. Ray tracing is used for
rendering so that intersection, reflection, refraction, and shadow calculations
can be incorporated. The algorithm is efficient and it produces impressionistic
images with very intricated textures. However, it suffers from the stobing
effect in animation sequences because the method does not maintain frame to
frame coherence. The particles appear to be equal in size because the size is
fixed to the size of the pixel on the image screen.
\bk
Musgrave, F. Kenton, Lewis Hitchner, James Murphy. ``A Realistic Model
of Refraction for Computer Graphics.'' {\em Proceedings of Modelling and
Simulation on Microcomputers}, 1988, p. 37-43.
\label{MUS88a}
\mk
A model which takes into account the relationsip of the frequency of light
to the index of refraction in transparent media, is developed as an extension
of the distributed ray tracing model. A model of atmospheric rainbows is
presented. The problem of representing an approximation of the spectrum of
monchromatic colors on a color graphics monitor is discussed, within the
context of modelling dispersion.
\bk
Musgrave, F. Kenton. ``Grid Tracing: Fast Ray Tracing for Height
Fields.'' Research Report YALEU-DCS-RR-639, Yale University, July 1988.
\label{MUS88b}
A fast algorithm for ray tracing height fields is presented. The algorithm
employs a modified Bresenham DDA to traverse a two dimensional array of height
values. At each cell the altitude of the ray is compared with the heights of
the four corners of the cell; ray/object intersections need only be calculated
when the altitude of the ray is in the range of those heights. The average
number of ray/object intersections performed is about two per ray; the two
objects tested for intersection are located in $O(\sqrt{N-1})$ time where $N$
is the number of height values in the field.
\bk
Yokoi, Shigeki, and Jun-ichiro Toriwaki. ``Realistic Expressions
of Solids with Feeling of Material.'' {\em Computer Science \& Technologies:
Japan Annual Reviews in Electronics, Computers \& Telecommunications}, Vol. 18,
1988, p. 273-288.
\label{YOK88}
\mk
This article presents a survey of research in Japan on shading techniques,
which are important for producing realistic images of 3D objects with material
feelings. The major contributions of Japanese researchers to this problem are
as follows:
(1) Anisotropic reflectance model: All the former models assumed that the
intensity of reflected light is distributed isotropically around the specular
direction. Two groups developed anisotropic reflectance models.
(2) Improved ray tracing algorithm: The ray tracing algorithm developed by
T. Whitted is a powerful tool for rendering transparent objects, but it
sometimes produces unnatural images. We improve this algorithm by employing
variable reflection and transmittance coefficients based on the Fresnel
reflection law. We also attempted to render jewels by applying this model.
\bk
Yuan, Ying, Tosiyasu L. Kunii, Naota Inamoto, and Lining Sun.
``GemstoneFire: Adaptive Dispersive Ray Tracing of Polyhedrons.'' {\em The
Visual Computer}, Vol. 4, 1988, p. 259-270.
\label{YUA88}
\mk
Synthesizing realistic images of gemstones requires techniques beyond the scope
of normal ray tracing. The `fire' of such highly refractive objects is what
makes gemstones attractive, and also imposes very high computational overhead
to perform time consuming dispersive ray tracing. Gemstones are usually cut in
polyhedrons as for example, a brilliant cut. After detailed analysis of the
nature of dispersive ray tracing of polyhedral objects, a new method of using
three simple rays adaptively is proposed to model the ray spreading caused by
dispersive refraction. It is shown that the proposed method reduces the
computational complexity to an order close to that of normal ray tracing.
\bk
Musgrave, F. Kenton. ``Prisms and Rainbows: a Dispersion Model for
Computer Graphics.'' {\em Proceedings of Graphics Interface '89 - Vision
Interface '89}, p. 227-234.
\label{MUS89a}
\mk
{\em Dispersion} is the spreading of refracted light into its component colors
or spectrum. A model of refraction including dispersion is developed using the
techniques of distributed ray tracing. Two models of the rainbow, one empirical
or impressionistic, the other purely physical, are developed using the results
of the dispersion model. The problem of representing the spectrum of
monochromatic colors using the rgb primaries of the graphics color monitor is
addressed.
\bk
Takagi, Atsushi, Hitoshi Takaoko, Tetsuya Oshima, and Yoshinori Ogata.
``Accurate Rendering Techique Based on Colorimetric Conception.'' {\em SIGGRAPH
'90}, p. 263-272.
\label{TAK90}
\mk
We have developed a rendering technique to generate realistic images meeting
designers' requirements by strictly analyzing various physical phenomena
relevant to the appearance of actual objects.
We have numerically compared the results of the calculations using this
technique with colorimetry values. As a result, both values were virtually
equal, so we have been able to confirm the effectiveness of the established
technique.
Applications of this technique to car design, which has not been realized
to a large extent because of severe requests for realism, will make it possible
to evaluate styles and colors on a graphics display before making a clay model.
\bk
Muraki, Shigeru. ``Volumetric Shape Description of Range Data Using `Blobby
Model'.'' {\em SIGGRAPH '91}, p. 227-235.
\label{MUR91}
\mk
Recently in the field of computer vision, there have been many attempts to
obtain a symbolic shape description of an object by fitting simple primitives
to the range data of the object. In this paper, we introduce the {\em ``Blobby
Model''} for automatically generating a shape description from range data.
This model can express a 3D surface as an isosurface of a scalar field which
is produced by a number of field generating primitives. The fields from many
primitives are blended with each other and can form a very complicated shape.
To determine the number and distribution of primitives required to adequately
represent a complex 3D surface, an energy function is minimized which measures
the shape difference between the range data and the {\em ``Blobby Model''}. We
start with a single primitive and introduce more primitives by splitting each
primitive into two further primitives so as to reduce the energy value. In this
manner, the shape of the 3D object is slowly recovered as the isosurface
produced by many primitives. We have successfully applied this method to human
face range data and typical results are shown. The method herein does not
require any prior range segmentation.
\subsection{Volume Data}
\bk
Trousset, Yves, and Francis Schmitt. ``Active-Ray Tracing for 3D Medical
Imaging.'' {\em Proceedings of Eurographics '87}, Guy Mar\'{e}chal (ed.),
p. 139-150.
\label{TRO87}
\mk
Large quantities of three-dimensional (3D) information are produced by 3D
medical imaging techniques such as CT and MRI, in the form of digital volumes
(DV). We propose a new approach to help a human observer to visualize these
volumes. This approach is based on the idea that, in order to achieve true
user-interaction, segmentation and visualization should not be treated
separately. This is achieved by introducing active ray tracing, a method
inspired by ray tracing but working directly on unsegmented digital volumes.
Segmentation takes place as the active rays penetrate through the volume.
\bk
Garrity, Michael P. "Raytracing Irregular Volume Data." {\em Proceedings of the
San Diego Workshop on Volume Visualization}, 1990, p. 35-40, 110.
\label{GAR90}
An efficient technique is described for rendering volume data which is not
organized as a regular, three-dimensional grid. The algorithm works on
collections of convex cells with shared faces. Datasets of this form are quite
common in such applications as Computation Fluid Dynamics (CFD) and Finite
Element Modeling (FEM)..
\bk
Levoy, Marc. ``A Hybrid Ray Tracer for Rendering Polygon and Volume Data.''
{\em IEEE CG\&A}, March 1990, p. 33-40.
\label{LEV90a}
\mk
Volume rendering is a technique for visualizing sampled functions of three
spatial dimensions by comuting 2D projections of a colored semitransparent
volume. In this article I address the problem of extending volume rendering to
handle polygonally defined objects. The solution I propose is a hybrid
ray-tracing algorithm. Rays are simultaneously cast through a set of polygons
and a volume data array. Samples of each are drawn at equally spaced intervals
along the rays, and the resulting colors and opacities are composited together
in depth-sorted order. To avoid aliasing of polygonal edges at modest
computational expense, I use a form of selective supersampling. To avoid errors
in visibility at polygon-volume intersections, I give special treatment to
volume samples lying immediately in front of and behind polygons. I will
evaluate the cost, image quality, and versatility of the algorithm using data
from 3D medical imaging applications.
\bk
Levoy, Marc. ``Efficient Ray Tracing of Volume Data.'' {\em ACM TOG}, Vol. 9,
\# 3, July 1990, p. 245-261.
\label{LEV90b}
\mk
{\em 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.
\bk
Levoy, Marc. ``Volume Rendering by Adaptive Refinement.'' {\em The Visual
Computer}, Vol. 6, 1990, p. 2-7.
\label{LEV90c}
\mk
{\em Volume rendering} is a technique for visualizing sampled scalar functions
of three spatial dimensions by computing 2D projections of a colored
semi-transparent gel. This paper presents a volume-rendering algorithm, in which
imge quality is adaptively refined over time. An initial image is generated by
casting a small number of rays into the data, less than one ray per pixel, and
interpolating between the resulting colors. Subsequent images are generated by
alternately casting more rays and interpolating. The usefulness of these rays
is maximized by distributing them according to measures of loal image
complexity. Examples from two applications are given: molecular graphics and
medical imaging.
\bk
Montani, C., and R. Scopigno. "Rendering Volumetric Data Using the STICKS
Representation Scheme." {\em Proceedings of the San Diego Workshop on Volume
Visualization}, 1990, p. 87-93, 112.
\label{MON90}
\mk
An increasing need to efficiently represent and render 3D volumetric data is
being experienced in many application fields ranging from scientific and
medical visualization to CAD. A technique of representing this kind of data,
the Sticks representation scheme, is proposed here with the aim of allowing an
efficient representation and rendering of voxel data on low-capability
workstations. This data model is based on a 3D extension of the well-known
run-length encoding methods. It requires $O(kn^{2})$ memory cells to
represent $O(n^{3})$ volumetric data and produces a degree of data
compression greater than that of the octree model. Rendering a frontal
orthographic projection of a Sticks-represented volume is a very simple task
and requires only a partial scan of the data. A ray tracing algorithm is
presented for the synthesis of gradient-shaded parallel projections; the
proposed algorithm exploits the data compression to drastically reduce the
complexity of rendering.
\bk
Novins, Kevin L., Francois X. Sillion, and Donald P. Greenberg. "An Efficient
Method for Volume Rendering Using Perspective Projection." {\em Proceedings of
the San Diego Workshop on Volume Visualization}, 1990, p. 95-102.
\label{NOV90}
\mk
Use of the perspective projection adds important perceptual cues for image
comprehension. However, it has not been widely used in volume rendering because
of the lack of efficient computational algorithms and concern over the
nonuniform sampling rate imposed by perspective ray divergence. This paper
introduces two new techniques to help make perspective projection more feasible
in rendering volume data. First, a method is presented for efficient
slice-by-slice processing of volume data, allowing high resolution data sets by
eliminating typical memory constraints. Second, an adaptive ``ray splitting''
approach is described which ensures that the entire volume is sampled within
user-specified limits. Additionally, we present results using distributed ray
tracing to achieve depth of field effects.
\bk
Schr\"{o}der, Peter, and James B. Salem. ``Fast Rotation of Volume Data on Data
Parallel Architectures.'' ?.
\label{SCH??}
\mk
Data parallel computer architectures hold great promises for high performance
computing. Volume visualization (raytracing) is an application that can
greatly benefit from these architectures. We describe an algorithm for
rendering of orthographic views of volume data on such architectures. In
particular the problem of rotating the volume in regard to the communication
overhead associated with finely distributed memory is analyzed. We extend an
earlier technique (shear decomposition) to 3D and show how this can be mapped
onto a data parallel architecture using only grid communication during the
resampling associated with the rotation. The rendering uses efficient parallel
computation constructs that allow us to use sophisticated shading models and
still maintain high speed throughout. This algorithm has been implemented on
the Connection Machine parallel supercomputer and is used in an interactive
volume rendering application, with multiple frame per second performance.
\section{Testing and Analysis}
\bk
Fitzhorn, Patrick A. {\em Realistic Image Synthesis: A Time Complexity
Analysis of Ray Tracing}, M.S. Thesis, Colorado State University, 1982.
\label{FIT82}
\mk
Ray tracing as an image synthesis algorithm has gained considerable prominence
in the world of graphics and computer-aided-design since its conception by
Goldstein and Appel working separately in the late 1960's. Image of complex
scenes synthesized using this algorithm have approached quality which has not
yet to be matched by any other technique in computer graphics.
The technique called ray tracing is a simulation of a camera-like model, in
which the viewer sits at an arbitrary viewpoint in the imaginary world,
peering out into the simulated environment through a display window made up
of discrete elements called pixels. These pixels take on the colors and hues
of the environment as simulated light rays emanate from the viewer, pass
through a pixel and are projected into the environment to reflect and refract
about until the pixel can be illuminated with an approximation (hopefully
close) of the objects intersected in the light path. Note that this is the
reverse of actual light paths in the real world, where rays emanate from some
source, and are finally perceived by the viewer. The ray tracing technique
reverses this to make the problem tractable.
Unfortunately, although this technique synthesizes pictures with extreme
realism, the computational expense is extremely large. It is the goals of this
paper to examine the technique in a theoretical format, in the hopes of
decreasing execution time requirements by using more efficient algorithms.
Otherwise, point out sound theoretic reasons why this cannot be done.
After an initial overview of ray tracing in general, a formal model is
described, along with the optical properties that must be followed in order to
synthesize realistic images. These models are then converted into algorithms
which are analyzed. These analyzations tend to prove that dramatic execution
speed increases using strict ray tracing is unlikely. Finally, special purpose
hardware for ray tracing is examined, with apparent usefulness in the
reduction of execution time requirements.
\bk
Kingdon, Stewart. {\em Speeding Up Ray-Scene Intersections}, Masters
Thesis, University of Waterloo, 1986.
\label{KIN86}
\mk
Ray tracing produces computer generated images of unparalleled realism. Among
the phenomena rendered are shadows, reflections, refractions, penumbrae, depth
of field and motion blur. Unfortunately, ray tracing is also the most
computationally expensive rendering technique used in computer graphics.
This thesis provides an overview of current techniques used to improve the
performance of ray tracing as well as a more detailed examination of the most
promising of these techniques, scene structuring.
A simulation was performed to compare the performance of three existing scene
structuring algorithms. Their performance, as measured by the number of objects
tested during the intersection of a ray with the scene, was found to be
$O(N^{x})$ with $x < 1$, where $N$ is the number of objects in the
scene. All of the algorithms offer a considerable advantage over the naive ray
tracing algorithm whose performance is $O(N)$.
Finally, some recommendations are made as to which scene structuring algorithm
offers the greatest performance gain.
\bk
Haines, Eric. ``A Proposal for Standard Graphics Environments.'' {\em
IEEE CG\&A}, November 1987, p. 3-5.
\label{HAI87}
\mk
[Describes the Standard Procedural Database and ideas for creating some
graphics benchmark scenes.]
\bk
Waij, Rudi. {\em Acceleration of Ray Tracing}, Masters Thesis, Delft
University Press, Delft University of Technology, 1988.
\label{WAI88}
[No abstract. Excerpt from Preface]
\mk
This thesis explains the principles of ray tracing and constructive solid
geometry (Chapter 1 and 2). Some approaches to acceleration of ray tracing are
described in Chapter 3. Two accelerated ray tracing algorithms have been
selected for implementation. Chapter 4 describes the implementation of a ray
tracing program that uses bounding volumes. The implementation of a ray tracer
that uses space subdivision is explained in chapter 5. In Chapter 6 the two
methods are compared. It contains timings, conclusions, and ideas for further
research.
\bk
Robb, Paul, and Barbara Pawlowski. ``Computer Ray Tracing Speeds.''
{\em Applied Optics}, Vol. 29, \#13, May 1 1990, p. 1933-1939.
\label{ROB90}
\mk
The results of measuring the ray trace speed and compilation speed of
thirty-nine computers in fifty-seven configurations, ranging from personal
computers to supercomputers, are described. A correlation of ray trace speed
has been made with the LINPACK benchmark which allows the ray trace speed to
be estimated using LINPACK performance data. The results indicate that the
latest generation of workstations, using CPUs based on RISC (Reduced
Instruction Set Computer) technology, are as fast or faster than mainframe
computers in compute-bound situations.
\bk
Wilson, Tom, and Narsingh Deo. ``Comparing Extent Tracing to Other Ray Tracing
Accelerators.'' Technical Report CS-TR-92-21, Department of Computer Science,
University of Central Florida, September 1992.
\label{WIL92b}
\mk
This report examines the feasibility of a new ray-tracing acceleration scheme
called {\em extent tracing} by comparing it to some established techniques on
established benchmark scenes. The other techniques implemented for comparison
are binary space-partitioning (BSP) tree, hierarchical tree of extents (HTE),
octree, and uniform subdivision. The statistics used in the comparison are the
execution times, memory requirements, object intersections per ray, bounding
volume intersections per ray, and voxels traversed per ray.
\section{Machines for Ray Tracing}
\bk
Plunkett, David J., Joseph M. Cychosz, and Michael J. Bailey. ``The
Vectorization of a Ray Tracing Program for Image Generation.'' {\em Proceedings
of Cyber 200 Applications Seminar}, NASA Conference Publication 2295, October
1983, p. 315-323.
\label{PLU83}
\mk
Ray tracing is a widely used method for producing realistic computer-generated
images. Ray tracing involves firing an imaginary ray from a view point,
through a point on an image plane, into a three dimensional scene. The
intersection of the ray with the objects in the scene determines what is
visible at that point on the image plane. This process must be repeated many
times, once for each point (commonly called a pixel) in the image plane. A
typical image contains more than a million pixels makeing this process
computationally expensive. A traditional ray tracing program processes one ray
at a time. In such a serial approach, as much as Rety percent of the
execution time is spent computing the intersection of a ray with the surfaces
in the scene. With the CYBER 205, many rays can be intersected with all the
bodies in the scene with a single series of vector operations. Vectorization
of this intersection process results in large decreases in computation time.
The CADLAB's interest in ray tracing stems from the need to produce realistic
images of mechanical parts. A high quality image of a part during the design
process can increase the productivity of the designer by helping him visualize
the results of his work. To be useful in the design process, these images must
be produced in a reasonable amount of time. This discussion will explain how
the ray tracing process was vectorized and gives examples of the images
obtained.
\bk
Kedem, Gershon, and John L. Ellis. ``The Raycasting Machine.'' {\em
Proceedings of the IEEE International Conference on Computer Design}, 1984,
p. 533-538. Also appears in {\em Tutorial: Computer Graphics Hardware: Image
Generation and Display}, Hassan K. Reghbati and Anson Y. C. Lee (eds.),
Computer Society Press, Washington, 1988, p. 285-290. Also appears in
{\em Parallel Processing for Computer Vision and Display}, P. M. Dew,
R. A. Earnshaw, and T. R. Heywood (eds.), Addison-Wesley Publishing Company,
Reading, Massachusetts, 1989, p. 378-401.
\label{KED84}
\mk
Geometric modeling is important in CAD/CAM, robotics, computer vision, and
other fields. Ray casting is a computational utility central to many
applications of geometric modeling. Ray casting is used for calculating shaded
displays and mass properties of solids. It could also be used for collision
detection, null object or same object detection and so forth.
Ray casting algorithms are dependent on the means used to represent solids.
In this work we focus on solids represented by Constructive Solid Geometry. We
develop a special computer structure that will alow ray casting to be done
10X - 1000X faster than in conventional computers. Two types of modules are
needed: domain dependent line primitive classifiers, and domain independent
classification combiners.
The ray casting machine described here is a parallel, pipelined bit serial
machine that classifies a regular lattice of parallel lines. We describe the
design of two-bit serial building clocks, the Classification Combine processor
(CC) and the incremental, bit serial, pipelined Primitive Classifer (PC). These
building blocks were designed from the outset for custom VLSI implementation.
We describe how to use these building blocks to construct a highly parallel
synchronous machine for ray casting. The building blocks are arranged in chips
as machine slice units. By adding more slices, larger and larger machines can be
built.
\bk
Plunkett, David J. {\em A Vectorized Ray Tracing Algorithm},
M.S.M.E. Thesis, Purdue University, August 1984. *
\label{PLU84}
\mk
Ray Tracing algorithms are widely used for computer synthesis of realistic
images. It is generally accepted that ray tracing yields the most realistic
images of any of the current rendering methods. The technique finds use in the
computer-aided-design field because of the need for realistic images in the
design process. Its use in this and other fields is limited only by the
enormous amounts of computing time associated with these algorithms. This
thesis presents a ray tracing algorithm which dramatically reduces the
computational time. Instead of tracing one ray at a time, as in a traditional
ray tracing program, many rays are traced simultaneously. This allows the
algorithm to take advantage of vector processors found in today's
supercomputers.
\bk
Plunkett, David J., and Michael J. Bailey. ``The Vectorization of a
Ray-Tracing Algorithm for Improved Execution Speed.'' {\em IEEE CG\&A}, August
1985, p. 52-60.
\label{PLU85}
\mk
Ray tracing is, without a doubt, the most versatile and dramatic approach to
realistic rendering. But its practical use has been severely restricted by the massive computing times required. Research described in the literature
indicates that this is largely due to the rays with the surfaces in the scene.
The work presented here uses a vectorized computer architecture to speed the
ray-tracing process. When a ray needs to be fired, that request is placed on a
{\em ray queue}. When the queue becomes full, the vector processor fires all
those rays at once. The program then goes back and uses the intersection
results where they were originally requested. Significant speed increases
result from this retooling of the algorithm.
\bk
Leray, Pascal. ``Towards a Z-Buffer and Ray-Tracing Multimode
System Based on Parallel Architecture and VLSI Chips.'' {\em Advances in
Computer Graphics Hardware I}, W. Stra\mbox{\ss}er (ed.), Springer-Verlag,
1987, p. 141-145.
\label{LER87}
\mk
[No abstract. Introduction]
After the hidden surfaces algorithms for 3D raster graphics, hardware design
is the main problem, for many applications, such as audiovisual animations,
CAD-CAM, and simulation.
After a short description of our CUBI 7 system (a 3D real-time Z-buffer system),
and its CRISTAL module which increases ray-tracing computations, we present our
hardware project based on:
-- Parallel architecture for ray-tracing and special effects; this module
is also useful for preprocessing the image (rotations, clipping, perspective
transformation).
-- A- or Z-buffer which will be designed on VLSI chips. Polygon filling
will be also designed with pipelined chips.
\bk
Youssef, Saul. ``Vectorized Simulation and Ray Tracing.'' Technical
report FSU-SCI-87-63, Supercomputer Computations Research Institute, October,
1987.
\label{YOU87}
\mk
The severe problem of the speed of Monte Carlo simulation of particle
interaction in High Energy Physics experiments is pointed out once again.
Efforts to solve this problem using vector supercomputers are discussed. One of
these efforts, described in detail, uses general geometry ray tracer to process
all particles in a single vector. Timing numbers are given for simple
benchmarks characteristic of High Energy Physics applications. Using such a
benchmark, the ray tracer is found to be a factor of 140 faster than the
geometric routines of the standard GEANT3 package with both programs running a
two pipeline Cyber 205. A factor of 20 of this increase is due to
vectorization. With the same benchmark and the same code on a four processor
ETA$^{10}$, the vectorized ray tracer is faster by an additional factor of
8.8. In standard units, the vectorized ray tracer on the ETA$^{10}$ is as
fast as the scalar GEANT3 geometry routines running on approximately 12,000 VAX
11/780s. A project to combine this vectorized ray tracer with a vectorized
version of the EGS electromagnetic shower simulation code is described.
Possible applications include ray tracing for Computer Graphics and future
versions of GEANT simulation code.
\section{Parallel Machines for Ray Tracing}
\subsection{SIMD Architectures}
\bk
Moshell, J. M., and T. J. Cullip. ``An Array Processor for Ray
Tracing.'' University of Central Florida, November 1985.
\label{MOS85}
\mk
An array processor for ray tracing display generation is described. Working
with a standard sequential host computer, the processor rapidly computes ray
collisions with polyhedral objects. Timing communications issues within the
array are described. The processor is realizable with current CMOS technology.
\bk
Dorband, John E. ``Ray Tracing on the MPP.'' {\em Frontiers of
Massively Parallel Scientific Computation, Proceedings of 1st Symposium at
Goddard Space Flight Center}, NASA Conference Publication 2478, 1986, p.
211-215, 316.
\label{DOR86}
\mk
Generating graphics to faithfully represent information can be a
computationally intensive task. We will present a way of using the MPP to
generate images by ray tracing. This technique uses sort computation, a method
of performing generalized routing interspersed with computation on a
single-instruction-multiple-data (SIMD) computer.
\bk
Williams, Nicholas S., B. F. Buxton, and H. Buxton. ``Distributed Ray
Tracing Using an SIMD Processor Array.'' {\em Theoretical Foundations of
Computer Graphics and CAD}, NATO ASI Series, Vol. F40, Springer-Verlag, 1988,
p. 703-725.
\label{WILN88}
\mk
Recent work on distributed ray tracing algorithms using the Distributed Array
Processor (DAP) will be described. It is shown that ray tracing algorithms are
ideally suited to SIMD processor arrays because, once a set of rays has been
cast from the viewpoint through the pixels in the image plane, the origin and
direction vectors which parameterize each ray after successive reflections can
be mapped uniformly to the DAP processor array. Assigning one ray per
processing element in this manner allows 64 x 64 = 4096 rays to be traced
simultaneously. No local neighborhood operations within the processor array
are required because each ray can be traced independently. Thus, arbitrarily
large images can easily be generated by repeatedly casting 64 x 64 bundles of
rays with the appropriate origin and direction vectors.
Objects in the scene are modeled using quadric primitives which are combined
using the regularized set operations of constructive solid geometry (CSG).
Quadrics were chosen because they are straightforward to describe
mathematically and facilitate calculation of the ray-surface intersections and
also surface normals required for shading calculations. Each of the twelve
canonical quadric forms is represented by a 4 x 4 matrix which can be rotated,
scaled and translated as desired. Although in the current version each
transformation is carried out using parallel matrix multiplication, the small
size of the transformation matrices means that inefficient use is made of the
processor array. Therefore, an improved method is suggested whereby all
quadric primitives can be transformed in parallel.
Using the 1:1 mapping of ray parameters to processing elements as suggested,
the IN-OUT classification resulting from ray intersections with any quadric
primitive or combine operation node in the binary CSG tree an be evaluated in
parallel for an entire ray bundle. Thus, although the binary CSG tree must be
serially traversed, the operations required at each node may be performed in
parallel for a given ray bundle. This approach can therefore be regarded as
`primitive-serial, ray-parallel.'
Using an SIMD processor array in conjunction with the parallel algorithms
suggested here, highly realistic graphics images can be produced in very short
run-times.
\bk
Lin, Tony T. Y., and Mel Slater. ``Stochastic Ray Tracing Using SIMD
Processor Arrays.'' {\em The Visual Computer}, Vol. 7, July 1991, p. 187-199.
\label{LIN91}
\mk
Stochastic ray tracing is one of the most elegant methods for anti-aliasing
and for generating such phenomena as soft shadows, fuzzy reflections, depth of
field, and motion blur, which are difficult to accomplish with the
conventional ray-tracing algorithm. Unfortunately, it makes use of stochastic
sampling, which requires more than one sample for each pixel. One possible
way to speed up ray tracing is to explore the inherent parallelism of the
algorithm. In the past few years, the major focus of parallel ray-tracing
research has been on the use of MIMD architectures. Although SIMD
architectures may be ideal for ray tracing simple scenes, they have been
thought unsuitable for ray tracing complex scenes. However, by using scene
coherence, we have found that stochastic ray tracing using SIMD processor
arrays can be efficient as most of the existing MIMD ray-tracing algorithms
and more cost effective.
\subsection{MIMD Architectures}
\bk
Nishimura, Hitoshi, Hiroshi Ohno, Toru Kawata, Isao Shirakawa, and
Koichi Omura. ``LINKS-1: A Parallel Pipelined Multimicrocomputer System for
Image Creation.'' {\em Proceedings of the 10th Annual International Symposium
on Computer Architecture}, 1983, p. 387-394. Also appears in {\em Tutorial:
Computer Graphics Hardware: Image Generation and Display}, Hassan K. Reghbati
and Anson Y. C. Lee (eds.), Computer Society Press, Washington, 1988,
p. 320-327.
\label{NIS83}
\mk
A multimicrocomputer system is described, stressing mainly software and
hardware architectures, which have been constructed mainly for image creation.
This system is distinctive mainly in that (i) 64 unit computers are
interconnected with a root computer, each of equal performance, such that a
number of unit computers constitute a pipeline computer and such pipelined
computers work in parallel, all controlled by the root computer, and (ii) an
intercomputer memory swapping unit is introduced, which is to be linked with a
pair of unit computers to transfer a great amount of data at a time from one to
the other through the use of a bus exchange switch.
\bk
Ullner, Michael Karl. {\em Parallel Machines for Computer Graphics}.
Ph.D. Dissertation, California Institute of Technology, 1983.
\label{ULL83}
\mk
Computer graphics provides some ideal applications for the kind of highly
parallel implementations made possible by advances in integrated circuit
technology. Specifically, hidden line and hidden surface surface algorithms,
while easily defined and simple in concept, entail a substantial amount of
computation. This requirement fits the characteristics of integrated circuit
technology, where modular designs involving regular communication between
many concurrent operations are rewarded with high performance as an acceptable
cost.
Ray tracing is a very flexible technique that can be used to produce some of
the most realistic of all computer generated images by simulating the
interactions of light rays with surfaces in a modeled scene. Because light
rays are mutually independent, many may be processed simultaneously, and the
potential for concurrency is great. One architecture for expediting a ray
tracing algorithm consists of a conventional computer equipped with a special
purpose peripheral device for locating the intersections of rays and surfaces.
This intersection computation is the most time consuming aspect of ray
tracing. Although the attched processor configuration can produce images more
quickly than an unaided computer, its performance is limited. Alternatively,
a pipeline of surface processors can replace the peripheral device. Each
processor computes the intersections of its stored surface with rays that flow
through the pipe. Such a machine can be quite fast, and its performance can be
increased by lengthening he pipeline, but the component processors are not
very effectively utilized. A third approach combines the advantages of the
prior two machines by using an array of processors, each simulating a distinct
subvolume of the modeled world by treating light rays traveling through space
as message flowing between processors. Local communication is sufficient
because light rays travel continuously through space.
In real time computer graphics, successive images must be produced in times
that are imperceptible to a viewer. Although the ray tracing machines fall
short of this performance, it is possible to compromise image quality in order
to produce a highly parallel machine capable of real time operation. The
processors in such a machine are organized to form a binary tree. Leaf
processors scan-convert surfaces, producing a sequence of segments, where a
segment is the portion of a surface that appears on a single scan line of the
display. Processors toward the root of the tree accept two such segment
sequences and produce a third in which all segments overlap has been resolved.
The final image is available at the root of the tree. The communication
bottleneck that would otherwise occur at the root can be eliminated by
breaking out parallel roots, and the resulting tree may be extended to scenes
of almost arbitrary complexity merely by increasing the supply of available
processors.
Massive paralleism can also be applied to the problem of removing hidden edges
from line drawings. A suitable architecture takes the form of a pipeline in
which each processor is dedicated to the handling of a single polygon edge.
These processors successively clip line segments passing through the pipeline
to eliminate portions hidden behind surfaces. Each edge processor can be
constructed out of little more than three serial multipliers.
The machines described here are varied in organization, and each functions
differently, but their treatment of sorting in one ingredient common to all.
Sorting is a key component of hidden surface algorithms running on
conventional computers, but its extensive communication requirements make it
costly for use in a highly integrated design. Consequently, the highly
parallel machines described here operate largely without sorting. Instead,
they maintain information in sorted order or make use of already sorted
information to limit communication requirements.
\bk
Deguchi, Hiroshi, Hitoshi Nishimura, Hiroshi Yoshimura, Toru Kawata,
Isao Shirakawa, and Koichi Omura. ``A Parallel Processing Scheme for
Three-Dimensional Image Generation.'' {\em International Symposium on Circuits
and Systems '84}, Vol. 3, p. 1285-1288.
\label{DEG84}
\mk
A parallel processing scheme for three-dimensional image generation is
described, which operates on a multimicrocomputer system LINKS-1 composed of
65 unit computers. In this scheme, a frame of image is generated by means of
the ray tracing approach such that the light intensity calculation for the
whole pixels of a frame is allocated evenly to all unit computers, one working
in parallel with the others. A number of experimental results are also shown,
which reveal how effectively this scheme is implemented with the use of a
variety of hardware and software facilities.
\bk
Dipp\'{e}, Mark, and John Swensen. ``An Adaptive Subdivision Algorithm
and Parallel Architecture for Realistic Image Synthesis.'' {\em SIGGRAPH '84},
p. 149-158. Also appears in {\em Tutorial: Computer Graphics Hardware: Image
Generation and Display}, Hassan K. Reghbati and Anson Y. C. Lee (eds.),
Computer Society Press, Washington, 1988, p. 310-319.
\label{DIP84}
\mk
An algorithm for computing ray traced pictures is presented, which adaptively
subdivides scenes into $S$ subregions, each with roughly uniform load. It can
yield speedups of $O(S^{2/3})$ over the standard algorithm.
This algorithm can be mapped onto a parallel architecture consisting of a
three dimensional array of computers which operate autonomously. The algorithm
and architecture are well matched, so that communication overhead is small with
respect to the computation, for sufficiently complex scenes. This allows close
to linear improvements in performance, even with thousands of computers, in
addition to the improvement due to subdivision.
The algorithm and architecture provide mechanisms to gracefully degrade in
response to excessive load. The architecture also tolerates failures of
computers without errors in the in the computation.
\bk
Cleary, John G., Brian Wyvill, Graham M. Birtwistle, and Reddy Vatti.
``Multiprocessor Ray Tracing.'' {\em Computer Graphics Forum}, Vol. 5, 1986,
p. 3-12. A revision of technical report 83/128/17, Computer Science Department,
University of Calgary, October 1983.
\label{CLE86}
\mk
A multiprocessor algorithm for ray tracing is described. The performance of
the algorithm is analyzed for a cubic and square array of processors with only
local communication between near neighbors. Theoretical expressions for the
speedup of the system as a function of the number of processors are derived.
These analytic results are supported by simulations of ray tracing on a number
of simple scenes with polygonal surfaces. It is found that a square network
of processors generally performs better than a cubic network. Some comments
are made on the construction of such a system using current (1985)
microprocessor technology.
\bk
Deguchi, Hiroshi, Isao Shirakawa, Koichi Omura, Masato Nishida,
Hitoshi Nishimura, and Toru Kawata. ``A Tree-Structured Parallel Processing
System for Image Generation by Ray Tracing.'' {\em Systems and Computers in
Japan}, Vol. 17, \#12, 1986, p. 51-62. Translated from {\em Denshi Tsushin
Gakkai Ronbunshi}, Vol. 69-D, \#2, Feb. 1986, p. 170-179.
\label{DEG86}
\mk
An image generation system by ray tracing was implemented on a distributed
parallel processing system composed of loosely coupled multimicrocomputers. An
improvement was made by extending the architecture from the star structure to
the hierarchical tree structure. This improvement makes it possible for an
animated image to be generated at high speed with shading which can represent
the shape and texture of three-dimensional objects with high quality. This
paper outlines the hierarchical tree-structured image generation system,
discussing the parallel processing mechanisms of the system, such as data
transfer and hierarchical load distribution schemes. Experiments were made to
evaluate the performance. Problems in the tree-structured system are pointed
out, and remedies are proposed (area redistribution, and area subdivision).
Experiments are made to evaluate the effectiveness of these methods. Thus,
it is demonstrated that the tree-structured system is useful in the image
generation using ray tracing.
\bk
Defend, Daniel Evan. ``Parallel Ray Tracing in a
Vector--Multiprocessing Environment.'' CSRD Rpt. No. 677, Center for
Supercomputing Research and Development, University of Illinois, September,
1987.
\label{DEF87}
\mk
Various techniques which introduce scalar and vector parallelism into the ray
tracing environment are explored. Several scalar and vector parallel
implementations are presented which drastically decrease execution times of
experimental ray tracers run on a vector multiprocessor. Issues which govern
how and where to exploit both types of parallelism are discussed, and then
modifications needed to incorporate the parallelism into an existing algorithm
are given.
Certain algorithmic enhancements make the ray tracing process more efficient,
i.e. yield faster execution times. Additionally, these enhancements may make
certain types of scalar and vector parallelism more effective. The motivation
for several enhancements of this nature is presented, and then modifications
to traditional ray tracing approaches are developed to provide for these
algorithm changes. With these algorithm modifications, an attempt is made to
enhance the amount of parallelism achieved through parallel implementation.
\bk
Kobayashi, Hiroaki, Tadao Nakamura, and Yoshiharu Shigei. ``Parallel
Processing of an Object Space for Image Synthesis Using Ray Tracing.'' {\em The
Visual Computer}, Vol. 3, 1987, p. 13-22.
\label{KOB87}
\mk
This paper presents a novel parallel processing system for image synthesis
using ray tracing. An object space is divided into parts (subspaces), each of
which is allocated to a processor. The processor detects, simultaneously the
intersections of the surfaces of each object and a fixed number of rays over
the whole space, and calculates the local intensity on an object in each
subspace. The global intensities of pixels on a screen are calculated by the
other kind of processors simultaneously. We also present the optimal data
structure, based on an adaptive division algorithm, for parallel processing of
the object space.
\bk
Caubet, R., Y. Duthen, and V. Gaildrat. ``VOXAR: A Tridimensional
Architecture for Fast Realistic Image Synthesis.'' {\em New Trends in Computer
Graphics, Proceedings of CG International '88}, Nadia Magnenat-Thalmann and
Daniel Thalmann (eds.), Springer-Verlag, p. 135-149.
\label{CAU88}
\mk
The ray-tracing algorithm was up to now the origin of the most beautiful
synthesized images. Yet, it was penalized by the great number of intersection
computations required, due to the non-exploitation of the spatial coherency.
In order to decrease the cost of image production, architectures were
proposed, based on the ray-tracing algorithm parallelism.
We propose a volumic architecture model traced over reality, using the
parallelism due to the scene coherency.
This architecture is based on the object decomposition into voxels and on the
incremental integer logic. This allows the suppression of the intersection
computations at the rendering step.
During the object decomposition into voxels, the texture is included into the
material features. Thus, the objects are not created plain but textured just
as if they were sculptured into the material.
The object decomposition into voxels allows the generation of composite scenes
where the objects modelled by different methods will be rendered by the same
technique.
\bk
Crow, Franklin C. ``Parallelism in Rendering Algorithms.'' {\em
Graphics Interface '88}, p. 87-96.
\label{CRO88}
\mk
The need for increased computing power for rendering computer imagery is
motivated and the sources from which it might be derived surveyed. Increased
power can come from parallelism, as well as faster technology, implying new
machine architectures and new algorithms. Surveys sketch early attempts at
using available parallel architectures and look at the limitations and
strengths of some existing architectures. Finally, potential parallel
algorithms for the rendering process are sketched including rough analyses
of potential performance bottlenecks.
\bk
Gaudet, Severin, Richard Hobson, Pradeep Chilka, and Thomas Calvert.
``Multiprocessor Experiments for High-Speed Ray Tracing.'' {\em ACM TOG},
Vol. 7, \#3, July 1988, p. 151-179.
\label{GAU88}
\mk
New single- and multiprocessor models for ray tracing are presented. Important
features are (1) the use of custom VLSI building blocks, (2) the use of a
modified hierarchical data-structure-based ray tracing algorithm with three
disjoint data sets, and (3) scene access through adaptive information
broadcasting. A modular design is presented that permits incremental
performance enhancement up to two orders of magnitude over conventional
minicomputers or workstations. Ray tracing is a surprisingly good application
for a shared bus architecture because of the computational complexity of
intersecting light rays with graphics objects.
\bk
Kobayashi, Hiroaki, Satoshi Nishimura, Hideyuki Kubota,
Tadao Nakamura, and Yoshiharu Shigei. ``Load Balancing Strategies for a
Parallel Ray-Tracing System Based on Constant Subdivision.'' {\em The Visual
Computer}, Vol. 4, 1988, p. 197-209.
\label{KOB88b}
\mk
Static and dynamic load balancing strategies for a multiprocessor system for
a ray tracing algorithm based on constant subdivision are presented. An
object space is divided into regular cubes (subspaces), whose boundary planes
are perpendicular to the coordinate axes, and these are allocated to the
processors in the system. Here, load balancing among the processors is the most
important problem. Firstly, in a category of static load balancing, strategies
for mapping the subspaces into the processors are evaluated by simulation.
Moreover, a hierarchical multiprocessor system is proposed in order to realize
dynamic load balancing with the static one. Its architecture can overcome
the limitation of the static load balancing in a large scale multiprocessor
system.
\bk
Marsh, Stephen C. ``Fine Grain Parallel Architectures and the Creation
of High-Quality Images.'' {\em Theoretical Foundations of Computer Graphics and
CAD}, NATO ASI Series, Vol. F40, Springer-Verlag, 1988, p. 727-754.
\label{MAR88}
\mk
This paper presents a preliminary study of fine-grain parallel architectures
for the generation of high quality computer graphics in a significantly
reduced period of time than is presently possible. Two architectures are
considered, both of which consist of message passing networks of processing
elements which can be implemented as VLSI circuitry. Each architecture is
designed for one particular three-dimensional object representation. The
first architecture uses octrees to generate images in a top-down hierarchical
manner, whilst the other uses Constructive Solid Geometry in a bottom-up
hierarchical approach.
\bk
Bu, Jichun, and Ed F. Deprettere. ``A VLSI System Architecture for
High-Speed Radiative Transfer 3D Image Synthesis.'' {\em The Visual Computer},
Vol. 5, 1989, p. 121-133. A revision of same paper in {\em Proceedings of
Eurographics '87}, Guy Mar\'{e}chal (ed.), p. 221-234.
\label{BU89}
\mk
In this paper we describe a VLSI system architecture for high-speed synthesis
of 3D images composed of diffsely reflective surfaces. The system consists of
two loosely coupled sub-systems. The first sub-system computes the form-factor
matrix $F$. The form-factors are computed by an efficient ray-tracing
algorithm. The second sub-system, a multiprocessor Gauss-Seidel iterative system
solver, solves the sparse system of radiosity equations $(I - \Lambda F)b = e$.
\bk
Caspary, Elisha, and Isaac D. Scherson. ``A Self-Balanced
Parallel Ray-Tracing Algorithm.'' {\em Parallel Processing for Computer Vision
and Display}, P. M. Dew, R. A. Earnshaw, and T. R. Heywood (eds.),
Addison-Wesley Publishing Company, Reading, Massachusetts, 1989, p. 408-419.
A revision of ``Multiprocessing for Ray Tracing: A Hierarchical Self-Balancing
Approach.'' {\em The Visual Computer}, Vol. 4, 1988, p. 188-196.
\label{CAS89}
\mk
A novel parallel processing algorithm for image synthesis using ray tracing is
presented. The scene is first organized in a hierarchical data structure which
is cut at some level, and the object descriptions along with their bounding
volumes are distributed accordingly among the processors of an MIMD system.
There are two independent processes in each processor: the first one is demand
driven and used for bounding volumes calculations,while the second one is data
driven and used for intersection calculations. This scheme, where the first
process can be executed by any processor, suggests an algorithm with an
embedded load-balancing mechanism. It has an almost linear speedup and its
storage requirements are small. Simulation results are presented to
illustrate these features.
\bk
Chalmers, M. ``On the Design and Implementation of a Multiprocessor Ray
Tracer.'' {\em Parallel Processing for Computer Vision and Display}, P. M. Dew,
R. A. Earnshaw, and T. R. Heywood (eds.), Addison-Wesley Publishing Company,
Reading, Massachusetts, 1989, p. 420-430.
\label{CHA89}
\mk
A ray tracer has been developed on a multiprocessor machine at the University
of East Anglia, as a vehicle for research into realistic image synthesis.
Various components of the tracer are distributed across processing elements.
The development of the tracer was hampered by a lack of flexibility of
configuration, and a low level of data abstraction.
Consideration of these problems led to the construction of an Occam
programming style on object-oriented and actor languages. The specification
and implementation of processes are described, along with the inheritance of
functionality, the communication infrastructure, pseudo-dynamic process
creation and facilities for monitoring and debugging.
\bk
Green, Stuart A., Derek J. Paddon, and E. Lewis. ``A Parallel
Algorithm and Tree-Based Computer Architecture for Ray-Traced Computer
Graphics.'' {\em Parallel Processing for Computer Vision and Display}, P. M.
Dew, R. A. Earnshaw, and T. R. Heywood (eds.), Addison-Wesley Publishing
Company, Reading, Massachusetts, 1989, p. 431-442.
\label{GRE89a}
\mk
The ray-tracing algorithm is well known for its high computational complexity
and this has motivated research into exploiting the inherent parallelism of
the algorithm by using multiprocessor systems. However, an object model to
describe a scene of realistic complexity requires a very large database, which
restricts the scope for designing an effective concurrent architecture. In
this paper, we describe and evaluate research which has led to a multiprocessor
system that supports a database of arbitrary size. The results of the system
show an optimal speedup for small databases while still maintaining a good
performance for larger problems.
\bk
Green, Stuart A., and Derek J. Paddon. ``Exploiting Coherence for
Multiprocessor Ray Tracing.'' {\em IEEE CG\&A}, November 1989, p. 12-26.
\label{GRE89b}
\mk
The ray-tracing algorithm is widely used for realistic image synthesis. The
scalability and cost effectiveness of general-purpose distributed-memory
multiprocessor systems makes them particularly suitable for ray-tracing
applications. However, the limited memory available to each processor in such a
system requires schemes to distribute the model database among the processes.
This article identifies a form of coherence in the ray-tracing algorithm that
can be exploited to develop optimum schemes for data distribution in a
multiprocessor system. This in turn gives rise to high processor efficiency
for systems with limited distributed memory.
\bk
Kobayashi, Hiroaki, Hideyuki Kubota, Susumu Horiguchi, and Tadao
Nakamura. ``Effective Parallel Processing for Synthesizing Continuous Images.''
{\em New Advances in Computer Graphics, Proceedings of CG International '89},
R. A. Earnshaw and B. Wyvill (eds.), p.343-352.
\label{KOB89}
\mk
One of the biggest problems in computer animation is the enormous amount of
computations necessary to synthesize an animation sequence. In this paper,
effective parallel processing for synthesizing continuous images is presented.
Our parallel architecture is based on object-oriented parallel processing a
ray-tracing algorithm. A task allocation using {\em load coherence of each
subspace} between continuous images is proposed for balancing computational
loads among processing elements. For the performance evaluation of our
parallel architecture, the effect of load balancing is examined, in detail,
by computer simulation.
\bk
Kunii, T. L., S. Nishimura, and T. Noma. ``The Design of a Parallel Processing
System for Computer Graphics.'' {\em Parallel Processing for Computer Vision
and Display}, P. M. Dew, R. A. Earnshaw, and T. R. Heywood (eds.),
Addison-Wesley Publishing Company, Reading, Massachusetts, 1989, p. 353-377.
\label{KUN89}
\mk
This chapter proposes a novel approach to designing an application-oriented
parallel processing system for computer graphics. In our approach, we divide
each problem into tasks, represent it with a directed acyclic graph (task
graph) and determine the assignment of tasks to processors. To determine the
task assignment, we introduce a newly developed task assignment algorithm,
which considers both processing cost and communication cost. The designing of
systems for ray tracing is described as an example of our approach.
\bk
Jensen, David, and Daniel Reed. ``Ray Tracing on Distributed Memory
Parallel Systems.'' Report No. UIUCDCS-R-89-1551, Department of Computer
Science, University of Illinois at Urbana-Champaign, October 1989.
\label{JEN89}
\mk
Among the many techniques in computer graphics, ray tracing is prized because
it can render realistic images, albeit at great computational expense. Ray
tracing's large computation requirements, coupled with its inherently parallel
nature, make ray tracing algorithms attractive candidates for parallel
implementation. In this paper we explore the performance of several approaches
to ray tracing on a distributed memory parallel system. These algorithm
variations introduce parallelism based on both ray and object partitions. Ray
partitioning schemes distribute image generation across multiple processors but
require rendundant storage of the scene data. In contrast, object partitioning
distributes the scene data, allowing the processing of more complex scenes, but
with increased interprocessor communication. The choice of an appropriate
techique depends on the balance of parallel computation and interprocessor
communication. To explore this balance, we conducted a series of parametric
performance experiments. The performance {\em effects} of different algorithm
choices were determined through traditional timing analysis. The {\em cause} of
these performance differences were identified via a set of performance
instrumentation tools and their associated visualization software.
\bk
Jevans, David A. J. ``Optimistic Multi-Processor Ray Tracing.''
{\em New Advances in Computer Graphics, Proceedings of CG International '89},
R. A. Earnshaw and B. Wyvill (eds.), p. 507-522.
\label{JEV89b}
\mk
An optimistic method for ray tracing on multi-processors which communicate by
message passing is presented. This method exploits more parallelism than
previously published algorithms, and makes multi-processor ray tracing of
complex scenes practical. An implementation which uses the Time Warp
synchronization method is discussed. A second more efficient implementation
which makes use of the Virtual Time concept and the Time Warp implementation of
cancellation is presented as a more practical solution to the problem of
efficient multi-processor ray tracing and load balancing. The algorithm is
compared to previous algorithms for message passing multi-processors and shared
memory multi-computers.
\bk
Potmesil, Michael, Leonard McMillan, Eric M. Hoffert, Jennifer
F. Inman, Robert L. Farah, and Marc Howard. ``A Parallel Image Computer with a
Distributed Frame Buffer: System Architecture and Programming.'' {\em
Proceedings of Eurographics '89}, W. Hansmann, F. R. A. Hopgood and W. Strasser
(eds.), p. 197-208, 549.
\label{POT89}
\mk
We describe the system architecture and the programming environment of the
Pixel Machine - a parallel image computer for 2D and 3D image synthesis and
analysis. The architecture of the computer is based on an array of asynchronous
MIMD nodes with a parallel access to a large frame buffer. The system consists
of a pipeline of {\em pipe nodes} which execute sequential algorithms and an
array of $m \times n$ pixel nodes which execute parallel algorithms. A {\em pixel
node} accesses every $m$-th pixel on every $n$-th scan line of a
distributed frame buffer. Each processing node is based on a high-speed,
floating-point programmable processor.
The programmability of the computer allows all algorithms to be implemented in
software. A set of mapping functions transfers image algorithms written for
conventional single-processor computers to algorithms which execute in the
pixel nodes and access the distributed frame buffer. The ability to use
floating-point computations in pixel operations, such as antialiasing, ray
tracing, and filtering, allows high-quality image generation and processing.
The image computer provides up to 820 megaflops of peak processing power and 48
megabytes of memory for data-visualization applications.
\bk
Quek, Lee Hian. {\em Ray Tracing with Space Subdivision on a
Vector-Multiprocessor System}, Masters Thesis, Report No. UIUCDCS-R-89-1491,
Department of Computer Science, University of Illinois at Urbana-Champaign,
February 1989.
\label{QUE89}
\mk
The development of a parallel ray tracer with space subdivision enhancement is
presented. Parallel optimizations included both concurrency and vectorization.
Space subdivision was performed by subdividing the object space into
three-dimensional volumes called voxels. The voxels are subdivided recursively
until each one is associated with only a small number of primitives. This
method reduces the number of unnecessary ray-primitive intersection
calculations during the ray tracing process.
Test runs with various data sets were conducted to measure the speedups
resulting from the optimized ray tracer. Results showed that the optimized ray
tracer can achieve linear performance; i.e., the tracing time only increases
linearly with increasing number of primitives.
\bk
Badouel, Didier, Kadi Bouatouch, and Thierry Priol. ``Ray Tracing on
Distributed Memory Parallel Computers: Strategies for Distributing Computations
and Data.'' {\em SIGGRAPH '90 Parallel Algorithms and Architecture for 3D Image
Generation Course Notes}.
\label{BAD90b}
The ray tracing algorithm produces high quality images, but it requires a lot
of computations which makes it extremely time-consuming. Several attempts have
been made to reduce the synthesis time by using high speed parallel computers.
For example, distributed memory parallel computers, such as hypercubes or
{\em transputer}-based machines, offer an interesting performance/cost ratio.
Several studies have used paralle computers to speed up the ray tracing
algorithm so as to render complex scenes with several thousand objects. However
few of them have lead to real implementation due to the complexity of the
solution proposed by the authors. This paper introduces a new approach
emulating a read-only shared memory on a distributed memory parallel computer.
Results are given and are compared to a previous parallel ray tracing algorithm
that we have implemented on an iPSC/2.
\bk
Barrett, Martin L. ``A Load Balancing Experiment for Parallel Ray
Tracing.'' {\em Proceedings of Ausgraph '90}, p. 145-155.
\label{BAR90}
\mk
Ray tracing has the possibility for parallelism, due to the independence of the
light rays being traced. This paper investigates parallel algorithms for ray
tracing based on task scheduling. Subtasks involved in tracing a ray are
identified, and processors are assigned to subtasks rather than assigning rays
to processors. Three types of assignment schemes were tested: static
scheduling, where the assignment of processors to subtasks does not change, and
two types of dynamic scheduling, which attempt to balance the load among
available processors. The results of these methods are compared against a more
straightforward parallel scheme, image space subdivision. The space subdivision
method was found to be superior to the scheduling methods; among the scheduling
schemes, event-driven balancing performed the best. As in many parallel
algorithms, overhead due to interprocess communication may limit the usefulness
of the scheduling methods.
\bk
Green, Stuart A., and Derek J. Paddon. ``A Highly Flexible
Multiprocessor Solution for Ray Tracing.'' {\em The Visual Computer}, Vol. 6,
1990 p. 62-73.
\label{GRE90}
\mk
The ray tracing algorithm continues to attract much research and development to
improve the quality of the images that are generated, and to reduce the time
taken to produce them. By identifying the key requirements of a development
system from the user's point of view, we describe a general-purpose
multiprocessor solution for ray tracing which may be used to reduce execution
time without restricting development of the ray tracing code. The solution is
based upon a distributed memory multiprocessor system in which each processor
addresses a small amount of memory relative to the size of the model database.
Methods for exploiting the coherence of references to entries in the database
are described which use a combination of dynamic and static caching techniques.
This scheme allows databases of arbitrary size to be supported on
multiprocessors with limited distributed memory.
\bk
H\'{e}bert, M.-P., M. D. J. McNeill, B. Shah, R. L. Grimsdale, and
P. F. Lister. ``MARTI--A Multiprocessor Architecture for Ray Tracing Images.''
\label{HEB??}
\mk
Multiprocessor systems are well suited to ray tracing, since each ray can be
traced independently. However, the large databases required to model complex
scenes create problems of data access. In this paper we propose a
multiprocessor architecture for ray tracing which removes the need for
duplication of the database at processor level. The database is held on a group
processor basis, and resides in shared memory. Many of these groups,
or {\em clusters}, can be replicated to form a highly parallel multiprocessing
system. Results of a software simulation of the architecture are promising,
indicating that a large number of processors per cluster is possible.
\bk
Crow, Franklin C. ``Parallel Computing for Graphics.'' {\em Advances in
Computer Graphics VI -- Images: Synthesis, Analysis, and Interaction},
G\'{e}rald Garcia and Ivan Herman (eds.), Springer-Verlag, 1991, p. 113-140.
\label{CRO91}
\mk
The cost of computing cycles for state-of-the-art imagery continues to rise
exponentially. Fortunately, so does the cost-effectiveness of state-of-the-art
computer processors. However, that leaves us continually several orders of
magnitude short on processing power if we wish to make state-of-the-art images
in real-time or even interactive time. An obvious answer to this dilemma lies
in parallel processing. As massively parallel supercomputers become a reality
and promise a future including massively parallel everyday computers, it is no
longer a silly exercise to consider how to use thousands or even millions of
processors in computer graphics.
Many algorithms from traditional computer graphics lend themselves to parallel
implementation. However, there are many ways in which the remaining algorithms
can prevent a system from realizing the potential of a massively parallel
computing resource. Many parallel architectures for graphics have been proposed
and a few have even been available commercially in the past few years. A close
look at these architectures usually reveals underlying assumptions about the
nature of computations for graphics which may not always prove true.
\bk
\.{I}\c{s}ler, Veysi, Cevdet Aykanat, and B\"{u}lent \"{O}zg\"{u}\c{c}.
``Subdivision of 3D Space Based on the Graph Partitioning for Parallel Ray
Tracing.'' {\em Second Eurographics Workshop on Rendering}, May 1991, p. ?.
\label{ISL91}
\mk
An approach for parallel ray tracing is to subdivide the 3D space into
rectangular volumes and assign the computations and the object descriptions in
each volume to a different processor. The subdivision process is thus critical
in reducing the interprocessor communication overhead, and maintaining the load
balance among processors of a multicomputer. In this paper, after a brief
overview of parallel ray tracing, a heuristic algorithm is propsed to subdivide
the 3D space by converting the problem into a graph partitioning problem for
parallel ray tracing on multicomputers. The proposed algorithm tries to
minimize the communication cost while maintaining a load balance among
processors.
\bk
Pitot, Paul. ``The Voxar Project.'' {\em IEEE CG\&A}, January 1993, p. 27-33.
\label{PIT93}
\mk
[Taken from Introduction]
The Voxar project has attempted to define a parallel processing model to
simulate 3D physical phenomena. This article discusses an implementation of the
ray tracing algorithm baased on this model.
The idea behind our project is an analogy between the way light rays interact
with objects in the physical world and the manner in which traced rays run
through simulated space. Just as a point in space reacts to a light beam, our
voxels react to rays through the modified behavior of their corresponding
processors, hence the project name Voxel Architecture. The implementation of
such a machine required some compromises, but we have done our best to preserve
the basic idea.
\subsection{Hypercube Implementations}
\bk
Goldsmith, Jeffrey, and John Salmon. ``A Ray Tracing System
for the Hypercube.'' Caltech Concurrent Computing Memorandum HM-154, 1985.
\label{GOL85}
\mk
Ray tracing for computer graphics is one of the most CPU intensive algorithms
in use today. We discuss ray tracing and the design of a ``state-of-the-art''
ray tracing renderer for the Caltech Hypercube. Since rays do not interact,
the communication overhead in a parallel decomposition can be very small. Load
imbalance is the largest source of inefficiency, and it can be reduced by
various means, including a scattered decomposition or adaptive run time
decomposition. Data base decomposition is also feasible for very complex
images. With the Mark III hypercube we will have the computing power to
investigate new techniques such as the modeling of chromatic aberration and
distributed light sources.
\bk
Bouatouch, K., and T. Priol. ``Parallel Space Tracing: An Experience
on an iPSC Hypercube.'' {\em New Trends in Computer Graphics, Proceedings of CG
International '88}, Nadia Magnenat-Thalmann and Daniel Thalmann (eds.),
Springer-Verlag, p. 170-188. Also apppears as ``Experimenting with a Parallel
Ray-Tracing Algorithm on a Hypercube Machine'' in {\em Proceedings of
Eurographics '88}, David A. Duce and Pierre Jancene (eds.), p. 243-259. Each
paper contains a few details that the other does not.
\label{BOUA88a}
\mk
A parallel space tracing algorithm is presented. It subdivides the scene into
regions. These latter are distributed among the processors of a 2D array
architecture which is mapped onto an iPSC hypercube machine designed by Intel
company. Each processor subdivides its own region into cells to accelerate the
ray tracing algorithm. Processors communicate by means of messages. The
pyramidal shape of the regions allows the deletion the primary ray messages.
An efficient termination algorithm is described. A method of performing a
roughly uniform load distribution is proposed.
\bk
Delany, Hubert C. ``Ray Tracing on a Connection Machine.'' Technical
Report \#VZ88-3, Thinking Machines, April 1988.
\label{DEL88}
\mk
A new ray-tracing algorithm designed specifically for massively parallel
hypercube connected processors is introduced. World space is subdivided
according to a fixed size 3-D orthogonal grid. Rays are traced using ray-points
which move along the rays, referencing the voxels intersected. One processor
is assigned per ray, as well as one processor per object fragment.
A pointerless data structure called an induced octree is used. This structure
exists only as an ordering of the data in processor-address space, yet with it,
all processors can determine the jump-distance to the nearest non-empty voxel
in parallel to within a power of two. Ray-points move by large jumps whenever
possible, and ray-object intersection proceeds in log time in the average ray
length. Sorting via the network is the parallel analogue to octree-traversal.
A code-scheduling mechanism is introduced which improves processor usage for
SIMD architectures.
Preliminary results are presented for an implementation using a CM-1 CPU
equipped with 16K processors.
\bk
Kobayashi, H., T. Nakamura, and Y. Shigei. ``A Strategy for Mapping
Parallel Ray-Tracing into a Hypercube Multiprocessor System.'' {\em New Trends
in Computer Graphics, Proceedings of CG International '88}, Nadia
Magnenat-Thalmann and Daniel Thalmann (eds.), Springer-Verlag, p. 160-169.
\label{KOB88a}
\mk
We present a systematic and efficient strategy for mapping an
adaptively/regularly subdivided object space (a set of subspaces) into the
nodes of the hypercube. The property of this mapping is that the distance
between the neighboring subspaces on the hypercube is proportional to the
difference between the sizes of these subspaces. Especially, if neighboring
subspaces are of equal size, these subspaces are allocated to the neighboring
processors. As a result, we can realize a communication-effective
implementation of parallel ray-tracing on the hypercube multiprocessor system.
The mapping is derived from the byproduct of octree encoding of an object space.
\bk
Orcutt, David Edward. ``Implementation of Ray Tracing on the
Hypercube.'' {\em Third Conference on Hypercube Concurrent Computers and
Applications}, Geoffrey Fox (ed.), Vol. 2, 1988, p. 1207-1210.
\label{ORC88}
\mk
This prelimary report presents one implementation of a ray tracing system. The
ray tracing system was divided and distributed onto the hypercube based on
data to be processed. The implementation which includes a dynamic load
balancing scheme will be shown to be very efficient for large scenes.
\bk
Salmon, John, and Jeff Goldsmith. ``A Hypercube Ray-tracer.''
{\em Third Conference on Hypercube Concurrent Computers and Applications},
Geoffrey Fox (ed.), Vol. 2, 1988, p. 1194-1206.
\label{SAL88}
\mk
We describe a hypercube ray-tracing program for rendering computer graphics.
For small models, which fit in the memory of a single processor, the
ray-tracer uses a scattered decomposition of pixels to balance the load, and
achieves a very high efficiency. The more interesting case of large models,
which cannot be stored in a single processor, requires a decomposition of the
model data as well as the pixels. We present algorithms for constructing a
decomposition based upon information about the frequency with which different
elements of the model are accessed. The resulting decomposition is
approximately optimized to minimize communication and achieve load balance.
\bk
Crow, F. C., G. Demos, J. Hardy, J. McLaughlin, and K. Sims. ``3D Image
Synthesis on the Connection Machine.'' {\em Parallel Processing for Computer
Vision and Display}, P. M. Dew, R. A. Earnshaw, and T. R. Heywood (eds.),
Addison-Wesley Publishing Company, Reading, Massachusetts, 1989, p. 254-269.
\label{CRO89}
\mk
Supercomputers are coming into wider use for generating realistic imagery for
commercial animation, special effects, and scientific simulation. The
Connection Machine requires a more radical rethinking of rendering algorithms
than previous supercomputers since it is not intended to function as a scalar
processor. A fascinating mix of changes from conventional approaches is
emerging. Some procedures can run virtually unchanged while others must be
turned completely inside out.
We have confidence, at this rather early point, in the viability of the
Connection Machine as an architecture for high-end computer graphics. For
complex scenes resulting in at least tens of thousands of polygons per frame,
most steps of the rendering pipeline can make effective use of the massive
number of processors available.
Early approaches to massively parallel graphics systems have focused on
processor-per-pixel organizations. We show that a dynamic mix of
organizations, including processor-per-pixel, processor-per-vertex, and
processor-per-polygon are necessary. Additionally, we note that an apparent
consequence of the style of algorithm enforced by the Connection Machine is
an enormously increased appetite for memory.
We are currently implementing a rendering system on a frequently upgraded
Connection Machine installation at Whitney/Demos Productions. While the small
memory of the first generation Connection Machine, CM-1, limited early
experiments, the second generation Connection Machine, CM-2, has provided
interesting experience toward understanding massively parallel computation
applied to 3D image synthesis.
\bk
Priol, Thierry, and Kadi Bouatouch. ``Static Load Balancing
for a Parallel Ray Tracing on a MIMD Hypercube.'' {\em The Visual Computer},
Vol. 5, 1989, p. 109-119.
\label{PRI89}
\mk
A parallel ray tracing algorithm is presented. It subdivides the scene into 3D
regions, the adjacency of which is modelled by a connectivity graph of regions.
Since with each region is associated a ray tracing process, this graph becomes a
graph of processes, the edges of which represent the communications between
processes. This graph of processes is suitably mapped onto a hypercube topology
so as to minimize the communiction cost. Static load balancing is performed and
solutions are brought to the problems of network congestion and termination.
\bk
Badouel, Didier, and Thierry Priol. ``An Efficient Parallel Ray
Tracing Scheme for Highly Parallel Architectures.'' {\em Fifth Eurographics
Workshop on Graphics Hardware}, 1990, p. 93-106.
\label{BAD90a}
\mk
The production of a realistic image generated by computer requires a huge
amount of computation and a large memory capacity. The use of highly parallel
computers allows this process to be performed faster. Distributed memory
parallel computers (DMPCs), such as hypercubes or {\em transputer}-based
machines, offer an attractive performance/cost ratio when the load balancing
has been balanced and the partition of the data domain has been performed.
This paper presents a parallel ray tracing algorithm for DMPC usin a Shared
Virtual Memory (SVM) which solves these two classical problems. This algorithm
has been implemented on a hypercube iPSC/2 and results are given.
\bk
Carter, Michael, and Keith Teague. ``Distributed Object Database Ray
Tracing on the Intel iPSC/2 Hypercube.'' {\em Proceedings of the 5th
Distributed Memory Computing Conference}, IEEE Society Press, 1990, p. 217-222.
\label{CAR90}
\mk
A medium-grained, distributed-memory parallel computer is used as a platform
from which to research a specific issue in accelerating the ray-tracing
process. The work presented here deals specifically with the problem of
distributing large object databases over the computing nodes of the Intel
iPSC/2. An efficient object database decomposition method is presented which
behaves like a fully-associative cache. Ramifications of the distributed
object database forced the development of an interruptible ray-tracing loop, a
ray scheduler, and a dynamic viewplane decomposition. Performance metrics,
such as object database hit ratio, load-balance, and efficiency are presented.
\bk
Schr\"{o}der, Peter, and Steven M. Drucker. ``A Data Parallel
Algorithm for Raytracing of Heterogeneous Databases.'' {\em Graphics Interface
'92}, p. 167-175.
\label{SCH92}
\mk
We describe a new data parallel algorithm for raytracing. Load balancing is
achieved through the use of {\em processor allocation}, which continually
remaps available resources. In this manner heterogeneous databases are handled
without problems of low resource usage. The proposed approach adapts well to
both extremes: a small number of rays and a large database; a large number of
rays and a small database. The algorithm scales linearly--over a wide range--in
the numbgr of rays and available processors. We present an implementation on
the Connection Machine CM2 system and provide timings.
\subsection{Transputer Implementations}
\bk
Aktkin, Phil, Steve Ghee and Jamie Packer. ``Transputer Architectures
for Ray Tracing.'' {\em Proceedings of Computer Graphics '87}, Online
Publications, 1987, p. 157-172. A revision of ``Exploiting Concurrency: A Ray
Tracing Example'' by Jamie Packer, Inmos Technical Note 7, Inmos Limited,
October 1987.
\label{AKT87}
\mk
This paper will describe the application of a network of Inmos transputers to
a complex task such as ray tracing. Examples will be given for breaking such a
task down into concurrent processes, which can be distributed across a
processing network.
\bk
Ransen, Owen F. ``The Art of Ray Tracing.'' {\em Byte}, February 1990,
p. 238-242.
\label{RAN90}
\mk
[No abstract. Semi-technical paper about ray tracing on transputers.]
\section{Effects}
\subsection{Antialiasing}
\bk
Amanatides, John. ``Ray Tracing with Cones.'' {\em SIGGRAPH '84},
p. 129-135.
\label{AMA84a}
\mk
A new approach to ray tracing is introduced. The definition of a ``ray'' is
extended into a cone by including information on the spread angle and the
virtual origin. The advantages of this approach, which tries to model light
propagation with more fidelity, include a better method of antialiasing, a
way of calculating fuzzy shadows and dull reflections, a method of calculating
the correct level of detail in a procedural model and texture map, and finally,
a procedure for faster intersection calculation.
\bk
Dipp\'{e}, Mark A., and Erling Henry Wold. ``Antialiasing Through
Stochastic Sampling.'' {\em SIGGRAPH '85}, p. 69-78.
\label{DIP85}
\mk
{\em Stochastic sampling} techniques, in particular {\em Poisson} and
{\em jittered} sampling, are developed and analyzed. These approaches allow
the construction of {\em alias-free} approximations to continuous functions
using discrete calculations. Stochastic sampling scatters high frequency
information into broadband {\em noise} rather than generating the false
{\em patterns} produced by {\em regular} sampling. The type of randomness used
in the sampling process controls the spectral character of the noise. The
{\em average sampling rate} and the function being sampled determine the
amount of noise that is produced. Stochastic sampling is applied {\em
adaptively} so that a greater number of samples are taken where the function
varies most. An {\em estimate} is used to determine how many samples to take
over a given region. {\em Noise reducing filters} are used to increase the
efficacy of a given sampling rate. The {\em filter width} is adaptively
controlled to further improve performance. Stochastic sampling can be applied
{\em spatiotemporally} as well as to other aspects of scene simulation. {\em
Ray tracing} is one example of an image synthesis approach that can be
antialiased by stochastic sampling.
\bk
Lee, Mark E., Richard A. Redner, and Samuel P. Uselton.
``Statistically Optimized Sampling for Distributed Ray Tracing.'' {\em SIGGRAPH
'85}, p. 61-67.
\label{LEE85}
\mk
Cook, Porter, and Carpenter coined the phrase ``distributed ray tracing'' to
describe a technique for using each ray of a super-sampled ray tracing
procedure as a sample in several dimensions to achieve effects such as
penumbras and motion blur in addition to spatial antialiasing. The shade to
be displayed at a pixel is a weighted integral of the image function. The
purpose of using many rays per pixel is to estimate the value of this
integral. In this work, a relationship between the number of sample rays and
the quality of the estimate of this integral is derived. Furthermore, the
number of rays required does not depend on the dimensionality of the space
being sampled, but only on the variance of the multi-dimensional image
function. The algorithm has been optimized through the use of statistical
testing and stratified sampling.
\bk
Purgathofer, Werner. ``A Statistical Method for Adaptive Stochastic
Sampling.'' {\em Proceedings of Eurographics '86}, A. A. G. Requicha (ed.),
p. 145-152.
\label{PUR86}
\mk
Stochastic sampling is a good alternative to pure oversampling in terms of
image quality. A method for adaptively controlling the number of required
samples to the complexity of the picture is presented. The quality of the
obtained picture can be controlled by two well-understandable parameters,
these parameters define an error interval size and the probability that a
pixel lies within it. The usefulness of the method is described by applying
it to distributed ray-tracing.
\bk
Mitchell, Don P. ``Generating Antialiased Images at Low Sampling
Densities.'' {\em SIGGRAPH '87}, p. 65-72.
\label{MIT87}
\mk
Ray tracing produces point samples of an image from a 3-D model. Constructing
an antialiased digital picture from point samples is difficult without
resorting to extremely high sampling densities. This paper describes a program
that focuses on that problem. While it is impossible to eliminate aliasing
totally, it has been shown that nonuniform sampling yields aliasing that is
less conspicuous to the observer. An algorithm is presented for fast
generation of nonuniform sampling patterns that are optimal in some sense.
Some regions of an image may require extra sampling to avoid strong aliasing.
Deciding where to do extra sampling can be guided by knowledge of how the eye
perceives noise as a function of contrast and color. Finally, to generate the
digital picture, the image must be reconstructed from the samples and
resampled at the display pixel rate. The nonuniformity reconstruction filter
is presented which solves this problem efficiently.
\bk
Argence, J. ``Antialiasing for Ray Tracing Using CSG Modeling.'' {\em
New Trends in Computer Graphics, Proceedings of CG International '88}, Nadia
Magnenat-Thalmann and Daniel Thalmann (eds.), Springer-Verlag, p. 199-208.
\label{ARG88}
\mk
Aliasing is a decisive problem in realistic image producing. Since ray tracing
is a rather slow algorithm of visualization, antialiasing an image by
systematically oversampling its pixels is quite costly. We suggest a local
adaptive oversampling algorithm for antialiasing ray tracing. We use space
coherence to determine which pixels on the screen need be oversampled. The CSG
model is used to define the scene, and also to limit it, for each pixel, to
objects of concern only. To minimize memory space needs, we work on a window
over the screen.
\bk
Cook, Robert L. ``Stochastic Sampling in Computer Graphics.'' {\em
Tutorial: Computer Graphics: Image Synthesis}, Kenneth I. Joy, Charles
W. Grant, Nelson L. Max, and Lansing Hatfield (eds.), Computer Society Press,
Washington, 1988, p. 283-304. Also appears in {\em ACM TOG}, Vol. 5, \#1,
January 1986, p. 51-72.
\label{COO88}
\mk
Ray tracing, ray casting, and other forms of point sampling are important
techniques in computer graphics, but their usefulness has been undermined by
aliasing artifacts. In this paper it is shown that these artifacts are not an
inherent part of point sampling, but a consequence of using regularly spaced
samples. If the samples occur at appropriate nonuniformly spaced locations,
frequencies above the Nyquist limit do not alias, but instead appear as noise
of the correct average intensity. This noise is much less objectionable to our
visual system than aliasing. In ray tracing, the rays can be stochastically
distributed to perform a Monte Carlo evaluation of integrals in the rendering
equation. This is called {\em distributed ray tracing} and can be used to
simulate motion blur, depth of field, penumbrae, gloss, and translucency.
\bk
Cychosz, Joseph M. ``Efficient Generation of Sampling Jitter Using
Look-up Tables.'' Purdue CADLAB Technical Report No. JC-05, Purdue University,
1989.
\label{CYC89}
\mk
Presented in this paper is a method for generating sampling jitter using a
limited number of random numbers. The proposed jitter function is a function
of three variables, namely the sample location ($x,y$) and the sample number
($s$) for the location. Furthermore, the method will produce repeatable
jitter for all $x$ and $y$ without requiring either the storage of a large
number of random numbers, or the consistent access of $x$, $y$, and $s$. This
paper examines the application of this jitter function to the ray tracing
algorithm.
\bk
Nakamae, Eihachiro, Takao Ishizaki, Tomoyuki Nishita, and Shinichi
Takita. ``Compositing 3D Images with Antialiasing and Various Shading
Effects.'' {\em IEEE CG\&A}, March 1989, p. 21-29.
\label{NAK89}
\mk
To make complex images look realistic, various typpes of geometric models and
shading effects are needed. Programs capable of dealing with these are usually
large and complex, and they are expensive to develop. This article proposes a
method for compositing 3D images produced by different programs taking depth
order into consideration. This method can add the following effects to
composited images:
1. Antialiased images with scaling are displayed by a simple algorithm.
2. The algorithm can add shading effects due to various types of light, such as
area sources and skylight.
3. Such shading effects as transparency and refraction are usually
accomplished by ray tracing, but at the expense of enormous computation time.
Our method allows ray tracing to be performed in localized regions, producing
realistic results without the computational expense of ray tracing the whole
scene.
In addition to the above processes, such shading effects as fog and texture
mapping can be processed with conventional methods. Thus it becomes possible
to display complex scenes with various shading effects, using relatively
small computers.
\bk
Painter, James, and Kenneth Sloan. ``Antialiased Ray Tracing by
Adaptive Progressive Refinement.'' {\em SIGGRAPH '89}, p.281-288.
\label{PAI89}
\mk
We describe an antialiasing system for ray tracing based on adaptive
progressive refinement. The goals of the system are to produce high quality
antialiased images at a modest average sample rate, and to refine the image
progressively so that the image is available in a usable form early and is
refined gradually toward the final result.
The method proceeds by adaptive stochastic sampling of the image plane,
evaluation of the samples by ray tracing, and image reconstruction from the
samples. Adaptive control of the sample generation process is driven by three
basic goals: coverage of the image, location of features, and confidence in the
values at a distinguished ``pixel level'' resolution.
A three-stage process of interpolating, filtering, and resampling is used to
reconstruct a regular grid of display pixels. This reconstruction can be either
batch or incremental.
\bk
Salesin, David, and Jorge Stolfi. ``The ZZ-Buffer: a Simple and
Efficient Rendering Algorithm with Reliable Antialiasing.'' {\em Proceedings of
the PIXIM '89 Conference}, p. 451-466.
\label{SALE89}
\mk
The ZZ-buffer is a new rendering algorithm that is simple, efficient, and
produces high-quality images. The algorithm correctly renders transparent
surfaces, shadows with real penumbrae, and depth of field effects. The
ZZ-buffer algorithm is substantially faster than ray tracing an nearly as
versatile. While the ZZ-buffer is somewhat slower than the Z-buffer or
A-buffer, it avoids the aliasing and other artifacts of these algorithms.
The algorithm's efficiency comes from a screen-space object indexing scheme,
and from the use of lazy evaluation for visibility tests. It achieves reliable
antialiasing by employing an adaptive form of stochastic supersampling. The
algorithm is simple enough that we give most of its code here in this paper.
The algorithm has been implemented as part of a commercial production system
and has proved robust over a large variety of images.
\bk
Thomas, D., Arun N. Netravali, and D. S. Fox. ``Anti-aliased Ray
Tracing with Covers.'' {\em Computer Graphics Forum}, 8 (1989), p. 325-336.
\label{THO89}
\mk
A fast and effective object space method for anti-aliasing ray-traced pictures
is introduced. Traditionally, anti-aliasing has been done using
super-sampling. However, this is costly since it requires casting large
numbers of rays to obtain sample densities above the displayed pixel density.
It is also wasteful since much of the information in these samples is
discarded when they are filtered to yield the anti-aliasing pixels. We avoid
these problems by performing the filtering in the object space using the
geometry of ray-surface intersections rather than by casting extra rays. In
addition, we only perform filtering at a pixel if edges are nearby. We detect
these edges by observing the order in which the pixel's rays pass through
cover surfaces constructed just inside and outside the surface of each object.
Shadows, reflections and refractions can be anti-aliased using this method and
a variety of object types can be handled including ellipsoids, polyhedra, and
objects formed using set operations.
Our anti-aliasing gives high image quality that can only be approached by
using super-sampling densities at least four times the display pixel density.
Moreover, since the overhead of our method is small, it would take three to
four times as long to render an anti-aliased image using super-sampling than
it would with our method. Furthermore, covers allow sampling densities less
than the displayed pixel density. When this is done, anti-aliased images can
be rendered twice as fast as with no anti-aliasing and six to eight times as
fast as when super-sampling is used for anti-aliasing.
\bk
Wyvill, Geoff, and P. Sharp. ``Fast Antialiasing of Ray Traced
Images.'' {\em New Trends in Computer Graphics, Proceedings of CG International
'89}, p. 579-588.
\label{WYV89}
\mk
The best way to antialias an image is by prefiltering. But for many ray traced
images, there is no adequate description of the ideal image to filter. The only
information you have is the sample points. An efficient algorithm for
antialiasing in these cases is presented.
\bk
Ohta, Masataka, and Mamoru Maekawa. ``Ray-Bound Tracing for Perfect
and Efficient Anti-Aliasing.'' {\em The Visual Computer}, Vol. 6, 1990,
p. 125-133. A revision of ``Bounded Ray Tracing for Perfect Efficient
Anti-aliasing.'' Technical Report No. 87-03, Dept. of Information Science,
University of Tokyo, January 1987.
\label{OHT90}
\mk
A complete detection of whether aliasing occurs in a given pixel is possible by
using the concept of bounded rays and ray-bound tracing. A coherent set of rays
can be bounded by bounding both their origins (by a sphere) and directions (by
a circle on a unit sphere). By tracing bounds of rays in a pixel, along the
direction of reflection, refraction or to light sources, it is possible to
obtain an upper bound on the degree of aliasing in the pixel. Ray bound tracing
is possible against various shapes and with various shading algorithms.
\bk
Brown, William Todd. ``Filtering and Adaptive Supersampling for Ray
Traced Rendering,'' Report No. UIUCDCS-R-91-1657, Department of Computer
Science, University of Illinois at Urbana-Champaign, January 1991.
\label{BROW91}
\mk
The problems addressed by filtering of supersampled images are considered.
Issues in filter selection are considered, and upon these criteria and a
comparison of linear image filters is made. Previous work in adaptive
supersampling is then described. A revision of prior techniques for adaptive
supersampling is presented to address problems in memory consumption. This
system yields a substantial reduction in rendering time versus conventional
supersampling, yet retains image quality.
\bk
Mitchell, Don P. ``Spectrally Optimal Sampling for Distribution Ray
Tracing.'' {\em SIGGRAPH '91}, p. 157-164.
\label{MIT91}
\mk
Nonuniform sampling of images is a useful technique in computer graphics,
because a properly designed pattern of samples can make aliasing take the form
of high-frequency random noise. In this paper, the technique of nonuniform
sampling is extended from two dimensions to include the extra parameter
dimensions of distribution ray tracing. A condition for optimality is
suggested, and algorithms for approximating optimal sampling are developed. The
technique is demonstrated at low sampling densities, so the characteristics of
aliasing noise are clearly visible. At supersampling rates, this technique
should move noise into frequencies above the passband of pixel-reconstruction
filter.
\bk
Schlick, Christophe. ``An Adaptive Sampling Technique for Multidimensional
Integration by Ray-Tracing.'' {\em Second Eurographics Workshop on Rendering},
May 1991, p. ?.
\label{SCH91}
\mk
[Taken from Introduction]
Creating pictures with photorealistic effects (diffuse and specular
interreflection, shadow and penumbra, depth of field, motion blur...) implies
to solve multidimensional integral equations -- so-called {\em rendering
equations}. Ray-tracing is a well-known powerful and flexible tool that has
been successfully for solving these rendering equations, either in an
image-oriented process (distributed ray-tracing, path tracing) or in a
scene-oriented one (deterministic radiosity, stochastic radiosity).
Unfortunately, ray-tracing is a point sampling technique and thus is prone to
aliasing artifacts. Moreover, because the signal to sample is generally not
bounded in the frequency domain, aliasing cannot be totally eliminated but
only reduced. Antialiasing methods that have been proposed for ray-tracing
usually combine an increase of the sampling rate and a strategy for samples
selection. But the most powerful of them remain expensive because of the great
number of rays needed; thus some improvements have to be found to reduce that
number.
A classical technique -- adaptive sampling -- consists in sending more or less
rays, according to the way the signal varies. The drawback of the existing
adaptive sampling methods for multidimensional integration by ray-tracing
(MIRT) is that they {\em don't have all the wanted characteristics} irregular
and importance sampling, uncorrelation between the dimensions to sample,
complete stratification at each refinement level, efficient reconstruction).
In this paper, an adaptive sampling technique is presented, that fulfills all
these conditions and can be totally implemented with look-up tables for
efficiency considerations.
\subsection{Illumination Models}
\bk
Tezenas du Montcel, Bruno, and Alain Nicolas. ``An Illumination Model
for Ray Tracing.'' {\em Proceedings of Eurographics '85}, Carlo E. Vandoni
(ed.), p. 63-75.
\label{TEZ85}
\mk
Presented here is an illumination model adapted to meet the demands of a
ray-tracing program. This model is an extension of the Torrance-Sparrow
reflection model, described by James F. Blinn and also by Robert L. Cook and
Kenneth F. Torrance, concerning rough metallic surfaces. Special attention
has been given to the modelization of transparency phenomena in order to keep
it consistent with those mentioned above. After explaining the main
differences induced in the elaboration of the model by the constraints imposed
by a ray-tracing algorithm, the different calculations will then be clarified
which are necessary to compute the final color associated with each pixel. The
model is implemented within the ray-tracing program developed at the
``Institute National de la Communication Audiovisuelle'' (Bry s/ Mame, France)
(National Institute for Audiovisual Communication) as part of the collection
of programs designed to produce three dimensional picture sequences regrouped
under the title ``P.A.R.I.S.'' - Programmes d'Animation Realiste d'Images de
Synthese - (Programs for Realistic Animation of Synthetic Images).
\bk
Chattopadhyay, Sudeb, and Akira Fujimoto. ``Bi-Directional Ray
Tracing.'' {\em Computer Graphics 1987 - Proceedings of CG International '87},
Tosiyasu L. Kunii (ed.), Springer Verlag, p. 335-343.
\label{CHA87}
\mk
Ray tracing is one of the most powerful techniques used in computer graphics.
Although ray tracing techniques can take into account the effects of
reflection from neighboring surfaces, it has hitherto been impossible to
completely account for the ambient or global illumination arising out of
complex interreflections in an environment because of limitations of the
number of rays that could be fired to render the scene in a span of time
reasonable from the point of view of practical use. In this paper, a fast
method based on positive and conventional (reverse) ray tracing techniques to
take into account the complex interreflections in a scene is proposed. While
the directionality of the illumination intensity from the secondary sources
are not taken into account the description is viewer independent. Unlike the
radiosity approach the present method can treat open systems since no
limitations due to conservation of energy is imposed. The method is more
efficient and computationally inexpensive.
\bk
Hall, Roy A. ``Color Reproduction and Illumination Models.'' {\em
Techniques for Computer Graphics}, David F. Rogers and Rae A. Earnshaw (eds.),
Springer-Verlag, 1987, p. 194-238.
\label{HAL87}
\mk
A comprehensive analysis of previous research related to color computation and
image display is presented. Physical, optical, and perceptual background
references are described relative to color determination and display.
Illumination models are cast into similar terms for a comparative analysis of
visual and computational compromises. Finally, image display issues are
discussed and illustrated.
\bk
Bouville, Christian, J. L. Dubois, I. Marchal, and M. L. Viaud.
``Monte-Carlo Integration Applied to an Illumination Model.'' {\em Eurographics
'88}, p. 493-498.
\label{BOUV88b}
\mk
The use of Monte-Carlo integration together with stochastic sampling is very
useful for dealing with the scattering phenomena that occur in the propagation
and reflection of light. In this paper, these techniques have been applied to
the implementation of a physics-based global illumination model. The
theoretical basis of this approach is presented briefly and various
applications to realistic image are then described. This concerns the rendering
of penumbra and scattered reflection effects, antialiasing and accurate color
modelling through spectral integration. For all these applications, both
theoretical and implementation aspects are developed and it is shown that
stochastic techiques can provide very simple and efficient algorithms.
\bk
Whitted, Turner, and Robert L. Cook. ``A Comprehensive Shading Model.''
{\em Tutorial: Computer Graphics: Image Synthesis}, Kenneth I. Joy, Charles
W. Grant, Nelson L. Max, and Lansing Hatfield (eds.), Computer Society Press,
Washington, 1988, p. 232-243. Also appears in unpublished course notes from
{\em State of the Art in Image Synthesis, SIGGRAPH '85 Course Notes \#11}.
\label{WHI88}
\mk
As part of the search for better display algorithms, we have tried to classify
existing shading techniques within the most comprehensive model that we could
devise. Shading is a function which depends on the illumination and reflection
at visible points in a scene. Reflection depends in turn on the geometry and
surface properties at the point of reflection. We define a general and
comprehensive model of the image synthesis process in a ``pixel equation''
whose right hand side expresses a combination of the illumination and
reflection components. We then describe various shading techniques as
approximations to this expression to illustrate the limitations of typical
shading models.
\bk
Bouville, Christian, Kadi Bouatouch, Pierre Tellier, and Xavier Pueyo.
``A Theoretical Analysis of Global Illumination Models.'' {\em Eurographics
Workshop on Photosimulation}, 1990, p. ?. Also appears in {\em Photorealism in
Computer Graphics}, K. Bouatouch, and C. Bouville (eds.), Springer-Verlag,
1992, p. 57-71.
\label{BOU90}
\mk
This paper provides a general theoretical framework in which any previous
global illumination model can be described. It gives a theoretical background
which is based on radiometric quantities and on a physical approach to insure
generality and consistency. A system of energy balance equations is obtained.
Two approaches are possible depending on the way the radiometric properties of
surfaces are characterized. Furthermore, the problem of solving this system of
equations with the two-component method is addressed, and we show how we can
take advantage of the characteristics of each component to select an
appropriate method.
\bk
Roelens, M., G. Fertey, B. Peroche. ``Light Sources in a Ray
Tracing Environment.'' Technical Report \#90-6, Ecole Nationale Sup\'{e}rieure
des Mines de Saint-Etienne, D\'{e}partement Informatique Appliqu\'{e}e, June
1990. Also appears in {\em Proceedings Eurographics Workshop on
Photosimulation, Realism and Physics in Computer Graphics}, June 1990,
p. 195-213.
\label{ROE90}
\mk
Desk lamps, automobile headlights, street lamps,..., usually illuminate by
light cones. This article describes two methods adapted to simulate those
typical light sources, using a CSG model, in a ray tracing environment. These
methods allow us to visualize not only illuminated objects but also the light
beams. The first one is completely empirical; the second one is an improvement
of the previous one, physically-based, with spherical particles inside the
light beam.
\bk
Shirley, Peter, Kelvin Sung, and William Brown. ``A Ray Tracing
Framework for Global Illumination Systems.'' {\em Graphics Interface '90},
p. 117-128. *
\label{SHI90a}
\mk
The fundamental software components useful for a zonal ray tracing system are
described. The interface protocols and some implementational observations are
outlined for each of the key components. Components for sampling, ray-object
intersection, and zonal (radiosity) calculations are emphasized. Some results
from a global illumination program assembled from the components are discussed.
\bk
Lange, Brigitta. ``The Simulation of Radiant Light Transfer with Stochastic
Ray-Tracing.'' {\em Second Eurographics Workshop on Rendering}, May 1991, p. ?.
\label{LAN91}
\mk
In the following, an enhanced stochastic ray-tracing method will be presented,
that models the radiant light transfer in order to generate photorealistic
images. The approach is based on the ``rendering equation'', an alternative
approximation to the Maxwell equations. By invoking a probabilistic model of
the radiation exchange process and applying Monte Carlo sampling techniques to
sole the rendering equation, it is possible to utilize an already existing
ray-tracer by modifying it. A view-dependent solution is presented that can
handle diffuse and specular reflections and that can also model the
illumination from area sources of circular shape. Moreover, a weighting factor
for the sampled intensities has been developed that provides not only a correct
treatment of the intensity variations of illumination in dependence of the
distance, but can also be used to accelerate the image generation process by
controlling the number of paths to be traced for each pixel individually as
required by the particular lighting situation for the corresponding point in
the scene, without producing a loss in accuracy.
\bk
Shirley, Peter S. {\em Physically Based Lighting Calculations for Computer
Graphics}, Ph.D. Dissertation, Computer Science Department, University of
Illinois at Urbana-Champaign, 1991.
\label{SHI91}
\mk
Realistic image generation is presented in a theoretical formulation that
builds from previous work on the rendering equation. Previous and new solution
techniques for the global illumination are discussed in the context of this
formulation.
The basic physics of reflection and light transport are used to derive the
rendering equation. The problem of generating an image is phrased in terms of
evaluating the Global Radiance Function, which consists of radiance values for
all points and directions. This formulation of the rendering equation differs
from previous formulations by rigorously accounting for transparent surfaces.
The physical rules governing reflection are used to make improvements in
reflection models. In diffuse transmission it is shown that light is filtered
to the same extent regardless of which side of the surface the light comes
from. This eliminates one of the parameters from previous diffuse transmission
models. The microscopic structure of polished surfaces was used to justify
coupling the diffuse and specular coefficients according to the Fresnel
Equations. The Fresnel Equations are commonly used to vary the reflectivity of
metal and transparent dielectrics, but have not been used before to vary the
reflectivity of the polish and underlying diffuse substrate.
Image-based solution methods are phrased as a lazy evaluation of the Global
Radiance Function; evaluation takes place for visible points. Several
constraints were outlined for what part of the image function should contribute
to each pixel, and a separable, symmetric filter is developed that satisfies
these constraints.
A stochastic shadow ray generation method is introduced that reduces the
number of shadow rays needed for scenes with multiple light sources. The
sampling distributions used for shadow rays and other dimensions of the
integral are evaluated by introducing to computer graphics the notion of
discrepancy from numerical integration theory. The use of discrepancy provided
some insight not given by the signal processing theory traditionally used in
computer graphics. As part of this discussion a new sampling scheme, N-rooks
sampling, is introduced. N-rooks sampling is shown to be as efficient to
generate as jittered sampling, while often outperforming Poisson disk sampling.
It also can generate distributions for any positive integer number of samples,
including primes.
The peculiarities of the sampling spaces used in distributed ray tracing are
shown to preclude naive hierarchical sampling. It is demonstrated that
hierarchical sampling can greatly reduce noise, however, if we have sufficient
knowledge of the sampling space.
Zonal methods represent the opposite extreme of image methods, where all
function values are computed and stored, and each evaluation is a table lookup.
The zonal method is phrased as a transport simulation, similar to progressive
refinement radiosity methods. Using this direct simulation model, it is
straightforward to generate zonal methods for anisotropic reflection. This
requires storing accumulated power in a directional table for each zone. A
proof is given that, subject to certain constraints, only $O(N)$ rays are
required for a zonal solution with $N$ zones.
Simulation allows for surfaces which are not zoned to interact with those that
are. This is a generalization of the diffuse and specular ray tracing transport
work of Malley. This technique can be useful for highly complex or difficult to
zone surfaces such as a human face.
The zonal solution methods can be applied to participating media in a fairly
natural manner. This zonal method has the benefit of not requiring as much
computation time when the medium is sparse. This also applies to media with
anisotropic scattering characteristics, but such a solution requires a large
amount of storage.
Wavelength dependent solutions introduce some complications, but can be handled
by traditional point sampling techniques. Time dependent solutions are easily
handled by image-based solution methods, but are very difficult to apply using
zonal methods.
\bk
Mitchell, Don, and Pat Hanrahan. ``Illumination from Curved
Reflectors.'' {\em SIGGRAPH '92}, p. 283-291.
\label{MIT92}
\mk
A technique is presented to compute the reflected illumination from curved
mirror surfaces onto other surfaces. In accordance with Fermat's principle,
this is equivalent to finding extremal paths from the light source to the
visible surface via the mirrors. Once pathways of illumination are found,
irradiance is computed from the Gaussian curvature of the geometrical
wavefront. Techniques from optics, differential geometry, and interval
analysis are applied to this problem in global illumination.
\section{Image Synthesis Systems}
\bk
Hall, Roy A., and Donald P. Greenberg. ``A Testbed for Realistic Image
Synthesis.'' {\em IEEE CG\&A}, November 1983, p. 10-20.
\label{HAL83}
\mk
[No abstract. Excerpt from end of paper]
As we have shown here, Cornell University's testbed image synthesis system
has helped in the development of a number of improvements of existing
ray-tracing techniques. In summary, these include a hybrid reflection model,
a spectral-sampling method, the incorporation of light sources, and adaptive
tree-depth control. Nevertheless, we point out again that many of the problems
of realistic image generation through ray tracing have not been solved. The
inherent point-sampling technique is prone to aliasing, the reflection models
proposed do not include the correct energy formulations, and the computational
expense is currently too high. The use of environmental image coherence
techniques would probably make these approaches more tractable. It is our hope
that the testbed imaging system will provide an appropriate environment for
further exploration of these problems.
\bk
Peachey, Darwyn R. ``PORTRAY - An Image Synthesis System for Realistic
Computer Graphics.'' Research Report 84-18, Department of Computational
Science, University of Saskatchewan, 1984.
\label{PEA84}
\mk
Image synthesis is an area of computer graphics that addresses the problem of
generating a synthetic image resembling a photograph of a real scene. The
input to an image synthesis program is a symbolic description of the objects
in the scene and the other factors (camera position and orientation, light
sources, etc.) that influence the image. This report describes the design and
use of an image synthesis system called PORTRAY, which generates realistic
pictures of three-dimensional scenes using a technique known as ``ray tracing.''
\bk
van Wijk, J. J., and F. W. Jansen. ``Realism in Raster Graphics.'' {\em
Computers and Graphics}, Vol. 8, \#2, 1984, p. 217-219.
\label{WIJ84c}
\mk
[No abstract. Describes the RAYMO renderer.]
\bk
Kitaoka, Shoichi. ``Experimental CSG Environment for Modelling Solid.''
{\em The Visual Computer}, Vol. 2, 1986, p. 9-14.
\label{KIT86}
\mk
The purpose of this research is to develop an experimental environment for
solid modelling which can provide a wide range of graphics primitives and
operations toward making the modelling process more flexible. The system can
handle different types of representations and combine them with an
extended-CSG structure. A new geometric editor to enter and modify the data
is also reported. To handle different types of representation, the system has
an object-oriented structure and the idea of a `common function' is introduced
to give the interface between them. Ray tracing is used as the rendering
method. New techniques for generating images for complex objects are shown
with several modelling examples.
\bk
Peachey, Darwyn R. ``PORTRAY - An Image Synthesis System.'' {\em
Proceedings of Graphics Interface '86/Vision Interface '86}, p. 37-42.
\label{PEA86}
\mk
PORTRAY is an image synthesis system which uses ray tracing to produce
realistic images of three-dimensional scenes. Scenes are described to PORTRAY
in a high-level description language. The basic geometric modelling technique
is constructive solid geometry using primitive solids bounded by planes and
quadrics. A variety of optical characteristics and phenomena may be specified.
The scene description language allows the user to define object {\em classes}
which may be used as if there were built-in primitives. PORTRAY uses a number
of techniques, including a novel technique exploiting bounding volume
coherence, to improve its ray tracing performance. PORTRAY is supported by an
array of image manipulation tools which share a common image storage format.
\bk
Marsh, Donald M. ``UgRay: An Efficient Ray-Tracing Renderer for
UniGrafix.'' Report No. UCB/CSD 87/360, Computer Science Division (EECS), UC
Berkeley, May 1987.
\label{MAR87}
\mk
Ray-tracing has proven to be an elegant and versatile algorithm in the pursuit
of increased realism in computer-generated images. In order to reduce the
computational expense of general ray-tracing, we utilize a uniform spatial
subdivision. We report on a number of practical issues in designing a
ray-tracing renderer, including a fast algorithm for inserting polygons into
the spatial subdivision, results of optimizations to the ray/polygon intersect
routine, and inexpensive shading and antialiasing routines.
\bk
Kirk, David, and James Arvo. ``The Ray Tracing Kernel.'' {\em
Proceedings of Ausgraph '88}, p. 75-82.
\label{KIR88}
\mk
We describe a methodology for implementing a ray tracer which provides both a
convenient testbed for developing new algorithms and a way to exploit the
growing number of acceleration techniques. These benefits are a natural
consequence of a collection of data abstractions called the ``ray tracing
kernel.'' By defining an ``object'' in a broad sense, the kernel allows a
single abstraction to encapsulate a wide spectrum of concepts including
geometric primitives, acceleration techniques, CSG operators, and object
transformations. Through hierarchical nesting of instances of these objects
we are able to construct and efficiently render complex environments.
\bk
Leister, W., Th. Maus, H. M\"{u}ller, B. Neidecker, and
A. St\"{o}\mbox{\ss}er. ```Occursus Cum Novo' -- Computer Animation by Ray
Tracing in a Network.'' {\em New Trends in Computer Graphics, Proceedings of CG
International '88}, Nadia Magnenat-Thalmann and Daniel Thalmann (eds.),
Springer-Verlag, p. 83-92.
\label{LEI88}
\mk
The goal of the project ``Occursus Cum Novo'' was to generate a complex
photo-realistic animation of nontrivial length in reasonable time at
reasonable costs. Photographic realism comprises complex geometric models as
well as simulation of several optical effects. This paper starts with an
introduction to the ``Occursus Cum Novo'' modeling environment. Following
the toolkit approach, it offers a set of tools for textual, graphical
interactive, and simulative modeling, embedded in the UNIX programming
environment. The second part is devoted to rendering. Photo-realistic
pictures generated by raytracing are still those of highest quality. However,
due to the tremendous time of computation, raytraced animations are rather
rare. An organization scheme for rendering on a network of work stations is
described which enabled us to generate a 5-minute raytraced animation within
2 months without affecting any of the regular users of the work stations. The
results of the project are of general interest since they show a way for
efficient high quality photo-realistic animation synthesis for the future.
\bk
St\"{o}\mbox{\ss}er, Achim, Alfred Schmitt, Burkhard Neidecker,
Heinrich M\"{u}ller, Thomas Maus, and Wolfgang Leister. ```Occursus Cum Novo'
-- Tools for Efficient Photo-Realistic Computer Animation.'' {\em Proceedings
of Eurographics '88}, David A. Duce and Pierre Jancene (eds.), p. 31-41.
\label{STO88}
\mk
The goal of the project ``Occursus Cum Novo'' was to generate a complex
photo-realistic animation of nontrivial length in reasonable time at reasonable
cost. Photographic realism comprises complex geometric models as well as the
implementation of several optical effects. Both can be achieved by simulation.
Simulations guaranteeing high quality, as ray tracing does for rendering, are
known to be very time consuming. They require the design of powerful data
structures and algorithms taking the abilities of today's hardware into account.
The first part of this paper is devoted to rendering, here carried out by the
raytracing method. An organizing scheme for a network of work stations is
described which enabled 5-minutes of ray traced animation to be generated
within 2 months without affecting any regular user of the work station. The
second part is devoted to the simulative modeling tools applied in ``Occursus
Cum Novo.'' The recursive generator WAXI and a motion simulator METAMORPHOSIS
are described to some detail. The results of the project are of general
interest since they show a way leading to efficient high quality
photo-realistic animation synthesis in the future.
\bk
Williams, Tom. ``Graphics System Designers Strive for Photorealism.''
{\em Computer Design}, August 1, 1988, p. 50-61.
\label{WILT88}
\mk
[No abstract. This is not a technical paper. It describes how ray tracing and
radiosity are incorporated into low cost, interactive graphics systems.]
\bk
Cleary, John G., Brian Wyvill, and Geoff Wyvill. ``Ray Tracing in
Calgary and Otago.'' Research Report No. ??/???/??, Computer Science
Department, University of Calgary, date?.
\label{CLE??}
\mk
This paper gives a brief summary of the work in ray tracing at the University
of Calgary Department of Computer Science in cooperation with the University
of Otago in New Zealand. There are various projects: architecture for
multi-processor ray tracing machine, parallel cellular ray tracing, theory of
ray tracing, ray tracing soft objects and sketching with ray tracing.
\section{Applications}
\subsection{Relativity}
\bk
Hsiung, Ping-Kang, and Robert H. P. Dunn. ``Visualizing Relativistic
Effects in Spacetime.'' {\em Proceedings of Supercomputing '89 Conference},
p. 597-606.
\label{HSI89}
\mk
We have developed an innovative ray-tracing algorithm to describe
{\em R}elativistic {\em E}ffects in {\em S}pace{\em T}ime (``REST''). Our
algorithm, called {\em REST-frame}, simulates the generalized world in
spacetime and gives the fine details implicit in the Special Theory of
Relativity that have not yet been made apparent. These novel simulations
disclose the non-intuitive realm of Special Relativity and, by visualization
means, advance beyond the findings of past revelations concerning relativistic
effects.
Through application of state-of-the-art computation technology and simulation
techniques to earlier quests in physics, REST-frame offers a flexible
visualization tool to study some of the most exciting aspects of the natural
world; particularly, the rich visual properties associated with the finite
speed of light.
\bk
Hsiung, Ping-Kang, Robert H. Thibadeau, Christopher B. Cox, and Robert
H. P. Dunn. ``Doppler Color Shift in Relativistic Image Synthesis.'' {\em
Proceedings of an International Conference organized by IPSJ to Commemorate the
30th Anniversary}, 1990, p. 369-377.
\label{HSI90a}
\mk
We have developed an algorithm to visualize the 4-dimensional spacetime model
of the universe. The algorithm, called {\em REST-frame}, builds on conventional
graphical technique of ray-tracing, but encompasses finite light-speed and
special relativity physics. As such, it simulates the relativistic effects of
length contraction, time dilation and optical distortion due to light transit
time differences.
In this paper, we report our extentions of REST-frame to include the Doppler
color shift. Objects in motion are shown to undergo shape distortion as well as
color change--blue shift for approaching objects and red shift for receding
objects. Simultaneous blue and red shifts also occur, and a second order effect
due to inter-reflection among objects in relative motion is evident.
Our exploration reveals the surprising visual properties and complexities of
the Doppler color shift, which exist in relation with other manifestations of
special relativity. From the interplay of the photonic imag{\em ing} process and
the imag{\em ed} physical events in producing the final images, there elicits
the rich details of physical reality which the mathematical language of the
Special Theory does not directly provide.
\bk
Hsiung, Ping-Kang, Robert H. Thibadeau, and Robert H. P. Dunn.
``Ray-Tracing Relativity.'' {\em Pixel}, January/February 1990, p. 10-18.
\label{HSI90b}
\mk
[No abstract. Introduction]
What would the world look like if you were traveling at 99 percent of the
speed of light? The physical principles and mathematical methods needed to
answer this question have been understood for the better part of a century,
ever since Einstein formulated the special theory of relativity in 1905. Only
recently, however, has it become possible to create realistic images of a
world seen at relativistic speeds. Some of these images reveal effects that
defy intuition and that would have been very difficult to predict without the
techniques of computer visualization.
At Carnegie Mellon University, we have been investigating the appearance of the
relativistic world with the aid of an algorithm called REST-frame (``REST''
is an acronym for ``relativistic effects in spacetime.'') The algorithm relies
on the long-established technique of ray-tracing to simulate a scene, but
there is one crucial addition to the ray-tracing procedure: We take into
account the finite speed of light and keep track of time of as a ray's path is
traced through space. From this one change the diverse effects of special
relativity follow automatically.
\bk
Hsiung, Ping-Kang, and Robert H. Thibadeau. ``Spacetime Visualization
of Relativistic Effects.'' {\em Proceedings of the 1990 ACM Eighteenth Annual
Computer Science Conference}, 1990, p. 236-243.
\label{HSI90c}
\mk
We have developed an innovative ray-tracing algorithm to describe
{\em R}elativistic {\em E}ffects in {\em S}pace{\em T}ime (``REST''). Our
algorithm, called {\em REST-frame}, models light rays that have assumed
infinite speed in conventional ray-tracing to have a {\em finite} speed $c$
in spacetime, and uses general Lorentz Transformation, which connects the
spacetime description of a single event in two inertial coordinate systems
({\em frames}) that differ by a constant velocity, to prform the relativistic
translation and aberration of light rays.
In this paper, we report the extension of our previous work for visualizing
relativistic motion in spacetime to include relativistic Doppler color shift
and the simulation of complx kinematic systems in which objects of different
relavistic velocities coexist. Our simulations have produced non-intuitive
images showing anisotropic deformation ({\em warping}) of space and intensity
concentration/spreading of light sources in spacetime. Images of objects
undergoing relativistic Doppler shift are also generated
By applying state-of-the-art computation technology and simulation techniques
to the earlier quests in Physics that were conducted mainly by {\em thought
experiment}, we demonstrate, through our new revelations, that {\em REST-frame}
offers a powerful {\em experimentation tool} to study and explore some of the
most exciting aspects of the natural world; particularly, the rich physical
properties associated with the finite speed of light.
\bk
Hsiung, Ping-Kang, Robert H. Thibadeau, and Michael Wu. ``T-Buffer:
Fast Visualization of Relativistic Effects in Spacetime.'' {\em Proceedings of
the 1990 Symposium on Interactive 3D Graphics}, p. 83-88, 263.
\label{HSI90d}
\mk
[Not much about ray tracing, but compares results to previous paper.]
We have developed an innovative ray-tracing simulation algorithm to describe
{\em R}elativistic {\em E}ffects in {\em S}pace{\em T}ime (``REST''). Our
algorithm, called {\em REST-frame}, models light rays that have assumed
infinite speed in conventional ray-tracing to have a {\em finite} speed in
spacetimme, and uses the non-Newtonian Lorentz Transformation to relate
measurements of a single event of a single event in different inertial
coordinate systems ({\em inertial frames}). Our earlier work explored the power
of {\em REST-frame} as an {\em experimentation tool} to study the rich visual
properties in natural world modeled by Special Relativity. Non-intuitive
images of the anisotropic deformation (``warping'') of spce, the intensity
concentration/spreading of light sources in spacetime, and the relativistic
Doppler shift were visualized from the simulations.
{\em REST-frame} simulations are computationally expensive. Several hours of
CPU time may be needed to generate one intricate image on a relatively
powerful DECStation 3100. This high simulation cost of {\em REST-frame}
precludes its application in interactive, real-time graphics environments.
In this paper, we report a scanline based {\em REST-frame} rendering method
that provides a faster alternative to the original ray-tracing based
{\em REST-frame} implementation. This new method operates in the spirit of the
classical Z-buffer in computer graphics and the inter-inertial frames
point-mapping method investigated in physics in the early 1960's, and
determines the visibility of points in spacetime by their spatial {\em and}
temporal visibility. Specifically, all spacetime event points that are {\em
potentially} visible from the viewpoint at the imaging time are geometrically
projected in three dimensional (3D) space to the image plane pixel buffer.
Multiple points with a same pixel affiliation are sorted by their {\em time
distance} from the imaging time, and the most recent spacetime points is
displayed.
This method, which we call {\em ``Time-Buffer'' or ``T-Buffer''}, offers a
significant speed improvement over the original {\em REST-frame} in software,
and permits a dedicated Z-buffer-type hardware implementation that promises
interactive, real-time relativistic effects in simulations on a contemporary
graphic workstation.
Motion blur in real world images caused by the noRfinitesimal exposure time
of image-taking can be simulated by {\em ``Stochastic T-Buffer''}, which
perturbs the {\em time component} of the scan-converted spacetime events that
are potentially visible. The classical A-Buffer technique that models
translucency also can be adapted easily in T-Buffer. The limitation of
T-Buffer is its inability to model specular reflection and refraction in
optics, which our original {\em REST-frame} implementation simulates
completely.
\bk
Hsiung, Ping-Kang, Robert H. Thibadeau, Christopher B. Cox, and Robert
H. P. Dunn. ``Time Dilation Visualization in Relativity.'' {\em Supercomputing
'90}, p. 835-844.
\label{HSI90e}
\mk
This work extends our previous effort in visualizing the spatial aspect of
relativistic effects, and treats the phenomenon of time dilation; an inherent
temporal effect of special relativity.
Here, we demonstrate through still-frame images and live animations that in
{\em observing} the viewing independent time dilation, the finite light transit
time involved in performing the observation makes the {\em observed} time
dilation also depend on the viewing condition.
As we introduce the physics of special relativity into ray-tracing and make
time to pass as a ray travels through space, we are able to link the spatial
and temporal dimensions in a fundamental and consistent way in our simulations,
and generate images that reveal the spatial {\em and} temporal properties of the
4D geometry of {\em spacetime}.
Our exploration highlights the interplay of the imag{\em ing} process and the
imag{\em ed} physical events in producing the final images. It reveals a richly
detailed physical reality which the mathematical language of {\em thought
experiment} in relativity does not directly provide.
\bk
Hsiung, Ping-Kang, Robert H. Thibadeau, Christopher B. Cox, Robert
H. P. Dunn, Michael Wu, and Paul Andrew Olbrich. ``Wide-band Relativistic
Doppler Effect Visualization.'' {\em Visualization '90}, p. 83-92.
\label{HSI90f}
One of the most visible aspects of special relativity is the relativistic
Doppler effect--the dependence of observed radiation wavelengths upon the
velocity of the source and the viewing conditions.
In this paper, we present a flexible and efficient method to simulate the
Doppler shift. This new method has the following features:
- Surface properties and light composition are represented by splines as
functions of wavelength. The entire electromagnetic (EM) spectrum can therefore
be represented efficiently.
- Doppler shift and shading operations are performed through the manipulation
of spline coefficients. The {\em evaluation} of the spline functions is carried
out at the end of each shading loop to generate the display R, G, B values.
This method simplifies the management of the shift and reduces the calculations
necessary to maintain a spectral description of lights and surfaces.
The study of astrophysical phenomena, which are being color-shifted by
individual recession velocity and by the expansion of the universe, requires
the use of knowledge about the Doppler effect. Our simulations may contribute
visual insight and understanding that enhances such knowledge.
\bk
Peterson, Ivars. ``Space-Time Odyssey.'' {\em Science News}, Vol. 137,
\#15, April 14, 1990, p. 232-237.
\label{PET90}
\mk
[Review of the work of Hsiung, {\em et al}.]
\subsection{Seismic Ray Tracing}
\bk
Julian, B. R., and D. Gubbins. ``Three-Dimensional Seismic Ray
Tracing.'' {\em Journal of Geophysics}, Vol. 43, 1977, p. 95-113.
\label{JUL77}
\mk
Two methods for tracing seismic rays between 2 given end points through three
dimensional, continuously varying velocity structures are available. This paper
describes and compares them for problems of practical interest and for
analytical ray paths through an idealized velocity structure. One method
involves ``shooting'' the ray from one point with a given starting direction
and then modifying this starting direction until the ray emerges at the desired
target, while the other method involves ``bending'' an initial path between
the end points until it satisfies the principal of stationary time. For most
of the models investigated, ``bending'' is computationally faster than
``shooting'' by a factor of 10 or more. The ``bending'' method can be modified
to deal with discontinuities in the velocity model, and can also be adapted for
use in conjunction with a table of distances as a function of ray parameter
when the three dimensional anomaly influences only a small fraction of the
total ray path. The geometrical spreading effect on the amplitude of the ray
may be retrieved easily from the ``bending'' solution.
\bk
\v{C}erven\'{y}, V. ``Ray Tracing Algorithms in Three-Dimensional Laterally
Varying Layered Structures.'' {\em Seismic Tomography}, Guust Nolet (ed.),
D. Reidel Publishing Company, Boston, Mass., 1987, p. 99-133.
\label{CER87}
\mk
[Excerpt from Introduction]
This chapter presents a concise review of recent methods of ray tracing and
travel time computations of high-frequency seismic body wave propagating in
three-dimensional laterally varying isotropic layered structures. Large
attention is devoted mainly to {\em initial value ray tracing}, in which a
single ray under consideration is specified by its initial point and by the
initial direction of the ray at that point. The numerical, analytic, and cell
simple algorithms are obtained for the ray tracing in the ``{\em quadratic
slowness}'' model, in which the quadratic slowness $(1/V^{2})$ is used instead
of the propagation velocity $V$. In Section 6, the ray tracing system is
rewritten into an arbitrary curvilinear orthogonal coordinate system, and in
Section 7 into a spherical coordinate system. In all these cases, the ray
tracing system is supplemented by the appropriate reflection/transmission laws
which allow it to perform the ray tracing and the travel time computations even
{\em across arbitrary curved interfaces}.
\bk
Jobert, N., and G. Jobert. ``Ray Tracing for Surface Waves.'' {\em Seismic
Tomography}, Guust Nolet (ed.), D. Reidel Publishing Company, Boston, Mass.,
1987, p. 275-300.
\label{JOB87}
\mk
[Excerpt from Introduction]
Surface waves (at least the fundamental mode, see below) are the latest
arrivals on the seismic record at a given epicentral distance. On classical
records, thehy show up as long-period oscillations, predominating in the
record for shallow earthquakes and distances larger than a thousand
kilometers. Their relative importance increases with the distance, which can
be explained by their 2-dimensional propagation in a direction parallel to
the surface of the earth. Indeed they are guided waves with standing wave
properties in a direction normal to this surface: along this direction the
displacements are in phase at all depths. Thus their geometrical spreading, as
guided waves, is less than that of body waves which propagate in 3 dimensions.
\bk
Nolet, G. ``Seismic Wave Propagation and Seismic Tomography.'' {\em Seismic
Tomography}, Guust Nolet (ed.), D. Reidel Publishing Company, Boston, Mass.,
1987, p. 1-23.
\label{NOL87}
\mk
This chapter develops the basic principles of seismic tomography and serves as
a general introduction to this book.
\bk
Wielandt, E. ``On the Validity of the Ray Approximation for Interpreting Delay
Times.'' {\em Seismic Tomography}, Guust Nolet (ed.), D. Reidel Publishing
Company, Boston, Mass., 1987, p. 85-98.
\label{WIE87}
\mk
[Excerpt from Abstract]
This chapter deals with the influence of diffracted waves on tomographic
observations. Probably most workers in tomography are aware of the existence
of such waves and of their potential to interfere with the direct wave on
which the tomographic interpretation is based. Strong diffraction effects are
expected when the scale of heterogeneity is in the order of the seismic
wavelength, but the smallest detail one wants to resolve with seismic
tomography is typically one or two orders of magnitude larger. Can we safely
neglect diffraction in this case?
\bk
Moser, T. J. ``Shortest Path Calculation of Seismic Rays.'' {\em Geophysics},
Vol. 56, \# 1, 1991, p. 59-67.
\label{MOS91}
\mk
Like the traveling salesman who wants to find the shortest route from one city
to another in order to minimize his time wasted on traveling, one can find
seismic raypaths by calculating the shortest traveltime paths through a network
that represents the earth. The network consists of points that are connected
with neighboring points by connections as ``long'' as the traveltime of a
seismic wave along it. The shortest traveltime path from one point to another
is an approximation to the seismic ray between them, by Fermat's principal.
The shortest path method is an efficient and flexible way to calculate the
raypaths and traveltimes of first arrivals to all points in the earth
simultaneously. There are no restrictions of classical ray theory: diffracted
raypaths and paths to shadow zones are found correctly. There are also no
restrictions to the complexity or the dimensionality of the velocity model.
Furthermore, there are no problems with convergence of trial raypaths toward
a specified receiver nor with raypaths with only a local minimal traveltime.
Later arrivals on the seismogram, caused by reflections on interfaces or by
multiples, can be calculated by posing constraints to the shortest paths. The
computation time for shortest paths from one point to all other points of the
networks is almost linearly dependent on the number of points. The accuracy of
the results is quadratically dependent upon the number of points per coordinate
direction and the number of connections per point.
\subsection{Miscellaneous}
\bk
Coquillart, Sabine, and Michel Gangnet. ``Shaded Display of Digital Maps.''
{\em IEEE CG\&A}, July 1984, p. 35-42.
\label{COQ84}
\mk
The computer graphics display of shaded images of terrain can take advantage
of the geometric properties of the data. Altitudes given on regular
rectangular grids are readily available from digital maps. Several authors
have addressed the task of displaying such data. Line-drawing methods are
well-known, and there have been two new contributions in the recent
literature.
Two problems arise in displaying the perspective view of a terrain. The first
is to choose an interpolation surface; the second is to eliminate hidden
surfaces.
\bk
Chin, J. H., T. D. Panczak, and L. Fried. ``Finite Element and Raytracing in
Coupled Thermal Problems.'' ?, p. 683-701.
\label{CHI??}
\mk
[Taken from Summary]
Thermal analysis for complex systems, such as spacecraft, where thermal
radiation plays a significant part, traditionally uses radiation exchange
factors based on {\em isothermal} regions of finite extent. A procedure is
described which removes this restriction, and improves the analytical results,
by combining a Monte Carlo raytracing procedure with a finite element
approach. This permits the solution of the thermal analytical problem in a
consistent manner, wherein the generally nonisothermal character of a system
is modeled more closely than in the traditional procedures. The algorithm
computes the emitting ray energy from an emitter element, allows for multiple
reflections and absorptions, and distributes the hitting ray energy in a
manner {\em consistent} with the finite element approach. Radiation exchange
factors between {\em nodal points}, rather than {\em elements}, are obtained;
this permits more accurate computation of the radiative energy exchange
between the various nonisothermal surfaces than can be obtained by the
isothermal elemental surface assumption. The derivation of the algorithm is
described. Simple numerical examples are given to demonstrate the usefulness
of this consistent modeling approach. A simple engineering model is then used
to illustrate a finite-element raytracing analysis of coupled thermal
problems.
\bk
Wyvill, Geoff, Alistair Ward, and Tim Brown. ``Sketches by Ray Tracing.'' {\em
Computer Graphics 1987 - Proceedings of CG International '87}, Tosiyasu
L. Kunii (ed.), Springer-Verlag, p. 315-333.
\label{WYV87}
\mk
Ray tracing can show shadows and the effects of reflection and refraction. For
this reason it is superior to other methods of rendering. It also enables us
to make pictures directly from CSG models in a very general way which avoids
the complication of finding intersections between primitive objects.
For many applications, we do not need the realism of the ray tracer, but we
still value its generality. By using a sparse grid of rays and by following
edges in the picture plane, most of the information can be extracted from the
model at greatly reduced cost.
\bk
Lang, Laura. ``Lighting Design.'' {\em Computer Graphics World},
October 1988, p. 109-114.
\label{LAN88}
\mk
[No abstract. This is not a technical paper. It describes how ray tracing and
radiosity are used to aid in the task of lighting design.]
\bk
Palmer, Thomas C, Frederick H. Hausheer, and Jeffrey D. Saxe. ``Applications of
Ray Tracing in Molecular Graphics.'' {\em Journal of Molecular Graphics},
Vol. 7, September 1989, p. 157, 160-164.
\label{PAL89}
\mk
Ray tracing is an elegant and powerful technique for creating computer
generated images. The wide variety of geometric primitives and realistic
effects such as reflections, transparency, and shadows make it one of the most
popular rendering methods in use today. We present a brief introduction to ray
tracing and discuss some of the computational issues involved. Examples are
given showing ray tracing to be an effective technique for producing high
quality visualizations of molecular structures.
\bk
Stettner, Adam, and Donald Greenberg. ``Computer Graphics Visualization for
Acoustic Simulation'' {\em SIGGRAPH '89}, p. 195-206.
\label{STE89}
\mk
Computer simulations can be used to generate the spatial and temporal data
describing the acoustical behavior of performance halls, but typically the
analytical results are difficult to assimilate and compare. By using computer
graphics to display the multi-dimensional data, substantially greater amounts
of information than that conveyed by standard techniques can be communicated to
the designer. This allows designs of different acoustical spaces to be tested,
evaluated, and compared.
An example comparing the acoustical behavior of three different concert halls
demonstrates these techniques and allows for the simultaneous assimilation of
much of the information necessary to evaluate the acoustical nature of a space.
The use of three-dimensional images, color, animation and abstract
representation allows for the comprehension of the complex results of a
scientific simulation. Specifically, the simultaneous display of particular
icons familiar to the discipline enabled the simultaneous presentation of up to
twelve parameters.
From a more general point of view, the procedures demonstrate how computer
graphics can be utilized for the portrayal of multi-dimensional time dependent
data. The visualization techniques are potentially useful for the display of
three-dimensional vector fields in many scientific and design applications.
\bk
Hollasch, Steven R. {\em Four-Space Visualization of 4D Objects}, Masters
Thesis, Arizona State University, 1991.
\label{HOL91}
\mk
In the field of scientific visualization, the term ``four dimensional
visualization'' usually refers to the process of rendering a three dimensional
field of scalar values. While this paradigm applies to many different data
sets, there are also uses for visualizing data that correspond to actual
four-dimensional structure. Four dimensional structures have typically been
visualized via wireframe methods, but this process alone is usually
insufficient for an intuitive understanding; all but the most simple datasets
easily overwhelm the viewer. This research covers the visualization of four
dimensional objects through wireframe methods with extended visualization cues,
and through raytracing methods. Both the wireframe and raytracing methods
employ true four-space viewing parameters and geometry. The raytracing approach
easily solves the hidden surface and shadowing problems of 4D objects, and
yields an image in the form of a three-dimensional field of RGB values, which
can be rendered with a variety of existing methods. The 4D raytracer also
supports true four-dimensional lighting, reflections, and refractions.
\section{Other Related Synthesis Methods}
\subsection{The Rendering Equation}
\bk
Kajiya, James T. ''The Rendering Equation.'' {\em SIGGRAPH '86},
p. 143-150.
\label{KAJ86}
\mk
We present an integral equation which generalizes a variety of known
rendering algorithms. In the course of discussing a Monte Carlo solution a new
form of variance reduction is presented, called hierarchical sampling, and a
number of elaborations are given that show that it may be an efficient new
technique for a wide variety of Monte Carlo procedures. The resulting
rendering algorithm extends the range of optical phenomena which can be
effectively simulated.
\subsection{Radiosity}
\bk
Wallace, John R., Michael F. Cohen, and Donald P. Greenberg. ``A
Two-Pass Solution to the Rendering Equation: A Synthesis of Ray Tracing and
Radiosity Methods.'' {\em SIGGRAPH '87}, p. 311-320.
\label{WAL87}
\mk
View-independent and view-dependent image synthesis techniques, represented by
radiosity and ray tracing, respectively, are discussed. View-dependent
techniques are found to have disadvantages for calculating the specular
component of illumination and view-independent techniques for the diffuse
component. Based on these observations a methodology is presented for
simulating global illumination within complex enviroments using a two-pass
approach. The first pass is view-independent and is based on the hemi-cube
radiosity algorithm, with extensions to include the diffuse reflection and
transmission. The second pass is view-dependent and is based on an alternative
to distributed ray tracing in which a z-buffer algorithm is used to sample
intensities contributing to the specularly reflected or transmitted intensity.
\bk
Ward, Gregory J., Francis M. Rubinstein, and Robert D. Clear. ``A Ray
Tracing Solution for Diffuse Interreflection.'' {\em SIGGRAPH '88}, p. 85-92.
\label{WAR88}
\mk
An efficient ray tracing method is present for calculating interreflections
between surfaces with both diffuse and specular components. A Monte Carlo
technique computes the indirect contributions to illuminance at locations
chosen by the rendering process. The indirect illuminance values are averaged
over surfaces and used in place of a constant ``ambient'' term. Illuminance
calculations are made only for those areas participating in the selected view,
and the results are stored so that subsequent views can reuse common values.
The density of the calculation is adjusted to maintain a constant accuracy,
permitting less populated portions of the scene to be computed quickly.
Successive reflections use proportionally fewer samples, which speeds the
process and provides a natural limit to recursion. The technique can also
diffuse transmission and illumination from large area sources, such as the sky.
\bk
Sillion, Francois, and Claude Pucch. ``A General Two-Pass Method for
Integrating Specular and Diffuse Reflection.'' {\em SIGGRAPH '89}, p. 335-344.
\label{SIL89}
\mk
We analyze some recent approaches to the global illumination problem by
introducing the corresponding {\em reflection operators}, and we demonstrate
the advantages of a two-pass method. A generalization of this system introduced
by Wallace {\em et al}.\ at Siggraph '87 to integrate diffuse as well as
specular reflection is presented. It is based on the calculation of {\em
extended form-factors}, which allows arbitrary geometries to be used in the
scene description, as well as refraction effects. We also present a new
sampling method for the calculation of form-factors, which is an alternative to
the {\em hemi-cube} technique introduced by Cohen and Greenberg for radiosity
calculations. This method is particularly well suited to the extended
form-factors calculation. The problem of interactive display of the picture
being created is also addressed by using hardware-assisted projections and image
composition to recreate a complete specular view of the scene.
\bk
Wallace, John R., Kells A. Elmquist, and Eric A. Haines. ``A Ray
Tracing Algorithm for Progressive Radiosity.'' {\em SIGGRAPH '89}, p. 315-324.
\label{WAL89}
\mk
A new method for computing form-factors within a progressive radiosity approach
is presented. Previously, the progressive radiosity approach has depended on
the use of the hemi-cube algorithm to determine form-factors. However, sampling
problems inherent in the hemi-cube algorithm limit its usefulness for complex
images. A more robust approach is described in which ray tracing is used to
perform the numerical integration of the form-factor equation. The approach is
tailored to provide good, approximate results for a low number of rays, while
still providing a smooth continuum of increasing accuracy for higher number of
rays. Quantitative comparisons between analytically derived form-factors and
ray traced form-factors are presented.
\bk
Arvo, James, and David Kirk. ``Particle Transport and Image
Synthesis.'' {\em SIGGRAPH '90}, p. 63-66.
\label{ARV90}
\mk
The rendering equation is similar to the linear Boltzmann equation which has
been widely studied in physics and nuclear engineering. Consequently, many of
the powerful techniques which have been developed in these fields can be
applied to problems in image synthesis. In this paper we adapt several
statistical techniques commonly used in neutron transport to stachistic ray
tracing and, more generally, to Monte Carlo solution of the rendering equation.
First, we describe a technique known as {\em Russian roulette} which can be
used to terminate the recursive tracing of rays without introducing statistical
bias. We also examine the practice of creating ray trees in classical ray
tracing in the light of a well-known technique in particle transport known as
{\em splitting}. We show that neither ray trees nor paths as described in
[Kaj86] constitute an optimal sampling plan in themselves and that a hybrid
may be more efficient.
\bk
Heckbert, Paul S. ``Adaptive Radiosity Textures for Bidirectional Ray
Tracing.'' {\em SIGGRAPH '90}, p. 145-154.
\label{HEC90}
\mk
We present a rendering method designed to provide accurate, general simulation
of global illumination for realistic image synthesis. Separating surface
interaction into diffuse plus specular, we compute the specular component on
the fly, as in ray tracing, and store the diffuse component (the radiosity)
for later-reuse, similar to a radiosity algorithm. Radiosities are stored in
{\em adaptive radiosity textures (rexes)} that record the pattern of light and
shadow on every diffuse surface in the scene. They adaptively subdivide
themselves to the appropriate level of detail for the picture being made,
resolving sharp shadow edges automatically.
We use a three-pass, bidirectional ray tracing algorithm that traces rays from
both the lights and the eye. The ``size pass'' records visibility information
on diffuse surfaces; the ``light pass'' progressively traces rays from lights
and bright surfaces to deposit photons on diffuse surfaces to construct the
radiosity textures; and the ``eye pass'' traces rays from the eye, collecting
light from diffuse surfaces to make a picture.
\bk
Hermitage, Shirley A., Terrance L. Huntsberger, and Beverly
A. Huntsberger. ``Hypercube Algorithm for Radiosity in a Ray Tracing
Environment.'' {\em Proceedings of the 5th Distributed Memory Computing
Conference}, IEEE Society Press, 1990, p. 206-211.
\label{HER90}
\mk
Two different approaches to realistic image synthesis are ray tracing and
radiosity. Each method falls short in their attempts to model global
illumination present in most environments. A more general model includes
the specular and diffuse reflection of both these methods but the combination
requires prohibitive computation.
The algorithm presented here extends the standard ray tracing algorithm by
adding diffuse rays, while eliminating unnecessary radiosity calculations. The
data separation used here is based on the heuristic that light rays, as well
as shadow rays intersect objects which are nearby more often than those that
are more distant. Although that heuristic seems sound, its accuracy is being
tested by monitoring the results of processing large number of different
scenes of various complexity.
\bk
Rushmeier, Holly E., and Kenneth E. Torrance. ``Extending the
Radiosity Method to Include Specularly Reflecting and Translucent Materials.''
{\em ACM TOG}, Vol. 9, \# 1, January 1990, p. 1-27.
\label{RUS90}
\mk
An extension to the radiosity method is presented that rigorously accounts for
the presence of a small number of specularly reflecting surfaces in an
otherwise diffuse scene, and for the presence of a small number of specular or
ideal diffuse transmitter. The relationship between the extended method and
earlier radiosity and ray-tracing methods is outlined. It is shown that all
three methods are based on the same general equation of radiative transfer. A
simple superposition of the earlier radiosity and ray-tracing methods in order
to account for specular behavior is shown to be physically inconsistent, as
the methods are based on different assumptions. Specular behavior is correctly
included in the present method. The extended radiosity method and example
images are presented.
\bk
Shirley, Peter. ``A Ray Tracing Method for Illumination Calculation in
Diffuse-Specular Scenes.'' {\em Proceedings of Graphics Interface '90},
p. 205-212.
\label{SHI90b}
\mk
Several ways of improving the realism of the results of traditional ray
tracing are presented. The essential physical quantities of spectral radiant
power and spectral radiance and their use in lighting calculations are
discussed. Global illumination terms are derived by employing illumination
ray tracing for calculation of quickly changing indirect lighting components,
and radiosity ray tracing for slowly changing indirect lighting components.
Direct lighting is calculated during the viewing phase allowing the use of
bump maps. Finally, a method is introduced that reduces the total number of
shadow rays to no more than the total number of viewing rays for a given
picture.
\bk
Chen, Shenchang Eric, Holly E. Rushmeier, Gavin Miller, and Douglass
Turner. ``A Progressive Multi-Pass Method for Global Illumination.'' {\em
SIGGRAPH '91}, p. 165-174.
\label{CHE91}
\mk
A new progressive global illumination method is presented which produces
approximate images quickly, and then continues to systematically produce more
accurate images. The method combines the existing methods of progressive
refinement radiosity, Monte Carlo path tracing and light ray tracing. The
method does not place any limitation on surface properties such as ideal
Lambertian or mirror-like. To increase efficiency and accuracy, the new
concepts of light source reclassification, caustics reconstruction, Monte Carlo
path tracing with a radiosity preprocess and an interruptible radiosity
solution are introduced. The method presents the user with most useful
information about the scene as early as possible by reorganizing the method
into a radiosity pass, a high frequency refinement pass and a low frequency
refinement pass. The implementation of the method is demonstrated, and sample
images are presented.
\bk
Haines, Eric A., and John R. Wallace. ``Shaft Culling for Efficient
Ray-Traced Radiosity.'' {\em Second Eurographics Workshop on Rendering}, May
1991, p. ?.
\label{HAI91}
\mk
In radiosity algorithms, much time is spent computing visibility between two
surfaces. One approach to approximating this visibility is to use ray casting
methods. A new algorithm is presented which takes advantage of object
coherency when using ray casting for radiosity. An efficient method is
presented to form a volume between the emitter and receiver, and then
generate a candidate lst of items partially or wholly within the volume. Using
this list, ray casting is performed to determine the amount of visibility
between surfaces. Statistics are presented showing the decrease in overall
computation time compared to a traditional ray casting technique.
\bk
Hanrahan, Pat, Larry Aupperle, and David Salzman. ``A Rapid
Hierarchical Radiosity Algorithm.'' {\em SIGGRAPH '91}, p. 197-206.
\label{HAN91}
\mk
This paper presents a rapid hierarchical radiosity algorithm for illuminating
scenes containing large polygonal patches. The algorithm constructs a
hierarchical representation of the form factor matrix by adaptively subdividing
patches into subpatches according to a user-supplied error bound. The algorithm
guarantees that all form factors are calculated to the same precision, removing
many common image artifacts due to inaccurate form factors. More importantly,
the algorithm decomposes the form factor matrix into at most $O(n)$ blocks
(where n is the number of elements). Previous radiosity algorithms represented
the element-to-element transport interactions with $n^{2}$ form factors.
Visibility algorithms are given that work well with this approach. Standard
techniques for shooting and gathering can be used with the hierarchical
representation to solve for equilibrium radiosities, but we also discuss using
a brightness-weighted error criteria, in conjuction with multigridding, to even
more rapidly progressively refine the image.
\bk
Pueyo, Xavier. ``Diffuse Interreflections. Techniques for Form-Factor
Computation: A Survey.'' {\em The Visual Computer}, Vol. 7, July 1991,
p. 200-209.
\label{PUE91}
\mk
The purpose of this survey paper is to present a characterization of the
techniques proposed up to now to model different interreflections. Basic
approaches are presented as well as the evolution of implementation
strategies. In the conclusions, open problems are enumerated.
\bk
LeSaec, Betrand, and Christophe Schlick. ``A Progressive Ray-Tracing-Based
Radiosity with General Reflectance Functions.'' {\em Photorealism in Computer
Graphics}, K. Bouatouch, and C. Bouville (eds.), Springer-Verlag, 1992,
p. 101-113. A revision of Technical Report \#90-17, Laboratoire Bordelais de
Recherche en Informatique, Universit\'{e} de Bordeaux I which also appears in
Proceedings Eurographics Workshop on Photosimulation, Realism and Physics in
Computer Graphics, June 1990, p. 103-116.
\label{SAE92}
\mk
In this paper, we present a progressive and interactive rendering method able
to solve the global illumination problem. Our method, currently under
implementation at LaBRI, in Bordeaux (France), can be considered as an
extension of Wallace's recent paper at the SIGGRAPH '89 conference about a
Progressive Ray-Tracing-based Radiosity. The method is intended to remove the
purely diffuse phenomena limitations that exists in Wallace's paper and allow
the use of general reflectance functions.
\subsection{Wave Theory}
\bk
Moravec, Hans P. ``3D Graphics and the Wave Theory.'' {\em SIGGRAPH
'81}, p. 289-296.
\label{MOR81}
\mk
A continuing trend in computer representation of three dimensional synthetic
scenes is the ever more accurate modelling of complex illumination effects.
Such effects provide cues necessary for a convincing illusion of reality. The
best current methods simulate multiple specular reflections and refractions,
but handle at most one scattering bounce per light ray. They cannot accurately
simulate diffuse light sources, nor indirect lighting via scattering media,
without prohibitive increases in the already very large computing costs.
Conventional methods depend implicitly on a {\em particle} model; light
propagates in straight and conceptually infinitely thin rays. This paper
argues that a {\em wave} model has important computational advantages for the
complex situations. In this approach, light is represented by wave fronts
which are stored as two dimensional arrays of complex numbers.
The propagation of such a front can be simulated by a linear transform.
Several advantages accrue. Propagations in a direction orthogonal to the plane
of a front are convolutions which can be done by FFT in $O(n \log n)$ time
rather than the $n^{2}$ time for a similar operation using rays. A typical
speedup is about 10,000. The wavelength of the illumination sets a resolution
limit which prevents unnecessary computation of elements smaller than will be
visible. The generated wavefronts contain multiplicities of views of the
scene, which can be individually extracted by passing them through different
simulated lenses. Lastly the wavefront calculations are ideally suited for
implementation on available array processors, which provide more cost
effective calculation for this task than general purpose computers.
The wave method eliminates the aliasing problem; the wavefronts are inherently
spatially filtered, but substitutes diffraction effects and depth of focus
limitations in its stead.
\bk
Wolff, Lawrence B., and David J. Kurlander. ``Ray Tracing with
Polarization Parameters.'' {\em IEEE CG\&A}, Novemer 1990, p. 44-55.
\label{WOL90}
\mk
We demonstrate that incorporating polarization parameters into the lighting
model can enhance the physical realism of images rendered with a ray tracer.
Polarization effects can be importantin certain scenes, and the difference in
rendering even simple scenes with and without proper treatment of polarization
can be rather striking. All light waves possess a state of polarization, which
changes almost every time light reflects off a material surface. A single
reflection partially polarizes and may even completely polarize previously
unpolarized light. Polarization influences the rendering of a scene because the
reflected radiant intensity depends largely on the incident light wave's
polarization state.
We have incorporated Emil Wolf's coherence matrix formalism for polarization
into the Torrance-Sparrow reflectance model. This combination enables elegant
quantitative derivations of the altered polarization state of light upon
reflection in a ray tracer. Comparisons of identicala scenes rendered with a
conventional ray tracer and our ray tracer. Incorporating a polarization model
show that our method renders specular interobject reflections more accurately
with respect to reflected radiance and color.
\begin{thebibliography}{999}
\bibitem{AKI91} Akimoto, Taka-aki, Kenji Mase, and Yasuhito Suenaga. ``Pixel
Selected Ray Tracing.'' {\em IEEE CG\&A}, July 1991, p. 14-22. A revision of
same paper in {\em Proceedings of Eurographics '89}, W. Hansmann,
F. R. A. Hopgood and W. Strasser (eds.), p. 39-50, 542.
\{\pageref{AKI91}\}
\bibitem{AKT87} Aktkin, Phil, Steve Ghee, and Jamie Packer. ``Transputer
Architectures for Ray Tracing.'' {\em Proceedings of Computer Graphics '87},
Online Publications, 1987, p. 157-172. A revision of ``Exploiting Concurrency:
A Ray Tracing Example'' by Jamie Packer, Inmos Technical Note 7, Inmos Limited,
October 1987.
\{\pageref{AKT87}\}
\bibitem{AMA84a} Amanatides, John. ``Ray Tracing with Cones.'' {\em SIGGRAPH
'84}, p. 129-135. A summary of the same paper appears in {\em Proceedings of
Graphics Interface '84}, p. 97-98.
\{\pageref{AMA84a}\}
\bibitem{AMA84b} Amanatides, John, and Alain Fournier. ``Ray Casting Using
Divide and Conquer in Screen Space.'' {\em International Conference on
Engineering and Computer Graphics}, August 1984, p. 290-296.
\{\pageref{AMA84b}\}
\bibitem{AMA87a} Amanatides, John, and Andrew Woo. ``A Fast Voxel Traversal
Algorithm for Ray Tracing.'' {\em Proceedings of Eurographics '87}, Guy
Mar\'{e}chal (ed.), p. 3-10.
\{\pageref{AMA87a}\}
\bibitem{AMA87b} Amanatides, John. ``Realism in Computer Graphics: A Survey.''
{\em IEEE CG\&A}, January 1987, p. 44-56.
\{\pageref{AMA87b}\}
\bibitem{AMA90} Amanatides, John, and Don P. Mitchell. ``Some Regularization
Problems in Ray Tracing.'' {\em Proceedings of Graphics Interface '90},
p. 221-228.
\{\pageref{AMA90}\}
\bibitem{APP68} Appel, Arthur. ``Some Techniques for Shading Machine Renderings
of Solids.'' {\em AFIPS Spring Joint Computer Conference}, 1968, p. 37-45.
\{\pageref{APP68}\}
\bibitem{ARG88} Argence, J. ``Antialiasing for Ray Tracing Using CSG
Modeling.'' {\em New Trends in Computer Graphics, Proceedings of CG
International '88}, Nadia Magnenat-Thalmann and Daniel Thalmann (eds.),
Springer-Verlag, p. 199-208.
\{\pageref{ARG88}\}
\bibitem{ARN87} Arnaldi, Bruno, Thierry Priol, and Kadi Bouatouch. ``A New Space
Subdivision Method for Ray Tracing CSG Modelled Scenes.'' {\em The Visual
Computer}, Vol. 3, 1987, p. 98-108. Also appears as ``A New Algorithm of Space
Tracing Using a CSG Model'' by Kadi Bouatouch, M. O. Madani, Thierry Priol, and
Bruno Arnaldi in {\em Proceedings of Eurographics '87}, Guy Mar\'{e}chal (ed.),
p. 65-78. Each paper contains details the other does not.
\{\pageref{ARN87}\}
\bibitem{ARV87} Arvo, James, and David Kirk. ``Fast Ray Tracing by Ray
Classification.'' {\em SIGGRAPH '87}, p. 55-64. Also appears in {\em Tutorial:
Computer Graphics: Image Synthesis}, Kenneth I. Joy, Charles W. Grant, Nelson
L. Max, and Lansing Hatfield (eds.), Computer Society Press, Washington, 1988,
p. 196-205.
\{\pageref{ARV87}\}
\bibitem{ARV90} Arvo, James, and David Kirk. ``Particle Transport and Image
Synthesis.'' {\em SIGGRAPH '90}, p. 63-66.
\{\pageref{ARV90}\}
\bibitem{BAD90a} Badouel, Didier, and Thierry Priol. ``An Efficient Parallel
Ray Tracing Scheme for Highly Parallel Architectures.'' {\em Fifth Eurographics
Workshop on Graphics Hardware}, 1990, p. 93-106.
\{\pageref{BAD90a}\}
\bibitem{BAD90b} Badouel, Didier, Kadi Bouatouch, and Thierry Priol. ``Ray
Tracing on Distributed Memory Parallel Computers: Strategies for Distributing
Computations and Data.'' {\em SIGGRAPH '90 Parallel Algorithms and Architecture
for 3D Image Generation Course Notes}.
\{\pageref{BAD90b}\}
\bibitem{BAD88} Badt, Sig, Jr. ``Two Algorithms for Taking Advantage of
Temporal Coherence in Ray Tracing.'' {\em The Visual Computer}, Vol. 4, 1988,
p. 123-132.
\{\pageref{BAD88}\}
\bibitem{BAR86} Barr, Alan H. ``Ray Tracing Deformed Surfaces.'' {\em SIGGRAPH
'86}, p. 287-296.
\{\pageref{BAR86}\}
\bibitem{BAR90} Barrett, Martin L. ``A Load Balancing Experiment for Parallel
Ray Tracing.'' {\em Proceedings of Ausgraph '90}, p. 145-155.
\{\pageref{BAR90}\}
\bibitem{BAR89} Barton, E. ``Data Concurrency on the Meiko Computing Surface.''
{\em Parallel Processing for Computer Vision and Display}, P. M. Dew,
R. A. Earnshaw, and T. R. Heywood (eds.), Addison-Wesley Publishing Company,
Reading, Massachusetts, 1989, p. 402-407.
\{\pageref{BAR90}\}
\bibitem{BER90} Berger, Marc, Terry Trout, and Nancy Levit. ``Ray Tracing
Mirages.'' {\em IEEE CG\&A}, May 1990, p. 36-41.
\{\pageref{BER90}\}
\bibitem{BIA92}
Biard, Luc. ``Parametric Surfaces and Ray Tracing.'' {\em Photorealism in
Computer Graphics}, K. Bouatouch, and C. Bouville (eds.), Springer-Verlag,
1992, p. 33-53.
\{\pageref{BIA92}\}
\bibitem{BID90} Bidasaria, H. B. ``Ray Tracing Surfaces of Revolution Using a
Simplified Strip-Tree Method.'' {\em Proceedings of the 1990 ACM Eighteenth
Annual Computer Science Conference}, 1990, p. 427. Only abstract appears. *
\{\pageref{BID90}\}
\bibitem{BOUA88a} Bouatouch, K., and T. Priol. ``Parallel Space Tracing: An
Experience on an iPSC Hypercube.'' {\em New Trends in Computer Graphics,
Proceedings of CG International '88}, Nadia Magnenat-Thalmann and Daniel
Thalmann (eds.), Springer-Verlag, p. 170-188. Also appears as ``Experimenting
with a Parallel Ray-Tracing Algorithm on a Hypercube Machine'' in {\em
Proceedings of Eurographics '88}, David A. Duce and Pierre Jancene (eds.),
p. 243-259. Each paper contains a few details that the other does not.
\{\pageref{BOUA88a}\}
\bibitem{BOUA88b} Bouatouch, Kadi. ``Theoretical Developments on Polygonal
Approximation of Parametric Surfaces for Ray Tracing.'' {\em Computer Graphics
Forum}, Vol. 7, 1988, p. 257-264.
\{\pageref{BOUA88b}\}
\bibitem{BOU89} Bouatouch, Kadi, Yannick Saouter, and Jean Charles Candela. ``A
VLSI Chip for Ray Tracing Bicubic Patches.'' {\em Proceedings of Eurographics
'89}, W. Hansmann, F. R. A. Hopgood and W. Strasser (eds.), p. 107-124.
\{\pageref{BOU89}\}
\bibitem{BOU85a} Bouville, Christian. ``Bounding Ellipsoids for Ray-Fractal
Intersection.'' {\em SIGGRAPH '85}, p. 45-52.
\{\pageref{BOU85a}\}
\bibitem{BOU85b} Bouville, Christian, R. Brusq, J. L. Dubois, and I. Marchal.
``Generating High Quality Pictures by Ray-Tracing.'' {\em Computer Graphics
Forum}, 4 (1985), p. 87-99. Also appears in {\em Proceedings of Eurographics
'84}, Ketil B\mbox{\o} and Hugh A. Tucker (eds.), p. 161-177.
\{\pageref{BOU85b}\}
\bibitem{BOU85c} Bouville, Christian. ``Image Synthesis Through Ray Tracing.''
{\em Banc-Titre}, March 1985, p. 50-51.
\{\pageref{BOU85c}\}
\bibitem{BOUV88a} Bouville, Christian, Jean-Luc Dubois, and Isabelle Marchal.
``A Space Tracing Method Applied to Polygonal Models.'' Centre Commun d'Etudes
de T\'{e}l\'{e}diffusion et T\'{e}l\'{e}communications.
\{\pageref{BOUV88a}\}
\bibitem{BOUV88b} Bouville, Christian, J. L. Dubois, I. Marchal, and
M. L. Viaud. ``Monte-Carlo Integration Applied to an Illumination Model.''
{\em Proceedings of Eurographics '88}, p. 483-498.
\{\pageref{BOUV88b}\}
\bibitem{BOU90} Bouville, Christian, Kadi Bouatouch, Pierre Tellier, and Xavier
Pueyo. ``A Theoretical Analysis of Global Illumination Models.'' {\em
Eurographics Workshop on Photosimulation}, 1990, p. ?. Also appears in {\em
Photorealism in Computer Graphics}, K. Bouatouch, and C. Bouville (eds.),
Springer-Verlag, 1992, p. 57-71.
\{\pageref{BOU90}\}
\bibitem{BRO84} Bronsvoort, Willem F., Jarke J. van Wijk, and Frederik
W. Jansen. ``Two Methods for Improving the Efficiency of Ray Casting in Solid
Modelling.'' {\em CAD}, Vol. 16, \#1, January 1984, p. 51-55.
\{\pageref{BRO84}\}
\bibitem{BRO85} Bronsvoort, Willem F., and Fopke Klok. ``Ray Tracing Generalized
Cylinders.'' {\em ACM TOG}, Vol. 4, \#4, October 1985, p. 291-303. A revision of
``Ray Tracing Generalized Sweep-Defined Objects,'' 84-36, Deptartment of
Mathematics and Informatics, Delft University of Technology, 1984.
\{\pageref{BRO85}\}
\bibitem{BRO87} Bronsvoort, Willem F. Corrigendum to ``Ray Tracing Generalized
Cylinders.'' {\em ACM TOG}, Vol. 6, \#3, July 1987, p. 238-239.
\{\pageref{BRO85}\}
\bibitem{BRO89} Bronsvoort, Willem F., Peter R. van Nieuwenhuizen, and Frits
H. Post. ``Display of Profiled Sweep Objects.'' {\em The Visual Computer},
Vol. 5, 1989, p. 147-157.
\{\pageref{BRO89}\}
\bibitem{BRO90} Bronsvoort, Willem F. {\em Direct Display Algorithms for Solid
Modelling}, Delft University Press, Delft University of Technology,
Ph.D. Dissertation, 1990.
\{\pageref{BRO90}\}
\bibitem{BRON91} Bronsvoort, Willem F., Frederik W. Jansen, and Frits H. Post.
``Design and Display of Solid Models.'' {\em Advances in Computer Graphics VI
-- Images: Synthesis, Analysis, and Interaction}, G\'{e}rald Garcia and Ivan
Herman (eds.), Springer-Verlag, 1991, p. 1-57.
\{\pageref{BRON91}\}
\bibitem{BROW91} Brown, William Todd. ``Filtering and Adaptive Supersampling for
Ray Traced Rendering,'' Report No. UIUCDCS-R-91-1657, Department of Computer
Science, University of Illinois at Urbana-Champaign, January 1991.
\{\pageref{BROW91}\}
\bibitem{BU89} Bu, Jichun, and Ed F. Deprettere. ``A VLSI System Architecture
for High-Speed Radiative Transfer 3D Image Synthesis.'' {\em The Visual
Computer}, Vol. 5, 1989, p. 121-133. A revision of same paper in {\em Proceedings
of Eurographics '87}, Guy Mar\'{e}chal (ed.), p. 221-234.
\{\pageref{BU89}\}
\bibitem{BUR89a} Burger, Peter, and Duncan Gillies. {\em Interactive Computer
Graphics: Functional, Procedural, and Device-Level Methods}. Addison-Wesley
Publishing Company, Reading, Massachusetts, 1989.
\{\pageref{BUR89a}\}
\bibitem{BUR89b} Burger, Peter, and Duncan Gilles. ``Rapid Ray Tracing of
General Surfaces of Revolution.'' {\em New Advances in Computer Graphics,
Proceedings of CG International '89}, R. A. Earnshaw and B. Wyvill (eds.),
p. 523-532.
\{\pageref{BUR89b}\}
\bibitem{CAR90} Carter, Michael, and Keith Teague. ``Distributed Object
Database Ray Tracing on the Intel iPSC/2 Hypercube.'' {\em Proceedings of the
5th Distributed Memory Computing Conference}, IEEE Society Press, 1990,
p. 217-222.
\{\pageref{CAR90}\}
\bibitem{CAS89} Caspary, Elisha, and Isaac D. Scherson. ``A Self-Balanced
Parallel Ray-Tracing Algorithm.'' {\em Parallel Processing for Computer Vision
and Display}, P. M. Dew, R. A. Earnshaw, and T. R. Heywood (eds.),
Addison-Wesley Publishing Company, Reading, Massachusetts, 1989, p. 408-419. A
revision of ``Multiprocessing for Ray Tracing: A Hierarchical Self-Balancing
Approach.'' {\em The Visual Computer}, Vol. 4, 1988, p. 188-196.
\{\pageref{CAS89}\}
\bibitem{CAU88} Caubet, R., Y. Duthen, and V. Gaildrat. ``VOXAR: A
Tridimensional Architecture for Fast Realistic Image Synthesis.'' {\em New
Trends in Computer Graphics, Proceedings of CG International '88}, Nadia
Magnenat-Thalmann and Daniel Thalmann (eds.), Springer-Verlag, p. 135-149.
\{\pageref{CAU88}\}
\bibitem{CER87} \v{C}erven\'{y}, V. ``Ray Tracing Algorithms in
Three-Dimensional Laterally Varying Layered Structures.'' {\em Seismic
Tomography}, Guust Nolet (ed.), D. Reidel Publishing Company, Boston, Mass.,
1987, p. 99-133.
\{\pageref{CER87}\}
\bibitem{CHA89} Chalmers, M. ``On the Design and Implementation of a
Multiprocessor Ray Tracer.'' {\em Parallel Processing for Computer Vision and
Display}, P. M. Dew, R. A. Earnshaw, and T. R. Heywood (eds.), Addison-Wesley
Publishing Company, Reading, Massachusetts, 1989, p. 420-430.
\{\pageref{CHA89}\}
\bibitem{CHA90} Charney, Mark J., and Isaac D. Scherson. ``Efficient Traversal
of Well-Behaved Hierarchicial Trees of Extents for Ray-Tracing Complex
Scenes.'' {\em The Visual Computer}, Vol. 6, 1990, p. 167-178.
\{\pageref{CHA90}\}
\bibitem{CHA87} Chattopadhyay, Sudeb, and Akira Fujimoto. ``Bi-Directional Ray
Tracing.'' {\em Computer Graphics 1987 - Proceedings of CG International '87},
Tosiyasu L. Kunii (ed.), Springer Verlag, p. 335-343.
\{\pageref{CHA87}\}
\bibitem{CHE91} Chen, Shenchang Eric, Holly E. Rushmeier, Gavin Miller, and
Douglass Turner. ``A Progressive Multi-Pass Method for Global Illumination.''
{\em SIGGRAPH '91}, p. 165-174.
\{\pageref{CHE91}\}
\bibitem{CHI??} Chin, J. H., T. D. Panczak, and L. Fried. ``Finite Element and
Raytracing in Coupled Thermal Problems.'' ???, p. 683-701.
\{\pageref{CHI??}\}
\bibitem{CLE86} Cleary, John G., Brian Wyvill, Graham M. Birtwistle, and Reddy
Vatti. ``Multiprocessor Ray Tracing.'' {\em Computer Graphics Forum}, Vol. 5,
1986, p. 3-12. A revision of the technical report 83/128/17, Computer Science
Department, University of Calgary, October 1983.
\{\pageref{CLE86}\}
\bibitem{CLE??} Cleary, John G., Brian Wyvill, Geoff Wyvill. ``Ray Tracing in
Calgary and Otago.'' Research Report No. ??/???/??, Computer Science
Department, University of Calgary.
\{\pageref{CLE??}\}
\bibitem{CLE88} Cleary, John G., and Geoff Wyvill. ``Analysis of an Algorithm
for Fast Ray Tracing Using Uniform Space Subdivision.'' {\em The Visual
Computer}, Vol. 4, 1988, p. 65-83.
\{\pageref{CLE88}\}
\bibitem{COH91} Cohen, Michael F., and James S. Painter. ``State of the Art in
Image Synthesis.'' {\em Advances in Computer Graphics VI -- Images: Synthesis,
Analysis, and Interaction}, G\'{e}rald Garcia and Ivan Herman (eds.),
Springer-Verlag, 1991, p. 59-111.
\{\pageref{COH91}\}
\bibitem{COO84} Cook, Robert L., Thomas Porter, and Loren Carpenter.
``Distributed Ray Tracing.'' {\em SIGGRAPH '84}, p. 137-145. Also appears in
{\em Tutorial: Computer Graphics: Image Synthesis}, Kenneth I. Joy, Charles
W. Grant, Nelson L. Max, and Lansing Hatfield (eds.), Computer Society Press,
Washington, 1988, p. 139-147.
\{\pageref{COO84}\}
\bibitem{COO88} Cook, Robert L. ``Stochastic Sampling in Computer Graphics.''
{\em Tutorial: Computer Graphics: Image Synthesis}, Kenneth I. Joy, Charles W.
Grant, Nelson L. Max, and Lansing Hatfield (eds.), Computer Society Press,
Washington, 1988, p. 283-304. Also appears in {\em ACM TOG}, Vol. 5, \#1,
January 1986, p. 51-72.
\{\pageref{COO88}\}
\bibitem{COQ84} Coquillart, Sabine, and Michel Gangnet. ``Shaded Display of
Digital Maps.'' {\em IEEE CG\&A}, July 1984, p. 35-42.
\{\pageref{COQ84}\}
\bibitem{COQ85} Coquillart, Sabine. ``An Improvement of the Ray-Tracing
Algorithm.'' {\em Proceedings of Eurographics '85}, Carlo E. Vandoni (ed.),
p. 77-88.
\{\pageref{COQ85}\}
\bibitem{COR85} Cordonnier, E., C. Bouville, J. L. Dubois, and I. Marchal.
``Creating CSG Modelled Pictures for Ray-Casting Display.'' {\em Proceedings of
Eurographics '85}, Carlo E. Vandoni (ed.), p. 171-182.
\{\pageref{COR85}\}
\bibitem{CRO88} Crow, Franklin C. ``Parallelism in Rendering Algorithms.'' {\em
Graphics Interface '88}, p. 87-96.
\{\pageref{CRO88}\}
\bibitem{CRO89} Crow, F. C., G. Demos, J. Hardy, J. McLaughlin, and K. Sims.
``3D Image Synthesis on the Connection Machine.'' {\em Parallel Processing for
Computer Vision and Display}, P. M. Dew, R. A. Earnshaw, and T. R. Heywood
(eds.), Addison-Wesley Publishing Company, Reading, Massachusetts, 1989,
p. 254-269.
\{\pageref{CRO89}\}
\bibitem{CRO91} Crow, Franklin C. ``Parallel Computing for Graphics.'' {\em
Advances in Computer Graphics VI -- Images: Synthesis, Analysis, and
Interaction}, G\'{e}rald Garcia and Ivan Herman (eds.), Springer-Verlag, 1991,
p. 113-140.
\{\pageref{CRO91}\}
\bibitem{CYC89} Cychosz, Joseph M. ``Efficient Generation of Sampling Jitter
Using Look-up Tables.'' Purdue CADLAB Technical Report No. JC-05, Purdue
University, 1989.
\{\pageref{CYC89}\}
\bibitem{CYC90} Cychosz, Joseph M. ``Intersecting a Ray with an Elliptical
Torus.'' Purdue CADLAB Technical Report No. JC-07, Purdue University CADLAB,
October 29, 1990.
\{\pageref{CYC90}\}
\bibitem{DAD85} Dadoun, N., D. G. Kirkpatrick, and J. P. Walsh. ``The Geometry
of Beam Tracing.'' {\em ACM Symposium on Computational Geometry}, 1985,
p. 55-61.
\{\pageref{DAD85}\}
\bibitem{DAU90} Dauenhauer, David E., and Sudhanshu K. Semwal. ``Approximate
Ray Tracing.'' {\em Proceedings of Graphics Interface '90}, p. 75-82.
\{\pageref{DAU90}\}
\bibitem{DAV82} Davis, Jonathan Earl. {\em Recursive Ray Tracing for the
Realistic Display of Solid Models}, M.S.M.E. Thesis, Purdue University, May
1982. *
\{\pageref{DAV82}\}
\bibitem{DEF87} Defend, Daniel Evan. ``Parallel Ray Tracing in a
Vector--Multiprocessing Environment.'' CSRD Rpt. No. 677, Center for
Supercomputing Research and Development, University of Illinois, September,
1987.
\{\pageref{DEF87}\}
\bibitem{DEG84} Deguchi, Hiroshi, Hitoshi Nishimura, Hiroshi Yoshimura, Toru
Kawata, Isao Shirakawa, and Koichi Omura. ``A Parallel Processing Scheme for
Three-Dimensional Image Generation.'' {\em International Symposium on Circuits
and Systems '84}, Vol. 3, p. 1285-1288.
\{\pageref{DEG84}\}
\bibitem{DEG86} Deguchi, Hiroshi, Isao Shirakawa, Koichi Omura, Masato Nishida,
Hitoshi Nishimura, Toru Kawata. ``A Tree-Structured Parallel Processing System
for Image Generation by Ray Tracing.'' {\em Systems and Computers in Japan},
Vol. 17, \#12, 1986, p. 51-62. Translated from {\em Denshi Tsushin Gakkai
Ronbunshi}, Vol. 69-D, \#2, Feb. 1986, p. 170-179.
\{\pageref{DEG86}\}
\bibitem{DEL88} Delany, Hubert C. ``Ray Tracing on a Connection Machine.''
Technical Report \#VZ88-3, Thinking Machines, April 1988.
\{\pageref{DEL88}\}
\bibitem{DEV89a} Devillers, Olivier. ``The Macro-regions: an Efficient Space
Subdivision Structure for Ray Tracing.'' {\em Proceedings of Eurographics '89},
W. Hansmann, F. R. A. Hopgood and W. Strasser (eds.), p. 27-39, 541. A revision
of Technical Report 88-13, Laboratoire d'Informatique de l'Ecole Normale
Sup\'{e}rieure, Paris, France, November 1988.
\{\pageref{DEV89a}\}
\bibitem{DEV89b} Devillers, Olivier. ``Tools to Study the Efficiency of Space
Subdivision Structures for Ray Tracing.'' {\em Proceedings of PIXIM '89},
p. 467-481.
\{\pageref{DEV89b}\}
\bibitem{DIA91} Dias, Maria Lurdes. ``Ray Tracing Interference Color.'' {\em
IEEE CG\&A}, March 1991, p. 54-60.
\{\pageref{DIA91}\}
\bibitem{DIJ89} van Dijk, C. G. C. {\em Ray Tracing Profiled Generalized
Cylinders}, Masters Thesis, Delft University Press, Delft University of
Technology, 1989.
\{\pageref{DIJ89}\}
\bibitem{DIP84} Dipp\'{e}, Mark, and John Swensen. ``An Adaptive Subdivision
Algorithm and Parallel Architecture for Realistic Image Synthesis.'' {\em
SIGGRAPH '84}, p. 149-158. Also appears in {\em Tutorial: Computer Graphics
Hardware: Image Generation and Display}, Hassan K. Reghbati and Anson Y. C. Lee
(eds.), Computer Society Press, Washington, 1988, p. 310-319.
\{\pageref{DIP84}\}
\bibitem{DIP85} Dipp\'{e}, Mark A., and Erling Henry Wold. ``Antialiasing
Through Stochastic Sampling.'' {\em SIGGRAPH '85}, p. 69-78.
\{\pageref{DIP85}\}
\bibitem{DOR86} Dorband, John E. ``Ray Tracing on the MPP.'' {\em Frontiers of
Massively Parallel Scientific Computation, Proceedings of the 1st Symposium at
Goddard Space Flight Center}, NASA Conference Publication 2478, 1986,
p. 211-215, 316.
\{\pageref{DOR86}\}
\bibitem{EO89} Eo, K. S., and C. M. Kyung. ``Hybrid Shadow Testing Scheme for
Ray Tracing.'' {\em CAD}, Vol. 21, \#1, January/February 1989, p. 38-48.
\{\pageref{EO89}\}
\bibitem{FIT82} Fitzhorn, Patrick A. {\em Realistic Image Synthesis: A Time
Complexity Analysis of Ray Tracing}, M.S. Thesis, Colorado State University,
1982.
\{\pageref{FIT82}\}
\bibitem{FIU89} Fiume, Eugene L. {\em The Mathematical Structure of Raster
Graphics}, Academic Press, San Diego, 1989.
\{\pageref{FIU89}\}
\bibitem{FOL90} Foley, James D., Andries Van Dam, Steven K. Feiner, and John
F. Hughes. {\em Computer Graphics, Principles and Practice}, Second Edition,
Addison-Wesley Publishing Company, Reading, Massachusetts, 1990.
\{\pageref{FOL90}\}
\bibitem{FUJ86} Fujimoto, Akira, Takayuki Tanaka, and Kansei Iwata. ``ARTS:
Accelerated Ray-Tracing System.'' {\em IEEE CG\&A}, April 1986, p. 16-26. Also
appears in {\em Tutorial: Computer Graphics: Image Synthesis}, Kenneth I. Joy,
Charles W. Grant, Nelson L. Max, and Lansing Hatfield (eds.), Computer Society
Press, Washington, 1988, p. 148-158. A revision of ``Accelerated Ray Tracing'' by
Akira Fujimoto and Kansei Iwata in {\em Computer Graphics: Visual Technology and
Art, Proceedings of Computer Graphics Tokyo '85}, Tosiyasu L. Kunii (ed.),
p. 41-65.
\{\pageref{FUJ86}\}
\bibitem{GAR90} Garrity, Michael P. "Raytracing Irregular Volume Data." {\em
Proceedings of the San Diego Workshop on Volume Visualization}, 1990,
p. 35-40, 110.
\{\pageref{GAR90}\}
\bibitem{GAU88} Gaudet, Severin, Richard Hobson, Pradeep Chilka, and Thomas
Calvert. ``Multiprocessor Experiments for High-Speed Ray Tracing.'' {\em ACM
TOG}, Vol. 7, \#3, July 1988, p. 151-179.
\{\pageref{GAU88}\}
\bibitem{GER86} Gervautz, Michael. ``Three Improvements of the Ray Tracing
Algorithm for CSG Trees.'' {\em Computers \& Graphics}, Vol. 10, \#4, 1986,
p. 333-339.
\{\pageref{GER86}\}
\bibitem{GET89} Getto, Philip. ``Fast Ray Tracing of Unevaluated Constructive
Solid Geometry Models.'' {\em New Advances in Computer Graphics, Proceedings of
CG International '89}, R. A. Earnshaw and B. Wyvill (eds.), p. 563-578.
\{\pageref{GET89}\}
\bibitem{GIG90} Gigante, Michael. ``Accelerated Ray Tracing Using Non-Uniform
Grids.'' {\em Proceedings of Ausgraph '90}, p. 157-163.
\{\pageref{GIG90}\}
\bibitem{GIG89} Giger, Christine. ``Ray Tracing Polynomial Tensor Product
Surfaces.'' {\em Proceedings of Eurographics '89}, W. Hansmann,
F. R. A. Hopgood and W. Strasser (eds.), p. 125-136, 544.
\{\pageref{GIG89}\}
\bibitem{GLA84} Glassner, Andrew S. ``Space Subdivision for Fast Ray Tracing.''
{\em IEEE CG\&A}, October 1984, p. 15-22. Also appears in {\em Tutorial:
Computer Graphics: Image Synthesis}, Kenneth I. Joy, Charles W. Grant, Nelson
L. Max, and Lansing Hatfield (eds.), Computer Society Press, Washington, 1988,
p. 159-167.
\{\pageref{GLA84}\}
\bibitem{GLA88} Glassner, Andrew S. ``Spacetime Ray Tracing for Animation.''
{\em IEEE CG\&A}, March 1988, p. 60-70.
\{\pageref{GLA88}\}
\bibitem{GLA89} Glassner, Andrew S., James Arvo, Robert L. Cook, Eric Haines,
Pat Hanrahan, Paul Heckbert, and David B. Kirk. {\em An Introduction to Ray
Tracing}. Academic Press, San Diego, 1989.
\{\pageref{GLA89}\}
\bibitem{GLA90a} Glassner, Andrew S. (ed.). {\em Graphics Gems}, Academic
Press, Inc., San Diego, 1990.
\{\pageref{GLA90a}\}
\bibitem{GLA90b} Glassner, Andrew S. ``Ray Tracing for Realism.'' {\em Byte},
December 1990, p. 263-271.
\{\pageref{GLA90b}\}
\bibitem{GOL85} Goldsmith, Jeffrey, and John Salmon. ``A Ray Tracing System for
the Hypercube.'' Caltech Concurrent Computing Memorandum HM-154, 1985.
\{\pageref{GOL85}\}
\bibitem{GOL87} Goldsmith, Jeffrey, and John Salmon. ``Automatic Creation of
Object Hierarchies for Ray Tracing.'' {\em IEEE CG\&A}, May 1987, p. 14-20.
\{\pageref{GOL87}\}
\bibitem{GOL71} Goldstein, Robert A., and Roger Nagel. ``3-D Visual
Simulation.'' {\em Simulation}, January 1971, p. 25-31.
\{\pageref{GOL71}\}
\bibitem{GRE89a} Green, Stuart A., Derek J. Paddon, and E. Lewis. ``A Parallel
Algorithm and Tree-Based Computer Architecture for Ray-Traced Computer
Graphics.'' {\em Parallel Processing for Computer Vision and Display},
P. M. Dew, R. A. Earnshaw, and T. R. Heywood (eds.), Addison-Wesley Publishing
Company, Reading, Massachusetts, 1989, p. 431-442.
\{\pageref{GRE89a}\}
\bibitem{GRE89b} Green, Stuart A., and Derek J. Paddon. ``Exploiting Coherence
for Multiprocessor Ray Tracing.'' {\em IEEE CG\&A}, November 1989, p. 12-26.
\{\pageref{GRE89b}\}
\bibitem{GRE90} Green, Stuart A., and Derek J. Paddon. ``A Highly Flexible
Multiprocessor Solution for Ray Tracing.'' {\em The Visual Computer}, Vol. 6,
1990, p. 62-73.
\{\pageref{GRE90}\}
\bibitem{GRI89} Griessmair, Josef, and Werner Purgathofer. ``Deformation of
Solids with Trivariate B-Splines.'' {\em Proceedings of Eurographics '89},
W. Hansmann, F. R. A. Hopgood and W. Strasser (eds.), p. 137-148, 545.
\{\pageref{GRI89}\}
\bibitem{HAI86} Haines, Eric A., and Donald P. Greenberg. ``The Light Buffer: A
Shadow-Testing Accelerator.'' {\em IEEE CG\&A}, September 1986, p. 6-16.
Contains main points of: {\em The Light Buffer: A Ray Tracer Shadow Testing
Accelerator} by Eric A. Haines, Master's Thesis, Program of Computer Graphics,
1986.
\{\pageref{HAI86}\}
\bibitem{HAI87} Haines, Eric. ``A Proposal for Standard Graphics
Environments.'' {\em IEEE CG\&A}, November 1987, p. 3-5.
\{\pageref{HAI87}\}
\bibitem{HAI88} Haines, Eric, n{\em et al}. {\em Ray Tracing News}. Electronic
newsletter, 1988-1992, available from erich@eye.com.
\{\pageref{HAI88}\}
\bibitem{HAI91} Haines, Eric A., and John R. Wallace. ``Shaft Culling for
Efficient Ray-Traced Radiosity.'' {\em Second Eurographics Workshop on
Rendering}, May 1991, p. ?.
\{\pageref{HAI91}\}
\bibitem{HAL83} Hall, Roy A., and Donald P. Greenberg. ``A Testbed for Realistic
Image Synthesis.'' {\em IEEE CG\&A}, November 1983, p. 10-20.
\{\pageref{HAL83}\}
\bibitem{HAL87} Hall, Roy A. ``Color Reproduction and Illumination Models.''
{\em Techniques for Computer Graphics}, David F. Rogers and Rae A. Earnshaw
(eds.), Springer-Verlag, 1987, p. 194-238.
\{\pageref{HAL87}\}
\bibitem{HAL89} Hall, Roy. {\em Illumination and Color in Computer Generated
Imagery}, Springer-Verlag, 1989.
\{\pageref{HAL89}\}
\bibitem{HAN83} Hanrahan, Pat. ``Ray Tracing Algebraic Surfaces.'' {\em
SIGGRAPH '83}, p. 83-90.
\{\pageref{HAN83}\}
\bibitem{HAN86} Hanrahan, Pat. ``Using Caching and Breadth-First Search to
Speed Up Ray Tracing.'' {\em Proceedings of Graphics Interface '86/Vision
Interface '86}, 1986, p. 56-61.
\{\pageref{HAN86}\}
\bibitem{HAN91} Hanrahan, Pat, Larry Aupperle, and David Salzman. ``A Rapid
Hierarchical Radiosity Algorithm.'' {\em SIGGRAPH '91}, p. 197-206.
\{\pageref{HAN91}\}
\bibitem{HAR89} Hart, John C., Daniel J. Sandin, and Louis H. Kauffman. ``Ray
Tracing Deterministic 3-D Fractals.'' {\em SIGGRAPH '89}, p. 289-296.
\{\pageref{HAR89}\}
\bibitem{HAR91} Hart, John C., and Thomas A. DeFanti. ``Efficient Antialiased
Rendering of 3-D Linear Fractals.'' {\em SIGGRAPH '91}, p. 91-100.
\{\pageref{HAR91}\}
\bibitem{HAS89} Hashimoto, Akihiko, Taka-aki Akimoto, Kenji Mase, and Yasuhito
Suenaga. ``Vista Ray-Tracing: High Speed Ray Tracing Using Perspective
Projection Image.'' {\em New Advances in Computer Graphics, Proceedings of CG
International '89}, R. A. Earnshaw and B. Wyvill (eds.), p. 549-561.
\{\pageref{HAS89}\}
\bibitem{HEB??} H\'{e}bert, M.-P., M. D. J. McNeill, B. Shah, R. L. Grimsdale,
and P. F. Lister. ``MARTI--A Multiprocessor Architecture for Ray Tracing
Images.''
\{\pageref{HEB??}\}
\bibitem{HEC84} Heckbert, Paul S., and Pat Hanrahan. ``Beam Tracing Polygonal
Objects.'' {\em SIGGRAPH '84}, p. 119-127.
\{\pageref{HEC84}\}
\bibitem{HEC88} Heckbert, Paul S. ``Ray Tracing Jell-O Brand Gelatin.'' {\em
CACM}, Vol. 31, \#2, February 1988, p. 130-134. A revision of same paper in {\em
SIGGRAPH '87}, p. 73-74.
\{\pageref{HEC88}\}
\bibitem{HEC90} Heckbert, Paul S. ``Adaptive Radiosity Textures for
Bidirectional Ray Tracing.'' {\em SIGGRAPH '90}, p. 145-154.
\{\pageref{HEC90}\}
\bibitem{HER90} Hermitage, Shirley A., Terrance L. Huntsberger, and Beverly
A. Huntsberger. ``Hypercube Algorithm for Radiosity in a Ray Tracing
Environment.'' {\em Proceedings of the 5th Distributed Memory Computing
Conference}, IEEE Society Press, 1990, p. 206-211.
\{\pageref{HER90}\}
\bibitem{HIL90} Hill, Francis S., Jr. {\em Computer Graphics}. MacMillian
Publishing Company, New York, 1990.
\{\pageref{HIL90}\}
\bibitem{HOF90} Hofmann, Georg Rainer. ``Who Invented Ray Tracing?'' {\em The
Visual Computer}, Vol. 6, 1990, p. 120-124.
\{\pageref{HOF90}\}
\bibitem{HOL91} Hollasch, Steven R. {\em Four-Space Visualization of 4D
Objects}, Masters Thesis, Arizona State University, 1991.
\{\pageref{HOL91}\}
\bibitem{HOL89} Holmstr\"{o}m, Lasse, Timo Laakko, Martti M\"{a}ntyl\"{a}, and
Panu Rekola. ``Ray Tracing Boundary Models with Implicit Blend Surfaces.'' {\em
Theory and Practice of Geometric Modeling}, Wolfgang Stra\mbox{\ss}er and
Hans-Peter Seidel (eds.), Springer-Verlag, 1989, p. 253-271.
\{\pageref{HOL89}\}
\bibitem{HSI89} Hsiung, Ping-Kang, and Robert H. P. Dunn. ``Visualizing
Relativistic Effects in Spacetime.'' {\em Proceedings of Supercomputing '89
Conference}, p. 597-606.
\{\pageref{HSI89}\}
\bibitem{HSI90a} Hsiung, Ping-Kang, Robert H. Thibadeau, Christopher B. Cox, and
Robert H. P. Dunn. ``Doppler Color Shift in Relativistic Image Synthesis.'' {\em
Proceedings of an International Conference organized by IPSJ to Commemorate the
30th Anniversary}, 1990, p. 369-377.
\{\pageref{HSI90a}\}
\bibitem{HSI90b} Hsiung, Ping-Kang, Robert H. Thibadeau, and Robert H. P. Dunn.
``Ray-Tracing Relativity.'' {\em Pixel}, January/February 1990, p. 10-18.
\{\pageref{HSI90b}\}
\bibitem{HSI90c} Hsiung, Ping-Kang, and Robert H. Thibadeau. ``Spacetime
Visualization of Relativistic Effects.'' {\em Proceedings of the 1990 ACM
Eighteenth Annual Computer Science Conference}, 1990, p. 236-243.
\{\pageref{HSI90c}\}
\bibitem{HSI90d} Hsiung, Ping-Kang, Robert H. Thibadeau, and Michael Wu.
``T-Buffer: Fast Visualization of Relativistic Effects in Spacetime.'' {\em
Proceedings of the 1990 Symposium on Interactive 3D Graphics}, p. 83-88, 263.
\{\pageref{HSI90d}\}
\bibitem{HSI90e} Hsiung, Ping-Kang, Robert H. Thibadeau, Christopher B. Cox,
and Robert H. P. Dunn. ``Time Dilation Visualization in Relativity.'' {\em
Supercomputing '90}, p. 835-844.
\{\pageref{HSI90e}\}
\bibitem{HSI90f} Hsiung, Ping-Kang, Robert H. Thibadeau, Christopher B. Cox,
Robert H. P. Dunn, Michael Wu, and Paul Andrew Olbrich. ``Wide-band
Relativistic Doppler Effect Visualization.'' {\em Visualization '90}, p. 83-92.
\{\pageref{HSI90f}\}
\bibitem{HSI92} Hsiung, Ping-Kang, and Robert Thibadeau. ``Accelerating ARTS.''
{\em The Visual Computer}, Vol. 8, 1992, p. 181-190.
\{\pageref{HSI92}\}
\bibitem{HUI91} Hui, K. C., and S. T. Tan. ``Display Techniques and Boundary
Evaluation of a Sweep-CSG Modeller.'' {\em The Visual Computer}, Vol. 8, 1991,
p. 18-34.
\{\pageref{HUI91}\}
\bibitem{IIZ88} Iizuka, M. ``Ray-Traced View and Visual Transparent Quality of
Double Transparent Objects.'' {\em New Trends in Computer Graphics, Proceedings
of CG International '88}, Nadia Magnenat-Thalmann and Daniel Thalmann (eds.),
Springer-Verlag, p. 189-198.
\{\pageref{IIZ88}\}
\bibitem{INA86} Inakage, Masa. ``Caustics and Specular Reflection Models for
Spherical Objects and Lenses.'' {\em The Visual Computer}, Vol. 2, 1986,
p. 379-383.
\{\pageref{INA86}\}
\bibitem{INA88} Inakage, Masa. ``Particals: An Artistic Approach to Fuzzy
Objects.'' {\em New Trends in Computer Graphics, Proceedings of CG
International '88}, Nadia Magnenat-Thalmann and Daniel Thalmann (eds.),
Springer-Verlag, p. 126-134.
\{\pageref{INA88}\}
\bibitem{INA89} Inakage, Masa. ``An Illumination Model for Atmospheric
Environments.'' {\em New Advances in Computer Graphics, Proceedings of CG
International '89}, R. A. Earnshaw and B. Wyvill (eds.), p. 533-548.
\{\pageref{INA89}\}
\bibitem{ISL91} \.{I}\c{s}ler, Veysi, Cevdet Aykanat, and B\"{u}lent
\"{O}zg\"{u}\c{c}. ``Subdivision of 3D Space Based on the Graph Partitioning
for Parallel Ray Tracing.'' {\em Second Eurographics Workshop on Rendering},
May 1991, p. ?.
\{\pageref{ISL91}\}
\bibitem{JAN85a} Jansen, Frederik W. ``A CSG List Priority Hidden Surface
Algorithm.'' {\em Proceedings of Eurographics '85}, Carlo E. Vandoni (ed.),
p. 51-62.
\{\pageref{JAN85a}\}
\bibitem{JAN85b} Jansen, Frederik W. ``Data Structures for Ray Tracing.'' {\em
Data Structures for Raster Graphics}, L. R. A. Kessener, F. J. Peters, and
M. L. P. van Lierop (eds.), Springer-Verlag, 1985, p. 57-73.
\{\pageref{JAN85b}\}
\bibitem{JAN91} Jansen, Frederik W. ``Depth-Order Point Classification
Techniques for CSG Display Algorithms.'' {\em ACM TOG}, Vol. 10, \#1, January
1991, p. 40-70.
\{\pageref{JAN91}\}
\bibitem{JEN89} Jensen, David, and Daniel Reed. ``Ray Tracing on Distributed
Memory Parallel Systems.'' Report No. UIUCDCS-R-89-1551, Department of Computer
Science, University of Illinois at Urbana-Champaign, October 1989.
\{\pageref{JEN89}\}
\bibitem{JEV89a} Jevans, David A. J., and Brian Wyvill. ``Adaptive Voxel
Subdivision for Ray Tracing.'' {\em Graphics Interface '89}, p. 164-172.
A revision of research report 88/332/44, Computer Science Department, University
of Calgary, November 1988.
\{\pageref{JEV89a}\}
\bibitem{JEV89b} Jevans, David A. J. ``Optimistic Multi-Processor Ray
Tracing.'' {\em New Advances in Computer Graphics, Proceedings of CG
International '89}, R. A. Earnshaw and B. Wyvill (eds.), p. 507-522.
\{\pageref{JEV89b}\}
\bibitem{JEV92} Jevans, David A. ``Object Space Temporal Coherence for Ray
Tracing.'' {\em Graphics Interface '92}, p. 176-183.
\{\pageref{JEV92}\}
\bibitem{JOB87} Jobert, N., and G. Jobert. ``Ray Tracing for Surface Waves.''
{\em Seismic Tomography}, Guust Nolet (ed.), D. Reidel Publishing Company,
Boston, Mass., 1987, p. 275-300.
\{\pageref{JOB87}\}
\bibitem{JOY86} Joy, Kenneth I., and Murthy N. Bhetanabhotla. ``Ray Tracing
Parametric Surface Patches Utilizing Numerical Techniques and Ray Coherence.''
{\em SIGGRAPH '86}, p. 279-285. Also appears in {\em Tutorial: Computer
Graphics: Image Synthesis}, Kenneth I. Joy, Charles W. Grant, Nelson L. Max,
and Lansing Hatfield (eds.), Computer Society Press, Washington, 1988,
p. 189-195.
\{\pageref{JOY86}\}
\bibitem{JUL77} Julian, B. R., and D. Gubbins. ``Three-Dimensional Seismic Ray
Tracing.'' {\em Journal of Geophysics}, Vol. 43, 1977, p. 95-113.
\{\pageref{JUL77}\}
\bibitem{KAJ82} Kajiya, James T. ``Ray Tracing Parametric Patches.'' {\em
SIGGRAPH '82}, p. 245-254.
\{\pageref{KAJ82}\}
\bibitem{KAJ83} Kajiya, James T. ``New Techniques for Ray Tracing Procedurally
Defined Objects.'' {\em ACM TOG}, Vol. 2, \#3, July 1983, p. 161-181. Also
appears in {\em Tutorial: Computer Graphics: Image Synthesis}, Kenneth I. Joy,
Charles W. Grant, Nelson L. Max, and Lansing Hatfield (eds.), Computer Society
Press, Washington, 1988, p. 168-188.
\{\pageref{KAJ83}\}
\bibitem{KAJ84} Kajiya, James T., and Brian P. Von Herzen. ``Ray Tracing Volume
Densities.'' {\em SIGGRAPH '84}, p. 165-174.
\{\pageref{KAJ84}\}
\bibitem{KAJ86} Kajiya, James T. ``The Rendering Equation.'' {\em SIGGRAPH '86},
p. 143-150.
\{\pageref{KAJ86}\}
\bibitem{KAL89} Kalra, Devendra, and Alan H. Barr. ``Guaranteed Ray
Intersections with Implicit Surfaces.'' {\em SIGGRAPH '89}, p. 297-306.
\{\pageref{KAL89}\}
\bibitem{KAP87} Kaplan, Michael R. ``The Use of Spatial Coherence in Ray
Tracing.'' {\em Techniques for Computer Graphics}, David F. Rogers and Rae
A. Earnshaw (eds.), Springer-Verlag, 1987, p. 173-193.
\{\pageref{KAP87}\}
\bibitem{KAY79a} Kay, Douglas Scott, and Donald Greenberg. ``Transparency for
Computer Synthesized Images.'' {\em SIGGRAPH '79}, p. 158-164.
\{\pageref{KAY79a}\}
\bibitem{KAY79b} Kay, Douglas Scott. {\em Transparency, Refraction and Ray
Tracing for Computer Synthesized Images}, Masters Thesis, Cornell University,
1979.
\{\pageref{KAY79b}\}
\bibitem{KAY86} Kay, Timothy L., and James T. Kajiya. ``Ray Tracing Complex
Scenes.'' {\em SIGGRAPH '86}, p. 269-278.
\{\pageref{KAY86}\}
\bibitem{KED84} Kedem, Gershon, and John L. Ellis. ``The Raycasting Machine.''
{\em Proceedings of the IEEE International Conference on Computer Design},
1984, p. 533-538. Also appears in {\em Tutorial: Computer Graphics Hardware:
Image Generation and Display}, Hassan K. Reghbati and Anson Y. C. Lee (eds.),
Computer Society Press, Washington, 1988, p. 285-290. Also appears in
{\em Parallel Processing for Computer Vision and Display}, P. M. Dew,
R. A. Earnshaw, and T. R. Heywood (eds.), Addison-Wesley Publishing Company,
Reading, Massachusetts, 1989, p. 378-401.
\{\pageref{KED84}\}
\bibitem{KIL86} Kilgour, A. C. ``Techniques for Modelling and Displaying 3D
Scenes.'' {\em Advances in Computer Graphics II}, F. R. A. Hopgood,
R. J. Hubbold, and D. A. Duce (eds.), Springer-Verlag, 1986, p. 55-113.
\{\pageref{KIL86}\}
\bibitem{KIN86} Kingdon, Stewart. {\em Speeding Up Ray-Scene Intersections},
Masters Thesis, University of Waterloo, 1986.
\{\pageref{KIN86}\}
\bibitem{KIR87} Kirk, David B. ``The Simulation of Natural Features Using Cone
Tracing.'' {\em The Visual Computer}, Vol. 3, 1987, p. 63-71. A revision of same
paper in {\em Advanced Computer Graphics, Proceedings of Computer Graphics Tokyo
'86}, Tosiyasu L. Kunii (ed.), Springer-Verlag, p. 129-144.
\{\pageref{KIR87}\}
\bibitem{KIR88} Kirk, David, and James Arvo. ``The Ray Tracing Kernel.'' {\em
Proceedings of Ausgraph '88}, p. 75-82.
\{\pageref{KIR88}\}
\bibitem{KIT86} Kitaoka, Shoichi. ``Experimental CSG Environment for Modelling
Solid.'' {\em The Visual Computer}, Vol. 2, 1986, p. 9-14.
\{\pageref{KIT86}\}
\bibitem{KOB87} Kobayashi, Hiroaki, Tadao Nakamura, and Yoshiharu Shigei.
``Parallel Processing of an Object Space for Image Synthesis Using Ray
Tracing.'' {\em The Visual Computer}, Vol. 3, 1987, p. 13-22.
\{\pageref{KOB87}\}
\bibitem{KOB88a} Kobayashi, H., T. Nakamura, and Y. Shigei. ``A Strategy for
Mapping Parallel Ray-Tracing into a Hypercube Multiprocessor System.'' {\em New
Trends in Computer Graphics, Proceedings of CG International '88}, Nadia
Magnenat-Thalmann and Daniel Thalmann (eds.), Springer-Verlag, p. 160-169.
\{\pageref{KOB88a}\}
\bibitem{KOB88b} Kobayashi, Hiroaki, Satoshi Nishimura, Hideyuki Kubota, Tadao
Nakamura, and Yoshiharu Shigei. ``Load Balancing Strategies for a Parallel
Ray-Tracing System Based on Constant Subdivision.'' {\em The Visual Computer},
Vol. 4, 1988, p. 197-209.
\{\pageref{KOB88b}\}
\bibitem{KOB89} Kobayashi, Hiroaki., Hideyuki Kubota, Susumu Horiguchi, and
Tadao Nakamura. ``Effective Parallel Processing for Continuous Images.'' {\em
New Advances in Computer Graphics, Proceedings of CG International '89},
R. A. Earnshaw and B. Wyvill (eds.), p. 343-352.
\{\pageref{KOB89}\}
\bibitem{KUC88} Kuchkuda, Roman. ``An Introduction to Ray Tracing.'' {\em
Theoretical Foundations of Computer Graphics and CAD}, NATO ASI Series, Vol.
F40, Springer-Verlag, 1988, p. 1039-1060.
\{\pageref{KUC88}\}
\bibitem{KUN85} Kunii, Tosiyasu L., and Geoff Wyvill. ``CSG and Ray Tracing
Using Functional Primitives.'' {\em Computer-Generated Images: The State of the
Art, Proceedings of Graphics Interface '85}, N. Magnenat-Thalmann and
D. Thalmann (ed.), p. 137-152.
\{\pageref{KUN85}\}
\bibitem{KUN89} Kunii, T. L., S. Nishimura, and T. Noma. ``The Design of a
Parallel Processing System for Computer Graphics.'' {\em Parallel Processing
for Computer Vision and Display}, P. M. Dew, R. A. Earnshaw, and T. R. Heywood
(eds.), Addison-Wesley Publishing Company, Reading, Massachusetts, 1989,
p. 353-377.
\{\pageref{KUN89}\}
\bibitem{LAM90} Lamparter, Bernd, Heinrich M\"{u}ller, J\"{o}rg Winckler. ``The
Ray-z-Buffer---An Approach for Ray Tracing Arbitrarily Large Scenes.''
Universit\"{a}t Freiburg Institut f\"{u}r Informatik, April 1990.
\{\pageref{LAM90}\}
\bibitem{LAN88} Lang, Laura. ``Lighting Design.'' {\em Computer Graphics World},
October 1988, p. 109-114.
\{\pageref{LAN88}\}
\bibitem{LAN91} Lange, Brigitta. ``The Simulation of Radiant Light Transfer
with Stochastic Ray-Tracing.'' {\em Second Eurographics Workshop on Rendering},
May 1991, p. ?.
\{\pageref{LAN91}\}
\bibitem{LEE85} Lee, Mark E., Richard A. Redner, and Samuel P. Uselton.
``Statistically Optimized Sampling for Distributed Ray Tracing.'' {\em SIGGRAPH
'85}, p. 61-67.
\{\pageref{LEE85}\}
\bibitem{LEI88} Leister, W., Th. Maus, H. M\"{u}ller, B. Neidecker, and
A. St\"{o}\mbox{\ss}er. ```Occursus Cum Novo' - Computer Animation by Ray
Tracing in a Network.'' {\em New Trends in Computer Graphics, Proceedings of CG
International '88}, Nadia Magnenat-Thalmann and Daniel Thalmann (eds.),
Springer-Verlag, p. 83-92.
\{\pageref{LEI88}\}
\bibitem{LER87} Leray, Pascal. ``Towards a Z-Buffer and Ray-Tracing Multimode
System Based on Parallel Architecture and VLSI Chips.'' {\em Advances in
Computer Graphics Hardware I}, W. Stra\mbox{\ss}er (ed.), Springer-Verlag,
1987, p. 141-145.
\{\pageref{LER87}\}
\bibitem{LEV87} Levner, Geoff, Paolo Tassinari, and Daniele Marini. ``A Simple,
General Method for Ray Tracing Bicubic Surfaces.'' {\em Computer Graphics 1987
- Proceedings of CG International '87}, Tosiyasu L. Kunii (ed.),
Springer-Verlag, p.285-302. Also appears in {\em Theoretical Foundations of
Computer Graphics and CAD}, NATO ASI Series, Vol. F40, Springer-Verlag, 1988,
p. 805-820.
\{\pageref{LEV87}\}
\bibitem{LEV90a} Levoy, Marc. ``A Hybrid Ray Tracer for Rendering Polygon and
Volume Data.'' {\em IEEE CG\&A}, March 1990, p. 33-40.
\{\pageref{LEV90a}\}
\bibitem{LEV90b} Levoy, Marc. ``Efficient Ray Tracing of Volume Data.'' {\em
ACM TOG}, Vol. 9, \#3, July 1990, p. 245-261.
\{\pageref{LEV90b}\}
\bibitem{LEV90c} Levoy, Marc. ``Volume Rendering by Adaptive Refinement.'' {\em
The Visual Computer}, Vol. 6, 1990, p. 2-7.
\{\pageref{LEV90c}\}
\bibitem{LIN87} Lin, Jimmy Jih-Ming. {\em Fast Ray Tracing on BSP-Trees},
Masters Thesis, Computer Science Department, University of Central Florida,
Orlando, 1987.
\{\pageref{LIN87}\}
\bibitem{LIN91} Lin, Tony T. Y., and Mel Slater. ``Stochastic Ray Tracing Using
SIMD Processor Arrays.'' {\em The Visual Computer}, Vol. 7, July 1991,
p. 187-199.
\{\pageref{LIN91}\}
\bibitem{LIS90} Lischinski, Daniel, and Jokob Gonczarowski. ``Improved
Techniques for Ray Tracing Parametric Surfaces.'' {\em The Visual Computer},
Vol. 6, 1990, p. 134-152.
\{\pageref{LIS90}\}
\bibitem{LOG??} Logan, James, Sudhanshu K. Semwal, and J. Michael Moshell.
``The Modified Slicing Extent Technique of Subdivision for Ray Tracing.'' ?.
\{\pageref{LOG??}\}
\bibitem{MAC88} MacDonald, David. {\em Space Subdivision Algorithms for Ray
Tracing}. Masters Thesis, Computer Science Department, University of Waterloo,
1988.
\{\pageref{MAC88}\}
\bibitem{MAC90} MacDonald, J. David, and Kellogg S. Booth. ``Heuristics for Ray
Tracing Using Space Subdivision.'' {\em The Visual Computer}, Vol. 6, 1990,
p. 153-166. Also appears in {\em Graphics Interface '89}, p. 152-163.
\{\pageref{MAC90}\}
\bibitem{MAG85} Magnenat-Thalmann, Nadia, and Daniel Thalmann. {\em Computer
Animation: Theory and Practice}, Springer-Verlag, 1985.
\{\pageref{MAG85}\}
\bibitem{MAG87} Magnenat-Thalmann, Nadia, and Daniel Thalmann. {\em Image
Synthesis: Theory and Practice}, Springer-Verlag, 1987.
\{\pageref{MAG87}\}
\bibitem{MAR87} Marsh, Donald M. ``UgRay: An Efficient Ray-Tracing Renderer for
UniGrafix.'' Report No. UCB/CSD87/360, Computer Science Division (EECS), UC
Berkeley, May 1987.
\{\pageref{MAR87}\}
\bibitem{MAR88} Marsh, Stephen C. ``Fine Grain Parallel Architectures and the
Creation of High-Quality Images.'' {\em Theoretical Foundations of Computer
Graphics and CAD}, NATO ASI Series, Vol. F40, Springer-Verlag, 1988,
p. 727-754.
\{\pageref{MAR88}\}
\bibitem{MAX81} Max, Nelson L. ``Vectorized Procedural Models for Natural
Terrain: Waves and Islands in the Sunset.'' {\em SIGGRAPH '81}, p. 317-324.
\{\pageref{MAX81}\}
\bibitem{MIT87} Mitchell, Don P. ``Generating Antialiased Images at Low Sampling
Densities.'' {\em SIGGRAPH '87}, p. 65-72.
\{\pageref{MIT87}\}
\bibitem{MIT91} Mitchell, Don P. ``Spectrally Optimal Sampling for Distribution
Ray Tracing.'' {\em SIGGRAPH '91}, p. 157-164.
\{\pageref{MIT91}\}
\bibitem{MIT92} Mitchell, Don, and Pat Hanrahan. ``Illumination from Curved
Reflectors.'' {\em SIGGRAPH '92}, p. 283-291.
\{\pageref{MIT92}\}
\bibitem{MON90} Montani, C., and R. Scopigno. "Rendering Volumetric Data Using
the STICKS Representation Scheme." {\em Proceedings of the San Diego Workshop
on Volume Visualization}, 1990, p. 87-93, 112.
\{\pageref{MON90}\}
\bibitem{MOR81} Moravec, Hans P. ``3D Graphics and the Wave Theory.'' {\em
SIGGRAPH '81}, p. 289-296.
\{\pageref{MOR81}\}
\bibitem{MOR89} Morris, D. T., and P. M. Dew. ``Dynamic Dataflow Algorithms for
Ray Tracing CSG Objects.'' {\em Parallel Processing for Computer Vision and
Display}, P. M. Dew, R. A. Earnshaw, and T. R. Heywood (eds.), Addison-Wesley
Publishing Company, Reading, Massachusetts, 1989, p. 452-460.
\{\pageref{MOR89}\}
\bibitem{MOS91} Moser, T. J. ``Shortest Path Calculation of Seismic Rays.''
{\em Geophysics}, Vol. 56, \# 1, 1991, p. 59-67.
\{\pageref{MOS91}\}
\bibitem{MOS85} Moshell, J. M., and T. J. Cullip. ``An Array Processor for Ray
Tracing.'' Department of Computer Science, University of Central Florida,
Orlando, November 1985.
\{\pageref{MOS85}\}
\bibitem{MUL86} M\"{u}ller, H. ``Image Generation by Space Sweep.'' {\em
Computer Graphics Forum}, Vol. 5, 1986, p. 189-195.
\{\pageref{MUL86}\}
\bibitem{MUR88} Murakami, Koichi, Katsuhiko Hirota and Mitsuo Ishii. ``Fast Ray
Tracing.'' {\em Fujitsu Science and Technology Journal}, vol. 24, \#2, June
1988, p. 150-159.
\{\pageref{MUR88}\}
\bibitem{MUR92}
Murakami, Koichi, and Katsuhiko Hirota. ``Incremental Ray Tracing.'' {\em
Photorealism in Computer Graphics}, K. Bouatouch, and C. Bouville (eds.),
Springer-Verlag, 1992, p. xiii-xiv, 17-32.
\{\pageref{MUR92}\}
\bibitem{MUR91} Muraki, Shigeru. ``Volumetric Shape Description of Range Data
Using `Blobby Model'.'' {\em SIGGRAPH '91}, p. 227-235.
\{\pageref{MUR91}\}
\bibitem{MUS88a} Musgrave, F. Kenton, Lewis E. Hitchner, James L. Murphy. ``A
Realistic Model of Refraction for Computer Graphics.'' {\em Proceedings of
Modelling and Simulation on Microcomputers 1988}, p. 37-43.
\{\pageref{MUS88a}\}
\bibitem{MUS88b} Musgrave, F. Kenton. ``Grid Tracing: Fast Ray Tracing for
Height Fields.'' Research Report YALEU/DCS/RR-639, Yale University, July 1988.
\{\pageref{MUS88b}\}
\bibitem{MUS89a} Musgrave, F. Kenton. ``Prisms and Rainbows: a Dispersion Model
for Computer Graphics.'' {\em Proceedings of Graphics Interface '89 - Vision
Interface '89}, p. 227-234.
\{\pageref{MUS89a}\}
\bibitem{MUS89b} Musgrave, F. Kenton, Craig E. Kolb, and Robert S. Mace. ``The
Synthesis and Rendering of Eroded Fractal Terrains.'' {\em SIGGRAPH '89},
p. 41-50.
\{\pageref{MUS89b}\}
\bibitem{MUS90} Musgrave, F. Kenton. ``A Note on Ray Tracing Mirages.'' {\em
IEEE CG\&A}, November 1990, p. 10-12.
\{\pageref{MUS90}\}
\bibitem{NAK89} Nakamae, Eihachiro, Takao Ishizaki, Tomoyuki Nishita, and
Shinichi Takita. ``Compositing 3D Images with Antialiasing and Various Shading
Effects.'' {\em IEEE CG\&A}, March 1989, p. 21-29.
\{\pageref{NAK89}\}
\bibitem{NEM86} Nemoto, Keiji, and Takao Omachi. ``An Adaptive Subdivision by
Sliding Boundary Surfaces for Fast Ray Tracing.'' {\em Proceedings of Graphics
Interface '86/Vision Interface '86}, p. 43-48.
\{\pageref{NEM86}\}
\bibitem{NIS83} Nishimura, Hitoshi, Hiroshi Ohno, Toru Kawata, Isao Shirakawa,
and Koichi Omura. ``LINKS-1: A Parallel Pipelined Multimicrocomputer System for
Image Creation.'' {\em Proceedings of the 10th Annual International Symposium
on Computer Architecture}, 1983, p. 387-394. Also appears in {\em Tutorial:
Computer Graphics Hardware: Image Generation and Display}, Hassan K. Reghbati
and Anson Y. C. Lee (eds.), Computer Society Press, Washington, 1988,
p. 320-327.
\{\pageref{NIS83}\}
\bibitem{NIS90} Nishita, Tomoyuki, Thomas W. Sederberg, and Masanori Kakimoto.
``Ray Tracing Trimmed Rational Surface Patches.'' {\em SIGGRAPH '90},
p. 337-345.
\{\pageref{NIS90}\}
\bibitem{NOL87} Nolet, G. ``Seismic Wave Propagation and Seismic Tomography.''
{\em Seismic Tomography}, Guust Nolet (ed.), D. Reidel Publishing Company,
Boston, Mass., 1987, p. 1-23.
\{\pageref{NOL87}\}
\bibitem{NOV90} Novins, Kevin L., Francois X. Sillion, and Donald P. Greenberg.
"An Efficient Method for Volume Rendering Using Perspective Projection." {\em
Proceedings of the San Diego Workshop on Volume Visualization}, 1990,
p. 95-102.
\{\pageref{NOV90}\}
\bibitem{OHT87} Ohta, Masataka, and Mamoru Maekawa. ``Ray Coherence Theorem and
Constant Time Ray Tracing Algorithm.'' {\em Computer Graphics 1987 -
Proceedings of CG International '87}, Tosiyasu L. Kunii (ed.), Springer-Verlag,
p. 303-314.
\{\pageref{OHT87}\}
\bibitem{OHT90} Ohta, Masataka, and Mamoru Maekawa. ``Ray-Bound Tracing for
Perfect and Efficient Anti-Aliasing.'' {\em The Visual Computer}, Vol. 6,
1990, p. 125-133. A revision of ``Bounded Ray Tracing for Perfect Efficient
Anti-aliasing.'' Technical Report No. 87-03, Dept. of Information Science,
University of Tokyo, January 1987.
\{\pageref{OHT90}\}
\bibitem{ORC88} Orcutt, David Edward. ``Implementation of Ray Tracing on the
Hypercube.'' {\em Third Conference on Hypercube Concurrent Computers and
Applications}, Geoffrey Fox (ed.), Vol. 2, 1988, p. 1207-1210.
\{\pageref{ORC88}\}
\bibitem{PAG92} Paglieroni, David W., and Sidney M. Petersen. ``Parametric
Height Field Ray Tracing.'' {\em Graphics Interface '92}, p. 192-200.
\{\pageref{PAG92}\}
\bibitem{PAI89} Painter, James, and Kenneth Sloan. ``Antialiased Ray Tracing by
Adaptive Progressive Refinement.'' {\em SIGGRAPH '89}, p. 281-288.
\{\pageref{PAI89}\}
\bibitem{PAL89} Palmer, Thomas C, Frederick H. Hausheer, and Jeffrey D. Saxe.
``Applications of Ray Tracing in Molecular Graphics.'' {\em Journal of
Molecular Graphics}, Vol. 7, September 1989, p. 157, 160-164.
\{\pageref{PAL89}\}
\bibitem{PEA84} Peachey, Darwyn R. ``PORTRAY - An Image Synthesis System for
Realistic Computer Graphics.'' Research Report 84-18, Department of
Computational Science, University of Saskatchewan, 1984.
\{\pageref{PEA84}\}
\bibitem{PEA86} Peachey, Darwyn R. ``PORTRAY - An Image Synthesis System.''
{\em Proceedings of Graphics Interface '86/Vision Interface '86}, p. 37-42.
\{\pageref{PEA86}\}
\bibitem{PEL90} Pellegrini, Marco. ``Stabbing and Ray Shooting in 3 Dimensional
Space.'' {\em Proceedings of the 6th Annual Symposium on Computational
Geometry}, 1990, p. 177-186.
\{\pageref{PEL90}\}
\bibitem{PEN87} Peng, Qunsheng, Yining Zhu, and Youdong Liang. ``A Fast Ray
Tracing Algorithm Using Space Indexing Techniques.'' {\em Proceedings of
Eurographics '87}, Guy Mar\'{e}chal (ed.), p. 11-23.
\{\pageref{PEN87}\}
\bibitem{PER89} Perlin, Ken, and Eric M. Hoffert. ``Hypertexture.'' {\em
SIGGRAPH '89}, p. 253-262.
\{\pageref{PER89}\}
\bibitem{PET87} Peterson, John W. ``Ray Tracing Spline Surfaces with Motion
Blur.'' Department of Computer Science, University of Utah, 1987.
\{\pageref{PET87}\}
\bibitem{PET90} Peterson, Ivars. ``Space-Time Odyssey.'' {\em Science News},
Vol. 137, \#15, April 14, 1990, p. 232-237.
\{\pageref{PET90}\}
\bibitem{PIT93} Pitot, Paul. ``The Voxar Project.'' {\em IEEE CG\&A}, January
1993, p. 27-33.
\{\pageref{PIT93}\}
\bibitem{PLU83} Plunkett, David J., Joseph M. Cychosz, and Michael J. Bailey.
``The Vectorization of a Ray Tracing Program for Image Generation.'' {\em
Proceedings of Cyber 200 Applications Seminar}, NASA Conference Publication
2295, October 1983, p. 315-323.
\{\pageref{PLU83}\}
\bibitem{PLU84} Plunkett, David J. {\em A Vectorized Ray Tracing Algorithm},
M.S.M.E. Thesis, Purdue University, August 1984. *
\{\pageref{PLU84}\}
\bibitem{PLU85} Plunkett, David J., and Michael J. Bailey. ``The Vectorization
of a Ray-Tracing Algorithm for Improved Execution Speed.'' {\em IEEE CG\&A},
August 1985, p. 52-60.
\{\pageref{PLU85}\}
\bibitem{POT89} Potmesil, Michael, Leonard McMillan, Eric M. Hoffert, Jennifer
F. Inman, Robert L. Farah, and Marc Howard. ``A Parallel Image Computer with a
Distributed Frame Buffer: System Architecture and Programming.'' {\em
Proceedings of Eurographics '89}, W. Hansmann, F. R. A. Hopgood and
W. Strasser (eds.), p. 197-208, 549.
\{\pageref{POT89}\}
\bibitem{PRI89} Priol, Thierry, and Kadi Bouatouch. ``Static Load Balancing for
a Parallel Ray Tracing on a MIMD Hypercube.'' {\em The Visual Computer},
Vol. 5, 1989, p. 109-119.
\{\pageref{PRI89}\}
\bibitem{PUE91} Pueyo, Xavier. ``Diffuse Interreflections. Techniques for
Form-Factor Computation: A Survey.'' {\em The Visual Computer}, Vol. 7, July
1991, p. 200-209.
\{\pageref{PUE91}\}
\bibitem{PUL87} Pulleyblank, Ron, and John Kapenga. ``The Feasibility of a VLSI
Chip for Ray Tracing Bicubic Patches.'' {\em IEEE CG\&A}, March 1987, p. 33-44.
Also appears in {\em Tutorial: Computer Graphics Hardware: Image Generation and
Display}, Hassan K. Reghbati and Anson Y. C. Lee (eds.), Computer Society
Press, Washington, 1988, p. 328-339. Also appears as ``A VLSI Chip for Ray
Tracing Bicubic Patches'' in {\em Advances in Computer Graphics Hardware I},
W. Stra\mbox{\ss}er (ed.), 1987, p. 125-140.
\{\pageref{PUL87}\}
\bibitem{PUR86} Purgathofer, Werner. ``A Statistical Method for Adaptive
Stochastic Sampling.'' {\em Proceedings of Eurographics '86}, A. A. G. Requicha
(ed.), p. 145-152.
\{\pageref{PUR86}\}
\bibitem{QUE88} Quek, Lee Hian, and D. D. Hearn. ``Efficient Space-Subdivision
Methods in Ray-Tracing Algorithms,'' Report No. UIUCDCS-R-88-1468, Department
of Computer Science, University of Illinois at Urbana-Champaign, November 1988.
\{\pageref{QUE88}\}
\bibitem{QUE89} Quek, Lee Hian. {\em Ray Tracing with Space Subdivision on a
Vector-Multiprocessor System}, Masters Thesis, Report No. UIUCDCS-R-89-1491,
Department of Computer Science, University of Illinois at Urbana-Champaign,
February 1989.
\{\pageref{QUE89}\}
\bibitem{RAN90} Ransen, Owen F. ``The Art of Ray Tracing.'' {\em Byte},
February 1990, p. 238-242.
\{\pageref{RAN90}\}
\bibitem{ROB90} Robb, Paul, and Barbara Pawlowski. ``Computer Ray Tracing
Speeds.'' {\em Applied Optics}, Vol. 29, \#13, May 1 1990, p. 1933-1939.
\{\pageref{ROB90}\}
\bibitem{ROE90} Roelens, M., G. Fertey, B. Peroche. ``Light Sources in a Ray
Tracing Environment.'' Technical Report \#90-6, Ecole Nationale Sup\'{e}rieure
des Mines de Saint-Etienne, D\'{e}partement Informatique Appliqu\'{e}e, June
1990. Also appears in {\em Proceedings Eurographics Workshop on
Photosimulation, Realism and Physics in Computer Graphics}, June 1990,
p. 195-213.
\{\pageref{ROE90}\}
\bibitem{ROG85} Rogers, David F. {\em Procedural Elements for Computer
Graphics}, McGraw-Hill Book Company, New York, 1985.
\{\pageref{ROG85}\}
\bibitem{ROT82} Roth, Scott D. ``Ray Casting for Modeling Solids.'' {\em
Computer Graphics and Image Processing}, Vol. 18, 1982, p. 109-144.
\{\pageref{ROT82}\}
\bibitem{RUB80} Rubin, Steven M., and Turner Whitted. ``A 3-Dimensional
Representation for Fast Rendering of Complex Scenes.'' {\em SIGGRAPH '80},
p. 110-116.
\{\pageref{RUB80}\}
\bibitem{RUS90} Rushmeier, Holly E., and Kenneth E. Torrance. ``Extending the
Radiosity Method to Include Specularly Reflecting and Translucent Materials.''
{\em ACM TOG}, Vol. 9, \#1, January 1990, p. 1-27.
\{\pageref{RUS90}\}
\bibitem{SAB91} Sabella, Paolo. ``A Rendering Algorithm for Visualizing 3D
Scalar Field.'' {\em Volume Visualization}, IEEE Computer Society Press
Tutorial, 1991, p. 160-167. Also appears in {\em SIGGRAPH '88}, p. 51-58.
\{\pageref{SAB91}\}
\bibitem{SAE92} LeSaec, Betrand, and Christophe Schlick. ``A Progressive
Ray-Tracing-Based Radiosity with General Reflectance Functions.'' {\em
Photorealism in Computer Graphics}, K. Bouatouch, and C. Bouville (eds.),
Springer-Verlag, 1992, p. 101-113. A revision of Technical Report \#90-17,
Laboratoire Bordelais de Recherche en Informatique, Universit\'{e} de Bordeaux
I which also appears in Proceedings Eurographics Workshop on Photosimulation,
Realism and Physics in Computer Graphics, June 1990, p. 103-116.
\{\pageref{SAE92}\}
\bibitem{SAL89} Salesin, David, and Jorge Stolfi. ``The ZZ-Buffer: a Simple and
Efficient Rendering Algorithm with Reliable Antialiasing.'' {\em Proceedings of
the PIXIM '89 Conference}, p. 451-466.
\{\pageref{SALE89}\}
\bibitem{SAL90} Salesin, David, and Jorge Stolfi. ``Rendering CSG Models with a
ZZ-Buffer.'' {\em SIGGRAPH '90}, p. 67-76.
\{\pageref{SAL90}\}
\bibitem{SAL88} Salmon, John, and Jeff Goldsmith. ``A Hypercube Ray-tracer.''
{\em Third Conference on Hypercube Concurrent Computers and Applications.},
Geoffrey Fox (ed.), Vol. 2, 1988, p. 1194-1206.
\{\pageref{SAL88}\}
\bibitem{SALM89} Salmon, Rod, and Mel Slater. {\em Computer Graphics: Systems \&
Concepts}. Addison-Wesley Publishing Company, Reading, Massachusetts, 1989.
\{\pageref{SALM89}\}
\bibitem{SAM89} Samet, Hanan. ``Implementing Ray Tracing with Octrees and
Neighbor Finding.'' {\em Computers \& Graphics}, Vol. 13, \#4, 1989,
p. 445-460.
\{\pageref{SAM89}\}
\bibitem{SAM90} Samet, Hanan. {\em Applications of Spatial Data Structures:
Computer Graphics, Image Processing, and GIS}, Addison-Wesley, 1990.
\{\pageref{SAM90}\}
\bibitem{SAM91} Samet, Hanan. ``Hierarchical Data Structures and Algorithms for
Computer Graphics - Part II: Applications.'' {\em Volume Visualization}, IEEE
Computer Society Press Tutorial, 1991, p. 72-88. Also appears in {\em IEEE
CG\&A} July 1988, p. 59-75.
\{\pageref{SAM91}\}
\bibitem{SCH87} Scherson, Isaac D., and Elisha Caspary. ``Data Structures and
the Complexity of Ray Tracing.'' {\em The Visual Computer}, Vol. 3, 1987,
p. 201-213.
\{\pageref{SCH87}\}
\bibitem{SCH91} Schlick, Christophe. ``An Adaptive Sampling Technique for
Multidimensional Integration by Ray-Tracing.'' {\em Second Eurographics
Workshop on Rendering}, May 1991, p. ?.
\{\pageref{SCH91}\}
\bibitem{SCHM88} Schmitt, Alfred, Heinrich M\"{u}ller, and Wolfgang Leister.
``Ray Tracing Algorithms --- Theory and Practice.'' {\em Theoretical
Foundations of Computer Graphics and CAD}, NATO ASI Series, Vol. F40,
Springer-Verlag, 1988, p. 997-1030.
\{\pageref{SCHM88}\}
\bibitem{SCHN88} Schneider, Bengt-Olaf. ``Ray Tracing Rational B-Spline Patches
in VLSI.'' {\em Advances in Computer Graphics Hardware II}, A. A. M. Kuijk and
W. Stra\mbox{\ss}er (eds.), Springer-Verlag, 1988, p. 45-63.
\{\pageref{SCHN88}\}
\bibitem{SCH??} Schr\"{o}der, Peter, and James B. Salem. ``Fast Rotation of
Volume Data on Data Parallel Architectures.'' ?.
\{\pageref{SCH??}\}
\bibitem{SCH92} Schr\"{o}der, Peter, and Steven M. Drucker. ``A Data Parallel
Algorithm for Raytracing of Heterogeneous Databases.'' {\em Graphics Interface
'92}, p. 167-175.
\{\pageref{SCH92}\}
\bibitem{SED84} Sederberg, Thomas W., and David C. Anderson. ``Ray Tracing of
Steiner Patches.'' {\em SIGGRAPH '84}, p. 159-164.
\{\pageref{SED84}\}
\bibitem{SEM86} Semwal, S. K., and J. M. Moshell. ``Geometric Issues of the
Slicing Extent Technique for Ray Tracing.'' Technical Report CS-TR-86-17,
Department of Computer Science, University of Central Florida, Orlando, 1986.
\{\pageref{SEM86}\}
\bibitem{SEM87} Semwal, S. K. {\em The Slicing Extent Technique for Fast Ray
Tracing}. Ph.D. Dissertation, Computer Science Department, University of
Central Florida, 1987.
\{\pageref{SEM87}\}
\bibitem{SEM92} Semwal, Sudhanshu K., Charulata K. Kearney, and J. Michael
Moshell. ``Ray Tracing Using the Slicing Extent Technique.'' {\em 1992
International Conference on 3D Graphics (?)}, p. ?.
\{\pageref{SEM92}\}
\bibitem{SEQ89} S\'{e}quin, Carlo H., and Eliot K. Smyrl. ``Parametric Ray
Tracing.'' {\em SIGGRAPH '89}, p. 307-314.
\{\pageref{SEQ89}\}
\bibitem{SHI87} Shinya, Mikio, Tokiichiro Takahashi, and Seiichiro Naito.
``Principles and Applications of Pencil Tracing.'' {\em SIGGRAPH '87},
p. 45-54.
\{\pageref{SHI87}\}
\bibitem{SHI89} Shinya, Mikio, Takafumi Saito,, and Tokiichiro Takahashi.
``Rendering Techniques for Transparent Objects.'' {\em Graphics Interface '89},
p. 173-181.
\{\pageref{SHI89}\}
\bibitem{SHI90a} Shirley, Peter. ``A Ray Tracing Method for Illumination
Calculation in Diffuse-Specular Scenes.'' {\em Proceedings of Graphics
Interface '90}, p. 205-212.
\{\pageref{SHI90a}\}
\bibitem{SHI90b} Shirley, Peter, Kelvin Sung, and William Brown. ``A Ray
Tracing Framework for Global Illumination Systems.'' {\em Graphics Interface
'90}, p. 117-128
\{\pageref{SHI90b}\}
\bibitem{SHI91} Shirley, Peter S. {\em Physically Based Lighting Calculations
for Computer Graphics}, Ph.D. Dissertation, Computer Science Department,
University of Illinois at Urbana-Champaign, 1991.
\{\pageref{SHI91}\}
\bibitem{SIL89} Sillion, Francois, and Claude Pucch. ``A General Two-Pass
Method for Integrating Specular and Diffuse Reflection.'' {\em SIGGRAPH '89},
p. 335-344.
\{\pageref{SIL89}\}
\bibitem{SNY87} Snyder, John M., and Alan H. Barr. ``Ray Tracing Complex Models
Containing Surface Tessellations.'' {\em SIGGRAPH '87}, p. 119-128.
\{\pageref{SNY87}\}
\bibitem{SPA90} Spackman, John. {\em Scene Decompositions for Accelerated Ray
Tracing}, Ph.D. Dissertation, The University of Bath, UK, 1990. Available as
Bath Computer Science Technical Report 90/33.
\{\pageref{SPA90}\}
\bibitem{SPE85} Speer, L. Richard, Tony D. DeRose, and Brian A. Barsky. ``A
Theoretical and Empirical Analysis of Coherent Ray-Tracing.'' {\em
Computer-Generated Images: The State of the Art, Proceedings of Graphics
Interface '85}, N. Magnenat-Thalmann and D. Thalmann (ed.), p. 11-25. Also
appears in {\em Graphics Interface '85}, p. 1-8.
\{\pageref{SPE85}\}
\bibitem{STE84} Steinberg, Herbert A. ``A Smooth Surface Based on Biquadratic
Patches.'' {\em IEEE CG\&A}, September 1984, p. 20-23.
\{\pageref{STE84}\}
\bibitem{STE88} Stepoway, Stephen L., and Michael Christiansen. ``Parallel
Rendering of Fractal Surfaces.'' {\em International Journal of Parallel
Programming}, Vol. 17, \#1, 1988, p. 43-58.
\{\pageref{STE88}\}
\bibitem{STE89} Stettner, Adam, and Donald P. Greenberg. ``Computer Graphics
Visualization for Acoustic Simulation.'' {\em SIGGRAPH '89}, p. 195-206.
\{\pageref{STE89}\}
\bibitem{STO88} St\"{o}\mbox{\ss}er, Achim, Alfred Schmitt, Burkhard Neidecker,
Heinrich M\"{u}ller, Thomas Maus, and Wolfgang Leister. ```Occursus Cum Novo'
-- Tools for Efficient Photo-Realistic Computer Animation.'' {\em Proceedings
of Eurographics '88}, David A. Duce and Pierre Jancene (eds.), p. 31-41, C-1.
\{\pageref{STO88}\}
\bibitem{SUB90} Subramanian, K. R. ``Adapting Search Structures to Scene
Characteristics for Ray Tracing'', Ph.D. thesis, Department of Computer
Sciences, University of Texas at Austin, December 1990.
\{\pageref{SUB90}\}
\bibitem{SUB91} Subramanian, K. R., and Donald S. Fussell. ``Automatic
Termination Criteria for Ray Tracing Hierarchies.'' {\em Graphics Interface
'91}, p. 93-100. *
\{\pageref{SUB91}\}
\bibitem{SUN91} Sung, Kelvin. ``A DDA Octree Traversal Algorithm for Ray
Tracing.'' {\em Eurographics '91}, p. 73-85.
\{\pageref{SUN91}\}
\bibitem{SWE86} Sweeney, Michael A. J., and Richard H. Bartels. ``Ray Tracing
Free-Form B-Spline Surfaces.'' {\em IEEE CG\&A}, February 1986, p. 41-49.
\{\pageref{SWE86}\}
\bibitem{TAK90} Takagi, Atsushi, Hitoshi Takaoko, Tetsuya Oshima, and Yoshinori
Ogata. ``Accurate Rendering Techique Based on Colorimetric Conception.'' {\em
SIGGRAPH '90}, p. 263-272.
\{\pageref{TAK90}\}
\bibitem{TAM84} Tamminen, Markku, Olli Karonen, and Martti M\"{a}ntyl\"{a}.
``Ray-Casting and Block Model Conversion Using a Spatial Index.'' {\em CAD},
Vol. 16, \#4, July 1984, p. 203-208.
\{\pageref{TAM84}\}
\bibitem{TEZ85} Tezenas du Montcel, Bruno, and Alain Nicolas. ``An
Illumination Model for Ray Tracing.'' {\em Proceedings of Eurographics '85},
Carlo E. Vandoni (ed.), p. 63-75.
\{\pageref{TEZ85}\}
\bibitem{THI90a} Thirion, J. P. ``Interval Arithmetic for High Resolution Ray
Tracing.'' Technical Report 90-4, Laboratoire d'Informatique de l'Ecole Normale
Sup\'{e}rieure, Paris, France, February 1990.
\{\pageref{THI90a}\}
\bibitem{THI90b} Thirion, J. P. ``Tries: Data Structures Based on Boolean
Representation for Ray Tracing.'' Technical Report 90-3, Laboratoire
d'Informatique de l'Ecole Normale Sup\'{e}rieure, Paris, France, February 1990.
Also appears in {\em Proceedings of Eurographics '90}, p. 530-542.
\{\pageref{THI90b}\}
\bibitem{THO86} Thomas, Spencer W. ``Dispersive Refraction in Ray Tracing.''
{\em The Visual Computer}, Vol. 2, 1986, p. 3-8.
\{\pageref{THO86}\}
\bibitem{THO89} Thomas, D., Arun N. Netravali, and D. S. Fox. ``Anti-aliased Ray
Tracing with Covers.'' {\em Computer Graphics Forum}, 8 (1989), p. 325-336.
\{\pageref{THO89}\}
\bibitem{TOT85} Toth, Daniel L. ``On Ray Tracing Parametric Surfaces.'' {\em
SIGGRAPH '85}, p. 171-179.
\{\pageref{TOT85}\}
\bibitem{TRO87} Trousset, Yves, and Francis Schmitt. ``Active-Ray Tracing for
3D Medical Imaging.'' {\em Proceedings of Eurographics '87}, Guy Mar\'{e}chal
(ed.), p. 139-150.
\{\pageref{TRO87}\}
\bibitem{ULL83} Ullner, Michael Karl. {\em Parallel Machines for Computer
Graphics}, Ph.D. Dissertation, California Institute of Technology, 1983.
\{\pageref{ULL83}\}
\bibitem{VLA90} Vlassopoulos, Vasilis. ``Adaptive Polygonization of Parametric
Surfaces.'' {\em The Visual Computer}, Vol. 6, 1990, p. 291-298.
\{\pageref{VLA90}\}
\bibitem{WAI88} Waij, Rudi. {\em Acceleration of Ray Tracing}, Masters Thesis,
Delft University Press, Delft University of Technology, 1988.
\{\pageref{WAI88}\}
\bibitem{WAL87} Wallace, John R., Michael F. Cohen, and Donald P. Greenberg.
``A Two-Pass Solution to the Rendering Equation: A Synthesis of Ray Tracing and
Radiosity Methods.'' {\em SIGGRAPH '87}, p. 311-320.
\{\pageref{WAL87}\}
\bibitem{WAL89} Wallace, John R., Kells A. Elmquist, and Eric A. Haines. ``A
Ray Tracing Algorithm for Progressive Radiosity.'' {\em SIGGRAPH '89},
p. 315-324.
\{\pageref{WAL89}\}
\bibitem{WAR88} Ward, Gregory J., Francis M. Rubinstein, and Robert D. Clear.
``A Ray Tracing Solution for Diffuse Interreflection.'' {\em SIGGRAPH '88},
p. 85-92.
\{\pageref{WAR88}\}
\bibitem{WAR91} Ward, Gregory J. ``Adaptive Shadow Testing for Ray Tracing.''
{\em Second Eurographics Workshop on Rendering}, May 1991, p. ?.
\{\pageref{WAR91}\}
\bibitem{WAT89} Watt, Alan. {\em Fundamentals of Three-Dimensional Computer
Graphics}, Addison-Wesley Publishing Company, Reading, Massachusetts, 1989.
\{\pageref{WAT89}\}
\bibitem{WAT90} Watt, Mark. ``Light-Water Interaction Using Backward Beam
Tracing.'' {\em SIGGRAPH '90}, p. 377-385.
\{\pageref{WAT90}\}
\bibitem{WEB90} Webber, Robert E. ``Ray Tracing Voxel Data Via Biquadratic
Local Surface Interpolation.'' {\em The Visual Computer}, Vol. 6, 1990,
p. 8-15.
\{\pageref{WEB90}\}
\bibitem{WEG84} Weghorst, Hank, Gary Hooper, and Donald P. Greenberg.
``Improved Computational Methods for Ray Tracing.'' {\em ACM TOG}, Vol. 3, \#1,
January 1984, p. 52-69.
\{\pageref{WEG84}\}
\bibitem{WHI80} Whitted, Turner. ``An Improved Illumination Model for Shaded
Display.'' {\em CACM}, Vol. 23, \#6, June 1980, p. 343-349. Also appears in
{\em Tutorial: Computer Graphics: Image Synthesis}, Kenneth I. Joy, Charles W.
Grant, Nelson L. Max, and Lansing Hatfield (eds.), Computer Society Press,
Washington, 1988, p. 132-138.
\{\pageref{WHI80}\}
\bibitem{WHI82} Whitted, Turner. ``Processing Requirements for Hidden Surface
Elimination and Realistic Shading.'' {\em IEEE Digest of Papers, COMPCON},
Spring 1982, p. 245-250.
\{\pageref{WHI82}\}
\bibitem{WHI88} Whitted, Turner, and Robert L. Cook. ``A Comprehensive Shading
Model.'' {\em Tutorial: Computer Graphics: Image Synthesis}, Kenneth I. Joy,
Charles W. Grant, Nelson L. Max, and Lansing Hatfield (eds.), Computer Society
Press, Washington, 1988, p. 232-243. Also appears in unpublished course notes
from {\em State of the Art in Image Synthesis, SIGGRAPH '85 Course Notes \#11}.
\{\pageref{WHI88}\}
\bibitem{WIE87} Wielandt, E. ``On the Validity of the Ray Approximation for
Interpreting Delay Times.'' {\em Seismic Tomography}, Guust Nolet (ed.),
D. Reidel Publishing Company, Boston, Mass., 1987, p. 85-98.
\{\pageref{WIE87}\}
\bibitem{WIJ84a} van Wijk, Jarke J. ``Ray Tracing Objects Defined by Sweeping a
Sphere.'' {\em Proceedings of Eurographics '84}, Ketil B\mbox{\o} and Hugh
A. Tucker (ed.), p. 73-82.
\{\pageref{WIJ84a}\}
\bibitem{WIJ84b} van Wijk, Jarke J. ``Ray Tracing Objects Defined by Sweeping
Planar Cubic Splines.'' {\em ACM TOG}, Vol. 3, \#3, July 1984, p. 223-237.
\{\pageref{WIJ84b}\}
\bibitem{WIJ84c} van Wijk, J. J., and F. W. Jansen. ``Realism in Raster
Graphics.'' {\em Computers and Graphics}, Vol. 8, \#2, 1984, p. 217-219.
\{\pageref{WIJ84c}\}
\bibitem{WIJ86} van Wijk, Jarke J. {\em On New Types of Solid Models and Their
Visualization with Ray Tracing}, Ph.D. Dissertation, Delft University Press,
Delft University of Technology, 1986.
\{\pageref{WIJ86}\}
\bibitem{WILN88} Williams, Nicholas S., B. F. Buxton, and H. Buxton.
``Distributed Ray Tracing Using an SIMD Processor Array.'' {\em Theoretical
Foundations of Computer Graphics and CAD}, NATO ASI Series, Vol. F40,
Springer-Verlag, 1988, p. 703-725.
\{\pageref{WILN88}\}
\bibitem{WILT88} Williams, Tom. ``Graphics System Designers Strive for
Photorealism.'' {\em Computer Design}, August 1, 1988, p. 50-61.
\{\pageref{WILT88}\}
\bibitem{WIL89} Wilson, Thomas B. {\em Ray Tracing Techniques}, M.S. Thesis,
Computer Science Department, University of Central Florida, Orlando, 1989.
\{\pageref{WIL89}\}
\bibitem{WIL92a} Wilson, Tom, and Narsingh Deo. ``Acceleration Schemes for Ray
Tracing.'' Technical Report CS-TR-92-22, Department of Computer Science,
University of Central Florida, September 1992.
\{\pageref{WIL92a}\}
\bibitem{WIL92b} Wilson, Tom, and Narsingh Deo. ``Comparing Extent Tracing to
Other Ray Tracing Accelerators.'' Technical Report CS-TR-92-21, Department of
Computer Science, University of Central Florida, September 1992.
\{\pageref{WIL92b}\}
\bibitem{WIL92c} Wilson, Tom, and Narsingh Deo. ``Extent Tracing: Algorithm and
Implementation.'' Technical Report CS-TR-92-34, Department of Computer Science,
University of Central Florida, December 1992.
\{\pageref{WIL92c}\}
\bibitem{WOL90} Wolff, Lawrence B., and David J. Kurlander. ``Ray Tracing with
Polarization Parameters.'' {\em IEEE CG\&A}, Novemer 1990, p. 44-55.
\{\pageref{WOL90}\}
\bibitem{WOO90a} Woo, Andrew, Pierre Poulin, and Alain Fournier. ``A Survey of
Shadow Algorithms.'' {\em IEEE CG\&A}, November 1990, p. 13-32.
\{\pageref{WOO90a}\}
\bibitem{WOO90b} Woo, Andrew, and John Amanatides. ``Voxel Occlusion Testing: A
Shadow Determination Accelerator for Ray Tracing.'' {\em Proceedings of
Graphics Interface '90}, p. 213-220.
\{\pageref{WOO90b}\}
\bibitem{WOO92} Woo, Andrew. ``Ray Tracing Polygons Using Spatial
Subdivision.'' {\em Graphics Interface '92}, p. 184-191.
\{\pageref{WOO92}\}
\bibitem{WOO89} Woodward, Charles. ``Ray Tracing Parametric Surfaces by
Subdivision in Viewing Plane.'' {\em Theory and Practice of Geometric
Modeling}, Wolfgang Stra\mbox{\ss}er and Hans-Peter Seidel (eds.),
Springer-Verlag, 1989, p. 273-287.
\{\pageref{WOO89}\}
\bibitem{WYV85} Wyvill, Geoff, and Tosiyasu L. Kunii. ``A Functional Model for
Constructive Solid Geometry.'' {\em The Visual Computer}, Vol. 1, 1985,
p. 3-14.
\{\pageref{WYV85}\}
\bibitem{WYV86a} Wyvill, Geoff, Tosiyasu L. Kunii, and Yasuto Shirai. ``Space
Division for Ray Tracing in CSG.'' {\em IEEE CG\&A}, April 1986, p. 28-34.
\{\pageref{WYV86a}\}
\bibitem{WYV86b} Wyvill, Geoff, Andrew Pearce, and Brian Wyvill. ``The
Representation of Water.'' {\em Proceedings of Graphics Interface '86/Vision
Interface '86}, p. 217-222.
\{\pageref{WYV86b}\}
\bibitem{WYV87} Wyvill, Geoff, Alistair Ward, and Tim Brown. ``Sketches by Ray
Tracing.'' {\em Computer Graphics 1987 - Proceedings of CG International '87},
Tosiyasu L. Kunii (ed.), Springer-Verlag, p. 315-333.
\{\pageref{WYV87}\}
\bibitem{WYV88} Wyvill, G., and P. Sharp. ``Volume and Surface Properties in
CSG.'' {\em New Trends in Computer Graphics, Proceedings of CG International
'88}, Nadia Magnenat-Thalmann and Daniel Thalmann (eds.), Springer-Verlag,
p. 257-267.
\{\pageref{WYV88}\}
\bibitem{WYV89} Wyvill, Geoff, and P. Sharp. ``Fast Antialiasing of Ray Traced
Images.'' {\em New Trends in Computer Graphics, Proceedings of CG International
'89}, p. 579-588.
\{\pageref{WYV89}\}
\bibitem{WYV90} Wyvill, Geoff, and Andrew Trotman. ``Ray-Tracing Soft
Objects.'' {\em Proceedings of CG International '90}, p. 467-476.
\{\pageref{WYV90}\}
\bibitem{YAG92} Yagel, Roni, Daniel Cohen, and Arie Kaufman. ``Discrete Ray
Tracing.'' {\em IEEE CG\&A}, September 1992, p. 19-28.
\{\pageref{YAG92}\}
\bibitem{YAN87} Yang, Chang-Gui. ``On Speeding Up Ray Tracing of B-Spline
Surfaces.'' {\em CAD}, 1987, p. 122-130.
\{\pageref{YAN87}\}
\bibitem{YOK86} Yokoi, Shigeki, Kosuke Kurashige, and Jun-ichiro Toriwaki.
``Rendering Gems with Asterism or Chatoyancy.'' {\em The Visual Computer},
Vol. 2, 1986, p. 307-312.
\{\pageref{YOK86}\}
\bibitem{YOK88} Yokoi, Shigeki, and Jun-ichiro Toriwaki. ``Realistic
Expressions of Solids with Feeling of Material.'' {\em Computer Science \&
Technologies: Japan Annual Reviews in Electronics, Computers \&
Telecommunications}, Vol. 18, 1988, p. 273-288.
\{\pageref{YOK88}\}
\bibitem{YOU86} Youssef, Saul. ``A New Algorithm for Object Oriented Ray
Tracing.'' {\em Computer Vision, Graphics, and Image Processing}, Vol. 34,
1986, p. 125-137.
\{\pageref{YOU86}\}
\bibitem{YOU87} Youssef, Saul. ``Vectorized Simulation and Ray Tracing.''
Technical report FSU-SCI-87-63, Supercomputer Computations Research Institute,
October, 1987.
\{\pageref{YOU87}\}
\bibitem{YOU88} Youssef, Saul. ``Generalized Ray Tracing and Point Location.''
Technical report FSU-SCI-88-72, Supercomputer Computations Research Institute,
1988.
\{\pageref{YOU88}\}
\bibitem{YUA88} Yuan, Ying, Tosiyasu L. Kunii, Naota Inamoto, and Lining Sun.
``GemstoneFire: Adaptive Dispersive Ray Tracing of Polyhedrons.'' {\em The
Visual Computer}, Vol. 4, 1988, p. 259-270.
\{\pageref{YUA88}\}
\end{thebibliography}
\end{document}