A Particle-engine in the making.. starting to look nice. Still have alot of stuff to put into it though. Seems as if some (the newest) demos doesn't work on some machines. Glut is neede for some, and newest drivers from nVidia should do it.. but it may require a GeForce3 or better... Feel free to try, and tell me how it went...
I coded a version using timeslices.. it's slower but it works on slower computers and/or when the fps momenterely goes down. Click here to download the timeslice version of the demo.
I made a Vertex program for the camera-aligned billboarding stuff, but it turned out to be slower than handling it through the cpu. The GPU can't add vertices, so you still have to put a position into each particle. I tested both with 1k particles and 15k particles, and the GPU version was about 5-10% slower. I will look into it further. When I have time. ;]
So.. now I have looked into the slownes issue.. and resolved it. (now it's the same speed). Plus I have added support for Modifiers. But because of my fps-independent code, the effect looks different depending on your fps. To solve this I have to integrate over time, or change to a fixed fps. I think I'll go with option number 2. Above is a pics and you can download demo #3 here.
Three particle systems. Would look nicer with different textures etc. 15k particles, a lot of overdraw. Wonder if one can make it faster? (probably using bigger particles but fewer and having nice textures would make a big difference) You can download particle demo #1 here.
Now I have added camera-aligned billboards. Looks much nicer, but I can't have as many particles. And, now I use vertex arrays instead of alot of glVertex. Speed has.. increased. You can download the particle demo #0 here.
Small improvements. Still points but now there is a "shower".