0x4f597b39…60c8sent to0xa7d8d9ef…d270·#15,237,795·view on Etherscan
4344183,2305075,10535377,0,1,1.1],12:[10289158,1659231,6661793,15566395,15354668,0,1,1],13:[13515281,469832,2384251,16707790,16288806,.01,1,1.15],14:[13553870,1644825,15814693,16777215,15132902,0,1,1.15],15:[1317406,15791103,4211788,3751743,2041382,0,1,1],16:[657672,2241339,15392981,13020303,6180927,0,1,1.9],17:[3368330,8829912,7704143,16166445,15885337,0,1,1.12],18:[16711422,16168524,15351084,3817281,6535886,0,1,1.1],19:[7289398,13139994,14797476,9608602,5534304,0,1,1.2],20:[13859385,13784116,7498570,15786420,15508823,0,1,1.1],21:[9831194,16427286,16515070,7169902,1776414,0,1,1.1],22:[42733,8370176,863316,16142621,16757760,0,1.02,1.1],23:[5777159,9907463,16730942,16757263,16770376,0,1.01,1.05],24:[15718311,3939072,8763312,15848851,16328960,0,1,1.26],25:[2390944,14869218,664675,16463424,6315870,0,1.06,1],26:[13751774,12039874,8615273,6648147,9087609,0,1.02,3],27:[6124414,16579836,135451,4145221,3156271,0,1,2],28:[9947562,13732155,15702825,3610381,13942932,0,1.05,1.2],29:[14303591,16044894,16177326,3031127,540023,0,1.02,1.1],30:[14155826,2829634,9279918,15594228,15672124,0,1,1],31:[6575426,8371106,16119484,15051558,12471335,0,1,1.15],32:[15125682,14530706,11569512,8344889,10249796,0,1.03,1.05],33:[157633,30148,15704075,14045448,5840650,0,1.04,1.02],34:[2994148,13099310,16120284,3223857,4036282,0,1.02,1.2],35:[2735890,11272015,572861,15866687,16750868,0,1.05,1.1],36:[402725,1332558,15194544,16034598,792857,.01,1.03,1.04],37:[4004864,8763055,15783315,16263680,15718568,0,1.03,1.04],38:[15971407,15193272,14338478,1844529,16400720,.01,1.04,1.3],39:[15379595,3494e3,7166330,11887990,15035247,.03,1.02,1.06],40:[14719784,15459775,2831168,1916524,5136224,0,1.03,1.07],41:[9667969,12965348,8283473,4612962,8951467,0,1.05,1.6],42:[1716574,10208227,15266296,3770568,15821646,0,1,1.15],43:[16697498,16758183,16569806,16313835,16374980,0,1.02,1.1],44:[16706750,16154427,16008999,2952226,16245696,0,1.01,1.02],45:[14342093,10727818,5800279,3824192,3427905,0,1.03,1.16],46:[15592937,14077122,16116704,14931402,14007727,0,1,1],47:[2508371,2792847,15320170,16032353,15167313,0,1,1.12],48:[6319160,2635288,16710368,14524766,12348453,0,1.03,1.1],49:[15260604,8761251,0,5308418,11494980,0,1,1]};let r=mintNumber%Object.keys(t).length;return{k:r,v:t[r]}}function gParams(){const e=gShape(),t=gBuild(e),r=gVert(e,t),a=gZCam(t),n=gMeshRot(e,t),i=gAngle(t,n.k),s=gLights(e,n.k,t),o=gFinish(e),c=gSRange(e,n.k,t,o),l=gPRange(e,n.k),d=gScale(t,e),h=gWrap(e),u=gDisp(t,e,c,n.k),f=gInverse(t),m=gMat(e),v=gPalette(e);return{seed:mintNumber,shape:e,build:t,vertices:r.k,vNoise:r.v,camZ:a,rotaName:n.k,rota:n.v,rotation:i,sRange:c.v,instances:c.i,sizeName:c.k,pRange:l,lights:s,scale:d,freq:u.freq,direction:u.dir,midPoint:u.midPoint,weights:u.weights,octaves:u.octaves,wrapMode:h,finish:o,invert:f,material:m.k,roughness:m.r,metalness:m.m,envIntensity:m.i,palette:v.k,colors:v.v}}const p=gParams();function getDim(){const e=window.innerHeight,t=.75*window.innerHeight;return{x:t,y:e,aspect:t/e}}function createContainer(){const e=document.createElement("div");return e.appendChild(renderer.domElement),document.body.appendChild(e),e}function getDirLight(e,t,r){const a=new THREE.DirectionalLight(t,e[3]);return a.position.set(e[0],e[1],e[2]),a.castShadow=r,a.shadow.camera.near=.5,a.shadow.camera.far=10,a.shadow.camera.left=-5,a.shadow.camera.right=5,a.shadow.camera.top=5,a.shadow.camera.bottom=-5,a.shadow.mapSize.set(6e3,6e3),a}let time,simplexNoise="\nvec4 v(vec4 a){vec4 b=mod(a,289.);return mod((b*34.+10.)*b,289.);}float na(vec3 f,vec3 o,float F){const mat3 G=mat3(0.,1.,1.,1.,0.,1.,1.,1.,0.),I=mat3(-.5,.5,.5,.5,-.5,.5,.5,.5,-.5);vec3 H;H=G*f;vec3 a=floor(H),J=fract(H),w=step(J.xyx,J.yzz),K=1.-w,L=vec3(K.z,w.xy),M=vec3(K.xy,w.z),Z=min(L,M),_=max(L,M),k=a+Z,l=a+_,m=a+vec3(1.),g,h,i,j;g=I*a,h=I*k,i=I*l,j=I*m;vec3 x=f-g,y=f-h,z=f-i,A=f-j;if(any(greaterThan(o,vec3(0.)))){vec4 p=vec4(g.x,h.x,i.x,j.x),q=vec4(g.y,h.y,i.y,j.y),r=vec4(g.z,h.z,i.z,j.z);p=o.x>0.?mod(p,o.x):p,q=o.y>0.?mod(q,o.y):q,r=o.z>0.?mod(r,o.z):r,a=floor(G*vec3(p.x,q.x,r.x)+.5),k=floor(G*vec3(p.y,q.y,r.y)+.5),l=floor(G*vec3(p.z,q.z,r.z)+.5),m=floor(G*vec3(p.w,q.w,r.w)+.5);}vec4 B=v(v(v(vec4(a.z,k.z,l.z,m.z))+vec4(a.y,k.y,l.y,m.y))+vec4(a.x,k.x,l.x,m.x)),N=B*3.883222,b=B*-.00692+.99654,O=B*.108706,s=cos(N),t=sin(N),C=sqrt(1.-b*b),c,d,e;if(F!=0.){vec4 S=s*C,T=t*C,oa=b,D=sin(O),E=cos(O),P=t*D-s*E,pa=mix(P*t,D,b),qa=mix(-P*s,E,b),ra=-(T*E+S*D),U=vec4(sin(F)),V=vec4(cos(F));c=V*S+U*pa,d=V*T+U*qa,e=V*oa+U*ra;}else c=s*C,d=t*C,e=b;vec3 aa=vec3(c.x,d.x,e.x),ba=vec3(c.y,d.y,e.y),ca=vec3(c.z,d.z,e.z),da=vec3(c.w,d.w,e.w);vec4 n=.5-vec4(dot(x,x),dot(y,y),dot(z,z),dot(A,A));n=max(n,0.);vec4 ea=n*n,fa=ea*n,ga=vec4(dot(aa,x),dot(ba,y),dot(ca,z),dot(da,A));float sa=dot(fa,ga);return 39.5*sa;}\n";function createInstances(e,t,a){let n=new THREE.SphereBufferGeometry(.25,25,25);const i=Math.ceil(Math.sqrt(e)),s={uSR:u(p.sRange),uNA:u(p.vNoise),uS:u(p.scale),uPR:u(p.pRange),uW:u(i),uR:u(p.rotation)},o=`#include <common> \n #define ${p.finish} \n vec3 toLinear(vec3 sRGB){bvec3 co = lessThan(sRGB, vec3(0.04045));vec3 h = pow((sRGB + vec3(0.055))/vec3(1.055), vec3(2.4));vec3 l = sRGB/vec3(12.92);return mix(h, l, co);}\n uniform int uW; uniform float uNA; uniform vec3 uSR; uniform float uS; uniform vec3 uPR; uniform float uR; attribute int aID; attribute vec3 aPos; attribute vec3 aScale; attribute float aThres; attribute vec3 aAxis; attribute vec3 aColor; attribute int aRota; varying vec4 vColor; ${simplexNoise} mat4 rotMat(vec3 ax, float a) { ax = normalize(ax); float s = sin(a); float c = cos(a); float oc = 1.0 - c; return mat4(oc * ax.x * ax.x + c, oc * ax.x * ax.y - ax.z * s, oc * ax.z * ax.x + ax.y * s, 0., oc * ax.x * ax.y + ax.z * s, oc * ax.y * ax.y + c, oc * ax.y * ax.z - ax.x * s, 0., oc * ax.z * ax.x - ax.y * s, oc * ax.y * ax.z + ax.x * s, oc * ax.z * ax.z + c, 0.,0., 0., 0., 1.0);} `,c=" int id = aID; int vid = gl_VertexID; ivec2 xy = ivec2(id % uW, id / uW); vec3 v = vec3(vid, vid+id, vid*id); float iW = float(uW); vec3 pos = vec3( (vec2(xy) - iW*.5) / iW, 0. ); pos += aPos; pos *= uPR; vec3 vN = vec3( na(v, vec3(0.), 0.), na(v + vec3(103.71, 94.13, 123.123), vec3(0.), 0.), na(v + vec3(237.88, 219.78, 712.313), vec3(0.), 0.) ); vec3 vPos = vN * uNA; mat4 rMat = rotMat(aAxis, radians(uR));",l=" vec3 P = transformed; vec3 s = aScale * uSR; vec4 newPos = vec4(P * s * uS, 1.); newPos = (aRota > 0) ? rMat * newPos : newPos; transformed = newPos.xyz + pos - vPos;";t.onBeforeCompile=e=>{for(const t in s)e.uniforms[t]=s[t];e.vertexShader=e.vertexShader.replace("#include <common>",o),e.vertexShader=e.vertexShader.replace("#include <beginnormal_vertex>",`#include <beginnormal_vertex>\n ${c} if(aRota > 0){ vec4 newNormal = rMat * vec4(objectNormal, 1); objectNormal = normalize(newNormal.xyz); }\n `),e.vertexShader=e.vertexShader.replace("#include <begin_vertex>",`#include <begin_vertex> ${l}\n #ifdef SLICED\n transformed.xyz -= (objectNormal * (vN.x*.5+.5));\n #endif\n vColor = vec4(toLinear(aColor), 1.) * vec4(.6, .6, .6, 1.);`),e.fragmentShader=e.fragmentShader.replace("#include <common>","#include <common> varying vec4 vColor;"),e.fragmentShader=e.fragmentShader.replace("vec4 diffuseColor = vec4( diffuse, opacity );","vec4 diffuseColor = vec4( vColor.rgb, opacity );")};const d=new THREE.MeshDepthMaterial({depthPacking:THREE.RGBADepthPacking});d.onBeforeCompile=e=>{for(const t in s)e.uniforms[t]=s[t];e.vertexShader=e.vertexShader.replace("#include <common>",o),e.vertexShader=e.vertexShader.replace("#include <begin_vertex>",`\n #include <begin_vertex>\n ${c}\n ${l}\n `)};const h=new THREE.InstancedMesh(n,t,e);h.rotation.set(toRadians(p.rota[0]),toRadians(p.rota[1]),toRadians(p.rota[2])),h.receiveShadow=!0,h.castShadow=!0,h.frustumCulled=!1,h.customDepthMaterial=d,h.needsUpdate=!0,scene.add(h);const f=(e,t,r)=>{e[t]=r[0],e[t+1]=r[1],e[t+2]=r[2]},m=e=>new Int32Array(e),v=e=>new Float32Array(3*e),g=new THREE.Object3D,x=m(e),R=m(e),w=v(e),b=v(e),y=v(e),E=v(e);for(let t=0,n=0,i=e;t<i;t++,n+=3){x[t]=t;const e=r();f(b,n,[e,e,e]),f(w,n,[rr(-1,1),rr(-1,1),rr(-1,1)]);const i=r();i<.25?(f(y,n,[0,1,0]),f(E,n,toRGB(a[0])),R[t]=1):i<.5?(f(y,n,[0,0,1]),f(E,n,toRGB(a[1])),R[t]=1):i<.75?(f(y,n,[-1,0,0]),f(E,n,toRGB(a[2])),R[t]=1):(f(y,n,[0,0,0]),f(E,n,toRGB(a[3])),R[t]=0),g.position.set(0,0,0),g.updateMatrix(),h.setMatrixAt(t,g.matrix)}const S=(e,t,r)=>{n.setAttribute(e,new THREE.InstancedBufferAttribute(t,r))};S("aID",x,1),S("aRota",R,1),S("aPos",w,3),S("aScale",b,3),S("aAxis",y,3),S("aColor",E,3)}function generateCubeMap(e){var t=document.createElement("canvas");const r=256,a=256;t.width=r,t.height=a;var n=t.getContext("2d");function i(e,t,r){e.addColorStop(0,t),e.addColorStop(1,r),n.fillStyle=e}function s(e){n.fillStyle=e,n.fillRect(0,0,r,a)}function o(e){let t={x:.65,y:.05};var s=n.createRadialGradient(r*t.x,a*t.y,51.2,r*t.x,a*t.y,204.8);i(s,"white","#777065");const o=e?[.15,1]:[0,.75];n.fillRect(r*o[0],38.4,r*o[1],102.4),e&&(t={x:.5,y:.5},i(s=n.createRadialGradient(r*t.x,a*t.y,51.2,r*t.x,a*t.y,153.6),"white","blue"),n.fillRect(38.4,89.6,179.2,51.2)),t={x:.5,y:.1},i(s=n.createRadialGradient(r*t.x,a*t