Transcript ppt

Notes
cs426-winter-2008
1
Velocity fields
 Velocity
field could be a combination of
pre-designed velocity elements
• E.g. explosions, vortices, …
 Or
from “noise” (or “Perlin noise”)
• Smooth random number field
• Essentially a Hermite spline from a pseudorandom hash
 Or
from a simulation
• Interpolate velocity from a computed grid
• E.g. smoke simulation
cs426-winter-2008
2
Time integration woes
 For
rotational motion, immediately find
serious flaw with Forward Euler: instability
 Better off using a more accurate, more
stable Runge-Kutta method
• For example: 3rd order
k1  v x 
k2  v x  12 tk1 
k3  v x  43 tk2 
x new  x  29 tk1  93 tk2  49 tk3
cs426-winter-2008
3
Second order motion
 Real
•
•
•
•
•
particles move due to forces
Newton’s law F=ma
Need to specify force F (gravity, collisions, …)
Divide by particle mass to get acceleration a
Update velocity v by acceleration
Update position x by velocity
v
new
i
F(x i ,v i ,t)
 v i  t
mi
new
i
 x i  tv
x
new
i
cs426-winter-2008
4
Basic rendering
 Draw
a dot for each particle
 But what do you do with several particles per
pixel?
•
•
•
Add: models each point emitting (but not absorbing)
light -- good for sparks, fire, …
More generally, compute depth order, do alphacompositing (and worry about shadows etc.)
Can fit into Reyes very easily
 Anti-aliasing
•
Blur edges of particle, make sure blurred to cover at
least a pixel
 Particle
with radius: kernel function
cs426-winter-2008
5
Motion blur
 One
case where you can actually do exact
solution instead of sampling
 Really easy for simple particles
• Instead of a dot, draw a line
•
•
•
(from old position to new position - the shutter
time)
May involve decrease in alpha
More accurately, draw a spline curve
May need to take into account radius as
well…
cs426-winter-2008
6
More detailed particle rendering

Stick a texture (or even a little movie) on each particle:
“sprites” or “billboards”
•
•

Draw a little object for each particle
•
•

Need to keep track of orientation as well, unless spherical
We’ll get into full-fledged rigid bodies later
Draw between particles
•

E.g. a noise function
E.g. a video of real flames
curve (hair), surface (cloth)
Implicit surface wrapped around virtual particles
(e.g. water)
cs426-winter-2008
7