xxxxxxxxxx
25
precision mediump float;
uniform float u_t; // time
uniform vec2 u_r; // resolution
void main(void){
vec2 p = (gl_FragCoord.xy -u_r*2.0) / min(u_r.x, u_r.y);
vec3 destColor = vec3(0.0);
for(float i=0.0; i < 10.0; i++) {
for(float k=0.0; k < 5.0; k++) {
float j = i+1.0;
float l = k+1.0;
vec2 q = p + vec2(cos(j*u_t+l), sin(l*u_t+j)) * 0.5 + vec2(i,k)*0.75;
destColor.x += j* 0.001 / length(q) + j*0.001/(1.0-length(q));
destColor.y += k*0.001 / length(q)+ k*0.001/(1.0-length(q));
destColor.z += 0.005 / length(q);
}
}
gl_FragColor = vec4(destColor,1.0);
}