void main() { vec2 uv = uv0; // temp[1] vec4 final_color = vec4(0, 0, 0, 1); for (float i = 0.0; i < 4.0; i++) { uv = uv * vec2(1.5, 1.5); // 60 uv = fract(uv); uv = uv - vec2(0.5, 0.5); // 48 float l = length_(uv0); float d = i * 0.4 + l; // const[0].a d = time * 0.4 + d; // const[0].a vec3 col = palette(d); d = exp2(-l); l = length_(uv); d = l * d; d = d * 8.0 + time; // 80 d = 0.125 * sin_(d); // omod d = 1.0 / abs(d); d = 0.01 * d; // const[0].b d = pow_(d, 1.2); // const[0].g final_color.xyz = col * vec3(d, d, d) + final_color.xyz; } gl_FragColor = final_color; }