Yohei Nishitsuji's banner
Yohei Nishitsuji's profile picture

Yohei Nishitsuji

@YoheiNishitsuji • 18,974 subscribers

(an alien👾) GLSL artist/ PhD @tudelft/ Simulation Theory/ Grand Award @ADAAman2020/ JACK James Award @ArtOlympia/ My code shared @x is MIT Licensed (🦠西辻󠄀 陽平)

Shorts

#つぶやきGLSL float i,g,e,R;vec3 p;for(;++i<99.;){p=vec3((FC.xy*2.-r)/r.y*2.,g-2.)*rotate3D(t*.5+1.,vec3(0,1,0));R=.9;for(int j;j++<12;)p.xy-=min(p.x+p.y,0.),p.xz-=min(p.x+p.z,0.),p.yz-=min(p.y+p.z,0.),p=p*2.-1.,R*=2.;g+=e=.5*length(p)/R-5e-4;if(e<.0005)break;}o+=exp(-i*.04)*2.;

#つぶやきGLSL float i,g,e,R;vec3 p;for(;++i<99.;){p=vec3((FC.xy*2.-r)/r.y*2.,g-2.)*rotate3D(t*.5+1.,vec3(0,1,0));R=.9;for(int j;j++<12;)p.xy-=min(p.x+p.y,0.),p.xz-=min(p.x+p.z,0.),p.yz-=min(p.y+p.z,0.),p=p*2.-1.,R*=2.;g+=e=.5*length(p)/R-5e-4;if(e<.0005)break;}o+=exp(-i*.04)*2.;

50,476 views

float i,e,R,s;vec3 q,p,d=vec3(FC.xy/r*.6-vec2(.3,-.6),.5);for(q.zy--;i++<97.;){o.rgb+=hsv(.1,e,min(e*s,1.)/95.);s=5.;p=q+=d*e*R*.4;p=vec3(log(R=length(p))-t*.5,exp(-p.z/R)+sin(t)*.07+.2,atan(p.y,p.x));for(e=--p.y;s<1e3;s+=s)e+=dot(sin(p.zxx*s),.4-cos(p.yyz*s))/s*.3;}#つぶやきGLSL

float i,e,R,s;vec3 q,p,d=vec3(FC.xy/r*.6-vec2(.3,-.6),.5);for(q.zy--;i++<97.;){o.rgb+=hsv(.1,e,min(e*s,1.)/95.);s=5.;p=q+=d*e*R*.4;p=vec3(log(R=length(p))-t*.5,exp(-p.z/R)+sin(t)*.07+.2,atan(p.y,p.x));for(e=--p.y;s<1e3;s+=s)e+=dot(sin(p.zxx*s),.4-cos(p.yyz*s))/s*.3;}#つぶやきGLSL

196,904 views

#つぶやきGLSL float i,e,R,s;vec3 q,p,d=vec3(FC.xy/r-vec2(.5,-.3),1);for(q.zy--;i++<99.;){o.rgb+=hsv(.1,.2,min(e*s,.65-e)/45.);s=1.;p=q+=d*e*R*.3;p=vec3(log2(R=length(p))-t*.8,exp2(-p.z/R+.9),atan(p.y,p.x)-t*.4);for(e=--p.y;s<3e2;s+=s)e+=(dot(sin(p.xy*s)-.5,.5-sin(p.zy*s)))/s*.3;}

#つぶやきGLSL float i,e,R,s;vec3 q,p,d=vec3(FC.xy/r-vec2(.5,-.3),1);for(q.zy--;i++<99.;){o.rgb+=hsv(.1,.2,min(e*s,.65-e)/45.);s=1.;p=q+=d*e*R*.3;p=vec3(log2(R=length(p))-t*.8,exp2(-p.z/R+.9),atan(p.y,p.x)-t*.4);for(e=--p.y;s<3e2;s+=s)e+=(dot(sin(p.xy*s)-.5,.5-sin(p.zy*s)))/s*.3;}

455,442 views

The Sierpinski tetrahedron — one of the best-known fractals — is now available 🔗

The Sierpinski tetrahedron — one of the best-known fractals — is now available 🔗

34,774 views

for(float i=0.,z=0.,d=0.,s=0.;i+++z<1e2;){vec3 q=z*normalize(vec3(FC.xy*2.-r,r.y));q.z+=t*4.;q.xy*=rotate2D(q.z*.1);for(s=1.;s<32.;s/=.5)q+=(abs(cos(q.yzx*s))-.68)/s;z+=d=.005+abs((length(q.yx)-6.)*q.x)/8.;o.rgb+=hsv(.3+sin(q.x)*.2,.5,.2)*exp(-z*.1)/d;}o=tanh(o/2e2);#つぶやきGLSL

