memoscan
← all memos

Memo 0xf0963a2c…d6af13 on Ethereum

setup=_=>{s=F(windowWidth,windowHeight),M=MULTIPLY,X=SCREEN,B=BLEND,createCanvas(windowWidth,windowHeight),noLoop(),colorMode(HSB,360,100,100,100),S=Uint32Array.from([0,1,s=t=2,3].map((i=>parseInt(tokenData.hash.substr(8*i+2,8),16)))),R=_=>(t=S[3],S[3]=S[2],S[2]=S[1],S[1]=s=S[0],t^=t<<11,S[0]^=t^t>>>8^s>>>19,S[0]/2**32),'tx piter',f={a:{a:D(100,900),b:D(.6,6),c:D(.5,1),d:R()<.8?D(2,5):0,e:D(.2,3),f:D(50,150),g:O(1,A(5+5*G())),n:.5+.1*G()},b:W(D(1,9))+1,c:D(20,80),d:D(3,10),f:R()<.05?-1:W(D(0,P.length)),g:R()<.5},-1===f.f?(p=["#000","#fff"],f.a.g*=5):p=P[f.f],f.a.d||(f.b=O(f.b,3),f.a.g=O(f.a.g,5),f.a.c*=2),f.a.c/=5*f.a.b,I()};draw=_=>{let w=width,h=height,i=image,b=blendMode;noSmooth(),b(B),i(q,0,0,w,h),b(SOFT_LIGHT),i(q,0,0,w,h),q.remove(),g=q=null};let f,l,g,p,q,B,H,M,S,X,D=(a,b)=>a+R()*(b-a),E=_=>p[W(D(0,p.length))],C=(c,a=100)=>color(A(hue(c)+4*G())%360,F(O(saturation(c)+2*G(),0),100),F(O(brightness(c)+4*G(),0),100),a),{abs:A,min:F,max:O,floor:W}=Math,r=4096,G=_=>{let a,b,c,d;if(H)a=H,H=0;else{do{b=2*R()-1,c=2*R()-1,d=b*b+c*c}while(d>=1);d=Math.sqrt(-2*Math.log(d)/d),a=b*d,H=c*d}return a},K=(o,f,v)=>{for(let i in v)o[f](i,v[i])},P="046c00f82deffdbfa7f96f64z00202804908c0cfeeefd8f33z18ff55f70fec0B40bb05f026z036f51fc5fedfa90ec4ef2afzfb3efe8ff09d059037023033z039fc0f01fff00008dffdf20".split`z`.map((c=>c.match(/.{3}/g).map((s=>"#"+s))));const I=_=>{q=createGraphics(1,1,WEBGL),q.colorMode(HSB,360,100,100,100),K(q,"setAttributes",{antialias:0,perPixelLighting:0,premultipliedAlpha:1,preserveDrawingBuffer:0}),q.pixelDensity(1),m=q._renderer.drawingContext,l=m.getParameter(m.MAX_TEXTURE_SIZE),r>=l&&(r/=2),l=r/4096,m.canvas.addEventListener("webglcontextlost",(_=>{r/=2,I()})),q.resizeCanvas(r,r);let w=q.width,h=q.height,z=w/2,b=E(),p=E(),d=q.rect,n=q.fill,a=q.blendMode,o=f.g?q.ellipse:d;for(;b===p;)p=E();q.background(C(b)),q.noStroke(),n(C(p)),q.push(),q.rotate(QUARTER_PI*W(D(0,6))),q.translate(-z,-h),d(-z,-h,2*w,h+50*G()*l+h),q.pop(),q.rectMode(CENTER);for(let i=0;i<1e3;i++){let x=G()*w/f.d,y=G()*h/f.d,e=A(10+10*G())*f.c*l,j=e+50*G()*l,k=e+50*G()*l,c=E();a(X),n(C(c,99)),o(x,y,j,k),a(M),n(C(c,99)),o(x,y,j,k)}a(B),g=q.createShader("precision highp float;attribute vec3 aPosition;attribute vec2 aTexCoord;varying vec2 z;void main(){z=aTexCoord;vec4 p=vec4(aPosition,1.);p.xy=p.xy*2.-1.,p.y*=-1.,gl_Position=p;}","precision highp float;varying vec2 z;uniform vec2 h;uniform sampler2D i;uniform bool k;uniform float a,b,c,d,e,f,g,j,l,n;/*2D simplex noise - https://github.com/ashima/webgl-noise*/vec2 M(vec2 x){return x-floor(x*.00346)*289.;}vec3 M(vec3 x){return x-floor(x*.00346)*289.;}vec3 P(vec3 x){return M((x*34.+1.)*x);}float N(vec2 v){const vec4 C=vec4(.211324865405187,.366025403784439,-.577350269189626,.024390243902439);vec2 i=floor(v+dot(v,C.yy)),n=v-i+dot(i,C.xx),j=vec2(0.);j=n.x>n.y?vec2(1.,0.):vec2(0.,1.);vec2 o=n.xy+C.xx-j,q=n.xy+C.zz;i=M(i);vec3 p=P(P(i.y+vec3(0.,j.y,1.))+i.x+vec3(0.,j.x,1.)),m=max(.5-vec3(dot(n,n),dot(o,o),dot(q,q)),0.);m=m*m,m=m*m;vec3 x=2.*fract(p*C.www)-1.,h=abs(x)-.5,r=floor(x+.5),s=x-r;m*=1.79284291400159-.85373472095314*(s*s+h*h);vec3 g=vec3(0.);g.x=s.x*n.x+h.x*n.y,g.yz=s.yz*vec2(o.x,q.x)+h.yz*vec2(o.y,q.y);return 130.*dot(m,g);}float R(vec2 x,float s){return fract(sin(dot(x,gl_FragCoord.xy+s))*43758.5453123+s);}float A(vec2 x,float s){vec2 v=vec2(j*.1);float d=N(x+v)*.25-.125,a=N(x*vec2(cos(j*.15),sin(j*.1))*.1)*3.1415;v=vec2(cos(a),sin(a)),d+=N(x+v)*.25-.125;return d+s;}vec4 G(sampler2D t,vec2 x,vec2 s){vec4 c=vec4(0.);float w[9];w[0]=.10855,w[1]=.13135,w[2]=.10406,w[3]=.07216,w[4]=.0438,w[5]=.02328,w[6]=.01083,w[7]=.00441,w[8]=.00157;float o[9];o[0]=.66293,o[1]=2.47904,o[2]=4.46232,o[3]=6.44568,o[4]=8.42917,o[5]=10.41281,o[6]=12.39664,o[7]=14.3807,o[8]=16.36501;for(int i=0;i<9;i++){vec2 y=o[i]*s;c+=(texture2D(t,x+y)+texture2D(t,x-y))*w[i];}return c;}void main(){vec2 s=z*b;s+=A(s,a);vec2 j=z*e;j+=A(j,a+1e+4),s=vec2(N(s),N(s+2e+4)),j=(vec2(R(z,a),R(z,a*2.))*2.-1.)*.5*(vec2(N(j+3e+4),N(j+4e+4))*2.-1.)*d/f;vec2 t=z+s*c*.5+j;vec4 x=texture2D(i,t),y=G(i,t,vec2(g)/h*(s+1.)*.25*l);x=mix(x,y,d==0.?n:1.);if(k){vec3 s=vec3(R(t,a*3.))*2.-1.;s/=25.,x.rgb+=s;float l=x.r*.299+x.g*.587+x.b*.114,n=min(min(x.r,x.g),x.b),a=max(max(x.r,x.g),x.b);x=mix(x,vec4(vec3(l),1.),-.1);}gl_FragColor=x;}"),q.shader(g),K(g,"setUniform",{h:[w,h],i:q,...f.a});for(let i=0;i<f.b;i++)K(g,"setUniform",{j:.005*i,k:i===f.b-1,l}),d(0,0,w,h)};