There are two things you can change: the metaball equation and the threshold in if (d <= .0007).
The equation defines the gooeyness of the balls, whereas the threshold defines the size. Changing the eqation usually requires to change the threshold too. For example:
EDIT: Holy shit. This is why it's always a really good idea to test out optimizations for shader code. I manually unrolled the for-loop (it was only looping twice), and on my Intel HD 3000 I went from 1.32ms frame time with no blur and 21.28ms frame time with blur on, to 1.59ms frame time with blur on! Intel cards suck at for-loops!
You could also probably shrink the canvas size and scale everything, and then scale back up when rendering to improve performance a bit.
Last edited by slime on Mon Oct 24, 2011 4:10 pm, edited 1 time in total.
It's much better practice to convert your native shader code to love standards - which isn't hard at all, but if you absolutely can't for some reason...
It's much better practice to convert your native shader code to love standards
I don't think so. love is not the only engine in the world that supports shaders, and glsl shaders must be easily ported between engines. GLSL is standart and it was developed to be the standart.
which isn't hard at all
I have 1000's lines of glsl shaders in more than 20 fragment programs. Too bad that love does not support them in a clean form.