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