@Josh
Yeah, sometimes I read it as Meatballs too

. Thanks, effect #2 is my favorite one too. Some sort of minigame might be cool, I'll have to think about that, but I don't know how well the iPhone could handle this.
@Nex
It's strange that it starts dropping at only 124. I don't get any drop until around 295 on an 8600 GTS. See note at the bottom of the post for something that might be related.
Regarding the netbook - looks like I need more error checking. Perhaps the netbook doesn't have enough video memory. The program uses an offscreen framebuffer, and a 512x512 texture and 256x256 texture by default.
@Diggsey
Thanks. I remember seeing your demo, it looks pretty cool. Initially I tried a similar technique, drawing lots of fullscreen quads with a pixel shader and additive blending, but that ran into fillrate problems pretty quickly.
This is actually still done with hardware. I found that I could create a pretty similar effect by using point sprites. So I just additive blend a whole ton of point sprites together. I still run into fillrate problems, but it depends on the size of the point sprites being drawn. I can have 800 size 64 metaballs at 60 fps. 800 size 256 runs at 22 fps.
@Comet
How does it crash? Is the console visible long enough to get a screenshot of what it says? And could you please post your system specs? Thanks.
A note: Even if the framerate drops below ~60 fps, that does not mean that it cannot run faster. I have the program sleeping for 15ms every loop, until I can find a nice way to cap it at 60. So depending on how fast the cpu can bounce around all the metaballs, there might be a slight drop in fps that wouldn't be there if it didn't sleep 15ms every loop. But if the framerate changes when you increase or decrease the metaball size, then its a fillrate problem, and that's as fast as it can go.
Looks like I need to come up with a better way to log error messages, it seems that if the program crashes, then using 'Metaballs.exe > log.txt' doesn't actually save anything in log.txt. And I guess I still have a ways to go with getting it to crash gracefully.
So thanks for testing it and leaving feedback.
-Jeff