1// Source: @notargs https://twitter.com/notargs/status/1250468645030858753 2uniform float3 iResolution; 3uniform float iTime; 4 5float f(vec3 p) { 6 p.z -= iTime * 10.; 7 float a = p.z * .1; 8 p.xy *= mat2(cos(a), sin(a), -sin(a), cos(a)); 9 return .1 - length(cos(p.xy) + sin(p.yz)); 10} 11 12half4 main(vec2 fragcoord) { 13 vec3 d = .5 - fragcoord.xy1 / iResolution.y; 14 vec3 p=vec3(0); 15 for (int i = 0; i < 32; i++) { 16 p += f(p) * d; 17 } 18 return ((sin(p) + vec3(2, 5, 9)) / length(p)).xyz1; 19} 20