0xf429690d…aeacsent to0xa7d8d9ef…d270·#15,463,211·view on Etherscan
let fD="#version 300 es\nprecision highp int;\nprecision highp float;\n#define EPS .0006\n#define ASR (3./2.)\n#define SCL 2400.\n#define PI 3.14159265359\n#define FL float\n#define V2 vec2\n#define V3 vec3\n#define V4 vec4\n#define IN int\n#define S2D sampler2D\n#define UNI uniform\n#define CL01(T) CL(T,0.,1.)\n#define VD void\n#define M3 mat3\n#define M2 mat2\n#define PW pow\n#define AB abs\n#define DT dot\n#define NM normalize\n#define LN length\n#define MN min\n#define MA max\n#define CL clamp\n#define RT return\n#define MX mix\n#define TX texture\n",fU="UNI V2 uRS;UNI FL uT;UNI FL uR[9];UNI V3 uP;UNI V3 uM[4];UNI V3 uC[3];UNI V4 uW;UNI V3 uL;UNI FL uY;UNI FL uZ;UNI V3 uD;UNI V3 uX;UNI FL uS;UNI FL uB;UNI FL uN;UNI FL uO;UNI S2D uT0;UNI S2D uT1;",fI="FL sm3(V3 c){RT c.x+c.y+c.z;}FL lm(V3 c){RT .21*c.r+.71*c.g+.07*c.b;}FL mpd(FL n,FL a,FL b,FL c,FL d){RT((n-a)/(b-a))*(d-c)+c;}",fA="V3 G(V3 c,FL g){RT PW(c,V3(1./g));}V3 R(V3 c,FL l,FL h){RT MN(MA(c-V3(l),V3(0.))/(V3(h)-V3(l)),V3(1.));}V3 lvl(V3 c,FL l,FL g,FL h){RT G(R(c,l,h),g);}FL ovr(FL a,FL b){RT a<.5?(2.*a*b):(1.-2.*(1.-a)*(1.-b));}V3 ovr(V3 a,V3 b){RT V3(ovr(a.r,b.r),ovr(a.g,b.g),ovr(a.b,b.b));}V3 ovr(V3 a,V3 b,FL o){RT(ovr(a,b)*o+a*(1.-o));}FL ddg(FL a,FL b){RT(b==1.)?b:MN(a/(1.-b),1.);}V3 ddg(V3 a,V3 b){RT V3(ddg(a.r,b.r),ddg(a.g,b.g),ddg(a.b,b.b));}V3 ddg(V3 a,V3 b,FL o){RT(ddg(a,b)*o+a*(1.-o));}",fN="V3 m289(V3 x){RT x-floor(x*(1./289.))*289.;}V4 m289(V4 x){RT x-floor(x*(1./289.))*289.;}V4 pr(V4 x){RT m289(((x*34.)+1.)*x);}V4 ty(V4 r){RT 1.79284291400159-0.85373472095314*r;}V3 fd(V3 t){RT t*t*t*(t*(t*6.-15.)+10.);}FL nse(V3 P){V3 i0=m289(floor(P)),i1=m289(i0+V3(1.));V3 f0=fract(P),f1=f0-V3(1.),f=fd(f0);V4 ix=V4(i0.x,i1.x,i0.x,i1.x),iy=V4(i0.yy,i1.yy);V4 iz0=i0.zzzz,iz1=i1.zzzz;V4 ixy=pr(pr(ix)+iy),ixy0=pr(ixy+iz0),ixy1=pr(ixy+iz1);V4 gx0=ixy0*(1./7.),gy0=fract(floor(gx0)*(1./7.))-.5;V4 gx1=ixy1*(1./7.),gy1=fract(floor(gx1)*(1./7.))-.5;gx0=fract(gx0);gx1=fract(gx1);V4 gz0=V4(.5)-AB(gx0)-AB(gy0),sz0=step(gz0,V4(0.));V4 gz1=V4(.5)-AB(gx1)-AB(gy1),sz1=step(gz1,V4(0.));gx0-=sz0*(step(0.,gx0)-.5);gy0-=sz0*(step(0.,gy0)-.5);gx1-=sz1*(step(0.,gx1)-.5);gy1-=sz1*(step(0.,gy1)-.5);V3 g0=V3(gx0.x,gy0.x,gz0.x),g1=V3(gx0.y,gy0.y,gz0.y),g2=V3(gx0.z,gy0.z,gz0.z),g3=V3(gx0.w,gy0.w,gz0.w),g4=V3(gx1.x,gy1.x,gz1.x),g5=V3(gx1.y,gy1.y,gz1.y),g6=V3(gx1.z,gy1.z,gz1.z),g7=V3(gx1.w,gy1.w,gz1.w);V4 norm0=ty(V4(DT(g0,g0),DT(g2,g2),DT(g1,g1),DT(g3,g3)));V4 norm1=ty(V4(DT(g4,g4),DT(g6,g6),DT(g5,g5),DT(g7,g7)));g0*=norm0.x;g2*=norm0.y;g1*=norm0.z;g3*=norm0.w;g4*=norm1.x;g6*=norm1.y;g5*=norm1.z;g7*=norm1.w;V4 nz=MX(V4(DT(g0,V3(f0.x,f0.y,f0.z)),DT(g1,V3(f1.x,f0.y,f0.z)),DT(g2,V3(f0.x,f1.y,f0.z)),DT(g3,V3(f1.x,f1.y,f0.z))),V4(DT(g4,V3(f0.x,f0.y,f1.z)),DT(g5,V3(f1.x,f0.y,f1.z)),DT(g6,V3(f0.x,f1.y,f1.z)),DT(g7,V3(f1.x,f1.y,f1.z))),f.z);RT 2.2*MX(MX(nz.x,nz.z,f.y),MX(nz.y,nz.w,f.y),f.x);}",vQ="in V3 aPS;in V2 aTX;out V2 vTX;VD main(){gl_Position=V4(aPS,1.);vTX=aTX;}",fB="in V2 vTX;out V4 o0;#UTV3 B(S2D t,V2 uv,V2 xy,V2 d){V4 c=V4(0.);V2 x=V2(1.411764705882353)*d;V2 y=V2(3.2941176470588234)*d;V2 z=V2(5.176470588235294)*d;c+=TX(t,uv)*0.1964825501511404;c+=TX(t,uv+(x/xy))*.2969069646728344;c+=TX(t,uv-(x/xy))*.2969069646728344;c+=TX(t,uv+(y/xy))*.09447039785044732;c+=TX(t,uv-(y/xy))*.09447039785044732;c+=TX(t,uv+(z/xy))*.010381362401148057;c+=TX(t,uv-(z/xy))*.010381362401148057;RT c.rgb;}VD main(){V2 uv=gl_FragCoord.xy/uRS.xy;o0=V4(B(uT0,uv,uRS,4.*V2((uRS.x/SCL))),1.);}",fR=`layout(location=0) out V4 o0;layout(location=1) out V4 o1;layout(location=2) out V4 o2;#UT#NSFL bx(V3 p,V3 b){V3 q=AB(p)-b;RT LN(MA(q,0.))+MN(MA(q.x,MA(q.y,q.z)),0.);}FL ts(V3 p,V2 t){V2 q=V2(LN(p.xz)-t.x,p.y);RT LN(q)-t.y;}FL sub(FL a,FL b,FL k){FL h=CL01(.5-.5*(b+a)/k);RT MX(b,-a,h)+k*h*(1.-h);}VD pol(inout V2 p,FL i){FL d=2.*PI/i;FL a=atan(p.y,p.x)+d/2.;FL r=LN(p);a=mod(a,d)-d/2.;p=V2(cos(a),sin(a))*r;}V3 twt(V3 p,FL k){FL c=cos(k*p.z+k);FL s=sin(k*p.z+k);M2 m=M2(c,-s,s,c);RT V3(m*p.xy,p.z);}M3 rot(V3 a,FL d){a=NM(a);FL s=sin(d);FL c=cos(d);FL o=1.-c;RT M3(o*a.x*a.x+c,o*a.x*a.y-a.z*s,o*a.z*a.x+a.y*s,o*a.x*a.y+a.z*s,o*a.y*a.y+c,o*a.y*a.z-a.x*s,o*a.z*a.x-a.y*s,o*a.y*a.z+a.x*s,o*a.z*a.z+c);}FL map(V3 p){p*=rot(V3(1.),EPS);p*=rot(V3(0.,0.,1.),PI/2.);p+=uM[0];V3 A=V3(0.);V3 B=NM(uL);for(FL i=0.;i<uT;i++){FL r=uR[0];FL s=mpd(i,0.,uT-1.,.2,PI);p+=uM[1]*s*r;pol(p.xy,uP.x);p+=uM[2]*s*r;pol(p.yx,uP.y);p+=uM[3]*s*r;pol(p.xy,uP.z);FL h=DT(p-A,B-A)/PW(LN(B-A),2.);if(h<.5){p+=V3(uR[1])*mpd(i,0.,uT,-.5,.5);p*=rot(NM(uP.xyz),uR[2]);}}p.x=AB(p.x)+EPS;p.y=AB(p.y)+EPS;p.z=AB(p.z)+EPS;FL t=ts(p,V2(1.05,.3));FL b=bx(p+V3(0.,0.,-2.),V3(2.,2.,2.));FL r=sub(b,t,.3);RT r;}FL unwrap(V3 ro,V3 rd){FL d=0.;for(IN i=0;i<5;++i){FL D=map(ro+rd*d);d+=D*.15;}RT d;}V3 nor(V3 p){FL d=map(p);FL E=EPS+uY;RT NM(V3(d-map(p-V3(E,0,0)),d-map(p-V3(0,E,0)),d-map(p-V3(0,0,E))));}V3 ren(V3 ro,V3 rd,V2 uv){V3 c;FL d=unwrap(ro,rd);rd+=uW.xyz;rd=twt(rd,uW.w);d+=sin(uD.x*rd.x)+cos(uD.y*rd.y)+tan(uD.z*rd.z);d+=nse(V3(uv,uX.x*1000.)*uX.y)*uX.z;V3 pos=ro+rd*d;V3 nor=nor(pos);V3 ref=reflect(rd,nor);V3 lgt=NM(V3(.8,.4,.6));FL dff=CL01(DT(nor,lgt));c=.8*NM(nor.x*uC[0]+nor.y*uC[1]+nor.z*uC[2])*dff;c+=.06*uC[1]*(.6+.4*nor.y);c+=.06*uC[2]*CL01(-nor.y);c+=.12*PW(CL01(DT(nor,NM(lgt-rd))),8.)*dff;c+=.12*PW(CL01(1.+DT(nor,rd)),8.)*dff;RT c;}VD main(){V3 t,c;V2 fg=gl_FragCoord.xy;V2 uv=gl_FragCoord.xy/uRS.xy;if(uR[3]<.5)fg.x=uRS.x-fg.x;if(uR[4]<.5)fg.y=uRS.y-fg.y;FL r=uRS.x/uRS.y;FL f=r<ASR?r/ASR:1.;for(IN m=0;m<${AA};m++){for(IN n=0;n<${AA};n++){V2 o=V2(FL(m),FL(n))/FL(${AA})-.5;V2 p=(2.*(fg+o)-uRS.xy)/uRS.y;V3 ro=V3(0.,0.,.5);V3 rd=NM(V3(p.xy,-uZ*f));c=ren(ro,rd,uv);for(FL i=0.;i<3.;i++){FL s=mpd(i,0.,2.,1.,.8);V4 z=V4(.6*i,.4/i,.3*i,.2/i);rd=i==2.?rd*V3(-1.2,-1.2,.8):rd;if(lm(c)<.1*s){c=MA(c,ren(ro+V3(-.2*i,-.2*i,uR[5]+z.x),rd,uv));}if(lm(c)>.9*s){c=MN(c,ren(ro-V3(-.2*i,-.2*i,uR[6]+z.y),rd,uv));}if(sm3(c)<.1*s){c=MA(c,ren(ro+V3(.2*i,.2*i,uR[7]+z.z),rd,uv));}if(sm3(c)>.9*s){c=MN(c,ren(ro-V3(.2*i,.2*i,uR[8]+z.w),rd,uv));}}t+=c;}}t/=FL(${AA}*${AA});t=PW(t,V3(.45));t=CL01(t);t=t*t*(3.-2.*t);FL a=1.;if(r!=ASR){if(r<ASR){FL Y=uv.y*ASR/r;FL A=((ASR/r)-1.)*.5;a=(Y>1.+A||Y<0.+A)?0.:1.;}else{FL X=uv.x*r/ASR;FL A=((r/ASR)-1.)*.5;a=(X>1.+A||X<0.+A)?0.:1.;}}V4 res=V4(t,a);o0=o1=o2=res;}`,fP="in V2 vTX;out V4 o0;#UT#AJVD main(){V2 uv=gl_FragCoord.xy/uRS.xy;V3 c=TX(uT0,vTX).rgb;FL bl=.0085;FL ct=.015;FL as=uRS.x/uRS.y;FL xa=as>1.?ct/as:ct;FL xb=1.-xa;FL ya=as<1.?ct*as:ct;FL yb=1.-ya;if(uv.x>xa&&uv.x<xb&&uv.y>ya&&uv.y<yb){FL l=lm(c);c+=uB*PW(l,1.2);c=MX(V3(DT(c,V3(.2125,.7154,.0721))),c,uS);c=MX(c,smoothstep(0.,1.,c),uN);c=MX(c,MA(c,NM((uC[0]+uC[1]+uC[2])*(1./3.))),uO);V3 ad=TX(uT1,vTX).rgb;ad=lvl(ad,.1,1.1,.9);c=ovr(c,ad,.15);c=ddg(c,ad,.15);FL blk=.14;FL wht=.92;c=V3(CL(c.r,blk,wht),CL(c.g,blk,wht),CL(c.b,blk,wht));FL L=(uv.x-xa)/bl;FL R=(xb-uv.x)/bl;FL B=(uv.y-ya)/bl/as;FL T=(yb-uv.y)/bl/as;FL M=MN(MN(L,R),MN(T,B));if(M<=1.&&l<1.-M){c=V3(1.);}}else{c=V3(1.);}o0=V4(c,1.);}";