precision highp float;
uniform vec2 resolution;
uniform vec2 mouse;
uniform float time;
out vec4 o;
vec2 p4g(vec2 uv){
vec2 id = floor(uv);
uv = fract(uv);
if((int(floor(id.y))&1)==0){uv.x=1.-uv.x;}
if((int(floor(id.x))&1)==0){uv.y=1.-uv.y;}
if(uv.x<uv.y)uv=uv.yx;
return uv;
}
void main(){
vec2 uv = (gl_FragCoord.xy * 2. - resolution) /
min(resolution.x, resolution.y) * 2.;
uv = p4g(uv);
vec3 a=vec3(0,.85,.5),b=vec3(.9,0,.6),c=vec3(.95,.85,0);
o.rgb+=mix(mix(a,b,uv.x),c,uv.y*1.4);
}
vec2 p4g(vec2 uv){
vec2 id = floor(uv);
uv = fract(uv);
if((int(floor(id.y))&1)==0){uv.x=1.-uv.x;}
if((int(floor(id.x))&1)==0){uv.y=1.-uv.y;}
if(uv.x<uv.y)uv=uv.yx;
return uv;
}