Piece created with code in Hydra. Hydra is a toolkit for live coding of network visuals created by Olivia Jack (ojack.xyz)
/*
Portals
by Daniel Oropeza
Tw: @ferdoropeza
*/
setFunction({
name: 'danGlsl',
type: 'src',
inputs: [],
glsl: `
float s,t;vec4 e,d,p;e.z=-time;vec4 k=vec4(1000.0);d=(2.*vec4(_st.x*1000.0,(1.0-_st.y)*1000.0,1.0,1.0)-k)/k;for(int i=0;i<20;i++){p=e+d*s;s+=t=min(2.+p.y,length(mod(p.xz,2.)-1.)-.3);};e+=.1;{p=e+d*s;s+=t=min(2.+p.y,length(mod(p.xz,2.)-1.)-.3);};return vec4((.2*d+s*.1).xyz+t,1.0);
`
})
solid()
.layer(danGlsl().thresh([0,0.7].smooth()).mult(src(s0).thresh([0.3,1].smooth()).invert())
.mult(o0).color(2,-1).hue(0.9)
.contrast(2.01).saturate(1.01).luma(0.25,0.01)
.pixelate(1000,990)
.scrollY(-0.0005,-0.000007)
.scale([1.005,1.001].fast(0.25))
.modulateHue(src(o0).scale(1.01), 1)
.blend(gradient().luma()
.mask(o0)
.pixelate(150, 150)
))
.colorama([0, 0.5].smooth()
.fast(1 / 10))
.hue()
.mult(danGlsl().luma().luma().brightness(0.5),-1)
.out()
setResolution(1080,1080);