precision highp float;
uniform vec2 resolution;
uniform vec2 mouse;
uniform float time;
out vec4 o;
vec2 p4(vec2 uv){
vec2 id=floor(uv);
uv=fract(uv);
if(mod(floor(id.y),2.)==0.)uv.y=1.-uv.y;
if(mod(floor(id.x),2.)==0.)uv.x=1.-uv.x;
if(mod(id.x+id.y,2.)==0.)uv=uv.yx;
return uv;
}
void main(){
vec2 uv = (gl_FragCoord.xy * 2. - resolution) /
min(resolution.x, resolution.y) * 3.;
uv = p4(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 p4(vec2 uv){
vec2 id=floor(uv);
uv=fract(uv);
if(mod(floor(id.y),2.)==0.)uv.y=1.-uv.y;
if(mod(floor(id.x),2.)==0.)uv.x=1.-uv.x;
if(mod(id.x+id.y,2.)==0.)uv=uv.yx;
return uv;
}