Things for you to do to extend the model:

Add alpha component to all the color settings to allow
for blending of particles.

Allow size variation of particles using glPointSize()

Use SGI_POINT extentions if available for perspective sizing.

Render each particle as a billboarded textured polygon.


