const t="\nattribute vec3 aPosition;\nattribute vec2 aTexCoord;\nvarying vec2 vTexCoord;\n\nvoid main() {\nvTexCoord = aTexCoord;\nvec4 positionVec4 = vec4(aPosition, 1.0);\npositionVec4.xy = positionVec4.xy * 2.0 - 1.0;\ngl_Position = positionVec4;\n}\n";let i,n,e,s,o,r,h,a,l,c,x,d,m,f,g,p,v,u,y,b="11161d1f2e413846523e6d70de806eac0c2f824f4f4d283334141dZ8C6718CDAB7A2A3D4B2029323350648f4d326f151513201bZ5437267e6244c6a17bdecfc07996a94a4c4f2534411a191aZE5CDBDDE60623D4F83A36E6DE4AF93583847EDDFD9261B3A6A5F74Z1B2F4BC88F39C63114D1D6D364737E8AB1BA274460B09570Z18201f2f403d2c5e4de9e6d9e39051c144259b9270ddbd67Zf0e9c691CAB83e9b9663B1A0f7f7e83e87812D625DZe3ddcec8bea7b4a5879888716e5e5048372f2e1e1aZ2232493f5d886e8e999dbeaaebe3cfc5baa08f7f66E27A46da5716Z815a51BAA098d45d40e7b491f2e5dece82898b62936a40772f3165".split`Z`.map((t=>t.match(/.{6}/g).map((t=>"#"+t)))),w=100,S=0,k=[],C=[],B=[],D=[],A=window.innerWidth,L=window.innerHeight,M=window.innerWidth/.5625,P=.5625*window.innerHeight;M<window.innerHeight?L=M:A=P;let T=Math.min(A,L)/1e3;window.preload=()=>{d=new p5.Shader(this._renderer,t,"\nprecision mediump float;\nvarying vec2 vTexCoord;\nuniform sampler2D tex0;\n\n/*2D simplex noise-https://github.com/ashima/webgl-noise*/\nvec3 mod289(vec3 x) {\nreturn x - floor(x * (1.0 / 289.0)) * 289.0;\n}\n\nvec2 mod289(vec2 x) {\nreturn x - floor(x * (1.0 / 289.0)) * 289.0;\n}\n\nvec3 permute(vec3 x) {\nreturn mod289(((x*34.0)+10.0)*x);\n}\n\nfloat snoise(vec2 v)\n{\nconst vec4 C = vec4(0.211324865405187,\n 0.366025403784439,\n-0.577350269189626,\n 0.024390243902439);\nvec2 i= floor(v + dot(v, C.yy) );\nvec2 x0 = v - i + dot(i, C.xx);\nvec2 i1;\ni1.x = step( x0.y, x0.x );\ni1.y = 1.0 - i1.x;\nvec4 x12 = x0.xyxy + C.xxzz;\nx12.xy -= i1;\ni = mod289(i);\nvec3 p = permute( permute( i.y + vec3(0.0, i1.y, 1.0 ))\n\t\t+ i.x + vec3(0.0, i1.x, 1.0 ));\n\nvec3 m = max(0.5 - vec3(dot(x0,x0), dot(x12.xy,x12.xy), dot(x12.zw,x12.zw)), 0.0);\nm = m*m ;\nm = m*m ;\n\nvec3 x = 2.0 * fract(p * C.www) - 1.0;\nvec3 h = abs(x) - 0.5;\nvec3 ox = floor(x + 0.5);\nvec3 a0 = x - ox;\nm *= 1.79284291400159 - 0.85373472095314 * ( a0*a0 + h*h );\nvec3 g;\ng.x= a0.x* x0.x+ h.x* x0.y;\ng.yz = a0.yz * x12.xz + h.yz * x12.yw;\nreturn 130.0 * dot(m, g);\n}\n\n\nvoid main() {\n\nvec2 uv = vTexCoord;\nuv = 1.0 - uv;\nuv.x = 1.0 - uv.x;\n\ngl_FragColor = texture2D(tex0, uv + vec2((snoise(uv * 5.5)*0.01)));\n}\n"),gSh=new p5.Shader(this._renderer,t,"precision mediump float;\n\nvarying vec2 vTexCoord;\nuniform float r;\nuniform float g;\nuniform float b;\n\nfloat rand(in vec2 _st) {\nreturn fract(sin(dot(_st.xy,\n vec2(12.9898,78.233)))*\n43758.5453123);\n}\n\nvec3 HSLtoRGB(vec3 hsl) {\nvec3 rgb = clamp(abs(mod(hsl.x*6.0 + vec3(0.0, 4.0, 2.0), 6.0) - 3.0) - 1.0, 0.0, 1.0);\nreturn hsl.z + hsl.y * (rgb - 0.5) * (1.0 - abs(2.0 * hsl.z - 1.0));\n}\n\n\nvec3 RGBtoHSL(vec3 rgb) {\nvec3 hsl;\nfloat ma = max(max(rgb.r, rgb.g), rgb.b);\nfloat mi = min(min(rgb.r, rgb.g), rgb.b);\nfloat d = ma - mi;\nhsl.z = (ma + mi) / 2.0;\nif (d == 0.0) {\nhsl.x = 0.0;\nhsl.y = 0.0;\n}\nelse {\nhsl.y = d / (1.0 - abs(2.0 * hsl.z - 1.0));\nif (ma == rgb.r) {\nhsl.x = mod((rgb.g - rgb.b) / d, 6.0);\n}\nelse if (ma == rgb.g) {\nhsl.x = (rgb.b - rgb.r) / d + 2.0;\n}\nelse {\nhsl.x = (rgb.r - rgb.g) / d + 4.0;\n}\nhsl.x *= 60.0;\nif (hsl.x < 0.0) {\nhsl.x += 360.0;\n}\n}\nreturn hsl;\n}\n\n\n\nvoid main() {\n\nvec2 coord = vTexCoord;\nfloat dist = length(coord);\n\nvec3 color1 = vec3(r, g, b);\nvec3 hsl1 = RGBtoHSL(color1);\nhsl1.x -= 1.0;\nhsl1.z += 0.05;\nvec3 hsl2 = hsl1;\nhsl2.x -= 1.0;\nhsl2.z += 0.05;\nvec3 color2 = HSLtoRGB(hsl1);\nvec3 color3 = HSLtoRGB(hsl2);\n\ngl_FragColor = vec4(mix(color1, mix(color2, color3, coord.y), coord.y*abs(cos(smoothstep(0.0, 1.0, dist)))), 1.0) - (fract(sin(dot(coord, vec2(12.9898,78.233)*2.0)) * 43758.5453)) * 0.01; \n}")},setup=()=>{if(u=new G,x=u.i(0,b.length-1),D=b[x],c=u.i(0,D.length-1),i=D[c],v=u.c([200,400,600]),g=u.c(["w","c","a","o","g","r"]),f=u.b(.3),randomSeed(240290*u.d()),noiseSeed(110421*u.d()),createCanvas(A,L,WEBGL),colorMode(HSB,360,100,100,100),o=createGraphics(A,L,WEBGL),o.colorMode(HSB,360,100,100,100),o.noStroke(),o.setAttributes('alpha', false),r=createGraphics(A,L,WEBGL),r.colorMode(HSB,360,100,100,100),r.noStroke(),h=createGraphics(A,L,WEBGL),h.colorMode(HSB,360,100,100,100),h.noStroke(),a=createGraphics(A,L,WEBGL),a.colorMode(HSB,360,100,100,100),a.noStroke(),pixelDensity(2),o.pixelDensity(2),r.pixelDensity(2),h.pixelDensity(2),a.pixelDensity(2),h.shader(gSh),r.shader(d),noFill(),background(i),o.background(i),a.background(i),o.strokeWeight(s),o.translate(-A/2,-L/2),a.translate(-A/2,-L/2),s=T/100,p=cLgh(i)?"#000":"#fff",y=u.d(),n=Math.min(A,L)/map(v,200,600,100,200),e=Math.min(A,L)/map(v,200,600,8,10),D.splice(c,1),m=D,f){let t=htr(i);gSh.setUniform("r",map(t[0],0,255,0,1)),gSh.setUniform("g",map(t[1],0,255,0,1)),gSh.setUniform("b",map(t[2],0,255,0,1)),h.rect(0,0,A,L),o.texture(h),o.rect(0,0,A,L),a.texture(h),a.rect(0,0,A,L)}dLd(100);for(var t=0;C.length<v;){let i=u.n(n,e);for(var S={x:u.n(0,A),y:u.n(0,L),r:i},M=!1,P=0;P<C.length;P++){var z=C[P];dist(S.x,S.y,z.x,z.y)<(S.r+z.r)/u.n(1,1.5)&&(M=!0)}if(M||C.push(S),++t>1e4)break}if(o.noStroke(),m=sA(m),"a"==g)for(t=0;B.length<3*m.length;){let i=u.n(Math.min(A,L)/20,Math.min(A,L)/4);var W={x:u.n(0,A),y:u.n(0,L),r:i,c:u.c(m)};for(M=!1,P=0;P<B.length;P++)z=B[P],dist(W.x,W.y,z.x,z.y)<W.r+z.r&&(M=!0);if(M||B.push(W),++t>1e4)break}if("g"==g){var E=[];for(let t=0;t<m.length;t++){var H={x:A/2/m.length*t,y:L/2/m.length*t,w:A-A/2/m.length*2*t,h:L-L/2/m.length*2*t,c:m[t]};E.push(H)}image(o,-A/2,-L/2,A,L)}if("o"==g)var V=createVector(u.n(0,A),u.n(0,L));for(var _=0;_<C.length;_++){var Z=createVector(C[_].x,C[_].y);if("w"==g&&(l=m[Math.floor(map(C[_].y,0,L,0,m.length))]),"r"==g&&(l=m[Math.floor(map(180*Math.atan2(C[_].x-A/2,C[_].y-L/2)/Math.PI,-180,180,0,m.length))]),"c"==g&&(l=m[Math.floor(map(C[_].x,0,A,0,m.length))]),"a"==g){var F=2*Math.max(A,L);for(let t=0;t<B.length;t++){var R=createVector(B[t].x,B[t].y);Z.dist(R)-B[t].r<F&&(F=Z.dist(R),l=B[t].c)}}if("o"==g&&(l=m[Math.floor(map(Z.dist(V),0,Math.sqrt(A*A+L*L),0,m.length))]),"g"==g)for(let t=0;t<E.length;t++)inRct(Z.x,Z.y,E[t].x,E[t].y,E[t].w,E[t].h)&&(l=E[t].c);let t=new I(C[_].x,C[_].y,l,C[_].r);k.push(t)}w=map(v,200,600,w,w/2),bgTx();let O=.03*k.length;for(let t=0;t<O;t++)k.splice(Math.floor(u.d()*k.length),1);for(let t=0;t<k.length;t++)cos(t)<-.99&&k[t].spl()},draw=()=>{const t=prtg(w-S,w);dLd(t);for(let t=0;t<15;t++)for(let t=0;t<k.length;t++)k[t].m<2*n&&cos(t)>.97?y>.5?k[t].yl():k[t].xl():k[t].m<3*n&&sin(t)>.995?k[t].ccl():k[t].cil(),k[t].show(),k[t].move();S++,S>w&&(d.setUniform("tex0",o),r.rect(0,0,A,L),image(r,-A/2,-L/2,A,L),noLoop())},keyPressed=()=>{"s"!=key&&"S"!=key||save("Spensieratezza.png")},htr=t=>{let i=0,n=0,e=0;return 4==t.length?(i="0x"+t[1]+t[1],n="0x"+t[2]+t[2],e="0x"+t[3]+t[3]):7==t.length&&(i="0x"+t[1]+t[2],n="0x"+t[3]+t[4],e="0x"+t[5]+t[6]),[i,n,e]},prtg=(t,i)=>100*t/i,dLd=t=>{a.strokeWeight(T),a.stroke(p),a.fill(i),a.rect(A/4,L/2-5*T,A/2,10*T),a.strokeWeight(10*T),a.line(A/4,L/2,map(t,100,0,A/4,A-A/4,!0),L/2),image(a,-A/2,-L/2,A,L)},inRct=(t,i,n,e,s,o)=>t>=n&&t<=n+s&&i>=e&&i<=e+o,cLgh=(t)=>(t=t.replace("#",""),(.299*parseInt(t.substring(0,2),16)+.587*parseInt(t.substring(2,4),16)+.114*parseInt(t.substring(4,6),16))/255>=.5),bgTx=()=>{p=color(p);o.fill(hue(p),saturation(p),brightness(p),u.n(5,25));for(let t=0;t<100;t++)for(let i=0;i<100;i++)o.circle(60*T+(A-120*T)/100*i,60*T+(L-120*T)/100*t,T+u.d(.25*-T,.5*T));};class I{constructor(t,i,n,e){this.p=createVector(t,i),this.n=u.n(1e3,3e3)*T,this.s=u.n(1,5)*T,this.clr=color(n),this.m=e,this.f=1e4*u.d(),this.k=this.f*2802,this.i=u.n(.005,.01),this.a=u.n(0,TWO_PI),this.dq=u.i(2,4),this.dir=createVector(cos(this.a),sin(this.a)),this.l=createVector(t,i)}cil(){this.l.dist(this.p)>this.m&&(this.l=createVector(this.p.x+u.n(-this.m/2,this.m/2),this.p.y+u.n(-this.m/2,this.m/2)),this.mReached=!0,this.isActive=!1)}ccl(){(this.l.x>A||this.l.x<0||this.l.y>L||this.l.y<0)&&(this.l=this.p)}yl(){Math.abs(this.l.x-this.p.x)>this.m&&(this.l.x=this.p.x+u.n(-this.m/2,this.m/2)),(this.l.y>L-0||this.l.y<0)&&(this.l.y=u.n(0,L-0))}xl(){Math.abs(this.l.y-this.p.y)>this.m&&(this.l.y=this.p.y+u.n(-this.m/2,this.m/2)),(this.l.x>this.p.x-0||this.l.x<0)&&(this.l.x=u.n(0,A-0))}show(){o.noStroke(),this.t=map(noise(this.f),0,1,this.m/5,this.m),o.fill(hue(this.clr)+map(noise(this.k),0,1,-5,5),saturation(this.clr)+map(noise(this.k),0,1,-5,5),brightness(this.clr)+map(noise(this.k),0,1,-15,15),90),o.translate(this.l.x,this.l.y),o.rotate(this.a),o.translate(-this.l.x,-this.l.y),o.blendMode(ADD),o.ellipse(this.l.x,this.l.y,this.t),o.fill(hue(this.clr)+map(noise(this.f),0,1,-10,10),saturation(this.clr)+map(noise(this.f),0,1,-5,5),brightness(this.clr)+map(noise(this.f),0,1,-25,25),map(this.l.dist(this.p),0,this.m,90,0));for(let t=-this.dq;t<this.dq+1;t++)o.rect(this.l.x-this.t/2,this.l.y+this.t/(4*t),this.t/Math.abs(4*t),65*s);o.translate(this.l.x,this.l.y),o.rotate(-this.a),o.translate(-this.l.x,-this.l.y),this.f+=this.i,this.k+=this.i}spl(){let t=u.n(0,TWO_PI);o.beginShape();for(let i=0;i<TWO_PI;i+=.01)o.fill(hue(this.clr)+map(noise(this.f),0,1,-5,5),saturation(this.clr)+map(noise(this.f),0,1,-5,5),brightness(this.clr)+map(noise(this.f),0,1,-10,10),100),o.curveVertex(this.l.x+sin(i)*this.m*2*noise(t+i),this.l.y+cos(i)*this.m*2*noise(t+i)),o.ellipse(this.l.x+randomGaussian(0,sin(i)*this.m*6*noise(t+i)),this.l.y+randomGaussian(0,cos(i)*this.m*6*noise(t+i)),randomGaussian(0,this.m/10));o.endShape(CLOSE)}move(){this.a=noise(this.l.x/this.n,this.l.y/this.n)*TWO_PI*this.s/T,this.dir.x=cos(this.a),this.dir.y=sin(this.a),this.vel=this.dir.copy(),this.vel.mult(map(noise(this.f),0,1,50,300)*s),this.l.add(this.vel),this.f+=this.i}}class G{constructor(){this.uA=!1;let t=t=>{let i=parseInt(t.substr(0,8),16),n=parseInt(t.substr(8,8),16),e=parseInt(t.substr(16,8),16),s=parseInt(t.substr(24,8),16);return()=>{i|=0,n|=0,e|=0,s|=0;let t=(i+n|0)+s|0;return s=s+1|0,i=n^n>>>9,n=e+(e<<3)|0,e=e<<21|e>>>11,e=e+t|0,(t>>>0)/4294967296}};this.A=t(tokenData.hash.substr(2,32)),this.B=t(tokenData.hash.substr(34,32));for(let t=0;t<1e6;t+=2)this.A(),this.B()}d(){return this.uA=!this.uA,this.uA?this.A():this.B()}n(t,i){return t+(i-t)*this.d()}i(t,i){return~~this.n(t,i+1)}b(t){return this.d()<t}c(t){return t[this.i(0,t.length-1)]}}sA=(a)=>{for(let i=a.length-1;i>0;i--){const j=Math.floor(u.d()*(i+1));[a[i],a[j]]=[a[j],a[i]]}return a}
↓ show full (10,488 bytes)