A geometry shader of a graphics processor is configured to generate at
least a portion of a particle system. The geometry shader receives vertex
data including a reference set of vertices. The geometry shader also
receives control data including information on how to create additional
vertices for the particle system using the vertex data. The geometry
shader processes the vertex data and control data to generate the
additional vertices for the particle system. In some embodiments, the
control data also includes information on other attributes of the
generated vertices.