Vous êtes sur la page 1sur 20

Future Generation Computer Systems 20 (2004) 1355–1374

Computer graphics for water modeling and rendering: a survey


A. Iglesias
Department of Applied Mathematics and Computational Sciences, University of Cantabria,
Avda. de los Castros s/n, E-39005 Santander, Spain
Available online 2 July 2004

Abstract

A key topic in computer graphics is the realistic representation of natural phenomena. Among the natural objects, one of the
most interesting (and most difficult to deal with) is water. Its inherent complexity, far beyond that of most artificial objects,
represents an irresistible challenge for the computer graphics world. Thus, during the last two decades we have witnessed an
increasing number of papers addressing this problem from several points of view. However, the computer graphics community
still lacks a survey classifying the vast literature on this topic, which is certainly unorganized and dispersed and hence, difficult
to follow. This paper aims to fill this gap by offering a historical survey on the most relevant computer graphics techniques
developed during the 1980s and 1990s for realistic modeling, rendering and animation of water.
© 2004 Elsevier B.V. All rights reserved.

Keywords: Water waves; Water modeling; Water rendering; Water animation; Bump mapping; Particle systems; Height fields; Environment
maps; Solid textures; Navier–Stokes equations; Fluid dynamics; Caustics

1. Introduction rendering, which is by no means trivial due to some


complex optical effects such as water transparency and
One of the most challenging problems in computer reflectance. But because water is a fluid, it can move
graphics is the realistic modeling and rendering of wa- in a very complicated way. Therefore, any attempt to
ter. In comparison with other natural objects and phe- capture its dynamical behavior accurately must include
nomena, water is at the same time simpler and more time explicitly in the motion equations.
difficult to simulate. Its simplicity comes from the fact Due to these and other reasons we will discuss later
that it is an almost incompressible, relatively homoge- on, the modeling and rendering of water has been a tra-
neous fluid. If it did not move, a large mass of water ditional problem in computer graphics during the last
such as the ocean could be well represented by a flat two decades. However, the computer graphics commu-
surface. Furthermore, since water is basically a trans- nity still lacks a survey classifying the vast literature on
parent fluid, all its complexity would be reduced to this topic. The aim of this paper is to offer a historical
survey of the most relevant computer graphics tech-
E-mail address: iglesias@unican.es (A. Iglesias). niques developed during the 1980s and 1990s for real-
URL: http://personales.unican.es/iglesias.. istic modeling, rendering and animation of water. The

0167-739X/$ – see front matter © 2004 Elsevier B.V. All rights reserved.
doi:10.1016/j.future.2004.05.026
1356 A. Iglesias / Future Generation Computer Systems 20 (2004) 1355–1374

term “historical” is employed here to emphasize that the subject of Section 5. Section 6 describes the most
the survey has a chronological character. A major ad- recent developments and the most promising current
vantage of this approach is to allow the readers to gain fields of research. Finally, the paper closes with the
a clear perspective on how progress in computer graph- main conclusions of this work.
ics has improved the rendering and animation of water
over time. Yet, a major shortcoming is that models from
different years might be described into different para- 2. Earlier works: 1980–1985
graphs or sections, even though they are based on the
same principles and/or methods. Note also that the term The early 1980s marked the starting point of re-
“realistic” has different meanings in computer graphics search on the computer modeling and rendering of nat-
depending on the goal being sought. The physical accu- ural phenomena. However, relatively little time was
racy required for scientific studies is obviously higher spent on modeling the appearance and behavior of wa-
than that for computer games. Conversely, high-quality ter. At that time, research into this topic basically con-
illumination models are not generally expected for sci- centrated on representing a large mass of water without
entific visualization applications while they are basic boundaries, such as the ocean. On the other hand, wa-
components in computer-generated films. In addition, ter was seen as a compact fluid rather than a mixture of
even our concept of realism has evolved drastically over individual droplets.
time in response to the extraordinary advances in both The first attempts to render waves in water were
software and hardware. Some recent papers have dealt based on the bump mapping technique developed by
with the concept and the different levels of realism Blinn in 1978 [6]. This method allows realistic rough-
(physical realism, photo realism and functional real- textured surfaces to be obtained by perturbing the sur-
ism) within the framework of computer graphics [22] face normal. Blinn realized that true rough-textured
and fluid visualization [1]. However, in this paper we surfaces have a small random component in the sur-
restrict ourselves to those techniques for simulating the face normal and hence in the light reflection direction,
behavior of water from the point of view of computer which can be well reproduced by adding a perturbation
graphics exclusively, ignoring those mostly intended function to the surface in the direction of the normal
for fluid visualization. The reader will realize how far vector. This solution is better than adding texture pat-
apart the two approaches are: in computer graphics we terns to smooth surfaces because, in this last case, the
are concerned with generating a visually convincing resulting surfaces also appear smooth.
appearance of motion whether or not this motion actu- Of course, different perturbation functions can
ally follows the laws of physics. Of course, this com- be used to produce different effects. For instance,
puter graphics approach very often yielded unrealistic Schachter [85] proposed a model for fields of random
effects, making it unsuitable for real experiments. But waves that involved a table look-up of precomputed
fortunately, it was able to produce very beautiful im- narrow band noise waveforms (a technique intended
ages and animations, which is actually the scope of this for real-time applications, and which was implemented
paper. In the words of Fournier and Reeves [30]: in hardware). Other early references were two sets of
Siggraph slides not described elsewhere. The first one
We do not expect any “physical” answer from the
is the “Pyramid” slide by Gary Demos et al. in 1981
model. In fact, we do not ask any question except “does
[80], where the waves in the sunset are obtained by
it look like the real thing”.
bump mapping the flat surface with cycloidal wave-
The structure of this paper is the following: in Sec- forms. The second one is the “Night Castles” slide,
tion 2, we analyze the forerunner works of the period by Ned Green, in the 1982 collection, which used sine
1980–1985. In Section 3, the works carried out dur- waves for the bump mapping technique.
ing the period 1986–1988 are briefly described. The These beautiful images lack some important realis-
methods developed during the early nineties and based tic effects, such as the reflection of objects in the wa-
on either particle systems or approximate equations of ter. To overcome these limitations, Witthed’s film “The
fluid dynamics are discussed in Section 4, while their Compleat Angler” combined bump mapping with ray
extensions performed during the period 1993–1998 are tracing, a well-established technique to render trans-
A. Iglesias / Future Generation Computer Systems 20 (2004) 1355–1374 1357

parencies by taking into account reflection and refrac- they formed a self-replicant pattern when viewed over
tion of light (see [36] for a nice introduction to the any reasonably large area. On the other hand, in shal-
field). It should be remarked here that as early as in the low water nonlinear convective inertia terms cannot be
1970s there were some references to procedural models ignored, meaning that the flow is no longer uniform. Fi-
for ray tracing, such as [51,68] (see also [84]). In “The nally, his linear small-amplitude theory was restricted
Compleat Angler”, ray tracing was applied to animate to deep water, but it is in shallow water where waves
realistic reflections from ripples in a small pool, where break and this theory fails to predict this phenomenon.
the ripples were created by applying a single sinusoidal The rendering scheme was a ray tracing model in
function to perturb the surface normal [105]. which ocean waves and islands were rendered by dif-
Although based on ray tracing too, Max used a ferent but related algorithms [59]. His development was
different approach to render the wave surfaces for his based on the Fishman and Schachter algorithm [23] for
famous film “Carla’s Island” [60]. His quite simple rendering the raster images of the height field, i.e., sin-
hydrodynamical model was based on the idea that the gle valued functions of two variables. This kind of rep-
wave model is represented by an approximate solution resentation, given by a function y = f (x, z) for static
(valid only for waves of small amplitude) in which the images, allows us to easily combine numerous waves
wave velocity v is proportional to the square root of into one surface by superposition (simply adding to-
the wavelength L and it is given by: gether the heights of the individual wave components,
 
gL g in a similar way as in Eq. (2)). Max modified the al-
v= = (1) gorithm (one vertical scan line at a time) to reproduce
2π k
the detail of small ripples near the eye without wast-
where k = 2π/L is called the wave number (the ing time near the horizon. The same height field was
spatial analogue of the frequency), and g represents used for the islands, which were represented as ellipti-
the acceleration of gravity. He also assumed a first cal paraboloids with superimposed cosine terms to give
linear approximation of the Stokes model (an infinite the rolling hills. Finally, as pointed out by the author,
Fourier series which resembles the trochoidal waves this scheme addressed neither the refraction of light
up to the third-order terms) for the wave surface, within the water nor the problem of rendering ocean
meaning that the wave trains pass through each scenes with clouds, later analyzed in [32,33,61].
other without modification (clearly, a non-realistic To solve these problems, Perlin applied bump
situation). In addition, basic assumptions of this model mapping through a set of 20 cycloidal waveforms,
are that fluid density is constant and fluid flow is both each radiating in a circular fashion from a randomly
uniform and irrotational. Under these assumptions, placed center point [78]. Then, the appearance of
the model for the wave surface was given by a sum of the ocean surface was improved by combining bump
cosine functions corresponding to individual trains of mapping with a rich texture map based on nonlinear
waves of low amplitude as functions, the so-called solid texture. This technique,
m
which is independent of the surface geometry or the
f (x, y, t) = −h + ai cos(ri x + si y − ωi t) (2) coordinate system, defines a texture throughout a
i=1
three-dimensional volume, where the object to be tex-
where h is the distance of the mean sea level below the tured is embedded. The textured surface is obtained as
eye at z = 0, m is the number of wave trains, ai rep- the intersection of the object and the three-dimensional
resents the amplitude of the wave train specified by a texture volume [20]. As remarked by Perlin [78] po-
wave vector (ri , si ) such that ri2 + si2 = ki2 with ki being tential advantages of this approach are that shape and
the wave number of the train i and wi is the angular fre- texture now become independent, in the sense that
quency in radians per second. In the model, additional the texture does not need to fit onto the surface and
terms from Stokes’ approximation [94] of the wave that the database required for this model is extremely
equation might be added to large-amplitude waves. small and thus the computational requirements are
Unfortunately, the author considered the second-order drastically reduced. The solid texture was applied by
term should be added to the largest wave only, so these Perlin to generate realistic images of clouds, which
(basically) linear waves exhibited a notable deficiency: could then be incorporated into the ocean scenes.
1358 A. Iglesias / Future Generation Computer Systems 20 (2004) 1355–1374

