uniform float	tt;
uniform vec2	radius;
const float 	PI		=	3.1415926;

vec4 simple()
{
	vec2	vectorFromCenter	=	vec2(gl_TexCoord[0]) - radius;
	float	distanceFromCenter	=	length(vectorFromCenter);

	float	ringSize			=	3.0;
	float	ringWidth			=	PI * ringSize; // 9.42
	float	ringsThatFit		=	floor(radius.x / ringWidth);	

	float	offset				=	((ringsThatFit * PI) * tt);
 	float	y					=	sin((distanceFromCenter / ringSize)-offset) * 1.5;	

	float	maxLength			=	(ringsThatFit * ringWidth);
	float	currentOffset		=	maxLength * tt;
	float	b					=	smoothstep(radius.x, radius.x - (radius.x * 0.5), distanceFromCenter);

	float	inner				=	currentOffset;	
	y = distanceFromCenter <= inner ? 0.0 : y;

	// 2 rings..
	float	outer				=	((2.0*2.0) * ringWidth) + currentOffset;
	y = distanceFromCenter >= outer ? 0.0 : y;

	return vec4(1, 0, 0, 1) * vec4(y) * vec4(b) * gl_Color;
}
void main()
{
//	gl_FragColor	=	gl_FrontColor;
	gl_FragColor	=	simple();
}