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