Finally, since each wave train moves outward linearly 3. Mid period: 1986–1988
over time, the simple addition of a linear function of
time allows these water scenes to be animated. During this period, the realism of water simulations
Another approach to water simulation is that of was improved in several directions. On one hand, con-
Norton et al. [74]. They used frequency limited siderable effort was devoted to simulating the interac-
(“clamped”) analytical functions to antialias textured tion between the fluid and a solid. In addition, some
surfaces by bandwidth limiting in object space. The ocean waves effects (such as wave refraction and colli-
basic idea was later applied to reduce the amplitude of sions with obstacles) were incorporated into the mod-
waves which are very short relative to the pixel diame- els. Roughly speaking, wave refraction implies that
ter. These schemes only work well when the viewer is when the waves approach the shore from deep water,
some distance away from the water so that the ocean their crests tend to become parallel to the shoreline
surface appears flat. regardless of their initial orientation. This effect has
Although these initial developments were able to important consequences in water rendering and anima-
produce very beautiful images, they still needed further tion: the models ignoring wave refraction may produce
research in order to be suitable for realistic rendering implausible situations, such as the crests running per-
and animation. This is due to the techniques the pre- pendicular to the beach in [59]. As remarked by several
vious methods were based on, mostly bump mapping authors, in Max’s film “Carla’s Island” the ocean waves
for modeling (such as [40,78,85,105]) and ray tracing appear to cut right through the islands as if the islands
for rendering (such as [59,60,105]). Bump mapping is were made of air.
inexpensive, but it is not sufficient to simulate and an- In general, the proposed solution for modeling
imate waves in general. Since in this technique the ac- the ocean waves and some of their associated effects
tual surface is flat, bump mapped waves do not exhibit was the application of more realistic hydrodynamical
realistic silhouette edges or intersections with other sur- models [30,77,101]. It should be remarked, however,
faces. In addition, these waves cannot shadow one an- that there is no hydrodynamical model able to fully and
other or cast shadows on other surfaces. Thus, these realistically describe the behavior of any real ocean
methods could not produce realistic scenes containing waves. In addition, a model that might be completely
a seashore; they are forced to restrict themselves to sim- useless to a physicist or an oceanographer might
ple images of the ocean surface as one might see it from be very good for computer graphics and vice versa.
an aircraft well out to sea. However, when the viewer Therefore, these approaches must be understood as
is near the surface, the three-dimensional nature of the simple (and often dramatic) approximations intended
surface becomes more important. A possible solution is for rendering and animation purposes only, with no
the “height field” technique introduced by Fishman and physical meaning in general.
Schachter [23] and later modified by Max [59]. Yet, this On the other hand, the rendering techniques were
scheme is also seriously limited, as its feasible viewing substantially improved, mostly by the introduction
geometry is restricted by its own height field algorithm: of particle systems [30,77]. In the water simulation
the camera must be above the top of the waves (max- schemes, they were generally applied to model the
imum height field value), the viewing direction must foam and the spray generated by wave breaking and
lie in a horizontal plane y = constant and the camera collisions with obstacles. The particle systems were
must also be upright, thus preventing the camera from firstly introduced by Reeves [82] (see also [83]) to
being tilted. On the other hand, ray tracing also exhibits describe natural phenomena which cannot be well
some remarkable disadvantages, such as its tendency to described by means of polygons or curved surfaces
aliase arising from point sampling distant waves near (trees, grass, wind, etc.). Their ability to model
the horizon, the difficulty of rendering complex proce- complex phenomena lies in the fact that these particles
dural models and the most important one, its immense do not have smooth, well-defined surfaces but rather
calculation time requirements, making animation un- irregular, complex surfaces with variable shapes. In
approachable. In fact, although many improved ray- addition, the characteristics and shape of the particles
tracing methods have been proposed since then [3], ray change with time under the action of physical or
tracing is still not adequate for computer animation. stochastic models. For example, in [83] stochastic
A. Iglesias / Future Generation Computer Systems 20 (2004) 1355–1374 1359

wind functions and wind maps were employed for another particle system model was generated to simu-
shading and rendering particle systems representing late the spray from the collision of waves with partially
both gusts of wind and the motion of wind-blown sumerged obstacles (rocks, piers, etc.).
blades of grass. Finally, the particles exhibit a great Since the classical ray-tracing scheme does not
flexibility: they can be generated at any time, move include the particle system model of spray, the ren-
within the system and die or leave it over time. dering was performed by a combination of different
The general model of wave motion is highly non- techniques: firstly, a scanline algorithm (which is
linear, and has no convenient solutions, so many sim- actually an adaptation of the general Lane–Carpenter
plified and idealized models have usually been applied subdivision technique for parametric surfaces) for
instead. For example, Peachey [77] considered that the displaying the wave surfaces is applied. Secondly, the
ocean surface was modeled with a height field, thus particle systems were generated separately as small
eliminating waves whose crests curl forward. From this white spheres shaded the same color and their shade
point of view, Peachey’s model seems to be closely re- was varied by a very small random component. In ad-
lated to Max’s model (see Section 2). However, the dition, a slight darkening of the particles was added to
height field is given by y = f (x, y, t), where t is the simulate the shadowing of particles by other particles
time, which is advanced for each successive frame of and objects. Finally, both models were integrated by
an animation. Another difference is that Peachey dealt using a novel variation of the A-buffer technique (an
with wave refraction due to wave velocity changing anti-aliased alternative to the standard Z-buffer hidden
with depth. His model is based on the the Airy model surface technique) for hidden surface removal. This
of sinusoidal waves of small amplitudes. In this linear combination is able to determine whether the particles
model, the velocity v and the wavelength L of a wave obscure or are obscured by other surfaces in the scene
depend on the depth of the water d as follows: (such as wave surfaces or obstacles).
  Another scheme for ocean waves simulation includ-
   ing wave refraction and other wave effects was consid-

v = g gL 2πd
tanh(kd) = tanh ered by Fournier and Reeves in [30]. Their proposal
k 2π L (3)

 was based on the Gerstner–Rankine model, proposed
L = vT
in oceanography long ago [35,81]. Roughly speaking,
this model establishes that particles of water describe
where k and g are as in Eq. (1) and T is the period (or circular or elliptical stationary orbits. Thus, the authors
equivalent, the frequency of the wave is 1/T ). Note considered that each particle of the free surface de-
that in deep water (for instance, d ≥ L/4), tanh(kd) scribes a circle around its rest position (x0 , y0 , z0 ). As-
approaches 1, implying that Eqs. (1) and (3) are similar suming that the plane of the sea at rest is the plane XY
(in other words, Eq. (1) is only valid for deep water). On and the Z axis is pointing up, the equation of the motion
the contrary, in shallow water (for instance, d ≤ L/20), of a particle is given by:
tanh(kd)
√ approaches kd, and therefore v approaches

gd. x = x0 + r sin(k x0 − ωt)


(4)
Another interesting ocean wave effect is the spray z = z0 − r cos(k x0 − ωt)
from breaking waves and from the collision of waves
with partially submerged obstacles. The breaking which, varying x0 and fixing z0 leads to a trochoid, a
waves appear when the speed of circular motion of the generalization of a cycloid. This is the basic model;
water in the crest of the wave exceeds the speed of the realistic wave shapes and other needed effects, such
wave itself. In [77], a particle system for each break- as those due to the depth (like wave refraction and
ing wave was generated, where the initial position of surf) and the wind can be easily reproduced by simply
each particle is at the crest of the wave and its initial varying some parameters of these orbit equations. To
velocity is in the same direction as the wave motion. control the shape of the ocean the authors introduced
Then, to avoid excessively uniform particle behavior, several trains of waves, i.e. groups of waves sharing
stochastic perturbations [29] with a Gaussian distribu- the same basic characteristics (heights, periods and
tion were added to the velocity of the particles. Finally, wavelengths) and the same phase origin. Of course,
1360 A. Iglesias / Future Generation Computer Systems 20 (2004) 1355–1374

each train of waves has its own set of parameters Almost at the same time, other methods for mod-
and optional stochastic elements. They allow the eling water surfaces based on generalized stochastic
“variability” and “randomness” characteristics of subdivision [55], Fourier synthesis [62], etc., were sug-
the sea to be introduced via a combination of small gested. These methods worked well for producing still
variations within a train and large variations between images, but were unsuitable for animation in the gen-
trains. Since these variations were basically applied to eral case. The reasons are different, depending on the
the height and the wavelength, which can be made a chosen methods: the generalized stochastic subdivision
function of time, animation could be easily incorpo- methods need to determine the values for the auto-
rated in this way. In addition, the authors derived a rule correlation or power spectrum function of the desired
for the generation of spray and foam from breaking noise [55]. This is a very difficult task that seldom
waves: spray is generated when the difference between can be achieved empirically and so we are very of-
the particle speed and the surface speed projected in ten forced to apply a simple trial-and-error method.
the direction of the normal to the surface exceeds a set On the other hand, the methods based in Fourier syn-
threshold (usually related to the curvature); otherwise, thesis do not include realistic models for the evolu-
foam is generated. When generated, spray is sent in tion of the surface over time, so actual phenomena
the direction of the normal, whereas the foam is sent such as wave refraction and depth effects were to-
sliding along the wave surface. tally passed over. For example, in [62], the authors
In [30], the ocean surface was modeled as a para- used an empirical wind-driven sea spectrum model
metric surface which obviously allows traditional ren- to filter white-noise images. The ocean images were
dering techniques to be applied, including ray tracing generated from these white-noise images by using the
[46,99] and adaptive subdivision [16]. The color and forward fast Fourier transform (FFT) and the inverse
shading of the ocean surface were simulated through an FFT, thus representing a fully developed sea in na-
environment map, a technique introduced by Blinn and ture. The images were then rendered with a ray trac-
Newell in 1976 [7]. Their basic assumption is that the ing algorithm to produce realistic ocean scenes. This
scene environment is composed of objects and lights work focused on synthesizing fully developed seas in
distant from the object to be rendered (the wave sur- deep water rather than seas in shallow water (where
face, in this case). Then, each image of the surround- effects such as wave refraction and wave breaking ex-
ing environment is mapped onto the inside of a gigan- ist). Animation in this model was achieved by two
tic sphere with the rendered object at its center. The different phase manipulation techniques: the first one
color of a point on the wave is determined by trac- consists of modifying the dominant frequency com-
ing a ray from the camera to the object, reflecting it ponents (taking as that those frequencies bounded by
over the surface normal and tracing the reflected ray two-thirds of the energy of the peak frequency) in-
outward to the sphere, thus giving us the index of the dependently of the surrounding components. Unfortu-
image and hence the color to be reflected. The ren- nately, the amount of the shift to be applied to these
dering of the spray and foam was achieved through a dominant components is decided by trial and error,
particle system based program, in which particles for making this approach difficult to animate correctly.
the spray are assumed to follow the laws of motion, The second one is based on Eq. (1) so it is valid
whereas particles for the foam are controlled by the only for deep water waves, thus limiting the range
model itself. To render the terrain, a set of unequally of application of this method. Rendering was carried
spaced, three-dimensional data points were originally out by ray-tracing the ocean wave height field by a
considered. Then, an interpolating surface was built by similar approach to that of Kajiya [46]. The differ-
applying a version of Shepard’s method [87]. Similar ence is that, instead of dealing with triangles, rect-
ideas were applied to specify the depth of the ocean angular boxes parallel to the X, Y and Z axes are
floor. Finally, bump mapping was applied to obtain considered, so that the intersections are trivial and
some additional effects, such as water shimmering and fast. These boxes are subdivided for successive refine-
water chop. For animation purposes, the bump map was ment and the approximation given by Coquillart and
moved over time just like trains of waves were moved Gangnet in [14] was applied to the resulting quadtree
over time. structure.
A. Iglesias / Future Generation Computer Systems 20 (2004) 1355–1374 1361

