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.); } GlowEffect

edit

edit

Euphoric Glows

edit

Marble Veins

edit

Geometric Pattern

edit

Organic Noise

edit

Melancholic Palette

edit

Cool Pastels

edit

Hockey logos Grunge texture

edit

click to explore, then edit