
precision mediump float;


uniform float iGlobalTime;
uniform vec2 iResolution;


vec3 check(vec2 p, float s)
{
	return vec3(clamp(floor(mod(p.x/s+floor(p.y/s),2.0))*s,0.1,0.9));
}

void main( void )
{
	vec2 p = -1.0 + 2.0 * ( gl_FragCoord.xy/ iResolution.xy  );
	p.x *=  iResolution.x/iResolution.y;

	vec3 col = vec3(1.0);

	float y = p.y + sin(p.x);// + sin(p.x*20.)*0.05;
	vec2 uv;
	uv.x = p.x/y;
	uv.y = 1.0/abs(y)+iGlobalTime/5.0;
	col = check(uv, 0.3);
	float t = pow(abs(y),2.0);

	gl_FragColor = vec4( col*t, 1.0 );

}