translate the following shader to our format: /*originals "Voyager" by @kishimisu (2024) - https://www.shadertoy.com/view/M33XDH and https://www.shadertoy.com/view/XX3Szr*/ #define N_BOXES 10. #define ROTATION 1 #define DEPTH 5. mat2 rot(float a) { float s = sin(a); float c = cos(a); return mat2(c, -s, s, c); } float sdBox( in vec2 p, in vec2 b ) { vec2 d = abs(p)-b; return length(max(d,0.0)) + min(max(d.x,d.y),0.0); } float periphery(vec2 p, float s) { float per; float t = iTime * .1 + ((.25 + .05 * sin(iTime * .1))/(length(p.xy) + .117)) * 2.2; float si = sin(t); float co = cos(t); mat2 ma = mat2(co, si, -si, co); for (float i=1.; i<N_BOXES+1.; i++) { vec2 p0 = p; float a = radians(20./N_BOXES) *i; float mean = (N_BOXES+DEPTH*i)*.4; float box = sdBox(p0, vec2(s)*ma); float gamma = mean * 1e-4*.7; box = gamma/abs(box); per += box; } return per; } void mainImage( out vec4 fragColor, in vec2 fragCoord ) { vec3 tc, c; vec2 p = (fragCoord -.5* iResolution.xy) / iResolution.y; vec3 p2, q, f = vec3(.2, 2,.2); vec4 O = fragColor; vec2 F= fragCoord; vec2 R = iResolution.xy, u = abs(F+F-R)/R.y; float i, t, d, n, T = -iTime; for (O *= i; i++ < 50.; p2 = q = t * normalize(vec3(u * mat2(cos(T/16. + vec4(0,33,11,0))), 1)) ) n = tan(p2.z*0.5 - T*.05) * .5 + .5, p2.y += 1. + q.z * sin(T/6.) * .2 - n, t += d = length(p2= mod(p2, f+f) - f) - .1, O += .27 * pow(n, 5.) / ++d * (1. + cos( length(q*1.7) * .2 + length(u) * 3. - T / 1.4 )); float td; for (float i=0.; i<DEPTH; i+=.45) { float size = pow(0.25*O.y, i); float per = periphery(p, size); td += per; } c = vec3(DEPTH*0.2); tc += c*td*vec3(0.5,0.5,0.5); fragColor = vec4(tc, 1.); } Enhanced Depth

edit

mindless repeating Color Cycling

edit

Dynamic Light

edit

color Heat Map

edit

color Dynamic Shifting

edit

eclipse Ring glow

edit

color Nebula Palette

edit

breaking of the sense Distorted Reflections

edit

fractal Fractal noise

edit

click to explore, then edit