0x7d73…03a1

All memos sent from and to 0x7d73…03a1.

You can't stare hard enough to see it all. Giant gas clouds roam the outer reaches of space. Finally, after all these years of human existence, we can see them clinging to the edge of the universe. What if this is the farthest we can see? In a Truman Show on a scale we can't comprehend, only now can we peer at the pixels that make up our reality. Space is rendered on a screen. I implore you to look closer... Nebulous is a piece of art that utilises shaders and techniques such as pigment blending, fractal brownian motion, domain warping, and pixelation to create astronomical phenomena in a digital universe. Press [S] to save
(()=>{const e=(e,r,t)=>{const a=e.createShader(t);if(e.shaderSource(a,r),e.compileShader(a),!e.getShaderParameter(a,e.COMPILE_STATUS))throw new Error(e.getShaderInfoLog(a));return a},r=(e,r)=>{const t=e.getProgramParameter(r,e.ACTIVE_UNIFORMS),a={};for(let c=-1;++c<t;){const t=e.getActiveUniform(r,c);a[t.name]={loc:e.getUniformLocation(r,t.name),type:t.type}}return a},t=(t,a,c,s={aUv:{data:new Float32Array([0,2,0,0,2,0]),mag:2},pos:{data:new Float32Array([-1,3,-1,-1,3,-1]),mag:2}})=>{const o=((r,t,a,c=null)=>{const s=r.createProgram(),o=e(r,t,r.VERTEX_SHADER),n=e(r,a,r.FRAGMENT_SHADER);if(r.attachShader(s,o),r.attachShader(s,n),r.deleteShader(o),r.deleteShader(n),c&&r.transformFeedbackVaryings(s,c,r.SEPARATE_ATTRIBS),r.linkProgram(s),!r.getProgramParameter(s,r.LINK_STATUS))throw new Error(r.getProgramInfoLog(s));return s})(t,a,c);return t.useProgram(o),t.bindVertexArray(((e,r,t)=>{const a=e.createVertexArray();return e.bindVertexArray(a),Object.keys(t).forEach(((a,c)=>{const s=((e,r,t=e.STATIC_DRAW,a=e.ARRAY_BUFFER)=>{const c=e.createBuffer();return e.bindBuffer(a,c),e.bufferData(a,r,t),c})(e,t[a].data);e.bindAttribLocation(r,c,a),e.enableVertexAttribArray(c),e.bindBuffer(e.ARRAY_BUFFER,s),e.vertexAttribPointer(c,t[a].mag,e.FLOAT,!1,0,0)})),a})(t,o,s)),{prog:o,uniforms:r(t,o),render(e=null,r=t.canvas.width,a=t.canvas.height,c=0,s=0){t.bindFramebuffer(t.FRAMEBUFFER,e),t.viewport(c,s,r,a),t.drawArrays(t.TRIANGLES,0,3)}}},a=document.createElement("canvas");a.style.setProperty("display","Block"),a.style.setProperty("max-height","100vh"),a.style.setProperty("max-width","100vw");const c=Math.min(Math.max(Math.min(window.innerWidth,window.innerHeight),2e3),1e4),s=new URLSearchParams(window.location.search).get("w"),o=s&&0!==s.length?Math.min(Math.max(s,2e3),1e4):c,n=Math.floor(1.5*o);a.width=o,a.height=n,document.body.appendChild(a),window.addEventListener("keydown",(e=>{"s"===e.key&&F()}));const i=a.getContext("webgl2",{alpha:!1,premultipliedAlpha:!0,depth:!1,stencil:!1,antialias:!1,preserveDrawingBuffer:!0});i.pixelStorei(i.UNPACK_FLIP_Y_WEBGL,!0);const v=new class{constructor(){this.useA=!1;let e=function(e){let r=parseInt(e.substring(0,8),16),t=parseInt(e.substring(8,16),16),a=parseInt(e.substring(16,24),16),c=parseInt(e.substring(24,32),16);return function(){r|=0,t|=0,a|=0,c|=0;let e=(r+t|0)+c|0;return c=c+1|0,r=t^t>>>9,t=a+(a<<3)|0,a=a<<21|a>>>11,a=a+e|0,(e>>>0)/4294967296}};this.prngA=new e(tokenData.hash.substring(2,34)),this.prngB=new e(tokenData.hash.substring(34,66));for(let e=0;e<1e6;e+=2)this.prngA(),this.prngB()}r(){return this.useA=!this.useA,this.useA?this.prngA():this.prngB()}rB(e,r){return e+(r-e)*this.r()}rA(){return 2*this.r()*3.14159265}randPick(e){return e[this.r()*e.length|0]}weightedPick(e){let r=[];for(let t in e)r=r.concat(new Array(e[t][1]).fill(e[t][0]));return this.randPick(r)}shuffleArr(e){let r,t=e.length;for(;0!=t;)r=this.r()*t|0,t--,[e[t],e[r]]=[e[r],e[t]];return e}},l=v.weightedPick([["Carina",2],["Bubble",1],["Rosette",2],["Trifid",1],["Eskimo",2],["Footprint",1],["Medusa",1],["Heart",2],["Coalsack",2],["Dragonfish",1],["Pleiades",2],["Prawn",2],["Orion",2],["Retina",2],["Omega",2],["Saturn",2],["Horsehead",1]]),f=v.weightedPick([[3,3],[5,2],[7,1]]),u=v.weightedPick([[.04,3],[.08,4],[.12,2],[.16,1]]),d=v.randPick([0,.2,.4,.6,.8,1]),h=v.randPick([.01,.2,.4,.6,.8,1]),x=v.weightedPick([[0,1],[.01,7],[.02,5],[.05,3],[.1,2]]),b=v.weightedPick([["White",2],["Cream",1]]),m={Red:{w:"vec3(0.886,0.176,0.271)",b:"vec3(0.263,0.471,0.471)"},Blue:{w:"vec3(0.165,0.435,0.678)",b:"vec3(0.784,0.304,0.304)"},Yellow:{w:"vec3(0.969,0.745,0.18)",b:"vec3(0.355,0.314,0.549)"},Cerulean:{w:"vec3(.475, .580, .710)",b:"vec3(.957, .064, .075)"},Cream:{w:"vec3(.953, .914, .792)",b:"vec3(.018, .020, .062)"},Purple:{w:"vec3(.345, .298, .467)",b:"vec3(.463, .089, .390)"},Magnolia:{w:"vec3(.902, .816, .345)",b:"vec3(.042, .051, .135)"},White:{w:"vec3(.949, .922, .904)",b:"vec3(.020, .018, .047)"},Green:{w:"vec3(.200, .263, .118)",b:"vec3(.721, .278, .762)"},Crimson:{w:"vec3(.714, .243, .212)",b:"vec3(.064, .528, .364)"},Black:{w:"vec3(.141, .122, .125)",b:"vec3(.121, .157, .145)"},Grey:{w:"vec3(0.169,0.161,0.169)",b:"vec3(0.843,0.843,0.843)"},Pink:{w:"vec3(0.949,0.584,0.569)",b:"vec3(0.459,0.303,0.255)"},Orange:{w:"vec3(0.729,0.278,0.192)",b:"vec3(0.287,0.392,0.686)"},Teal:{w:"vec3(0.153,0.635,0.569)",b:"vec3(0.790,0.765,0.851)"}},p={Carina:{arr:["Red","Blue","Yellow","Red","Blue","Yellow"]},Bubble:{arr:["Cerulean","Cream","Purple","Cerulean","Cream","Grey"]},Rosette:{arr:["Cerulean","Cream","Magnolia","Cerulean","Blue","Magnolia"]},Trifid:{arr:["Teal","Magnolia","Pink","Teal","Magnolia","Pink"]},Eskimo:{arr:["Crimson","Blue","White","Crimson","Magnolia","White"]},Footprint:{arr:["Purple","Magnolia","Orange","Purple","Magnolia","Orange"]},Medusa:{arr:["Cerulean","Cream","Blue","Cerulean","Cream","Grey"]},Heart:{arr:["Crimson","Pink","Cerulean","Red","Grey","Cerulean"]},Coalsack:{arr:["Black","White","White","Black","White","Black"]},Dragonfish:{arr:["Black","Orange","Magnolia","Cream","Magnolia","Crimson"]},Pleiades:{arr:["Teal","Crimson","Yellow","Orange","Cream","Teal"]},Prawn:{arr:["Pink","Purple","Red","Blue","Orange","Crimson"]},Orion:{arr:["Pink","Blue","Cream","Blue","Red","White"]},Retina:{arr:["Crimson","Purple","Teal","Crimson","Purple","Teal"]},Omega:{arr:["Crimson","Cerulean","Magnolia","Crimson","Cerulean","Magnolia"]},Saturn:{arr:["Yellow","Teal","Orange","Green","Yellow","Orange"]},Horsehead:{arr:["White","Magnolia","Crimson","Grey","Magnolia","Blue"]}},g=p[l].arr.slice(0,3),w=p[l].arr.slice(3,6);v.shuffleArr(g),v.shuffleArr(w);const y=[...g,...w],_="mat2 rot(float t){ return mat2(cos(t), -sin(t), sin(t), cos(t)); }",$="p^=p>>5;p*=0x88E2BC69U;p^=p>>18;p*=0x5F82F8D9U;p^=p>>25;p*=0x36424E81U;p^=p>>12;return p;",T=`uint hash1(uint p){${$}}uvec4 hash4(uvec4 p){${$}}float n21(vec2 p){uint s=hash1(floatBitsToUint(p.x))+hash1(floatBitsToUint(p.y)>>4);uint u=s^0x3F666300U;uint v=hash1(u);return f(v)/f(0xFFFFFFFFU);}vec4 n44(vec4 p){uint s=hash1(floatBitsToUint(p.x))+hash1(floatBitsToUint(p.y)>>4)+hash1(floatBitsToUint(p.z)>>8)+hash1(floatBitsToUint(p.w)>>16);uvec4 u=uvec4(s^0x3F666300U,s^0x9FE52AF2U,s^0xB06C6948U,s^0x2568A0B6U);uvec4 v=hash4(u);return vec4(v)/vec4(0xFFFFFFFFU);}`,B="vec3 m0(vec3 x){return x-floor(x*.00346020761246)*289.;} vec2 m0(vec2 x){return x-floor(x*.00346020761246)*289.;} vec3 m1(vec3 x){return m0(((x*34.)+10.)*x);} float sn(vec2 v,float q){v*=q;vec4 C=vec4(.211324865405187,.366025403784439,-.577350269189626,.024390243902439);vec2 i=floor(v+dot(v,C.yy));vec2 x0=v-i+dot(i,C.xx);vec2 i1=(x0.x>x0.y)?vec2(1.,0.):vec2(0.,1.);vec4 x12=x0.xyxy+C.xxzz;x12.xy-=i1;i=m0(i);vec3 p=m1(m1(i.y+vec3(0.,i1.y,1.))+i.x+vec3(0.,i1.x,1.));vec3 m=max(.5-vec3(dot(x0,x0),dot(x12.xy,x12.xy),dot(x12.zw,x12.zw)),0.);vec3 x=2.*fract(p*C.www)-1.;vec3 h=abs(x)-.5;vec3 a0=x-floor(x+.5);vec3 g=vec3(a0.x*x0.x+h.x*x0.y,a0.yz*x12.xz+h.yz*x12.yw);m*=m*m*m*(1.79284291400159-.85373472095314*(a0*a0+h*h));return 130.*dot(m,g)*.5+.5;}",A="float fbm(vec2 p,float t,float h,float w,float dW,float q){mat2 r=rot(t);float j=.5,s=0.,u=1.,v=0.;for(int i=-1;++i<6;){v+=j*sn(p,q);p*=r*w*u;s+=j;j*=h;u*=dW;}return v/s;}",E="#version 300 es\nin vec2 pos;out vec2 uv;void main(){uv=pos,gl_Position=vec4(pos*2.-1.,0,1);}",R=`#version 300 es\nprecision highp float;\n#define f(d) float(d)\nin vec2 uv;out vec4 col;${B}${_}${A}void main(){vec2 st=(uv*2.-1.);st*=rot(f(${v.rA()}));vec2 d=vec2(fbm(uv+vec2(${v.rB(2,128)},${v.rB(2,128)}),f(${v.rA()}),.49,1.4,1.4,1.2));st+=d*f(${d});vec2 d1=vec2(${v.rB(-1,1)},${v.rB(-1,1)}),d2=vec2(0.);float f1=f(${h}),f2=f(${u})+f(${u})*${v.r()>.5?"uv.y*uv.y*uv.y":"(1.-uv.y*uv.y*uv.y)"},f3=f(${f}),ds=f(${x/h});col=pow(vec4(fract(sn(st+sn(st+d2,f1),f2)*f3+.333),fract(sn(st+sn(st+d2+ds,f1),f2)*f3+.333),fract(sn(st+sn(st+d2+ds*2.,f1),f2)*f3+.333),1),vec4(1));}`,q=`#version 300 es\nprecision highp float;in vec2 uv;out vec4 col;uniform sampler2D t;\n#define bnd(p) texture(t, p)\n#define s2rgb(c) pow(c, vec3(2.2))\n#define rgb2s(c) pow(c, vec3(1. / 2.2))\n#define acoth(x) .5 * log((x + 1.) / (x - 1.))\n#define sinh_(x) (exp(x) - 1. / exp(x)) / 2.\n#define cosh_(x) (exp(x) + 1. / exp(x)) / 2.\n#define f(d) float(d)\nvec2 res=vec2(1.,1.5)*2000.;${T}${B}${_}${A}void KM(vec3 k,vec3 s,float h,out vec3 ia0,out vec3 ib0){vec3 a=k/s+1.0;vec3 b=sqrt(a*a-1.0);vec3 c=b*s*h;vec3 d=sinh_(c);vec3 f=a*d+b*cosh_(c);ia0=d/f;ib0=b/f;}void layer(vec3 ia0,vec3 ib0,vec3 ia1,vec3 ib1,out vec3 oa,out vec3 ob){vec3 a=1.0/(1.0-ia0*ia1);oa=ia0+ib0*ib0*ia1*a;ob=ib0*ib1*a;}void RGB_KM(vec3 rgb,vec3 op,out vec3 k,out vec3 s){vec3 bk=rgb*op;vec3 a=0.5*(rgb+(bk-rgb+1.0)/bk);vec3 b=sqrt(a*a-1.0);s=1.0/b*acoth((b*b-(a-rgb)*(a-1.0))/(b*(1.0-rgb)));k=s*(a-1.0);}void RGB(vec3 srgb,vec3 op,float h,out vec3 ia0,out vec3 ib0){vec3 k,s,rgb=s2rgb(srgb);RGB_KM(rgb,op,k,s);KM(k,s,h,ia0,ib0);}float smax(float x,float y,float t){float h=max(t-abs(x-y),0.)/t;return max(x,y)+h*h*t*(1./4.);}vec2 sabs(vec2 x){return sqrt(x*x+.01);}float sdRec(vec2 p,vec2 s,float x){vec2 q=sabs(p)-s;return length(max(q,0.0))+min(smax(q.x,q.y,x),0.);}float paper(vec2 st,float i){return fbm(st+vec2(${v.r()},${v.r()})*f(${v.rB(2,128)}),3.+f(${v.rA()}),.7,2.1,.99,20.)*.005*i+n21(floor(st*res*.2)/(res*.2)*9999.)*i*i*i;}vec2 normal(vec2 st,float i){vec2 dt=1./res;float e=1.;float o=paper(st,i);float dh=paper(st+dt*vec2(e,0),i);float dv=paper(st+dt*vec2(0,e),i);return (o-vec2(dh,dv))/dt;}float sdBox(vec2 st,vec2 b){vec2 d=abs(st)-b;return -length(max(d,0.))-min(max(d.x,d.y),0.);}vec3 watercolour(vec2 st,vec3 s){return pow(max(vec3(0),1.-s*10.),vec3(3))*smoothstep(-.00001,fbm(st,f(${v.rA()}),.5,2.5,1.1,1.)*.04,s);}vec4 blur(vec2 st,int n){vec4 col=vec4(0);float c=0.;float h;vec2 d;for(int x=-n/2;x<n/2;++x){for(int y=-n/2;y<n/2;++y){d=vec2(x,y);h=.63662*f(n*n)*exp(-((d.x*d.x+d.y*d.y)/(f(n*n)*.125)));col+=bnd(st+(2./vec2(4000))*d)*h;c+=h;}}return col/c;}vec3 sat(vec3 c,float a){return vec3(mix(vec3(dot(vec3(.2126,.7152,.0722),c)),c,1.+a));}vec3 cont(vec3 c,float a){return .5+(1.+a)*(c-.5);}vec3 brit(vec3 c,float a){return a+c;}vec3 expo(vec3 c,float a){return(1.+a)*c;}void main(){vec2 aspect=res/res.y;vec2 st=(uv*2.-1.)*aspect;vec4 bnds=blur(uv,40);vec3 sq=bnds.rgb;sq=smoothstep(.0,1.,bnds.rgb)+(n44(floor(uv.xyxy*res.xyxy*.2)/(res.xyxy*.2)*9999.).rgb-.5);float bpx=res.x-res.x*(sn(uv+vec2(${v.r()},${v.r()})*f(${v.rB(2,128)}),3.)*.05+.85);float brd=sdRec(uv*2.-1.,1.-bpx/res.xx,1.);sq*=smoothstep(.1,.0,brd);vec3 c=vec3(fbm(st+vec2(${v.r()},${v.r()})*f(${v.rB(2,128)})+fbm(st+vec2(${v.r()},${v.r()})*f(${v.rB(2,128)}),f(${v.rA()}),.5,2.,1.1,.9),f(${v.rA()}),.5,2.,1.1,.9),fbm(st+vec2(${v.r()},${v.r()})*f(${v.rB(2,128)})+fbm(st+vec2(${v.r()},${v.r()})*f(${v.rB(2,128)}),f(${v.rA()}),.5,2.,1.1,.9),f(${v.rA()}),.5,2.,1.1,.9),fbm(st+vec2(${v.r()},${v.r()})*f(${v.rB(2,128)})+fbm(st+vec2(${v.r()},${v.r()})*f(${v.rB(2,128)}),f(${v.rA()}),.5,2.,1.1,.9),f(${v.rA()}),.5,2.,1.1,.9));vec3 surfPos=vec3(uv,0.);float theta=f(${v.rA()});float rad=f(${v.r()})+2.;vec3 lightPos=vec3(aspect*vec2(rad*cos(theta),rad*sin(theta)),1.*max(res.x,res.y)/res.x);vec3 lightDir=normalize(lightPos-surfPos);vec3 surfNorm=normalize(vec3(normal(uv,dot(sq,vec3(0.299,0.587,0.114))),1));float diffuse=dot(surfNorm,lightDir);diffuse=diffuse*.35+.65;sq=smoothstep(.0001,1.,sq*c*.2);vec3 sq_=watercolour(st,sq);sq=1.-exp(-sq*10.);float sq0_=sq_.x*pow((1.-sq.y-sq_.y)*(1.-sq.z-sq_.z),.5)+sq.x;float sq1_=sq_.y*pow((1.-sq.x-sq_.x)*(1.-sq.z-sq_.z),.5)+sq.y;float sq2_=sq_.z*pow((1.-sq.y-sq_.y)*(1.-sq.x-sq_.x),.5)+sq.z;float th=f(${v.rA()});float rd=1.6;float ds=dot(sq,vec3(0.299,0.587,0.114));ds*=pow(distance(uv*2.-1.,vec2(rd*cos(th),rd*sin(th))),2.)*.25;sq0_+=ds*.5;sq1_+=ds*.5;sq2_+=ds*.5;vec3 r0,t0,r1,t1;vec3 c0k=vec3(${m[y[0]].w});vec3 c1k=vec3(${m[y[1]].w});vec3 c2k=vec3(${m[y[2]].w});vec3 c3k=vec3(${m[y[3]].w});vec3 c4k=vec3(${m[y[4]].w});vec3 c5k=vec3(${m[y[5]].w});vec3 c0s=vec3(${m[y[0]].b});vec3 c1s=vec3(${m[y[1]].b});vec3 c2s=vec3(${m[y[2]].b});vec3 c3s=vec3(${m[y[3]].b});vec3 c4s=vec3(${m[y[4]].b});vec3 c5s=vec3(${m[y[5]].b});float sn0=smoothstep(.05,.95,sn((uv*rot(${v.rA()}))+vec2(${v.r()},${v.r()})*f(${v.rB(2,128)}),f(${v.rB(1.75,2.25)})));sn0*=sn0;float sq3_=sq0_*(1.-sn0);sq0_*=sn0;float sq4_=sq1_*(1.-sn0);sq1_*=sn0;float sq5_=sq2_*(1.-sn0);sq2_*=sn0;RGB(${m[b].w},${m[b].b},.5,r0,t0);RGB(c0k,c0s,sq0_,r1,t1);layer(r0,t0,r1,t1,r0,t0);RGB(c1k,c1s,sq1_,r1,t1);layer(r0,t0,r1,t1,r0,t0);RGB(c2k,c2s,sq2_,r1,t1);layer(r0,t0,r1,t1,r0,t0);RGB(c3k,c3s,sq3_,r1,t1);layer(r0,t0,r1,t1,r0,t0);RGB(c4k,c4s,sq4_,r1,t1);layer(r0,t0,r1,t1,r0,t0);RGB(c5k,c5s,sq5_,r1,t1);layer(r0,t0,r1,t1,r0,t0);vec3 col_=(r0+t0);col_=expo(col_,.2);col_=sat(col_,.1);col_*=diffuse;col_=clamp(col_,0.,1.);col=vec4(col_,1);}`;let P={};P.bnds=t(i,E,R),P.post=t(i,E,q);let k={};k.bnds=((e,r=e.canvas.width,t=e.canvas.height,a=e.CLAMP_TO_EDGE,c=e.UNSIGNED_BYTE,s=e.RGBA,o=e.RGBA,n=null,i=e.LINEAR,v=i,l=!1)=>{const f=((e,r,t,a=e.CLAMP_TO_EDGE,c=e.UNSIGNED_BYTE,s=e.RGBA,o=e.RGBA,n=null,i=e.LINEAR,v=i,l=!1)=>{const f=e.createTexture();return e.bindTexture(e.TEXTURE_2D,f),e.texImage2D(e.TEXTURE_2D,0,o,r,t,0,s,c,n),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MAG_FILTER,i),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,v),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_S,a),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_T,a),l&&e.generateMipmap(e.TEXTURE_2D),f})(e,r,t,a,c,s,o,n,i,v,l),u=e.createFramebuffer();return e.bindFramebuffer(e.FRAMEBUFFER,u),e.framebufferTexture2D(e.FRAMEBUFFER,e.COLOR_ATTACHMENT0,e.TEXTURE_2D,f,0),{fbo:u,tex:f}})(i,i.canvas.width,i.canvas.height);let C=P.bnds;i.useProgram(C.prog),C.render(k.bnds.fbo),C=P.post,i.useProgram(C.prog),((e,r,t,a)=>{e.activeTexture(e.TEXTURE0+0),e.bindTexture(e.TEXTURE_2D,a),e.uniform1i(t,0)})(i,0,C.uniforms.t.loc,k.bnds.tex),C.render(),Object.keys(P).forEach((e=>{i.deleteProgram(P[e].prog)})),Object.keys(k).forEach((e=>{i.deleteTexture(k[e].tex),i.deleteFramebuffer(k[e].fbo)}));const F=()=>{console.log("Saving Image..."),a.toBlob((e=>{const r=document.createElement("a"),t=URL.createObjectURL(e);r.href=t,r.download=`${tokenData.hash}.png`,document.body.appendChild(r),r.click(),setTimeout((function(){document.body.removeChild(r),window.URL.revokeObjectURL(t)}),0)}))}})();
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