I’m implementing metaballs with GLSL. My method is to draw a quad as big as the screen in orthographic projection and make a varying vec3 to scan the whole screen. I send the ball coordinates as uniform vec3’s, one vec3 array for x, y and radius, another vec3 array for color. The problem is, I can’t render more than, say, 100 balls without the program starting to flicker weirdly. So, is my approach somehow very very wrong and what can I do to fix it? Should I use attributes or something else instead? I think 10064 = 2400 bytes should not be a problem with the hardware I’m using, I have a Corei7 920 / HD 4870 (512mb version) rig with 6GB of RAM.
Edit: ahem, I am quite embarrassed I didn’t limit the rendering speed at all, which caused the flickering. Thank you and good night
But if you happen to have any information in some maximum amount of uniforms, let me know, the program still can’t handle very big arrays, it just crashes.