

// Uniform variables for texturing
uniform sampler2D 	aaa_tex2d[4];


// 0 = time
// 1 = mouse X
// 2 = mouse Y
// 3 = Thickness
// 4 = PI factor
uniform float		aaa_fu_float[8];

// 0 = iterations
uniform int			aaa_fu_int[4];


// balance between texture and effect
uniform float		aaa_fu_src;
uniform float		aaa_fu_out;


// Colors factors
// 0 = src colors
// 1 = out color
uniform vec4		aaa_fu_vec4[8];

void main( void )
{

	vec2 position = ( gl_TexCoord[0].st - 0.5);
	float r = length(position);
	float theta = atan(position.y,position.x);
	float cr = fract(10.*r*r-fract(0.5*aaa_fu_float[0]));
	float cg = fract(12.*r-fract(0.7*aaa_fu_float[0])+0.1*sin(theta*10.));
	float cb = fract(15.*r+fract(0.9*aaa_fu_float[0]));


	vec4 src = (texture2D(aaa_tex2d[0], gl_TexCoord[0].st) * aaa_fu_src) * aaa_fu_vec4[0];
	vec4 fx  = (vec4( vec3(cr, cg, cb), 1.0 ) * aaa_fu_out) * aaa_fu_vec4[1];

	gl_FragColor = vec4( (src + fx) );

}













