memoscan
← all memos

Memo 0xc4755f5a…3a8ccd on Ethereum

nessContrast( color.xyz, 0.02, 0.9 );\n color.xyz = gamma( color.xyz, 1.2 );\n color.xyz = mix( color.xyz - vec3( 0.05, 0.1, 0.1 ), color.xyz * vec3( 1.0, 1.0, 0.95 ), vignBlend );\n color.xyz *= quintColor( cd1, cd1, cd2, cd3, cd4, bright );\n\n } else if( tint == 4 ){\n color.xyz = vec3( pow( bright, 1.5 ), 0.0, 0.0 );\n\n } else if( tint == 5 ){\n color.xyz = vec3( bright, bright, ( bright ) * 0.8 + 0.2 ) * quintColor( cd0, cd1, cd2, cd2, cd4, bright );\n color.xyz = mix( color.xyz, vec3( bright ), bright );\n\n } else if( tint == 6 ){\n float br = bright - 0.1;\n color.xyz = vec3( pow( br, 1.0 ), pow( br, 2.0 ), pow( br, 4.0 ) );\n\n } else if( tint == 7 ){\n color.xyz = palette( bright, vec3( 0.5 ), vec3( 0.5 ), vec3( 1.0 ), vec3( 0.9, 1.0, 0.22 ) );\n //color.xyz = mix( vec3( bright ), color.xyz, sin( 2550.0 * ( 1.0 - bright ) ) * 0.5 + 0.5 );\n\n } else if( tint == 8 ){\n color.xyz = vec3( 1.0 ) - color.xyz;\n color.xyz = brightnessContrast( color.xyz, 0.15, 1.1 );\n\n }\n color.xyz *= u_renderPer;\n}\n"),attributes:{position:{data:qe,size:2},uv:{data:Ye,size:2}},count:3})},Ke=(n,e,r)=>{He.renderer.bindVAOs(),n.bindFramebuffer(n.FRAMEBUFFER,null),n.activeTexture(n.TEXTURE0),n.bindTexture(n.TEXTURE_2D,Ge.fb.read.targetTexture),n.activeTexture(n.TEXTURE1),n.bindTexture(n.TEXTURE_2D,In.fb.read.targetTexture),He.renderer.bindUniform("u_trails",0),He.renderer.bindUniform("u_noiseClouds",1),He.renderer.bindUniform("u_borderId",an.borderId),He.renderer.bindUniform("u_borderWidth",an.borderWidth),He.renderer.bindUniform("u_borderCornerRad",an.borderCornerRad),He.renderer.bindUniform("u_damage",an.damage),He.renderer.bindUniform("u_cloudiness",an.cloudiness),He.renderer.bindUniform("u_tint",an.tintId),He.renderer.bindUniform("u_res",[n.canvas.width,n.canvas.height]),He.renderer.bindUniform("u_renderPer",Math.sqrt(e)),He.renderer.render()},je=(n,e)=>{const r=n.canvas.toDataURL("image/png",1).replace("image/png","image/octet-stream"),t=document.createElement("a");t.download="image_"+e+".png",t.href=r,t.click()};const Je=new Float32Array([-1,-1,3,-1,-1,3]),Qe=new Float32Array([0,0,2,0,0,2]),Ze={},$e=(n,e,r)=>{Ze.renderer.bindVAOs(),n.bindFramebuffer(n.FRAMEBUFFER,null),Ze.renderer.bindUniform("u_preloadPer",e),Ze.renderer.bindUniform("u_prerenderPer",r),Ze.renderer.bindUniform("u_res",[n.canvas.width,n.canvas.height]),Ze.renderer.render()};console.log(tokenData.tokenId+" "+tokenData.hash);const nr=document.createElement("canvas"),er=nr.getContext("webgl2",{premultipliedAlpha:!1,alpha:!1,preserveDrawingBuffer:!0});function rr(n,e,r,t,o){return t+(o-t)*(n-e)/(r-e)}const tr=(n,e,r)=>Math.min(Math.max(n,e),r);let or=138+an.exposureFrames,ar=0,ir=0,sr=0,dr=0;document.addEventListener("keydown",(function(n){let e=n.key;"s"==e?je(er,tokenData.hash):"0"==e?dr=0:"1"==e?dr=1:"2"==e?dr=2:"3"==e?dr=3:"4"==e?dr=4:"5"==e&&(dr=5)}),!1),er.getExtension("EXT_color_buffer_float"),er.getExtension("OES_texture_float_linear"),er.getExtension("EXT_float_blend"),document.body.appendChild(nr);const ur=()=>{nr.width=1836,nr.height=2400,nr.style.maxWidth="100%",nr.style.maxHeight="100%"};window.addEventListener("resize",ur);const fr=e=>{requestAnimationFrame(fr);let r=tr(rr(sr,0,16,0,1),0,1),t=tr(rr(sr,17,137,0,1),0,1),o=tr(rr(sr,138,or,0,1),0,1);var a;0==sr?(a=er,Ze.renderer=s(a,{vert:n(sn),frag:n("#version 300 es\nprecision highp float;\n#define GLSLIFY 1\nin vec2 v_uv;\nout vec4 color;\n\nuniform float u_preloadPer;\nuniform float u_prerenderPer;\nuniform vec2 u_res;\n\n#define PI 3.14159265\n#define TAU 6.28318\n#define HPI 3.141592/2.0\nvoid main() {\n \n vec2 frag = gl_FragCoord.xy;\n vec2 uv = frag / u_res;\n\n float pl = u_preloadPer;\n float pr = min( u_prerenderPer * 1.25, 1.0 );\n float pout = max( ( u_prerenderPer * 1.25 ) - 1.0, 0.0 ) * 4.0;\n float fadeIn = clamp( pl * 5.0 - 0.2, 0.0, 1.0 );\n float fadeOut = 1.0 - pout;\n vec4 bg = vec4( 0.0, 0.0, 0.0, 1.0 );\n color.xyz = vec3( 0.0 );\n\n float r = 50.0;\n vec2 c = u_res/2.0;\n vec2 p = c + vec2( 0.0, ( 1.0 - pr ) * r * 2.2 );\n float d0 = distance( frag, c );\n float d1 = distance( frag, p );\n vec2 dir = normalize( c - frag );\n float angle = atan( dir.y, dir.x );\n float anglePer = fract( ( angle + PI ) / TAU - 0.25 );\n\n float loader = smoothstep( r*pl, r*pl-2.0, d0 ) * fadeIn;\n loader += sin( smoothstep( r - 1.0, r + 5.0, d0 ) * PI ) * pl * 0.5;\n\n loader += pow( smoothstep( r*(pr*35.0), 0.0, d0 ), 25.0 ) * pow( pr, 5.0 ) * 0.3; // outer glow\n loader += smoothstep( r + ( sin( angle * 50.0 ) * 0.5 + 0.5 ) * 50.0 * sin( pout * PI ) + 2.0, r, d0 ) * pow( pl, 55.0 );\n loader = min( loader, 1.0 );\n loader -= smoothstep( r+1.0, r-1.0, d1 );\n loader = max( loader, 0.0 );\n loader += smoothstep( r, r-2.0, d1 ) * 0.25 * pow( pr, 11.0 );\n loader *= fadeOut;\n\n color.xyz += vec3( loader );\n}\n"),attributes:{position:{data:Je,size:2},uv:{data:Qe,size:2}},count:3})):1==sr?zn(er):2==sr?ne(er):3==sr?ae(er):4==sr?Xn(er):5==sr?xe(er):6==sr?Se(er):7==sr?Mn(er):8==sr?(Bn(er),ee(er),ie(er),Pn(er),kn(er),ye(er),De(er)):9==sr?qn(er):10==sr?_n(er):11==sr?gn(er):12==sr?Le(er):13==sr?Ne(er):14==sr&&We(er),t<.999?$e(er,r,t):(1==ar?ir++:o=0,o<.999&&(Hn(er,o),pn(er),hn(er),Oe(er,o),Ve(er,ir,o,ar)),Ke(er,o)),sr++,138==sr&&(ar=1)};requestAnimationFrame(fr),ur();