vec3 p;
for(float i,z,f;i++<3e1;z+=f=.003+abs(length(p.xy)-5.+dot(cos(p),sin(p).yzx))/8.,o+=(1.+sin(i*.3+z+t+vec4(6,1,2,0)))/f)
for(p=z*normalize(FC.rgb*2.-r.xyy),p.z-=t,f=1.;f++<6.;p+=sin(round(p.yxz*PI2)/PI*f)/f);
o=tanh(o/1e3);
vec2 p=(FC.xy*2.-r)/r.y;
float d=.9-dot(p,p);
o=tanh(.3/abs(tan(p.y*sqrt(max(d,-d*.1)/.3)+p.x+t+vec4(6,0,9,0))));
vec2 p=(FC.xy*2.-r)/r.y;
float d=.9-dot(p,p);
o=tanh(.3/abs(tan(p.y*sqrt(max(d,-d*.1)/.3)+p.x+t+vec4(6,0,9,0))));
There's a guide on how to get started here: github.com/reddit/devvi...
Good luck, everyone!
There's a guide on how to get started here: github.com/reddit/devvi...
Good luck, everyone!
vec2 p=(FC.xy*2.-r)/r.y/.3;for(float f;f++<1e2;p+=.02*sin(p.yx+.5*t))o+=(cos(f/27.+vec4(0,1,3,0))+1.1)/length(sin(p*sin(r+f)/.7));o=tanh(o*o/4e4);
vec2 p=(FC.xy*2.-r)/r.y/.3;for(float f;f++<1e2;p+=.02*sin(p.yx+.5*t))o+=(cos(f/27.+vec4(0,1,3,0))+1.1)/length(sin(p*sin(r+f)/.7));o=tanh(o*o/4e4);
for(float i,z,d;i++<55.;o+=vec4(9,4,2,1)/d){vec3 p=z*normalize(FC.rgb*2.-r.xyy);for(d=0.;d++<9.;p+=sin(ceil(p/9.).zxy+t));z+=d=.1*abs(p.z+40.);}o=tanh(o/6e3);
for(float i,z,d;i++<55.;o+=vec4(9,4,2,1)/d){vec3 p=z*normalize(FC.rgb*2.-r.xyy);for(d=0.;d++<9.;p+=sin(ceil(p/9.).zxy+t));z+=d=.1*abs(p.z+40.);}o=tanh(o/6e3);
for(float i,z,d;i++<77.;o+=vec4(z,z,9,1)/d){vec3 p=z*normalize(FC.rgb*2.-r.xyy);p.xy+=t;
for(d=0.;d++<9.;p+=sin(round(p)+d*3.).zxy);
z+=d=abs(p.z/30.+.2);}o=tanh(o/8e4);
for(float i,z,d;i++<77.;o+=vec4(z,z,9,1)/d){vec3 p=z*normalize(FC.rgb*2.-r.xyy);p.xy+=t;
for(d=0.;d++<9.;p+=sin(round(p)+d*3.).zxy);
z+=d=abs(p.z/30.+.2);}o=tanh(o/8e4);
void mainImage(out vec4 o,in vec2 u){u*=0.1;for(float i=1.;i<32.;i*=2.)u.yx+=i*sin(u.xy*0.2/i+iTime)-5.;u.y=mod(u.y,10.);o=vec4((((u.y>5.)?0:(u.y>4.)?898651:(u.y>3.)?829147:(u.y>2.)?571082:(u.y>1.)?832731:0)>>int(u.x+31.))&1);}
www.shadertoy.com/view/WcVfWG
void mainImage(out vec4 o,in vec2 u){u*=0.1;for(float i=1.;i<32.;i*=2.)u.yx+=i*sin(u.xy*0.2/i+iTime)-5.;u.y=mod(u.y,10.);o=vec4((((u.y>5.)?0:(u.y>4.)?898651:(u.y>3.)?829147:(u.y>2.)?571082:(u.y>1.)?832731:0)>>int(u.x+31.))&1);}
www.shadertoy.com/view/WcVfWG
Please leave feedback or ideas on what to add! 🙇♂️
kenney.nl/assets/devel...
Please leave feedback or ideas on what to add! 🙇♂️
kenney.nl/assets/devel...
vec2 p=(2.*FC.xy-r)/r.y+.02/fract(dot(FC,sin(FC.yxyx)));
o=tanh((p.xyyx+p.xxyx+1.)*.01/abs(max(abs(p.x),abs(p.y))-.5));
vec2 p=(2.*FC.xy-r)/r.y+.02/fract(dot(FC,sin(FC.yxyx)));
o=tanh((p.xyyx+p.xxyx+1.)*.01/abs(max(abs(p.x),abs(p.y))-.5));
vec2 u=(r-2.*FC.xy)/r.y,c=ceil((u*1e2+sin(u*3e2-t))/(.1+length(u))),p=u+.01*tan(dot(c,sin(c.yx)));o=tanh(tanh(vec4(p-.3,p))*.1/(abs(length(p)-.6)));
vec2 u=(r-2.*FC.xy)/r.y,c=ceil((u*1e2+sin(u*3e2-t))/(.1+length(u))),p=u+.01*tan(dot(c,sin(c.yx)));o=tanh(tanh(vec4(p-.3,p))*.1/(abs(length(p)-.6)));
(credits to @xordev.com for the video)
(credits to @xordev.com for the video)
vec2 p=FC.xy*6./r.y;
for(float i;i++<1e1;i)
p+=sin(p.yx*i+i*i+t*i+r)/i;
o=tanh(.2/tan(p.y+vec4(0,.1,.3,0)));
o*=o;
vec2 p=FC.xy*6./r.y;
for(float i;i++<1e1;i)
p+=sin(p.yx*i+i*i+t*i+r)/i;
o=tanh(.2/tan(p.y+vec4(0,.1,.3,0)));
o*=o;
for(float i,z,d;i++<6e1;o+=vec4(z,9,1,1)/d/d){vec3 p=round(z*normalize(FC.rgb*2.-r.xyy)/.1)*.1;p.z-=9.;
for(d=0.;d++<9.;p+=.2*sin(p*d-t+z).yzx);z+=d=length(cos(p)-1.)/20.;}
o=tanh(o/3e5);
for(float i,z,d;i++<6e1;o+=vec4(z,9,1,1)/d/d){vec3 p=round(z*normalize(FC.rgb*2.-r.xyy)/.1)*.1;p.z-=9.;
for(d=0.;d++<9.;p+=.2*sin(p*d-t+z).yzx);z+=d=length(cos(p)-1.)/20.;}
o=tanh(o/3e5);
for(float i,z,d;i++<6e1;o+=vec4(19,z,1,1)/d/d){vec3 p=z*normalize(FC.rgb*2.-r.xyy);p.z-=t;p=round(p/.1)*.1;
for(d=0.;d++<9.;p+=.2*cos(p*d+z).zzx);z+=d=abs(abs(p.y)-3.)/20.;}
o=tanh(o/7e5);
for(float i,z,d;i++<6e1;o+=vec4(19,z,1,1)/d/d){vec3 p=z*normalize(FC.rgb*2.-r.xyy);p.z-=t;p=round(p/.1)*.1;
for(d=0.;d++<9.;p+=.2*cos(p*d+z).zzx);z+=d=abs(abs(p.y)-3.)/20.;}
o=tanh(o/7e5);
youtu.be/UULQyRKc6sM?...
youtu.be/UULQyRKc6sM?...
Distances are reconstructed via trilinear interpolation of cached values on a grid.
This is the equivalent of what was shown in my earlier 2D animations (see below!)
Distances are reconstructed via trilinear interpolation of cached values on a grid.
This is the equivalent of what was shown in my earlier 2D animations (see below!)
for(float i,z,d;z+i++<7e1;o+=vec4(z,1,9,1)/d)
{vec3 p=abs(z*normalize(FC.rgb*2.-r.xyy));p.z+=t*5.;p+=sin(p+p);for(d=0.;d++<9.;p+=.4*cos(round(.2*d*p)+.2*t).zxy);z+=d=.1*sqrt(length(p.xyy*p.yxy));}
o=tanh(o/7e3);
for(float i,z,d;z+i++<7e1;o+=vec4(z,1,9,1)/d)
{vec3 p=abs(z*normalize(FC.rgb*2.-r.xyy));p.z+=t*5.;p+=sin(p+p);for(d=0.;d++<9.;p+=.4*cos(round(.2*d*p)+.2*t).zxy);z+=d=.1*sqrt(length(p.xyy*p.yxy));}
o=tanh(o/7e3);