Another earlier reference of note dealing with wave way of assigning “weights” to this linear combination.
refraction is [101]. In this approach, Snell’s law was These schemes are not as physically accurate as ray
applied to control the changes in direction of the ocean tracing but they are computationally quicker. In addi-
waves due to wave refraction. The motion equations are tion, although many other ocean water effects (such as
similar to Eq. (3) so the observed behavior is also sim- wave reflection, wave diffraction, wet sand and foam
ilar to that in [30,77]. It should be remarked however created when the wave hits the shore) are still not
that, although finally published in 1987, this work was considered in these models, they produce very beau-
essentially developed before the appearance of these tiful pictures and only reasonable effort is required for
two papers and hence without being aware of their animation.
methods. On the other hand, the wave orthogonals (the
normals to the wave front) were wave-traced similarly
to the rendering algorithm of ray tracing. A ray rep- 4. Early nineties: 1989–1992
resenting a wave’s front direction of propagation was
followed and tested for the nearest intersection with the Although the previous works developed during
contour lines of the ocean floor. The angle of refrac- the 80s provided adequate models for a number of
tion was obtained from Snell’s law and the resulting challenging problems (such as waves hitting the
ray was tested for intersection, and so on. This process beach, to quote just one example), a significant range
was then simplified taking into account that, because of physical phenomena still remained unexplored. A
the topography of the contour surface and the direction major question was the accurate description of fluid
of the incoming waves remain constant, wave refrac- dynamics. Great interest was also placed upon several
tion is independent of the viewer’s viewpoint and hence physical phenomena related to water such as:
it can be computed only once. In addition, the authors
took advantage of the fact that wave refraction is es- • state of matter changes such as melting and freezing,
sentially a two-dimensional effect and thus computa- • complex natural phenomena such as wetting and
tionally less expensive than conventional ray-tracing. drying,
To improve realism, the ocean surface was treated as a • mass transport or flow including meandering,
true three-dimensional surface. It was obtained from a • the behavior of individual droplets and their streams,
set of piecewise linear approximations of the contour • interaction with static and dynamic buoyant obsta-
lines defined interactively by the user by using a digitiz- cles, etc.
ing tablet. Then, a Beta-spline [4] was used to represent
the surface, the tension shape parameter β2 (see [5] for On the other hand, a number of interesting render-
a description) being used to add more complexity to ing effects, such as the simulation of reflected waves,
the surface: higher values correspond to sharper edges the interaction between light and water, the analysis of
within the surface. This parameter was also changed caustics, etc. had not yet been considered by the previ-
locally to create smooth troughs and sharper crests. ous computer graphics techniques. Furthermore, water
To do that, the tension associated with a control ver- realistic animation was still in its infancy and it had
tex is changed according to the height of that control to be greatly improved. To overcome these limitations,
vertex. several new models to simulate the fluid dynamics were
On the other hand, instead of using ray tracing, two proposed. Roughly, they can be grouped into two dif-
texture mapping schemes (both including viewer ori- ferent alternatives, namely:
entation, surface normal orientation and some laws of
optics, such as Fresnel’s law of reflection) were em- (1) fluid dynamics is simulated by the interaction of a
ployed to render the ocean waves. Both texture maps large number of particles;
were created by hand and contained the reflected and (2) fluid dynamics is described by a set of partial dif-
the refracted color information, respectively. Then, ferential equations which are to be solved.
the final color for a point is calculated as a linear
combination of both types of color information. The Both alternatives are analyzed in the following para-
differences between both schemes are related to the graphs.
1362 A. Iglesias / Future Generation Computer Systems 20 (2004) 1355–1374

4.1. Interaction of a large number of particles are considered. Finally, solids are modeled by setting

The first alternative tried to simulate the fluid dy- cr = cd = 2r0 . (9)
namics by the interaction of a large number of parti-
cles [37,63,90,98]. Thus, in [63] and [98], the authors As a consequence, for powders and fluids the glob-
studied the attraction and repulsion forces between par- ules interact with a short range repulsive force and drag,
ticles to simulate various degrees of fluid viscosity and while in the solid state the attraction term is also consid-
state of matter change such as melting. For example, ered, so globules interact with a short range repulsion,
the approach in [63] presented a particle based model a medium range attraction and long range indifference.
for fluids, powders and gelatinous solids. This model The calculation of the forces which the globules exert
was based on what the authors called globules, a term upon one another is of order O(N 2 ). Fortunately, be-
intended to avoid connotations with words such as par- cause the globules have a limited range of influence, a
ticle or blob, and used to designate the elements of voxelization process can be applied thus reducing the
the connected particle system. Globules can be applied calculation of the forces to an order O(N) problem.
for the detection of soft collisions between the parti- In this work, an approximate method for efficient
cles and obstacles, involving forces which vary gradu- rendering of the globules was also introduced. The ba-
ally with distance, thus allowing globules to flow over sic idea is to simulate that the globules are covered
one another. The forces acting between the globules with an isosurface which is actually approximated by
xi and xp depend on two scaling factors, one for at- smooth-shading spheres based solely on the gradient of
traction/repulsion, sr , and another one, sd , (drag) to at- a potential function. This approximation is performed
tenuate the inter-globule force based on distance and in order to allow most hidden surface algorithms (which
defined as follows: cannot directly render an isosurface) to be applied. Fur-
 ther, the voxelization scheme mentioned in the previous

1 − D2
if D2 < cr2 (ri + rp )2 paragraph can also be applied for rendering. In addi-
sr = cr2 (ri + rp )2 (5) tion, the frame coherence can be eventually used to


0 if D2 ≥ cr2 (ri + rp )2 avoid recalculation of the voxels which do not suffer
any change between frames. An adequate combination
and of these techniques yields reasonable results for the
 range of 75–300 globules.

1 − D2
if D2 < cd2 (ri + rp )2 On the other hand, the temperature values for a given
sd = cd2 (ri + rp )2 (6)

 pair of globules can also be used to simulate changes
0 if D2 ≥ cd2 (ri + rp )2 in their interaction behavior, thus allowing the melting
of solids and the freezing of liquids. This temperature
respectively. The variables ri and rp are the radius for
effect was proposed in [63] and later analyzed by Ton-
the globules xi and xp respectively, D is the vector of
nesen in [98], through a model describing the changes
the positional difference of the globules, and the terms
in geometry and movement of elemental volumes as
cr and cd are introduced to allow different types of
a consequence of thermal energy and external forces.
material to be modeled. For instance, for powder-like
This model simulates both the liquid and solid states
motion their values are:
by varying the shape of the potential energy curve as
cr = cd = r0 (7) a function of temperature. Objects at hot temperatures
behave like fluids, with rapidly varying geometry. At
where r0 is the inter-globule spacing for which the cold temperatures they resemble solids, with a stable
attraction and repulsion terms cancel out so that the shape which can be modified, however, under the influ-
damping only occurs when the globules are under com- ence of appropriate external forces. Changes in topol-
pression. In its turn, to simulate liquids the following ogy are modelled by using particles to represent ele-
values: mental volumes with potential energies between pairs
of particles. Particles are rendered using an approach
cr = 2r0 ; cd = r0 (8) similar to that in [63].
A. Iglesias / Future Generation Computer Systems 20 (2004) 1355–1374 1363

Finally, another remarkable reference using this par- • the vertical component of the velocity of the wa-
ticle interaction scheme is due to Sims [90]. In his ter particles can be ignored (so motion is uniform
work, a waterfall was simulated by applying gravity through a vertical column) and
to thousands of non-interacting water droplet particles • the horizontal component of the velocity of the water
and bouncing them off obstacles made of planes and in a vertical column is approximately constant.
spheres. The water droplets were created at the top
of the waterfall, flowed over the last edge at the bot- With these simplifications, the motion equations of
tom and then recycled back to the top of the waterfall. the water were approximated in terms of a grid of points
These particles of different shapes, sizes, colors and on the height field, obtaining a wave equation in which
transparencies were rendered by using a parallel ren- the wave velocity is proportional to the square root of
dering particle system incorporating some techniques the depth of the water. Thus, this method can generate
for increasing the image quality, such as anti-aliasing, wave refraction with depth and even take into account
hidden surfaces and motion-blur. The combination of other features, such as wave reflections, net transport of
some ad hoc tricks (such as the combination of white water and situations in which the boundary conditions
and blue particles to avoid lighting calculations and ex- change through time altering the topology of the water.
aggerated motion blur to give the flow a smoother look) Due the height-field representation of the water sur-
allow realistic pictures of the waterfall to be obtained face, the two-dimensional motion equations were nu-
[89]. However, as pointed out by the author, more effi- merically integrated by using a finite-difference tech-
cient collision detection of surfaces to describe proce- nique. This technique converts the PDEs into ODEs,
dural motion for more complex objects (such as rigid which can be integrated through a first-order implicit
body dynamic simulations, for instance) still required method. The algorithm is stable, rapid and very easy to
further research. For example, additional effects such implement giving rise to tridiagonal linear systems. In
as the deformations produced on a falling droplet as addition, the computation time is linear in the number
it enters in contact with a surface were analyzed in of samples of the height field.
[69]. For the three-dimensional case, one alternating-
direction method was applied, allowing the three-
4.2. Partial differential equations for the fluid dimensional iteration to be divided into two two-
dynamics dimensional sub-iterations, so complexity does not
radically increase. Further, the computation for each
The second approach is to directly solve a partial row and column is independent, so it can be easily
differential equation (PDE) system describing the fluid parallelized. Another advantage is that the behavior of
dynamics [50]. Of course, this alternative is much more individual waves is automatically obtained from the
reliable and realistic in terms of physical simulation. differential equations, so no additional data structures
The main problem is that a truly accurate simulation are required for this purpose.
of fluid dynamics requires the computation of the fluid Additional simplifications were added for render-
motion throughout a volume. This implies that the com- ing, making high-resolution simulations possible. For
putation time for each iteration is at least proportional example, rays of light which are incident on a water sur-
to the cube of the resolution, making the computation face are refracted by that surface. As a consequence,
prohibitively expensive. Fortunately, for rendering and the illumination of the terrain underneath the water is
animation purposes, to obtain very accurate results is unevenly distributed. This effect was simulated by the
less important than other factors, such as the speed of flat bottom approximation: the terrain is assumed to be
the simulation and the stability of the numerical meth- locally flat, so that the ray can be computed in a simpler
ods involved within. With this idea in mind, Kass and way. Another simplification is the flat water approxi-
Miller [50] considered a very simplified subset of water mation. The water was rendered using caustic shading
flow where: that simulates the refraction of illuminating rays at the
water surface. The work also incorporated realistic ap-
• the water surface can be represented by a height pearance for water in sand through a wetness map that
field, computes the wetting and drying of sand as the wa-
1364 A. Iglesias / Future Generation Computer Systems 20 (2004) 1355–1374

