That's fabulous Jerrot! It looks so real!
It's just too bad my FPS drops down to an average of about 12 -- and that's without any additions to the project.
Thanks - well 12 FPS is really low. I get about 120 fps with this setting (200 snowflakes) on my GeForce 2 MX, on Mnemonic's monster card it were even 250.
Of course you can try how many FPS you can win by stripping all the if-clauses you don't need for your settings, but I doubt it would be THAT much more.
Definitely need to find some ways to optimize. At the moment I'm trying to pinpoint the areas that require the most heavy duty processing, but that's one area I'm not too good at yet.
Well, I'm curious. The main part doesn't use very much of the code finally, that's why I wrote the "reset_snowflake()" already. Another way could be to get the users FPS and make the "max_flakes" dynamic, but I don't like that idea too much...

What graphic card (or chip set ?) do you use ? I even get 67 FPS in software mode. (Although that looks stupid without alpha channels...

!)
Me and the boys are singing the Happy-Happy-Joy-Joy-Song now 
Hm, I just read a book where the crazy killers always wear T-Shirts with these words...

[[...]I'm not that motivated to continue this little experiment anymore.

Now, I'd still be happy to optimize the code, but I don't know if there really is a need to create a GUI for it to adjust the values in real-time. You can try to convince me of course.

All hail hypnotoad..err, I mean Jerrot!
LOL 
Well, if I knew that, I wouldn't say that!
Don't take this
too seriously.

You can still feel pretty much motivated, since prerendered snow in THIS quality would take up inredible amounts of memory, especially in high resolutions.
If I wanted to make snow, I'd choose scripting as well!
Gee... ok! I'm motivated.

But I guess there is not too much room to optimize the code anymore without directly accessing the engine's graphic layer (which I don't want, that's the way AGAST went and that's too much for a script language in my opinion). When you checked it with the C++ Profiler, what was the second heaviest part though ?