for(float i=0.,z=0.,d=0.,s=0.;i+++z<1e2;){vec3 q=z*normalize(vec3(FC.xy*2.-r,r.y));q.z+=t*4.;q.xy*=rotate2D(q.z*.1);for(s=1.;s<32.;s/=.5)q+=(abs(cos(q.yzx*s))-.68)/s;z+=d=.005+abs((length(q.yx)-6.)*q.x)/8.;o.rgb+=hsv(.3+sin(q.x)*.2,.5,.2)*exp(-z*.1)/d;}o=tanh(o/2e2);#つぶやきGLSL

42,345 views

#つぶやきGLSL for(float i,g,e,s;++i<18.;){vec3 p=vec3((FC.xy*2.-r)/r.y*(9.+cos(t*.5)*3.),g+.2)*rotate3D(t*.5,vec3(-4,sin(t)+7.,0));s=1.;for(int i;i++<9;p=vec3(1.5,4,3)-abs(abs(p)*e-vec3(1,1.2,3)))s*=e=max(.95,9./dot(p,p));g+=mod(length(p.yy),p.y)/s*.5;o.rgb+=hsv(.59,.4-g,s/4e3);}

#つぶやきGLSL for(float i,g,e,s;++i<18.;){vec3 p=vec3((FC.xy*2.-r)/r.y*(9.+cos(t*.5)*3.),g+.2)*rotate3D(t*.5,vec3(-4,sin(t)+7.,0));s=1.;for(int i;i++<9;p=vec3(1.5,4,3)-abs(abs(p)*e-vec3(1,1.2,3)))s*=e=max(.95,9./dot(p,p));g+=mod(length(p.yy),p.y)/s*.5;o.rgb+=hsv(.59,.4-g,s/4e3);}

130,431 views

#つぶやきGLSL for(float i,e,g;i++<1e2;){vec3 p=vec3((FC.xy-r*.5)/r.y*g,g-3.+sin(t*.5));p.zy*=rotate2D(t*.5);for(int j;j++<6;)p*=rotate3D(t+.5,vec3(5,2.*smoothstep(-8.,8.,0.),4)),p=abs(p+p)-1.;g+=e=(length(p.yzx)*5.-6.)/9e2;o+=exp(-e*1e6)/7e1;}

#つぶやきGLSL for(float i,e,g;i++<1e2;){vec3 p=vec3((FC.xy-r*.5)/r.y*g,g-3.+sin(t*.5));p.zy*=rotate2D(t*.5);for(int j;j++<6;)p*=rotate3D(t+.5,vec3(5,2.*smoothstep(-8.,8.,0.),4)),p=abs(p+p)-1.;g+=e=(length(p.yzx)*5.-6.)/9e2;o+=exp(-e*1e6)/7e1;}

46,292 views

#つぶやきGLSL float i,e,R,s;vec3 q,p,d=vec3((FC.xy-.5*r)/r.y,.6);for(q.z--;i++<97.;i>86.){o.rgb+=hsv(.08,-e,e/5e1)+.003;p=q+=d*max(e,.02)*R*.2;p=vec3(log2(R=length(p))-t*.5,e=asin(-p.z/R-.001)-1.5,atan(p.x,p.y))-1.;for(s=1.;s<8e2;s+=s)e+=abs(dot(sin(p.zyx*s),cos(p.yxz*s)))/s*.8;}

#つぶやきGLSL float i,e,R,s;vec3 q,p,d=vec3((FC.xy-.5*r)/r.y,.6);for(q.z--;i++<97.;i>86.){o.rgb+=hsv(.08,-e,e/5e1)+.003;p=q+=d*max(e,.02)*R*.2;p=vec3(log2(R=length(p))-t*.5,e=asin(-p.z/R-.001)-1.5,atan(p.x,p.y))-1.;for(s=1.;s<8e2;s+=s)e+=abs(dot(sin(p.zyx*s),cos(p.yxz*s)))/s*.8;}

64,908 views

float i,e,R,s;vec3 q,p,d=vec3((FC.xy-.5*r)/r.y+vec2(0,.8),1);for(q.zy--;i++<99.;){o.rgb+=hsv(e*.5,-.5,e/9.);s=1.;p=q+=d*e*R*.5;p=vec3(log2(R=length(p))-t*.5,exp2(-p.z/R-.13),atan(p.y+.02,p.x)*s);for(e=--p.y;s<1e3;s+=s)e+=dot(sin(p.zzy*s)-1.,.5-sin(p.zyx*s))/s*.1;}