ter passes over it. However, this wetness map had to ing the water surface. Therefore, this animation process
be filtered to avoid aliasing artifacts in the boundary consists of deciding upon an appropriate time interval
between wet and dry areas before using it for shading. and frequency/amplitude rates. On the other hand, if
Another interesting reference using caustics for wa- the triangles in the polygonal mesh are small enough,
ter rendering is that in [103]. This work, cited here the beams can be represented as polygonal illumination
for its applications to realistic water rendering, pre- volumes, rendered using a modified version of a light
sented a new method (the so-called backward beam volume rendering technique proposed by Nishita et al.
tracing) for computing specular to diffuse transfer of [70]. This method can effectively calculate some inter-
light. This problem appears when light reflecting from, esting optical effects, such as shafts of light, caustics,
or refracting through, one surface (the specular surface) and color of the water by using a scanline Z-buffer
hits a diffuse surface where, by definition, it is emitted and accumulation buffer. The results show that this
equally in all directions. Early 90s’ traditional global il- technique, designed to avoid the pre-processing tracing
lumination techniques [39], such as those based on ray from light sources to describe the scattering/absorption
tracing and radiosity, did not handle it. This fact is not so effects of water molecules when light passes through
surprising when using ray tracing, best suited to solving waves, is particularly effective to describe the light-
the diffuse and specular to specular mechanisms of light water interaction.
transport. After all, the specular to diffuse transfer is
view independent and hence, more suitable for radios-
ity. But even radiosity techniques generally ignored this 5. 1993–1998
problem. Remarkable exceptions were given by the hy-
brid techniques [88,102], where a combination of ray During these years, the two approaches introduced
tracing and radiosity is considered. The hybrid method in the previous years (namely, the interaction of a large
uses two passes for illumination calculation: a view in- number of particles and the system of PDEs to describe
dependent pass, similar to diffuse radiosity, computing the fluid dynamics) were extended and improved. For
the diffuse illumination of a scene, and a view depen- example, the previous models for particle systems were
dent pass, similar to distributed ray tracing, that uses modified to describe the behavior of water droplets
the previous one to provide global illumination infor- evolving on different surfaces. In addition, several in-
mation and subsequently the specular components. Un- teresting effects to improve both rendering and anima-
fortunately, these methods only captured the softest of tion were described.
specular and diffuse effects varying slowly over pixels,
and they became impractical for capturing the (more 5.1. Animation of water droplet motion
interesting) higher frequency effects.
The approach in [103] is also a two-pass algorithm, The early water models developed for computer
the first pass being a variation of the backward ray trac- graphics and based on particle systems assumed that
ing [2] called backward beam tracing, then combined particles of water moved in circular and elliptical or-
with a rendering phase (the second pass) incorporating bits around their initial positions. Such an assumption
a test for caustic polygons associated with diffuse poly- was intended to render large bodies of water such as
gons. The algorithm is easy to implement, is very effi- the ocean. A very different situation is that of animat-
cient and avoids many aliasing effects. The method was ing the flow of very small amounts of water, in which
applied to simulate the light-water interaction where this particle motion model is no longer able to realisti-
the water surface acts as the specular surface. Its per- cally reproduce the fluid dynamics.
formance was illustrated through some frames from Some interesting references to overcome this prob-
an animated underwater caustic sequence, showing the lem appeared in this period. For instance, in [58] the use
familiar sinuous shifting patterns of light on objects of string textures for rendering large waterfalls was pro-
underwater as they intersect the caustic. As these pat- posed. Particle systems usually require a large number
terns are driven directly by the water surface (described of particles, thus leading to unreasonably large amounts
by a polygonal mesh of triangles displaced by a height of memory usage. This is because the position and ve-
field), animating them is merely a question of animat- locity are stored explicitly for each particle. On the
A. Iglesias / Future Generation Computer Systems 20 (2004) 1355–1374 1365

contrary, implicit methods are used to store parameters Another interesting alternative was given by Kaneda
in solid texture, by means of addressing small lookup et al. [47]. These authors proposed a method for ani-
tables. Mallinder suggested a new modelling method mating water droplets and their streams on a glass plate
which he called string texture, which is basically a de- taking into account the dynamics between fluid and
velopment from particle systems and solid texture, us- solid. In this scheme, the shape and the motion of the
ing a method of implicitly storing particles. From this water droplets depend on the gravity force, the surface
point of view, string texture is a technique to save mem- tensions of the glass plate and the water and the inter-
ory for storing information on particles. facial tension between them.
A strictly geometrical approach to calculate the To simulate the stream the surface model of the glass
rolling of a rigid convex object on a smooth bipara- plate was discretized so that the water droplets travel
metric surface is reported by Hégron in [41]. This au- from one mesh point to the next according to a set of
thor assumed that there is a single contact point (deter- rules describing their dynamics as a function of their
mined through a simple iterative algorithm) between masses, the angle of the plate’s inclination, ϕ, and the
the object and the surface which is maintained dur- affinity for water, fi,j (0 ≤ fi,j, ≤ 1), which is assigned
ing the animation. Then, the motion was computed in in advance to each lattice point. A droplet placed on a
terms of discrete displacements on the tangent plane lattice point (i, j) and with mass mi,j runs down if the
at the contact point and projections onto the surface. mass satisfies:
Since this projection is time-consuming, an alternative
prediction-correction scheme (based on projecting the mi,j > mc (ϕ) (10)
motion onto the tangential plane and then making cor- where mc (ϕ) is the static critical weight when the incli-
rections to ensure that the points are on the surface) was nation angle of the surface is ϕ. Such a droplet moves
proposed instead. Although the proposal does not take to one of the three lower lattice points (i − 1, j − 1),
into account the physics of the object and it was not (i − 1, j) or (i − 1, j + 1) to simulate the meandering.
intended specifically for water animation purposes, it Because of the nature of the wetting phenomena, some
has a potential application to the problem of modeling amount of water (which depends on the affinity for wa-
the water droplets on a curved surface. A further objec- ter fi,j ) remains behind the route of the stream so the
tion to such an approach lies in the fact that the water mass of the droplet decreases with time and finally the
droplets can hardly be considered as rigid bodies. flow stops. The model also includes equations for:
A recent similar approach [43] addressed the same
problem by using a differential geometry analysis lead- (1) the speed of the running water droplet v as a func-
ing to a system of ordinary differential equations which tion of the wetness of the direction (i + k, j + 1)
are integrated by using an adaptive fourth-fifth order and the angle ϕ:
Runge–Kutta method. The method is very general and
can be applied to any differentiable parametric sur- v = v0 + ai+k,j+1 (ϕ)t (11)
face. Unfortunately, the authors restrict themselves to
the mathematical formalism of the problem only, and where v0 is the speed when the droplet is put on
neither the real physical characteristics of the water the glass plate and ai+k,j+1 is the acceleration of
droplets (such as mass, gravity, etc.) nor the physical water droplets for the angle ϕ, and
interaction with the surface (friction, absorption, etc.) (2) the speed v and mass m of the new droplet resulting
were considered. from merging of two original droplets of masses
Other relevant references for rendering the flow of m1 and m2 and velocities v1 and v2 :
small amounts of water are described in [13,52]. They m1 v1 + m2 v2
m = m1 + m2 ; v= (12)
included a physically based model for simulating ici- m1 + m 2
cle growth realistically [52] and the rendering of wa-
ter currents using particle sytems [13]. Unfortunately, The final algorithm returns the positions and masses
since these authors did not consider the interfacial dy- of all water droplets for every frame of the animation.
namics, it is difficult to animate the streams of water For simplicity, the water droplets were assumed to have
droplets. a spherical shape.
1366 A. Iglesias / Future Generation Computer Systems 20 (2004) 1355–1374

