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 Randomization

edit

breaking of the sense Distorted Reflections

edit

Iris Dynamic Highlights

edit

breaking of the sense Kaleidoscopic Patterns

edit

Dynamic Shifts

edit

eclipse Celestial glow

edit

black hole Event Horizon

edit

breaking of the sense AnisotropicLighting

edit

click to explore, then edit