So, in my spare time I'm working on a little OpenGL particle engine. I'll give this little guy it's own website and release the source code in a week or so. It's written in 100% C... it's quite ugly right now, but I hope to fix it up.
The capabilities of it thus far are not astounding. I can basically render multiple systems on the fly, I use function pointers to allow systems to have their own unique/customized draw(), init(), and reset() functions. I wrote a rendering queue that allows me to add systems to the queue to be drawn and also allows me to spawn systems from systems. I'm trying to get everything to the PNG format. Right now, particle textures can be loaded as PNGs or BMP and snapshots are PPM's (this is out of pure laziness as I just dump the pixmap off the front buffer into a file and I can also assemble movies with ppm2mpeg)... The next big steps are to write the PNG writer so snapshots write out as PNG (and for uniformities sake a BMP writer), clean up the BMP reader, and the big thing... write the font renderer. I'm going to write my own utility that converts PCF's into BMP's, load them as textures and use display lists to render fonts as textures.... should get pretty interesting once all these utilities are written.
I also want to add more components to the engine, like portals, lightwave object loader, etc..