To render the water droplets and the streams the au- a threshold value defining the surface. To overcome the
thors proposed a high-speed rendering method which conflict of working with both implicit surfaces (given
takes into account the reflection and the refraction of by the metaball technique) and parametric surfaces (the
the light. Basically, it is an extension of the environ- Bézier surfaces of the problem), a combination of two
ment map by Greene [38] in which objects in the scene rendering methods, namely the one in [71] for Bézier
are projected onto the planes of a cuboid, whose center surfaces and that in [72] for metaballs, is proposed. In
is on the glass plate. The method consists of calculating this new scheme the density distribution along a ray was
background textures by projecting objects in the scene converted into a Bézier function and the intersection
onto the faces of a cuboid whose center is on the glass between the ray and the metaball is calculated using a
plate, then calculating the directions of rays reflected Bézier clipping [71].
or refracted by water droplets on a glass plate, and fi- These works were subsequently extended to gener-
nally determining pixel colors by using the background ate realistic animation of water droplets on transparent
textures and the intersection of the ray and the cuboid. surfaces such as the windshield of a vehicle [49].
The method finally generates an image with these pixel In this case, an environment mapping was applied
colors at these intersection points, thus avoiding calcu- to indicate the property of transparency in order to
lating the intersections between the ray and the objects speed up the rendering of scenes through transparent
(undoubtely, the most time-consuming process in ray objects. This method allows the temporal aliasing
tracing). caused by obstacles moving against water droplets
This model was firstly applied to animate water to be addressed. The performance of the method is
droplets meandering on an inclined glass plate [47] illustrated by means of some animations including
and later extended to water droplets on curved surfaces several thousands of water droplets.
[48]. In this last case, the surface was described by Strongly related to the previous approaches are the
Bézier patches and then converted to a discrete surface works by Wcilso et al. [104] and Yu et al. [112,113]. In
model for which each quadrilateral mesh was approx- the first one, the space is decomposed uniformly into a
imated by a plane. In [48], the applications of water number of cubic cells. When a solid object is dropped
droplet animation were classified into two categories: into the liquid body, a set of rules modeling the flow
those mainly pursuing rendering speed (such as in between cells are applied and consequently, the liquid
drive simulators in which interactivity is the goal) and surface is perturbed according to these rules. However,
those pursuing photo-reality. According to this classi- the real behavior of the waves is not well established
fication, two different rendering algorithms were pro- and some additional effects such as splashing cannot
posed. The first one (for which the stream is modeled be reproduced. In the second work, water droplets are
as a group of spheres) is essentially an extension of the also represented by metaballs and subjected to geomet-
simple and fast rendering method described in [47] to ric distorsions to reproduce the effects of gravity. The
handle Bézier patches. The second one is a more so- main criticisms of this model are that the shape irregu-
phisticated high-quality rendering method intended for larities are introduced by a manual perturbation of the
photo-reality and based on metaballs. control points (which could eventually give rise to dra-
The metaball technique was first introduced by matic distortions of the droplet) and that the droplets
Blinn in [8] and he called it blobs. Subsequently, this are considered static, thus limiting the simulation of
technique was improved by several authors [66,107– dynamic effects.
111] who coined the terms metaballs and soft objects. Other interesting works are offered by Desbrun and
This technique is widely used to represent “soft ob- Gascuel [15], Murta and Miller [67], Fournier et al.
jects” like liquids [109]. Its popularity comes from the [31] and Dorsey et al. [17–19]. In [15], an extension
fact that the model is defined by just a few simple con- of the seminal works in [63] and [98] to model vis-
straints providing free-form deformations. In addition, cous fluids using a combination of particle systems
it is used for water modeling because the water droplets and implicit surfaces is proposed. In the previous mod-
merge smoothly together in this model. els, particle systems were applied to model a wide
In [48], the metaball is defined by its center, its den- range of behaviors, such as plasticity, collisions, merg-
sity distribution (the authors applied that of [111]) and ing and splitting. But the visualization of the liquid
A. Iglesias / Future Generation Computer Systems 20 (2004) 1355–1374 1367

