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