float i,e,R,s;vec3 q,p,d=vec3((FC.xy-.5*r)/r.y+vec2(0,.8),1);for(q.zy--;i++<99.;){o.rgb+=hsv(e*.5,-.5,e/9.);s=1.;p=q+=d*e*R*.5;p=vec3(log2(R=length(p))-t*.5,exp2(-p.z/R-.13),atan(p.y+.02,p.x)*s);for(e=--p.y;s<1e3;s+=s)e+=dot(sin(p.zzy*s)-1.,.5-sin(p.zyx*s))/s*.1;}

12,738 views

float i,e,g,R,s;vec3 q,p,d=vec3((FC.xy*2.-r)/r.x*.3+vec2(0,1),1);for(q.zy--;i++<99.;){e+=i/9e9;o.rgb+=hsv(.1,q.y,min(e*i,.01));s=3.;p=q+=d*e*R*.25;g+=p.y/s;p=vec3(log2(R=length(p))+t*.2,exp2(mod(-p.z,s)/R)-.3,p);for(e=--p.y;s<6e3;s+=s)e+=-abs(dot(sin(p.xz*s),cos(p.zy*s))/s*.4);}

float i,e,g,R,s;vec3 q,p,d=vec3((FC.xy*2.-r)/r.x*.3+vec2(0,1),1);for(q.zy--;i++<99.;){e+=i/9e9;o.rgb+=hsv(.1,q.y,min(e*i,.01));s=3.;p=q+=d*e*R*.25;g+=p.y/s;p=vec3(log2(R=length(p))+t*.2,exp2(mod(-p.z,s)/R)-.3,p);for(e=--p.y;s<6e3;s+=s)e+=-abs(dot(sin(p.xz*s),cos(p.zy*s))/s*.4);}

107,009 views

#つぶやきGLSL for(float i,g,e,s;++i<65.;){vec3 p=vec3((FC.xy-.5*r)/r.x*.5+vec2(0,1.3),g-1.);p.zx*=rotate2D(t*.5+1.);s=1.8;for(int i;i++<18;p=vec3(0,4,.7)-abs(abs(p)*e-vec3(2.3,3.98+e*.12,4)))s*=e=5.4/dot(p,p*.5);g+=p.y/s;s=log2(s)+g*g;o.rgb+=.016-hsv(.25/p.y,p.z*.1,s/1e3);}

#つぶやきGLSL for(float i,g,e,s;++i<65.;){vec3 p=vec3((FC.xy-.5*r)/r.x*.5+vec2(0,1.3),g-1.);p.zx*=rotate2D(t*.5+1.);s=1.8;for(int i;i++<18;p=vec3(0,4,.7)-abs(abs(p)*e-vec3(2.3,3.98+e*.12,4)))s*=e=5.4/dot(p,p*.5);g+=p.y/s;s=log2(s)+g*g;o.rgb+=.016-hsv(.25/p.y,p.z*.1,s/1e3);}

48,405 views

how this tiny code works 🔗

how this tiny code works 🔗

19,264 views

#つぶやきGLSL float i,e,R,s;vec3 q,p,d=vec3(FC.xy/r-vec2(.5,-.6),.4);for(q.yz--;i++<119.;){o.rgb+=hsv(.6-e,.3,min(e*s,.4-e)/25.);s=2.;p=q+=d*e*R*.3;p=vec3(log(R=length(p))-t*.5,exp(-p.z/R+.5),atan(p.x,p.y));for(e=--p.y;s<2e3;s+=s)e+=-abs(dot(cos(p.zxy*s),.2-sin(p*s)))/s*.4;}

#つぶやきGLSL float i,e,R,s;vec3 q,p,d=vec3(FC.xy/r-vec2(.5,-.6),.4);for(q.yz--;i++<119.;){o.rgb+=hsv(.6-e,.3,min(e*s,.4-e)/25.);s=2.;p=q+=d*e*R*.3;p=vec3(log(R=length(p))-t*.5,exp(-p.z/R+.5),atan(p.x,p.y));for(e=--p.y;s<2e3;s+=s)e+=-abs(dot(cos(p.zxy*s),.2-sin(p*s)))/s*.4;}

105,411 views

#つぶやきGLSL for(float i,g,e,s;++i<79.;){vec3 p=vec3((FC.xy-.5*r)/r.y*2.+vec2(0,1),g-.5);p.zx*=rotate2D(t*.5);s=1.;for(int i;i++<16;p=vec3(2,5,3)-abs(abs(p)*e-vec3(3,1.4,4.5)))s*=e=max(1.005,8./dot(p,p));g+=mod(length(p.xz),p.y)/s;s=log(s)/g;o.rgb+=hsv(.4*p.y,1.-p.y,s/2e4);}