surface is difficult because the particles move dur- adding the color of each deposit weighted by its con-
ing the deformations. One feasible solution is to use centration from a texture map) and the wet surfaces (by
the set of particles to generate an isosurface and then modulating the diffuse reflectivity in terms of the sur-
to display it, as in [98]. Nevertheless, such a surface face saturation). The method yields complex patterns
is only used for rendering purposes and thus colli- resembling the real washing and staining effects. Other
sion detection is not accurately performed. The im- recent approaches to modeling and rendering surface
plicit surfaces introduced in [15] provide the design- weathering effects can be found in [17] and [19].
ers with a new tool to detect collisions [34] and to
deform the surfaces (and hence the particles) accord- 5.2. Improving PDE fluid dynamics methods
ingly. The same idea was used in [67] to model and
render liquids in motion. These authors introduced the One of the first attempts to faithfully simulate the
concept of families of particles to increase the speci- behavior of the fluid dynamics was the work of Kass
fication of different inter-particle force profiles within and Miller [50] already analyzed in Section 4.2. This
and between family groups. For example, multi-fluid model is limited in the sense that it does not address
interactions such as those of oil and water or gas bub- the full range of three-dimensional motion (including
bles through a mass of liquid can easily be incorpo- rotational and pressure effects) found in a liquid. In
rated into the model. The counterpart is that the mod- addition, since the velocity of the fluid is known only
eling techniques used to handle the isosurfaces and on the surface and internal pressure is not calculated
the particle systems are computationally expensive, at all, the model cannot easily incorporate dynamic or
so the scheme is not well suited to animation pur- buoyant objects.
poses. A more realistic model can be obtained by consider-
In [31], the authors simulated the motion and shape ing the Navier–Stokes (NS) equations, notably the most
of droplets running down surfaces. For example, the comprehensive of all fluid models. Basically, these
shape was determined by some properties such as vol- equations describe completely the motion of a fluid
ume conservation and surface tension, while the motion at any point within a flow at any instant of time. Be-
was simulated by a mass-spring model. Unfortunately, cause of their ability to capture the turbulent or stable
the authors failed to reproduce the shape of droplets behavior of the fluid with arbitrary viscosity in three
produced by the merging of individual droplets. In ad- dimensions, they are often used to simulate fluid phe-
dition, the number of rendered droplets was restricted nomena accurately.
in number because of the computational cost. The Navier–Stokes equations have been applied to
A related approach (in the sense that the structures create models of water motion for computer graphics
of the particle systems and the associated surfaces are [11,12,24–27,106]. For example, in [11,12], a simpli-
quite similar) is that in [18]. However, the emphasis is fied version of the Navier–Stokes equations in two di-
now placed upon the simulation of weathering due to mensions was considered. Such a simplification was
the interaction of the environment with the materials obtained by removing the vertical dependence and
in the world and its effects in appearance. To this end, solving the resulting two-dimensional system. In other
the flow is modeled as a particle system in which each words, they assumed that the fluid has zero depth, thus
particle represents a drop of water. Some parameters treating it as being completely flat during the compu-
such as gravity, friction, wind and roughness and some tation. Although still able to model some kind of in-
constraints that force the particles to maintain contact teractions between moving objects and the flow, such
with the surface are applied to control the motion of an assumption considerably restricts the range of phe-
the particles. Then, a set of coupled differential equa- nomena of the model. For example, since the obsta-
tions describing both the rate of water absorption by the cles must be two-dimensional, the model does not deal
surface and the rate of solubility and sedimentation of with submerged objects. In addition, neither convec-
deposits on the surface are applied to characterize the tive wave effects nor mass transport can be incorpo-
chemical interaction between water/surface materials. rated into this model. In [106], the author presented a
Rendering was accomplished by using simple methods method to solve the two-dimensional numerical simu-
to approximate the diffuse color of the deposit layer (by lations of the time-dependent NS equations. The pro-
1368 A. Iglesias / Future Generation Computer Systems 20 (2004) 1355–1374

posal includes a compressible version of the equations ocean waves crashing into a shallow cove. Scene com-
of motion so that the model effectively incorporates the plexity was increased by including submerged rocks
modeling of compressible effects such as shock waves. and irregular sea bottom, thus leading to interesting
Another remarkable feature is the use of images and features on the water surface.
animations as input devices that allows the animators Unfortunately, the explicit solvers used in [24–26] to
to control (among others) the initial conditions, source solve the NS equations can exhibit unstable behaviors
terms and dynamic internal boundaries. For rendering, for large time-steps, which seriously limits their speed
the author included texture mapping differential equa- and interactivity. Stam [92] realized that the key point
tions to pre-calculate particle trajectories on a fixed for a more powerful animation tool for fluid dynamics
grid. His Eulerian approach has proved to be partic- is to deal with more stable models, which allows us to
ularly useful for rendering since the texture mapping take larger time steps and hence to obtain faster ani-
coordinate information is uniformly distributed on the mations with real-time interaction. The starting point
output image space. The equations were integrated by for this task is the method in [25] but, instead of the
using a classical Runge–Kutta scheme and applied to explicit Eulerian solvers used by Foster and Metaxas, a
produce traditionally-animated films at DreamWorks combination of Lagragian and implicit methods is pro-
studios, such as “The Prince of Egypt”. posed. The combination of these solvers to handle both
Another comprehensive methodology based on the the motion of fluids and the propagation by the fluid of
NS equations for animating liquid phenomena was in- any number of substances and solid textures produces
troduced in [24–26] (see also [27]). These authors no- nice flow simulations. However, the problem of ad-
ticed that real fluid dynamics can only be captured dressing objects with free boundaries (such as water in
by solving the three-dimensional Navier–Stokes equa- many cases) was not actually investigated, making this
tions. To this end, they considered a two-stage calcula- work more suited for gaseous-like phenomena. On the
tion over an environment of static obstacles surrounded other hand, the solver was extended in [93] by using the
by fluid. Firstly, a finite-difference approximation to Fourier transform. Although the method assumes that
the NS equations was applied to a low-resolution dis- the fluid is continuous across adjacent boundaries, and
cretized representation of the scene. This scheme was obviously no such fluids occur in the real world, it pro-
coupled with an iterative step to refine the velocities and vides the designers with a motion texture map which
determine the pressure field, which was combined with might be useful in computer graphics.
the Lagrange equations of motion to simulate dynamic The dynamics behavior of splashing fluids was also
buoyant objects. At this stage, the fluid position in analyzed in [75]. Essentially, the authors introduced a
two-dimensional was tracked by convecting massless model that simulates the behavior of a fluid when ob-
marker particles with local fluid velocity. These marker jects impact or float on its surface. To this purpose, they
particles are very useful to highlight many internal fluid used a three-part system where each subsystem corre-
motion effects, such as rotation and splashing, as well sponds to a physical area of the fluid body: the volume,
as for animating violent phenomena such as overturn- the surface and the spray. The water volume that makes
ing waves. Additional effects such as vorticity were up the main body of the fluid was simulated by a collec-
also taken into account in this step. In the original work, tion of vertical tubes or columns connected by virtual
a secondary calculation was performed to accurately pipes, thus allowing there to be a flow between these
determine the liquid surface position through a height columns according to the hydrostatics laws for pres-
field equation. Since this equation describes surfaces sure. In addition, flow conditions must be specified to
as single-valued functions, it can be effectively applied model boundary conditions, such as barriers (flow set
to situations such as puddles, rivers or oceans. For dra- to zero) or fluid sources or sinks (flow set to a positive
matic effects such as crashing waves or splashing, a or negative constant). The surface subsystem allows ex-
combination of height field and marker particles was ternal objects to interact with the fluid system and con-
applied. The performance of the method was illustrated sists of mesh of control points whose vertical positions
through some realistic two- and three-dimensional ex- are found by averaging the heights of the surround-
amples, such as the animation titled Moonlight Cove, a ing columns. Finally, the spray subsystem is a particle
50 × 15 × 40 mesh used to show the effect of two large system to model water droplets disconnected from the
A. Iglesias / Future Generation Computer Systems 20 (2004) 1355–1374 1369

main body of the fluid. These droplets are influenced required to completely characterize the physics of fluid
by the gravity and their dynamics is quite simple since dynamics. In addition, the most general computational
the particles are noninteracting. To preserve the total fluid dynamics models require a lot of computer re-
volume of the system, the volume of each particle was sources in terms of memory storage and computation
substracted from the column from which it was cre- time, making them unsuitable for computer graphics
ated. Although the model cannot deal with submerged animation tools. Consequently, it is not expected to find
objects, the impact problem can be treated in a natural a general computer graphics model able to capture all
way. The impact of the object on the surface is trans- the subtle water effects with a reasonable cost for the
ferred to the pressure of the affected columns. When next few years.
thresholding the vertical velocity of the column, spray Fortunately, some recent papers have reported
is generated yielding a particle system until it is reab- significant advances in this challenging task. For
sorbed by the fluid, encounters a ground plane or strikes example, the recent approaches in [28] and [21] deal
some other object. The model is able to describe a wide with the problem of simulating poured liquid and
range of phenomena such as waves, impacts, splashes breaking waves by a combination of textures and
or floating objects. In contrast, those phenomena re- particles, following up previous ideas of [92]. In
lated to vertical effects such as turbulence or underwa- particular, they also combine fast partial differential
ter effects are not adequately described in this model. equation solvers for a voxelized flow with marker
A remarkable extension of this proposal was de- particles tracking the surface of the fluid. In [28] a
scribed in [65], including an explicit underwater ter- novel hybrid combination of inertialess particles (to
rain and the removal of the vertical isotropy, thus mak- reproduce splash freely) and an implicit surface (to
ing the interaction between particles and fluid pos- correct the mass dissipation obtained from the PDE
sible. The model consists of a volume system (con- solver, which is actually unacceptable for liquids)
taining the information about the main body of fluid) is applied to render realistic surfaces. The interested
coupled with a particle system. Although some effects reader is also referred to [76] for more details on this
such as friction do not follow the actual physical laws formulation. This method was subsequently improved
and additional parameters with no physical meaning by Enright et al. in [21] by adding both a new thickened
have been introduced to simulate spreading, the model front tracking tecnique to represent the water surface
is generally based on the physics of fluids. It is able (based on the method proposed in [28] but focusing on
to simulate accurately many different situations: the modeling the surface rather than the liquid volume as
propagation of the surface waves, the variation of the done in [28]) and a new velocity extrapolation method
propagation of the speed with terrain, the variation of to provide the surface motion with a degree of control
wave patterns with the depth of water, the dynamics so that the surface moves in a smooth, water-like way.
of the water droplets, the floating and submerged ob- Another body of research is provided by those meth-
jects, splashing, etc. Some shortcomings of the model ods that correctly account for all significant light trans-
are that a height field for the water surface was con- port paths. For example, the case of two-dimensional
sidered and that the force from an object striking the wave fields in open ocean is analyzed in [79] and [97].
surface is strictly applied in the vertical direction, even They include many interesting water effects, such as
although the direction of the object is at an angle with the analysis of whitecaps (the foamy part of breaking
the vertical. waves) in [79] by adapting an empirical formula for
whitecaps described in [64]. Some optical effects in
water are analyzed, for example, in [44], while interac-
6. Recent developments tive caustics are analyzed in [100] by employing several
approximations to describe the computation of refrac-
The motion of water is a very complex and var- tive caustics as a convolution problem. Sloan et al. [91]
ied phenomenon often including many different dy- render global illumination effects for dynamic light-
namic effects extremely difficult to analyze. The ac- ing in real time. However, the low-frequency sampling
curate mathematical description of these effects is still used in that work is not suitable to reproduce the com-
under study and sophisticated techniques are usually plex details observed in water caustics.
1370 A. Iglesias / Future Generation Computer Systems 20 (2004) 1355–1374

Another interesting field is the use of different types • a Catmull-Clark subdivision surface method to sim-
of textures and height fields. For example, Loviscach ulate the free surfaces of fluid,
[56] uses a height field and convolution to generate time
evolution. His approach is useful to simulate Kelvin while for fast rendering the following methods:
ship waves and complex ring waves produced by grav-
ity and capillary waves on deep water. Nevertheless, • a subdivision scheme for polygon rendering,
this approach was not adequate for interactive anima- • a method for fast caustics generation, which needs to
tions and it was recently improved in [57] by using generate texture-based caustics and then implement
efficient approximations and taking advantages of the the algorithm using conventional rendering hard-
three-dimensional and processor features of modern ware and
PCs to obtain simulation rates of several frames per • a method to render the full polygonal scene by using
second. Convolution via Fourier transform, interpola- conventional rendering hardware
tion of wave field for intermediate steps to speed up the
simulation and the intensive use of textures instead of were applied. All these components as well as the
geometry (among other features) are advantageously reasons for choosing them are described in [53]. An
applied to produce rates of about 6 frames per second. evaluation of the system by measuring the CPU times
Interactivity and speed are the goals of [86] and for each process for some movie scenes of fluid objects
[42]. For example, in the paper by Schneider and is also reported. This evaluation allows the animators
Westermann [86] water waves are simulated through to consider what factors are important to create water
fractal noise and then rendered in real time with light scenes in a realistic but still fast way.
reflection and ground refraction. A different approach Finally, a promising field of research is that devoted
dealing with height fields is that by Jensen and Goliás to deriving realistic models to simulate the appear-
[45] who used the Fourier transform of a real-world ance of water masses containing several different
spectrum. Rendering was performed by a combination components. For example, ocean water behavior is
of a modification of the backward beam tracing tech- drastically different from that of pure water due to
nique (see Section 4.2) and a subdivision of the water the presence of several mineral (dissolved salts) and
volume in layers approximated by blending textured biological (plankton, organic molecules) components
planes to simulate the shafts of light for underwater within. Consequently, any model dealing with realistic
scenes. ocean water must take into account the complex
A very interesting reference analyzing the fast effects associated with these chemical and biological
simulation and rendering of fluid objects is that by factors. In [9], an algorithm dealing with media with
Kunimatsu et al. [53]. These authors pointed out that anisotropic and multiple scattering was introduced.
the two critical points in this task are the selection of Previous works on light transport on water considered
suitable components/algorithms and acceleration of rough simplifications (single scattering, homogeneous
their speed. For fast simulation, they use a combination media, isotropy). Even those models that explicitly
of methods such as: include optical effects caused by chemical molecules
in water [73,79] often reduce their discussion to simple
• a full Navier–Stokes equation solver with uniform approximated equations in which the radiance in the
Eulerian mesh to simulate the realistic motions of medium only depends on the depth, while the radiance
fluids (even including drastic deformations), effects due to scattering are neglected. A worthwhile
• a method based on rigid-body dynamics for motions exception is the paper of Tadamura et al. [95], but even
of solids within the fluid, these authors restrict themselves to single scattering
• a cubic interpolated pseudoparticle/propagation and no consideration is given to illumination of the
method [96] to deal with the transport problem of objects underneath the water surface due to scattering.
volume of fluid, In [9], Cerezo and Serón considered the (more general)
• a high-resolution marching cube method to obtain a case of non-homogeneous medium and anisotropic
low resolution mesh for simulation, which acceler- and multiple scattering. Their starting point was a
ates the simulation speed and discretization method by Languénou [54] and the use
A. Iglesias / Future Generation Computer Systems 20 (2004) 1355–1374 1371

of the discrete ordinates method to solve the radiative improve the paper. He also thanks Profs. Tomoyuki
transfer equations. The method has been applied Nishita and Kazufumi Kaneda for their helpful dis-
to both deep clear ocean water and coastal water, cussions during the CAD/Graphics conference in Kun-
two environments with different optical properties ming (China) and for providing him with some new
exhibiting different spectra. This work was later references and Dr. Pere Pau Vázquez for his encour-
extended by the same authors in [10] to use realistic agement to write the paper. Financial support from the
medium parameterizations and to consider different University of Cantabria is also acknowledged.
kinds of water characterized by the clorophyll concen-
tration, from pure sea water (strong absorption at red
wavelengths and very little scattering) to waters with References
high phytoplankton concentration (strong absorption
at blue wavelengths and heavy scattering). [1] N. Adabala, S. Manohar, Techniques for realistic visualization
of fluids: a survey, Comput. Graph. Forum 21 (1) (2002) 65–
81.
7. Conclusions [2] J. Arvo, Backward ray tracing. Developments in ray tracing,
in: SIGGRAPH’86 Course Notes, 1986.
In this paper, we offer a historical survey with many [3] J. Arvo, D. Kirk, A survey of ray tracing acceleration tech-
niques, in: A. Glassner (Ed.), An Introduction to Ray Tracing,
of the most classical computer graphics techniques for Academic Press, London, San Diego, 1989.
water modeling and rendering. The different models to [4] B.A. Barsky, Computer Graphics and Geometric Modelling
realistically simulate water behavior as well as many of Using Beta-splines, Springer-Verlag, Heidelberg, 1987.
its associated effects are briefly described. In addition, [5] B.A. Barsky, J.C. Beatty, Local control of bias and tension
the most traditional computer graphics techniques for in beta-splines, in: Proceedings of SIGGRAPH’83, Comput.
Graph. 17 (4) (1983) 193–218; B.A. Barsky, J.C. Beatty, Local
efficient rendering of water are also reported. control of bias and tension in beta-splines, in: Proceedings
The core of the paper is to provide readers with a of SIGGRAPH’83, ACM Trans. Graph. 2 (2) (1983) 109–
rapid reference on the topic, so that experienced users 134.
might easily identify the best or the most commonly [6] J.F. Blinn, Simulation of wrinkled surfaces, in: Proceedings
used methods for a particular task and point out their of SIGGRAPH’78, Comput. Graph. 12 (3) (1978) 286–292.
[7] J.F. Blinn, M.E. Newell, Texture and reflection in computer
strengths and deficiencies as well as the entries to the generated images, Commun. ACM 19 (1976) 542–547.
original papers. Similarly, the beginners will hopefully [8] J.F. Blinn, Generalization of algebraic surfaces drawing, ACM
get a gentle, organized and quick historical perspective Trans. Graph. 2 (3) (1980) 235–256.
of the field without wasting time and effort in look- [9] E. Cerezo, F.J. Serón, Synthetic images of underwater scenes:
ing for the original references, which are certainly dis- a first approximation, in: Proceedings of the 9th International
Conference in Central Europe on Computer Graphics and Vi-
persed among many different sources. sualization WSCG’01, 2001, pp. 395–402.
Finally, we should remark that the paper has been [10] E. Cerezo, F.J. Serón, Rendering natural waters: merging com-
influenced by both the extraordinary magnitude of our puter graphics with physics and biology, in: Proceedings of
goals and the limitations of space. In spite of having Computer Graphics international CGI’02, 2002, pp. 481–498.
included more than 110 entries, some other references [11] J.X. Chen, N.V. Lobo, Toward interactive-rate simulation of
fluids with moving obstacles using Navier–Stokes equations,
have had to be omitted and many explanations have Graph. Models Image Process. 57 (2) (1995) 107–116.
been reduced to the minimum. Due to these reasons, [12] J.X. Chen, N.V. Lobo, C.E. Hughes, J.M. Moshell, Real-time
the literature referenced here is not intended to com- fluid simulation in a dynamic virtual environment, IEEE Com-
prise a totally exhaustive survey on the topic. However, put. Graph. Appl. (May–June) (1997) 52–61.
we hope that we have included enough comments and [13] N. Chiba, S. Sanakanishi, K. Yokoyama, I. Ootawara, K.
Maruoka, N. Saito, Visual simulation of water currents us-
references to make the paper useful for our readers. ing a particle-based behavioural model, J. Visual. Comput.
Anim. 6 (3) (1995) 155–171.
[14] S. Coquillart, M. Gangnet, Shaded display of digital maps,
Acknowledgements IEEE Comput. Graph. Appl. 4 (7) (1984) 35–42.
[15] M. Desbrun, M.P. Gascuel, Animating soft substances with
The author is grateful to the reviewers of this pa- implicit surfaces, in: Proceedings of SIGGRAPH’95, 1995,
per for their useful suggestions that have helped to pp. 287–290.
1372 A. Iglesias / Future Generation Computer Systems 20 (2004) 1355–1374

[16] M. Dippé, J. Swensen, An adaptive subdivision algorithm and [36] A. Glassner (Ed.), An Introduction to Ray Tracing, Academic
parallel architecture for realistic image synthesis, in: Proceed- Press, London, San Diego, 1989.
ings of SIGGRAPH’84, Comput. Graph. 18 (3) (1984) 149– [37] M.E. Goss, A real-time particle system for display of ship
158. wakes, IEEE Comput. Graph. Appl. 10 (3) (1990) 30–35.
[17] J. Dorsey, P. Hanrahan, Modeling and rendering of metallic [38] N. Greene, Environment mapping and other applications of
patinas, in: Proceedings of SIGGRAPH’96, 1996, pp. world projections, IEEE Comput. Graph. Appl. 6 (11) (1986)
387–396. 21–29.
[18] J. Dorsey, H.K. Pedersen, P. Hanrahan, Flow and changes [39] R. Hall, Illumination and Color in Computer Generated
in appearance, in: Proceedings of SIGGRAPH’96, 1996, pp. Imagery, Series: Monographs in Visual Communication,
411–420. Springer-Verlag, New York, 1989.
[19] J. Dorsey, A. Edelman, H.W. Jensen, J. Legakis, H.K. [40] S. Haruyama, B.A. Barsky, Using stochastic modeling for
Pedersen, Modeling and rendering of weathered stone, in: texture generation, IEEE Comput. Graph. Appl. 4 (3) (1984)
Proceedings of SIGGRAPH’99, 1999, pp. 225–234. 7–19; S. Haruyama, B.A. Barsky, Using stochastic modeling
[20] D.S. Ebert, F.K. Musgrave, D. Peachey, K. Perlin, S. Worley, for texture generation, IEEE Comput. Graph. Appl. 5 (2)
Texturing and Modeling, A Procedural Approach, Academic (1985) 87 (Errata).
Press, London, San Diego, 1994. [41] G. Hégron, Rolling on a smooth biparametric surface, J.
[21] D. Enright, S. Marschner, R. Fedkiw, Animation and Visual. Comput. Anim. 4 (1993) 25–32.
rendering of complex water surfaces, in: Proceedings of [42] D. Hinsinger, F. Neyret, M.P. Cani, Interactive animation of
SIGGRAPH’02, ACM Trans. Graph. 21 (3) (2002) 736–744. ocean waves, in: Proceedings of ACM Siggraph Symposium
[22] J.A. Ferwerda, Three varieties of realism in computer on Computer Animation, 2002, pp. 161–166.
graphics, in: Cornell Workshop on Rendering, Perception [43] A. Iglesias, J. Puig-Pey, A. Gálvez, Generating drop
and Measurement, 1999. trajectories on parametric surfaces., in: Proceedings of
[23] B. Fishman, B. Schachter, Computer display of height fields, Seventh International Conference on CAD and Graphics,
Comput. Graph. 5 (1980) 53–60. CAD/Graphics’01, 2001, pp. 350–357.
[44] K. Iwasaki, Y. Dobashi, T. Nishita, Efficient rendering of
[24] N. Foster, D. Metaxas, Realistic animation of liquids, in: Pro-
optical effects within water using graphics hardware., in:
ceedings of Graphics Interface’96, Calgary, Canada, (1996),
Proceedings of Pacific Graphics’01, 2001, pp. 374–383.
pp. 204–212; N. Foster, D. Metaxas, Realistic animation of liq-
uids, Graph. Models Image Process. 58 (5) (1996) 471–483. [45] J.L. Jensen, R. Goliás, Deep water animation and render-
ing, in: Proceedings of the Game Developer’s Conference
[25] N. Foster, D. Metaxas, Modeling the motion of a hot, turbulent
Europe’01, 2001 (available at: www.gamasutra.com/
gas, in: Proceedings of SIGGRAPH’97, 1997, pp. 181–188.
gdce/jensen/jensen 01.htm).
[26] N. Foster, D. Metaxas, Controlling fluid animation, in: Pro-
[46] J.T. Kajiya, New techniques for ray-tracing procedurally
ceedings of Computer Graphics International CGI’97, IEEE
defined objects, ACM Trans. Graph. 2 (3) (1983) 161–181.
Computer Society Press, Menlo Park, CA, 1997, pp. 178–188.
[47] K. Kaneda, T. Kagawa, H. Yamashita, Animation of water
[27] N. Foster, D. Metaxas, Modeling water for computer
droplets on a glass plate, in: Proceedings of Computer
animation, Commun. ACM 43 (7) (2000) 60–67.
Animation’93, 1993, pp. 177–189.
[28] N. Foster, R. Fedkiw, Practical animation of liquids, in: [48] K. Kaneda, Y. Zuyama, H. Yamashita, T. Nishita, Animation
Proceedings of SIGGRAPH’01, 2001, pp. 23–30. of water droplets on curved surfaces, in: Proceedings of
[29] A. Fournier, D. Fussell, L. Carpenter, Computer rendering Pacific Graphics’96, IEEE Computer Society Press, Los
of stochastic models, Communications of the ACM 25 (6) Alamitos, CA, 1996, pp. 50–65.
(1982) 371–384. [49] K. Kaneda, S. Ikeda, H. Yamashita, Animation of water
[30] A. Fournier, W.T. Reeves, A simple model of ocean waves, droplets moving down a surface, J. Visual. Comput. Anim.
in: Proceedings of SIGGRAPH’86, Comput. Graph. 20 (4) 10 (1999) 15–26.
(1986) 75–84. [50] M. Kass, G. Miller, Rapid, stable fluid dynamics for computer
[31] P. Fournier, A. Habibi, P. Poulin, Simulating the flow of liquid graphics, in: Proceedings of SIGGRAPH’90, Comput. Graph.
droplets, in: Proceedings of Graphics Interface’98, 1998, pp. 24 (4) (1990) 49–57
133–142. [51] D.S. Kay, Transparency, Refraction and Ray Tracing for
[32] G.Y. Gardner, Simulation of natural scenes using textured Computer Synthesized Images, Master’s Thesis, Cornell
quadric surfaces, in: Proceedings of SIGGRAPH’84, Comput. University, Ithaca, NY, 1979.
Graph. 18 (3) (1984) 11–20. [52] D. Kharitonsky, J. Gonczarowski, A physical based model
[33] G.Y. Gardner, Visual simulation of clouds, in: Proceedings for icicle growth, Visual Comput. 10 (2) (1993) 88–100.
of SIGGRAPH’85, Comput. Graph. 19 (3) (1985) 297–303. [53] A. Kunimatsu, Y. Watanabe, H. Fujii, T. Saito, K. Hiwada, T.
[34] M.P. Gascuel, An implicit formulation for precise con- Takahashi, H. Ueki, Fast simulation and rendering techniques
tact modeling between flexible solids, in: Proceedings of for fluid objects, in: Proceedings of EUROGRAPHICS’01,
SIGGRAPH’93, 1993, pp. 313–320. Comput. Graph. Forum 20 (3) (2001) 57–66.
[35] F.J. Gerstner, Theorie der wellen, Ann. der Physik 32 (1809) [54] E. Languénou, K. Bouatoch, M. Chellem, Global illumination
412–440. in presence of participating media with general properties, in:
A. Iglesias / Future Generation Computer Systems 20 (2004) 1355–1374 1373

Sakas, Shirley, Müller (Eds.), Photorealistic Rendering Tech- limiting in object space, in: Proceedings of SIGGRAPH’82,
niques, Springer-Verlag, Berlin Heidelberg, 1995, pp. 71–86. Comput. Graph. 16 (3) (1982) 1–8.
[55] J. Lewis, Generalized stochastic subdivision, ACM Trans. [75] J.F. O’Brien, J.K. Hodgins, Dynamic simulation of splashing
Graph. 6 (3) (1987) 167–190. fluids, in: Proceedings of Computer Animation’95, 1995, pp.
[56] J. Loviscach, A convolution-based algorithm for ani- 198–205.
mated water waves, in: EUROGRAPHICS’02 Short Paper [76] S. Osher, R. Fedkiw, The Level Set Method and Dynamic
Presentations, 2002, pp. 381–389. Implicit Surfaces, Springer-Verlag, New York, 2002.
[57] J. Loviscach, Complex water effects at interactive frame [77] D.R. Peachey, Modeling waves and surf, in: Proceedings of
rates, in: Proceedings of the 11th International Conference SIGGRAPH’86, Comput. Graph. 20 (4) (1986) 65–74.
in Central Europe on Computer Graphics and Visualization [78] K. Perlin, An image synthesizer, in: Proceedings of
WSCG’03, J. WSCG 11 (1) (2003) 298–305. SIGGRAPH’85, Comput. Graph. 19 (3) (1985) 287–296.
[58] H. Mallinder, The modeling of large waterfalls using string [79] S. Premoze, M. Ashikhmin, Rendering natural waters, in:
texture, J. Visual. Comput. Anim. 6 (1) (1995) 3–10. Proceedings of Pacific Graphics’00, 2000, pp. 23–30; S.
[59] N.L. Max, Vectorized procedural models for natural ter- Premoze, M. Ashikhmin, Rendering natural waters, Comput.
rain: waves and islands in the sunset, in: Proceedings of Graph. Forum 20 (4) (2001) 189–199.
SIGGRAPH’81, Comput. Graph. 15 (3) (1981) 317–324. [80] Pyramid Catalogue: Pyramid, Box 1048, Santa Monica, 1981.
[60] N.L. Max, Carla’s Island, Siggraph Video Rev. (5) (1981). [81] W.J.W. Rankine, On the exact form of waves near the surfaces
[61] N.L. Max, The simulation of natural phenomena, in: Pro- of deep water, Phil. Trans. R. Soc. A 153 (4) (1863) 127–138.
ceedings of SIGGRAPH’83 (panel), Comput. Graph. 17 (3) [82] W.T. Reeves, Particle systems—a technique for modeling a
(1983) 137–139. class of fuzzy objects, in: Proceedings of SIGGRAPH’83,
[62] G.A. Mastin, P.A. Watterberg, J.F. Mareda, Fourier synthesis Comput. Graph. 17 (3) (1983) 359–376; W.T. Reeves, Particle
of ocean scenes, IEEE Comput. Graph. Appl. 7 (3) (1987) systems—a technique for modeling a class of fuzzy objects,
16–23. ACM Trans. Graph. 2 (2) (1983) 91–108.
[63] G. Miller, A. Pearce, Globular dynamics: a connected particle [83] W.T. Reeves, R. Blau, Approximate and probabilistic algo-
system for animating viscous fluids, Comput. Graph. 13 (3) rithms for shading and rendering structured particle systems,
(1989) 305–309. in: Proceedings of SIGGRAPH’85, Comput. Graph. 19 (3)
[64] E. Monahan, G. MacNiocaill, Oceanic Whitecaps: Their Role (1985) 313–322.
in Air Sea Exchange Processes, D. Reidel, 1986. [84] S. Rubin, T. Whitted, A 3-dimensional representation
[65] D. Mould, Y.H. Yang, Modeling water for computer graphics, for fast rendering of complex scenes, in: Proceedings of
Comput. Graph. 21 (6) (1997) 801–814. SIGGRAPH’80, Comput. Graph. 14 (3) (1980) 110–116.
[66] S. Murakami, H. Ichihara, On a 3D display method by metaball [85] B. Schachter, Long crested wave models, Comput. Graph.
technique, J. Electron. Commun. 70 (8) (1987) 1607–1615. Image Process. 12 (1980) 187–201.
[67] A. Murta, J. Miller, Modelling and rendering liquids in [86] J. Schneider, R. Westermann, Towards real-time visual
motion, in: Proceedings of the 7th International Conference simulation of water surfaces, in: Proceedings of Vision,
in Central Europe on Computer Graphics and Visualization, Modeling and Visualization’01, 2001, pp. 211–218.
WSCG’99, 1999, pp. 194–201. [87] D. Shepard, A two-dimensional interpolation function for
[68] M.E. Newell, The Utilization of Procedure Models in Digital irregularly spaced data, in: Proceedings of ACM National
Image Synthesis, Ph.D. Thesis, University of Utah, Salt Lake Conference, 1964, pp. 517–524.
City, UT, 1975. [88] F. Sillion, C. Puech, A general two-pass method integrat-
[69] N. Nishikawa, T. Abe, Artificial nature in splash of droplets, ing specular and diffuse reflection., in: Proceedings of
Compugraphics’91 1 (1991) 457–466. SIGGRAPH’89, Comput. Graph. 23 (3) (1989) 335–344.
[70] T. Nishita, Y. Miyawaki, E. Nakamae, A shading model for [89] K. Sims, Particle dreams (Video), Segment 42, Siggraph
atmosferic scattering considering luminous intensity distri- Video Rev. 38/39 (1988).
bution of light sources, in: Proceedings of SIGGRAPH’87, [90] K. Sims, Particle animation and rendering using data parallel
Comput. Graph. 21 (4) (1987) 303–310. computation, in: Proceedings of SIGGRAPH’90, Comput.
[71] T. Nishita, T.W. Sederberg, M. Kakimoto, Ray tracing rational Graph. 24 (4) 1990 405–413.
trimmed surface patches, in: Proceedings of SIGGRAPH’90, [91] P.P. Sloan, J. Kautz, J. Snyder, Precomputed radiance transfer
Comput. Graph. 24 (4) (1990), 337–345. for real-time rendering in dynamic, low-frequency lighting
[72] T. Nishita, E. Nakamae, A method for displaying metaballs environments, in: Proceedings of SIGGRAPH’02, ACM
by using Bézier clipping, in: Proceedings of EUROGRAPH- Trans. Graph. 21 (3) 2002 527–536.
ICS’94, Comput. Graph. Forum 13 (3) (1994) 271–280. [92] J. Stam, Stable fluids, in: Proceedings of SIGGRAPH’99,
[73] T. Nishita, T. Shirai, K. Tadamura, E. Nakamae, Display 1999, pp. 121–128.
of the Earth taking into account atmospheric scattering, in: [93] J. Stam, A simple fluid solver based on FFT, J. Graph. Tools
Proceedings of SIGGRAPH’93, 1993, pp. 175–182. 6 (2) (2001) 43–52.
[74] A. Norton, A.P. Rockwood, P.T. Skolmoski, Clamping: [94] G.G. Stokes, Mathematical and Physical Papers, Cambridge
a method for antialiasing textured surfaces by bandwidth University Press, Cambridge, vol. 1 1980.
1374 A. Iglesias / Future Generation Computer Systems 20 (2004) 1355–1374

[95] K. Tadamura, E. Nakamae, Modeling the colour of water in [108] B. Wyvill, C. McPheeters, G. Wyvill, Animating soft objects,
lighting design, in: V. Earnshaw (Ed.), Computer Graphics: Visual Comput. 2 (4) (1986) 235–242.
Developments in Virtual Environments, Academic Press, [109] B. Wyvill, in: Proceedings of SIGGRAPH’86, Electron.
London, San Diego, 1995, pp. 97–114. Theater Video Rev. 24 (1986).
[96] T. Tanahashi, T. Takafumi, CIP finite element method, News [110] G. Wyvill, B. Wyvill, C. McPheeters, Solid texturing of soft
Lett./Asian CFD Soc. 8 (3) (2000) 485–495. objects, IEEE Comput. Graph. Appl. (1987) 20–26.
[97] J. Tessendorf, Simulating ocean water, in: SIGGRAPH’99 [111] G. Wyvill, A. Trotman, Ray-tracing soft objects, in: Proceed-
Course Notes, 1999. ings of Computer Graphics International CGI’90, Springer
[98] D. Tonnesen, Modeling liquids and solids using thermal Verlag, 1990, pp. 469–476.
particles, in: Proceedings of Graphics Interface’91, 1991, pp. [112] Y.J. Yu, H.Y. Jung, H.G. Cho, A new rendering technique
255–262. for water droplet using metaball in the gravitation force, in:
[99] D.L. Toth, On ray tracing parametric surfaces, in: Proceedings Proceedings of the 6th International Conference in Central
of SIGGRAPH’85, Comput. Graph. 19 (3) 1985 171–180. Europe on Computer Graphics and Visualization, WSCG’98,
[100] C. Trendall, A.J. Stewart, General calculations using graphics 1998, pp. 432–439.
hardware with application to interactive caustics, in: Proceed- [113] Y.J. Yu, H.Y. Jung, H.G. Cho, A new water droplet model
ings of Eurographics Workshop on Rendering, 2000, 2000, using metaball in the gravitational field, Comput. Graph. 23
pp. 287–298. (1999) 213–222.
[101] P. Ts’o, B.A. Barsky, Modeling and rendering waves: wave-
tracing using beta-spline and reflective and refractive texture
mapping, ACM Trans. Graph. 6 (3) (1987) 191–214. Andrés Iglesias is currently an associate
[102] J.R. Wallace, M.F. Cohen, D.P. Greenberg, A two-pass professor at the Department of Applied
solution to the rendering equation: a synthesis of ray tracing Mathematics and Computational Sciences
and radiosity methods, in: Proceedings of SIGGRAPH’87, of the University of Cantabria (Spain). He
Comput. Graph. 21 (4) (1987) 311–320. holds a BSc degree in mathematics in 1992
[103] M. Watt, Light-water interaction using backward beam and a PhD in applied mathematics in 1995.
tracing, in: Proceedings of SIGGRAPH’90, Comput. Graph. He has been the chairman and organizer
24 (4) (1990) 377–385. of some international conferences in the
[104] R. Wcilso, J. Kitowski, J. Moscinski, Cellular automaton as fields of computer graphics, geometric mod-
a fast tool for animation of liquid in multi-object scenes, in: eling and symbolic computation, such as the
Proceedings of the 6th International Conference in Central CGGM (2002–2004), TSCG (2003–2004)
Europe on Computer Graphics and Visualization, WSCG’98, and CASA (2003–2004) conference series. In addition, he has served
1998, pp. 417–423. as a program committee member and steering committee mem-
[105] T. Witthed, An improved illumination model for shaded ber in conferences such as ICCSA, GMAG, CGIV, 3IA, Cyber-
display, Commun. ACM 23 (6) (1980) 343–349. Worlds, WSCG and ICICS. He is currently guest editor of four
[106] P. Witting, Computational fluid dynamics in a traditional special issues of the journals Future Generation Computer Sys-
animation environment, in: Proceedings of SIGGRAPH’99, tems (FGCS) and International Journal of Image and Graphics
1999, pp. 129–136. (IJIG) on the topics of computer graphics, geometric modeling and
[107] B. Wyvill, C. McPheeters, G. Wyvill, Data structure for soft symbolic computation. He is an ACM Siggraph and Eurographics
objects, Visual Comput. 2 (4) (1986) 227–234. member.

Vous aimerez peut-être aussi