Graphics Reference
In-Depth Information
where k is a suitable smooth kernel function and h is a user parameter in-
tended to be the extent of each particle. A Gaussian might be a reasonable
choice for k ; a cheaper and simpler alternative would be a spline, such as
k ( s )= (1
s 2 ) 3 : s< 1 ,
0: s
1 .
This spline has the advantage that it depends only on s 2 ,not s , allowing
one to avoid taking a square root when evaluating at s =
/h .
The extent h should generally be several times the average inter-particle
spacing r , for example h =3 r , but it can be tweaked as needed. (For our
recommended sampling, r is half the grid spacing Δ x .) The blobby surface
is implicitly defined as the points x where F ( x )= τ for some threshold τ ,
or in other words the τ -isocontour or level set of F . A reasonable default
for τ is k ( r/h ), which produces a sphere of radius r foranisolatedparticle,
but this too can be a tweakable parameter.
Unfortunately the blobby surface can have noticeable artifacts, chief
among them that it can look, well, blobby. Many water scenarios in-
clude expanses of smooth water; after sampling with particles and then
wrapping the blobby surface around the particles, generally bumps for
each particle become apparent. This is especially noticeable from spec-
ular reflections on the water surface, though it can be masked by foam or
spray. The bumps can be smoothed out to some extent by increasing the
h -parameter—however, this also smooths out or even eliminates small-scale
features we want to see in the render. Typically there is a hard trade-off
involved.
A slight improvement on blobbies is given by Zhu and Bridson [Zhu and
Bridson 05], where instead the implicit surface function is given by
x
x i
X
φ ( x )=
x
r,
X is a weighted average of nearby particle locations:
where
i k x− x i
x i
i k x−x i
h
X =
h
and r is a similar weighted average of nearby particle radii:
i k x−x i h r i
i k x−x i
r =
.
h
Search WWH ::




Custom Search