#つぶやきGLSL for(float i,g,e,s;++i<79.;){vec3 p=vec3((FC.xy-.5*r)/r.y*2.+vec2(0,1),g-.5);p.zx*=rotate2D(t*.5);s=1.;for(int i;i++<16;p=vec3(2,5,3)-abs(abs(p)*e-vec3(3,1.4,4.5)))s*=e=max(1.005,8./dot(p,p));g+=mod(length(p.xz),p.y)/s;s=log(s)/g;o.rgb+=hsv(.4*p.y,1.-p.y,s/2e4);}

35,210 views

#つぶやきGLSL for(float i,e,g;i++<1e2;){vec3 p=vec3((FC.xy-r*.5)/r.y*g,g-3.5);p.zy*=rotate2D(t*.5);for(int j;j++<6;)p*=rotate3D(1.57,vec3(0,2.*smoothstep(-1.,1.,cos(t))-1.,1)),p=abs(p+p)-1.;g+=e=(length(p.xx+p.yz*6.)-1.5)/9e2;o+=exp(-e*1e6)/7e1;}

#つぶやきGLSL for(float i,e,g;i++<1e2;){vec3 p=vec3((FC.xy-r*.5)/r.y*g,g-3.5);p.zy*=rotate2D(t*.5);for(int j;j++<6;)p*=rotate3D(1.57,vec3(0,2.*smoothstep(-1.,1.,cos(t))-1.,1)),p=abs(p+p)-1.;g+=e=(length(p.xx+p.yz*6.)-1.5)/9e2;o+=exp(-e*1e6)/7e1;}

83,641 views

#つぶやきGLSL for(float i,g,e,s;++i<99.;o.rgb+=hsv(.09,.5,i*s/2e4)){vec3 p=vec3((FC.xy-.5*r)/r.x*.3,g-.05*sin(t));p.zx*=rotate2D(t*.5);s=1.5;for(int i;i++<9;p=vec3(2)-abs(p*e-.4/e)-sin(t)*.1)s*=e=max(1.07,4.5/dot(p*(3.-sin(t*.5)*.4),p*2.));g+=distance(p.xz,p.yx)/s;s=log(s)/g*.1;}

#つぶやきGLSL for(float i,g,e,s;++i<99.;o.rgb+=hsv(.09,.5,i*s/2e4)){vec3 p=vec3((FC.xy-.5*r)/r.x*.3,g-.05*sin(t));p.zx*=rotate2D(t*.5);s=1.5;for(int i;i++<9;p=vec3(2)-abs(p*e-.4/e)-sin(t)*.1)s*=e=max(1.07,4.5/dot(p*(3.-sin(t*.5)*.4),p*2.));g+=distance(p.xz,p.yx)/s;s=log(s)/g*.1;}

18,575 views

The "microbe" is now uploaded at LINK🔗

The "microbe" is now uploaded at LINK🔗

20,453 views

#つぶやきGLSL for(float i,e,g;i++<9e1;){vec3 p=vec3((FC.xy-r*.5)/r.y*g,g-5.);for(int j;j++<8;)p*=rotate3D(4.,vec3(sin(t*.5)*.3,2.*smoothstep(-1.,1.,cos(t*.5))-1.,1)),p=abs(p+p)-1.;g+=e=(length(p.xz)-1.6)/7e2;o+=(sin(g)+1.9)*exp(-e*2e4)/1e2;}

#つぶやきGLSL for(float i,e,g;i++<9e1;){vec3 p=vec3((FC.xy-r*.5)/r.y*g,g-5.);for(int j;j++<8;)p*=rotate3D(4.,vec3(sin(t*.5)*.3,2.*smoothstep(-1.,1.,cos(t*.5))-1.,1)),p=abs(p+p)-1.;g+=e=(length(p.xz)-1.6)/7e2;o+=(sin(g)+1.9)*exp(-e*2e4)/1e2;}

23,995 views

#つぶやきGLSL for(float i,g,e,s;++i<99.;o.rgb+=hsv(s/99.,.8*g,e/8e2)){vec3 p=vec3((FC.xy-.5*r)/r.y*.8+vec2(0,.45),g-2.+cos(t*.6));p.xz*=rotate2D(t*.3);s=11.;for(int i;i++<9;p=vec3(1.5,4,2.5)-abs(abs(p)*e-vec3(6,4,3)))s*=e=6.2/dot(p,p);g+=9e-4+p.y/s;s=log(s);}

#つぶやきGLSL for(float i,g,e,s;++i<99.;o.rgb+=hsv(s/99.,.8*g,e/8e2)){vec3 p=vec3((FC.xy-.5*r)/r.y*.8+vec2(0,.45),g-2.+cos(t*.6));p.xz*=rotate2D(t*.3);s=11.;for(int i;i++<9;p=vec3(1.5,4,2.5)-abs(abs(p)*e-vec3(6,4,3)))s*=e=6.2/dot(p,p);g+=9e-4+p.y/s;s=log(s);}

56,887 views

Videos