Introduction to Particle Systems
September 2000

David S. Ebert



Image from Star Trek II: The Wrath of Khan by Pixar, copyright 1987 Pixar.


What are Particle Systems?

A large collection of (normally) very simple geometric particles
that change stochastically over time.

Introduced to computer graphics by Bill Reeves in 1983

Allow a few parameters to control a complex, dynamical system (data amplification)

An example of procedural animation --
    animation, location, movement, birth, and death of
    parcticles are all controlled algorithmically.

Commonly used to represent natural phenomena, such as
steam, smoke, fire, water, snow, rain.

Three main components of a particle system:
  • particle representation and geometry
  • particle dynamics
  • particle rendering


Particle Attributes (Representation and Data Structures)

  • geometry /shape (radius)
  • color
  • opacity
  • position (initial)
  • velocity
  • lifetime


Particle Dynamics

Governs how the particles move from frame to frame

Often represented as forces
  • Gravity
  • Air resistance
  • Attraction
  • Repulsion
  • Collision (with objects only)
  • Wind Fields
  • Turbulence Fields
  • Stochastic functions
  • Vortices (Sims 90)
  • Navier-Stokes Flow equations


Particle Rendering

Problems because of the large number of primitives (hundreds of thousands to millions

Simple Method:
  • Consider each particle as a point (linear if motion-blurred) light source.

  • The color of the particle is constant and unshaded.

  • Accumulate the contribution of each particle into the frame-buffer

  • composite with the normally rendered scene.

  • No occlusion, no inter-particle illumination

Structured Particle Systems (Reeves and Blau 85)
  • Probabilistic rendering techniques to speed rendering.

  • Perform hidden surface removal, illumination, and shadowing for the particles.

  • Usually modeling stochastic phenomena, so rendering can be
          approximately correct.

  • Perform approximate/probabilistic illumination.
          (e.g., distance into tree from light source determines diffuse shading
          and probability of having specular highlights, etc.)
  • Perform approximate/probabilistic shadowing -
          exponentially decrease ambient illumination as depth into structure increases.

  • External shadowing also probabilistically approximated.

  • For hidden-surface removal, use a painters algorithm along
          with a depth-bucket sort of particles.
          Won't be correct in all cases, but approximately correct.

    Example from Andre and Wally B (Pixar)

    Example from Road to Point Reyes (Pixar)


Particle System Operation

  • New particles are generated and assigned initial attributes

  • Particles past their lifetime are removed

  • All remaining particles are updated based on dynamics and

    procedures

  • Particles are rendered, often using special purpose algorithms


Advanced Particle Systems

  • Structured Particle Systems

    • Particles form a connected, cohesive 3D object and have inter-particle relationships.
    • Used to model trees, plants, etc., so similar to probabilistic, context-sensitive L-systems

    • Unlike L-systems, goal is to model appearance of collections of trees, plants, etc.

    • Construct trees, by recursively generating sub-branches with stochastic variation of parameters.

    • Therefore, a few parameters generate an entire forest.

    • Each particle represents an element (branch, blade of grass, etc.)

  • Cloth dynamics based on particle systems (Breen 1994, Maya cloth, Witkin and Baraff 1998)

  • Surface modeling with oriented particle systems (Szeliski and Tonnenson)

  • Complex geometry and implicits attached to particles - clouds, etc. (Ebert, Stam)


Common Issues

  • Rendering still difficult

  • Inter-particle interactions - how to efficiently handle this

  • How much physics vs. how much user control

  • The perilous power of parameterization

  • Diffusion Limited Aggregation (DLA)
    • Natural process hypothesized to describe how many natural things form,

    • including dendrite clusters to the formation of galaxies.
    • Based on random walks (fBm motion) of particles.
    • Several initial sticky particles are placed in space.
    • A large number of additional particles are moved on random walks;
    • if they touch one of the sticky particles, they stick and may become sticky also.

    Main Page