Each particle is
an individual object responding to the environment around it like gravitational
influence.
It contains parameters like: lifetime, decay, random aging, color, speed and position.
It is common for all or most of these parameters to be fuzzy, in the
sense that the emitter initializes the particles with parameter around
some central value with random variation.
A typical particle system update loop (which is performed for each frame of animation) can be separated into two distinct stages, the parameter update/simulation stage and the rendering stage:
Simulation stage:
New particles are created and
each of the particle's parameters, like
velocity, color, life, etc, are initialized based on the emitter's parameters.
All the existing particles are checked to see if they have
exceeded their lifetime, in which case they are removed from the
simulation. Otherwise their position and other characteristics are modified, e.g.,
based on some sort of physical simulation.
It is common that particles fade out to nothingness by interpolating
the particle's alpha value (opacity) or reducing their size
during the lifetime of the particle.
Rendering stage:
Each particle is rendered usually in the form of
a textured bill-boarded quad (i.e. a quadrilateral that is always facing the
viewer).