1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[849],{2324:function(e,r,t){t.d(r,{j:function(){return o}});var v=t(7462),u=t(7294),a=t(9477),i=t(2466);let n={uniforms:{tDiffuse:{value:null},h:{value:1/512}},vertexShader:` 2 varying vec2 vUv; 3 4 void main() { 5 6 vUv = uv; 7 gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 ); 8 9 } 10 `,fragmentShader:` 11 uniform sampler2D tDiffuse; 12 uniform float h; 13 14 varying vec2 vUv; 15 16 void main() { 17 18 vec4 sum = vec4( 0.0 ); 19 20 sum += texture2D( tDiffuse, vec2( vUv.x - 4.0 * h, vUv.y ) ) * 0.051; 21 sum += texture2D( tDiffuse, vec2( vUv.x - 3.0 * h, vUv.y ) ) * 0.0918; 22 sum += texture2D( tDiffuse, vec2( vUv.x - 2.0 * h, vUv.y ) ) * 0.12245; 23 sum += texture2D( tDiffuse, vec2( vUv.x - 1.0 * h, vUv.y ) ) * 0.1531; 24 sum += texture2D( tDiffuse, vec2( vUv.x, vUv.y ) ) * 0.1633; 25 sum += texture2D( tDiffuse, vec2( vUv.x + 1.0 * h, vUv.y ) ) * 0.1531; 26 sum += texture2D( tDiffuse, vec2( vUv.x + 2.0 * h, vUv.y ) ) * 0.12245; 27 sum += texture2D( tDiffuse, vec2( vUv.x + 3.0 * h, vUv.y ) ) * 0.0918; 28 sum += texture2D( tDiffuse, vec2( vUv.x + 4.0 * h, vUv.y ) ) * 0.051; 29 30 gl_FragColor = sum; 31 32 } 33 `},s={uniforms:{tDiffuse:{value:null},v:{value:1/512}},vertexShader:` 34 varying vec2 vUv; 35 36 void main() { 37 38 vUv = uv; 39 gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 ); 40 41 } 42 `,fragmentShader:` 43 44 uniform sampler2D tDiffuse; 45 uniform float v; 46 47 varying vec2 vUv; 48 49 void main() { 50 51 vec4 sum = vec4( 0.0 ); 52 53 sum += texture2D( tDiffuse, vec2( vUv.x, vUv.y - 4.0 * v ) ) * 0.051; 54 sum += texture2D( tDiffuse, vec2( vUv.x, vUv.y - 3.0 * v ) ) * 0.0918; 55 sum += texture2D( tDiffuse, vec2( vUv.x, vUv.y - 2.0 * v ) ) * 0.12245; 56 sum += texture2D( tDiffuse, vec2( vUv.x, vUv.y - 1.0 * v ) ) * 0.1531; 57 sum += texture2D( tDiffuse, vec2( vUv.x, vUv.y ) ) * 0.1633; 58 sum += texture2D( tDiffuse, vec2( vUv.x, vUv.y + 1.0 * v ) ) * 0.1531; 59 sum += texture2D( tDiffuse, vec2( vUv.x, vUv.y + 2.0 * v ) ) * 0.12245; 60 sum += texture2D( tDiffuse, vec2( vUv.x, vUv.y + 3.0 * v ) ) * 0.0918; 61 sum += texture2D( tDiffuse, vec2( vUv.x, vUv.y + 4.0 * v ) ) * 0.051; 62 63 gl_FragColor = sum; 64 65 } 66 `},o=u.forwardRef(({scale:e=10,frames:r=1/0,opacity:t=1,width:o=1,height:l=1,blur:f=1,near:c=0,far:m=10,resolution:h=512,smooth:d=!0,color:x="#000000",depthWrite:D=!1,renderOrder:U,...p},g)=>{let y,M;let w=u.useRef(null),b=(0,i.A)(e=>e.scene),S=(0,i.A)(e=>e.gl),C=u.useRef(null);o*=Array.isArray(e)?e[0]:e||1,l*=Array.isArray(e)?e[1]:e||1;let[R,k,T,P,Z,_,E]=u.useMemo(()=>{let e=new a.WebGLRenderTarget(h,h),r=new a.WebGLRenderTarget(h,h);r.texture.generateMipmaps=e.texture.generateMipmaps=!1;let t=new a.PlaneGeometry(o,l).rotateX(Math.PI/2),v=new a.Mesh(t),u=new a.MeshDepthMaterial;u.depthTest=u.depthWrite=!1,u.onBeforeCompile=e=>{e.uniforms={...e.uniforms,ucolor:{value:new a.Color(x)}},e.fragmentShader=e.fragmentShader.replace("void main() {",`uniform vec3 ucolor; 67 void main() { 68 `),e.fragmentShader=e.fragmentShader.replace("vec4( vec3( 1.0 - fragCoordZ ), opacity );","vec4( ucolor * fragCoordZ * 2.0, ( 1.0 - fragCoordZ ) * 1.0 );")};let i=new a.ShaderMaterial(n),f=new a.ShaderMaterial(s);return f.depthTest=i.depthTest=!1,[e,t,u,v,i,f,r]},[h,o,l,e,x]),blurShadows=e=>{P.visible=!0,P.material=Z,Z.uniforms.tDiffuse.value=R.texture,Z.uniforms.h.value=1*e/256,S.setRenderTarget(E),S.render(P,C.current),P.material=_,_.uniforms.tDiffuse.value=E.texture,_.uniforms.v.value=1*e/256,S.setRenderTarget(R),S.render(P,C.current),P.visible=!1},A=0;return(0,i.C)(()=>{C.current&&(r===1/0||A<r)&&(A++,y=b.background,M=b.overrideMaterial,w.current.visible=!1,b.background=null,b.overrideMaterial=T,S.setRenderTarget(R),S.render(b,C.current),blurShadows(f),d&&blurShadows(.4*f),S.setRenderTarget(null),w.current.visible=!0,b.overrideMaterial=M,b.background=y)}),u.useImperativeHandle(g,()=>w.current,[]),u.createElement("group",(0,v.Z)({"rotation-x":Math.PI/2},p,{ref:w}),u.createElement("mesh",{renderOrder:U,geometry:k,scale:[1,-1,1],rotation:[-Math.PI/2,0,0]},u.createElement("meshBasicMaterial",{transparent:!0,map:R.texture,opacity:t,depthWrite:D})),u.createElement("orthographicCamera",{ref:C,args:[-o/2,o/2,l/2,-l/2,c,m]}))})},5849:function(e,r,t){t.r(r);
68var v=t(6811),u=t(2466),a=t(7294),i=t(6701),n=t(7186),s=t(2324),o=t(9477),l=t(9802);r.default=e=>{let{texture:r}=e,t=a.useRef(null),f=a.useRef(null),[c,m]=a.useState(!1);(0,u.C)(e=>{t.current&&(t.current.position.x=o.MathUtils.lerp(t.current.position.x,c?e.mouse.x/1:0,.2),t.current.position.y=o.MathUtils.lerp(t.current.position.y,Math.sin(e.clock.elapsedTime/.5)/2+(c?e.mouse.y/1:0),.005))});let h=(0,i.mE)(r);return(0,v.BX)(v.HY,{children:[(0,v.tZ)(n.c,{makeDefault:!0,position:[0,0,5],fov:60}),(0,v.BX)(a.Suspense,{fallback:null,children:[(0,v.BX)(l.a.mesh,{ref:t,onPointerOver:()=>m(!0),onPointerOut:()=>m(!1),scale:[.2,.2,.2],children:[(0,v.tZ)("sphereGeometry",{args:[5,64,64]}),(0,v.tZ)("meshBasicMaterial",{ref:f,attach:"material",map:h})]}),(0,v.tZ)(s.j,{rotation:[Math.PI/2,0,0],position:[0,-1.03,0],opacity:.85,color:"orange",width:6,height:6,blur:3.5,far:2.6})]})]})}}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.