memoscan
← all memos

Memo 0xa2e00a28…25d23c on Ethereum

function i(){px=W.devicePixelRatio||1,C=D.createElement("canvas"),B.appendChild(C),G=C.getContext("webgl",{preserveDrawingBuffer:!0}),AB=G.ARRAY_BUFFER,T2=G.TEXTURE_2D,SD=G.STATIC_DRAW,UB=G.UNSIGNED_BYTE,TM=G.TEXTURE_MIN_FILTER,TS=G.TEXTURE_WRAP_S,TT=G.TEXTURE_WRAP_T,CE=G.CLAMP_TO_EDGE,FB=G.FRAMEBUFFER,C0=G.COLOR_ATTACHMENT0,C.onclick=K,C.ontouchend=K;let e=W.innerWidth,a=W.innerHeight,t=1.5*a>=e?e:1.5*a,f=e/1.5>=a?a:e/1.5;C.width=rx=t*px,C.height=ry=f*px,C.style.width=t+"px",C.style.height=f+"px",G.viewport(0,0,rx,ry),Vpb=G.createBuffer(),G.bindBuffer(AB,Vpb),G.bufferData(AB,new Float32Array([-1,-1,1,-1,1,1,-1,1]),SD),Tpb=G.createBuffer(),G.bindBuffer(AB,Tpb),G.bufferData(AB,new Float32Array([1,0,0,0,0,1,1,1]),SD),Pr=M(Vq,Fr),Pp=M(Vq,Fp);let c=(e,r,a)=>G.texParameteri(e,r,a);Tr=G.createTexture(),G.bindTexture(T2,Tr),G.texImage2D(T2,0,G.RGBA,rx,ry,0,G.RGBA,UB,null),c(T2,TM,G.LINEAR),c(T2,TS,CE),c(T2,TT,CE),Br=G.createFramebuffer(),G.bindFramebuffer(FB,Br),G.framebufferTexture2D(FB,C0,T2,Tr,0),Ts=G.createTexture(),G.bindTexture(T2,Ts),G.texImage2D(T2,0,G.RGBA,sx,sy,0,G.RGBA,UB,null),c(T2,TM,G.LINEAR),c(T2,TS,CE),c(T2,TT,CE),Bs=G.createFramebuffer(),G.bindFramebuffer(FB,Bs),G.framebufferTexture2D(FB,C0,T2,Ts,0),Rp=AL(Pr,"p"),Rt=AL(Pr,"q"),Pt=AL(Pp,"q"),fwd=new Tone.StereoWidener(.3).toDestination(),fhi=new Tone.Filter({frequency:80,type:"highpass"}).connect(fwd),flw=new Tone.Filter({frequency:880,type:"lowpass"}).connect(fhi),frv=new Tone.Reverb(15).connect(flw);for(let e=0;e<n.length;e++){let r=new Tone.Oscillator({frequency:n[e],volume:-60}).connect(frv);r.partials=new Array(PS).fill(0),o.push(r)}Tone.Destination.volume.value=-60,r()}function l(e=0){r();let a=d.A;flw.frequency.value=q(a,0,1,80,1200),fhi.frequency.value=a>.6?c(q(a,.6,.8,80,880),80,880):80,o.forEach((e,r)=>{let a=d.P[r].reduce((e,r)=>e+r)/d.P[r].length,t=q(r,0,vc,-6,-18);e.set({partials:d.P[r],detune:q(a,0,1,-30,30),volume:q(a,1,0,t+4,t-4)})}),function(r){var a=Date.now(),t=Math.max(0,1e3/60-(a-e));self.setTimeout(function(){r(a+t)},t)}(l)}function r(){function e(e,r,a,f){let n="f"===e?Pp:Pr;G.bindFramebuffer(FB,r),G.bindTexture(T2,a),G.clear(G.COLOR_BUFFER_BIT|G.DEPTH_BUFFER_BIT),G.bindBuffer(AB,Vpb),G.vertexAttribPointer(Rp,2,G.FLOAT,!1,0,0),G.enableVertexAttribArray(Rp),G.bindBuffer(AB,Tpb),G.vertexAttribPointer("f"===e?Rt:Pt,2,G.FLOAT,!1,0,0),G.enableVertexAttribArray("f"===e?Rt:Pt),G.useProgram(n),F1(n,"t",t),F2(n,"r",f),F2(n,"X",[pr[0],dr[0]]),F2(n,"Y",[pr[1],dr[1]]),F1(n,"O",of),F1(n,"Z",zd),F3(n,"T",[P[0],P[1],P[2]]),F3(n,"A",[P[3],P[4],P[5]]),F3(n,"B",[P[6],P[7],P[8]]),F3(n,"C",[P[9],P[10],P[11]]),"f"!==e?(I1(n,"S","d"===e),I1(n,"M",md),F2(n,"D",vA),F2(n,"W",vB),F3(n,"L",mX),F3(n,"P",mY),F1(n,"N",ns),F1(n,"H",tA),F1(n,"J",tB),F1(n,"K",tO),F1(n,"Q",rt)):F1(n,"M",rm),G.drawArrays(G.TRIANGLE_FAN,0,4)}if(!Pr||!Pp)return;t=(new Date).getTime()-ts,rm<1&&(rm+=2e-4*(t-tl)),tl=t,e("r",Br,Tr,[rx,ry]),e("d",Bs,Ts,[sx,sy]),e("f",null,Tr,[rx,ry]),d={};let r=new Uint8Array(sx*sy*4);G.bindFramebuffer(FB,Bs),G.readPixels(0,0,sx,sy,G.RGBA,UB,r);let a=function(e){let r,a=e.length,t=new Float32Array(e.length);for(r=0;r<a;r++)t[r]=e[r]/255;return t}(r=r.filter((e,r)=>r%4==0).reverse());d.A=a.reduce((e,r)=>e+r)/a.length;let f=function(e,r){let a,t,f=[];for(a=0,t=-1;a<e.length;a++)a%r==0&&(f[++t]=[]),f[t].push(e[a]);return f}(a,sx),n=[],b=sx/PS,o=sy/vc;for(let e=0;e<sy;e+=o){n.push([]);for(let r=0;r<sx;r+=b){let a=r/b,t=e/o,d=0;for(let a=0;a<o;a++)for(let t=0;t<b;t++)d+=f[e+a][r+t];n[t].push(c(Math.pow(d/(b*o),2)*q(t,0,vc-1,1.2,.6)*q(a,0,PS-1,1.2,.3),0,1))}}d.P=n}function M(e,r){let a=G.createProgram();return G.attachShader(a,L(e,G.VERTEX_SHADER)),G.attachShader(a,L(r,G.FRAGMENT_SHADER)),G.linkProgram(a),a}function L(e,r){let a=G.createShader(r);return G.shaderSource(a,e),G.compileShader(a),a}function K(){A||(A=!0,N=(new Date).getTime(),ts=N,rm=0,o.forEach(e=>e.start()),Tone.Destination.volume.rampTo(-8,3),l())}function b(e,r){return q(R(),0,1,e,r)}function q(e,r,a,t,f){return(e-r)/(a-r)*(f-t)+t}function c(e,r,a){return e<=r?r:e>=a?a:e}let W=window,D=document,B=D.body,s=D.createElement("style");s.innerHTML="body,html{overflow:hidden;background:#333}body{margin:0;display:flex;justify-content:center;align-items:center}C{display:block;background:#000}",B.appendChild(s);let C,G,Pr,Tr,Br,Bs,Ts,Pp,Rp,Rt,Pt,Vpb,Tpb,px,flw,fhi,frv,fwd,A=!1,h="#define F float\n#define I int\n#define V vec3\n#define V2 vec2\n#define V4 vec4\n#define U uniform\n#define R return\n#define s sin\n#define c cos\n#define m mix\n#define w pow\n#define d texture2D\n#define o smoothstep\n#define n normalize\n#define pr precision\n#define mp highp\n#define at attribute\n",Vq=h+"pr mp F;at V4 p;at V2 q;varying V2 e;void main(){gl_Position=p;e=q;}",Fr=h+"pr mp F;pr mp I;U F t;U V2 r;U V2 X;U V2 Y;U F O;U F Z;U I M;U bool S;U V T;U V A;U V B;U V C;U V2 D;U V2 W;U V L;U V P;U F N;U F H;U F J;U F K;U F Q;F sT(V p,V2 t){V2 q=V2(length(p.xz)-t.x,p.y);R length(q)-t.y;}V oT(V p,F k){F c=c(k*p.y+k);F s=s(k*p.y+k);mat2 m=mat2(c,-s,s,c);R V(m*p.xz,p.y);}F oM(F a,F b,F k){R-log(exp(-k*a)+exp(-k*b))/k;}F oD(V p,F d,F k){R d+(s(k*p.x)*s(k*p.y)*s(k*p.z));}mat3 rm(V a,F g){a=n(a);F s=s(g);F c=c(g);F oc=1.-c;R mat3(oc*a.x*a.x+c,oc*a.x*a.y-a.z*s,oc*a.z*a.x+a.y*s,oc*a.x*a.y+a.z*s,oc*a.y*a.y+c,oc*a.y*a.z-a.x*s,oc*a.z*a.x-a.y*s,oc*a.y*a.z+a.x*s,oc*a.z*a.z+c);}V rt(V p,V a,F g){mat3 m=rm(a,g);R p*m;}F ma(V p){F r=0.;F x=s(X.x*X.y*(t*.000012)+O);F y=s(Y.x*Y.y*(t*.000012)+O);p=rt(p,V(1.,.2,-.2),x);p=rt(p,V(.2,1.2,-.2),y);if(M==4||M==5||M==6||M==7){p=V(p.x,p.y+Z,p.z);}F a=sT(oT(p.xyz+L,H*s(K)),D);F b=sT(oT(p.zxy-P.zyx,J*c(K)),W);r=oM(a,b,4.2);r=oM(r,oD(p,r,N),4.2);R r;}F uw(V o,V d){F r=0.;for(I i=0;i<6;++i){F d=ma(o+d*r);r+=d*Z;}R r;}V nr(V p){V2 e=V2(.1,0.);V r=V(ma(p+e.xyy)-ma(p-e.xyy),ma(p+e.yxy)-ma(p-e.yxy),ma(p+e.yyx)-ma(p-e.yyx));R n(r);}void main(){V z;V2 p=(2.*(gl_FragCoord.xy+V2(1.))-r.xy)/r.y;V2 q=(gl_FragCoord.xy+V2(1.))/r.xy;if(M==1){p=V2(-p.x,p.y);}else if(M==2){p=p.yx;}else if(M==3){p=V2(p.y,-p.x);}else if(M==4){p=p.yy*Q+(1.-Q)*p;}else if(M==5){p=p.yy*Q-(1.-Q)*p;}else if(M==6){p=V2(p.x*.5+p.y*.5)*Q+(1.-Q)*p;}else if(M==7){p=V2(-p.x*.5+p.y*.5)*Q+(1.-Q)*p;}V v=V(.05);V ro=V(0.,0.,4.);V rd=n(V(p.xy,-1.));V r=nr(ro+rd*uw(ro,rd));v=m(v,n(A),r.x);v=m(v,n(B),r.y);v=m(v,n(C),r.z);v=m(v-V(.22),n(r.x*A+r.y*B+r.z*C),.3);F ks=.5;F sk=.7+.3*r.y;F fr=clamp(1.+dot(r,rd),0.,1.);F sp=w(max(dot(-rd,r),0.),4.);v+=ks*o(0.,.6,reflect(rd,r).y)*w(fr,4.);v+=ks*w(sp,4.)*1.1;v+=ks*w(sp,.4)*1.6;v=v*(sk+fr)*T;z+=v;if(S){z=V(.21*z.r+.71*z.g+.07*z.b);z=m(z,o(0.,1.,z),1.4);}gl_FragColor=V4(z,1.);}",Fp=h+"pr mp F;varying V2 e;U sampler2D s;U F t;U V2 r;U F M;U V2 X;U V2 Y;U F O;U F Z;U V T;U V A;U V B;U V C;void main(){V2 uv=gl_FragCoord.xy/r.xy;V L=d(s,e).rgb;V4 b=V4(0.);V4 g=V4(0.);for(F i=-8.;i<=8.;i++){F z=abs(i);b+=d(s,e+i*(4./r))*(z==4.?.0162162162:z==3.?.0540540541:z==2.?.1216216210:z==1.?.1945945946:z==0.?.2270270270:0.);g+=d(s,e+i*(8./r))*(z==4.?.05:z==3.?.09:z==2.?.12:z==1.?.15:z==0.?.16:0.);}L=b.rgb;F cn=.4;L=m(L,o(0.,1.,L),cn);F st=1.05;V W=V(.2125,.7154,.0721);V tn=V(dot(L,W));L=m(tn,L,st);L=m(L,L+g.rgb,.1);F rd=.7;F d=o(rd,rd-.5,length(uv-V2(.5)));L=m(L,L*d,.4);L=m(L,max(L,T),.15);F lum=.21*L.r+.71*L.g+.07*L.b;L+=.1*w(lum,1.1);if(M<1.){L-=w(2.4,o(1.,0.,M))-1.;}gl_FragColor=V4(L,1.);}",S=Uint32Array.from([0,0,0,0]).map(e=>parseInt(tokenData.hash.substr(8*e+5,8),16)),R=(e=1)=>{let r=S[3];S[3]=S[2],S[2]=S[1];let a=S[1]=S[0];return r^=r<<11,S[0]^=r^r>>>8^a>>>19,e*S[0]/2**32},Ps="fdb699f83aa9fef823c8792fcc9a99126ac92c82d8acaf0899a599de69c13c090c6faac8afa2c53cadca088777ce4e89b8daba2b9ee6be9783166b99e39efba0f91984b22aa5512299f7e680f4f9e1f2fb841343c4f499c0abbbdba06efa4248f5b0999d81b70666910b67abf89aa77bbcd88cbbd346f6fda0a39c2a01301966c5b30c37a4b3995eabfafeee9db94771e7a9ab1b3d4efa90b578394399a399db437e703177c7b817aa999f2fd5952b9490b363f0e4f4994324c9ab29a5a31fc7e6c3e7df3c08616bc83ec0abd1d5d26878337f797ae9a512a79f9e9f39c5fe996ca43506a9de9f4755d79a56c1b343529f99bea547e6c690991d7d7a9fd5ace39fc24ee6fec79b6fa7f4b2eb918de2798f581dbff29ed97f2a3b5b4d8c2e409f99b9adce3414c4b90b622b6fa1edb3fe6c93e8915c576fd099c499fecc7aa6cda56b0388a2fbdc7fbdb040a68593051fe6d7bcfd82fedaa5408e3e8ac9b19bfc5a61687101a0174c999cf2f8ae1eeeba04662e11eac1cffed36be11af54a97e8e8a3a12d4c4901a2df6b5f7efca09a374cc9b2a2939a5326b59cdb1fac7a0ed4c9162023f79ddeacde4518f99bdb1f92cfae9d1c23b0bfd9fd761927e2b19a7c7037d040800c596599b6995f9054069bc4fe84429bd7afb85158fbdf50ea4518a3adf62546f8002657858cabfeb2ab446ee281bdd8cb713da699cb4bbafe39c8dce49700a99aad2c4ceed41c2e153a81a2a8fbe22979816afcf2dbabf2cfb2f68f28e4c348942c2a",cs=[["C1","C2","E2","G2","E3","G3"],["C#1","C#2","E2","G#2","E3","G#3"],["D1","D2","F#2","A3","F#3","A4"],["D#1","D#2","G2","A#3","G3","A#4"],["E1","E2","G#2","B3","G#3","B4"],["F1","F2","A3","C3","A4","C4"],["F#1","F#2","A#3","C#3","A#4","C#4"],["G1","G2","B3","D3","B4","D4"],["G#1","G#2","C3","D#3","C4","D#4"],["A1","A2","C#2","E2","C#3","E3"],["A#1","A#2","D2","F2","D3","F3"],["B1","B2","D#2","F#2","D#3","F#3"]],N=(new Date).getTime(),t=0,ts=N,tl=N,rx=0,ry=0,sx=72,vc=6,sy=48,d={},o=[],n=cs[R()*cs.length|0],p=Math.round(b(0,45)),md=parseInt(7*Math.pow(R(),1.2)),vA=[b(.8,1.2),b(.2,.3)],vB=[b(.8,1.2),b(.2,.3)],mX=[b(-.6,1.2),b(-.6,1.2),b(-.15,.15)],mY=[b(-1.2,.6),b(-1.2,.6),b(-.15,.15)],ns=1.4*Math.pow(R(),3.2),tA=b(.5,3),tB=b(.5,3),tO=b(0,Math.PI),zd=b(.3,.4),rt=b(.6,.9),of=b(-1,1),dr=[R()>.5?-1:1,R()>.5?-1:1],pr=[3+R(4)|0,3+R(4)|0],rm=1;pr[0]==pr[1]&&(pr[1]+=1);let AB,T2,SD,UB,TM,TS,TT,CE,FB,C0,ps=[3,4,6,8,9,12],PS=ps[Math.round(tA+tB)-1],P=[...Array(12)].map((e,r)=>q(parseInt(Ps.slice(24*p+2*r,24*p+2*r+2),16),0,255,0,1)),AL=(e,r)=>G.getAttribLocation(e,r),UL=(e,r)=>G.getUniformLocation(e,r),I1=(e,r,a)=>G.uniform1i(UL(e,r),a),F1=(e,r,a)=>G.uniform1f(UL(e,r),a),F2=(e,r,a)=>G.uniform2fv(UL(e,r),a),F3=(e,r,a)=>G.uniform3fv(UL(e,r),a);i();