PageSourceSearch

https://roccohuntofficial.com/_next/static/chunks/772.92805fbd2ee040ab.js

js roccohuntofficial.com collected 2026-10-02 22:38:31 UTC 6,538 bytes, 1 lines download raw bytes

1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[772],{4772:function(e,n,t){t.r(n),t.d(n,{default:function(){return m}});var i=t(2265),o=t(2079),r=t(1448),a=t(2046),s=t(2691),d=t(9033),l=t(9520),u=t(4035),c=t(9620);function m(){let e=(0,i.useRef)(null),n=(0,i.useRef)(null),t=(0,i.useRef)(null);return(0,i.useEffect)(()=>{let i,m,v,w,f,p,h;e.current||(e.current=new(window.AudioContext||window.webkitAudioContext)),t.current||(t.current=e.current.createChannelMerger(2),t.current.connect(e.current.destination)),(i=new o.xsS).background=new o.Ilk(16777215),(m=new o.cPb(75,window.innerWidth/window.innerHeight,.1,1e3)).position.set(0,0,3),(v=new r.CP7({antialias:!0})).setSize(window.innerWidth,window.innerHeight),v.shadowMap.enabled=!0,v.shadowMap.type=o.ntZ,document.body.appendChild(v.domElement);let g=new o.jyz({vertexShader:"\n      varying vec2 vUv;\n      void main() {\n        vUv = uv;\n        gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);\n      }\n    ",fragmentShader:"\n      precision mediump float;\n      uniform vec2 iResolution;\n      uniform float iTime;\n      uniform vec2 iMouse;\n      \n      #define iterations 17\n      #define formuparam 0.53\n\n      #define volsteps 10\n      #define stepsize 0.05\n\n      #define zoom   10.800\n      #define tile   0.850\n      #define speed  0.010 \n\n      #define brightness 0.0015\n      #define darkmatter 0.999\n      #define distfading 0.730\n      #define saturation 0.000\n\n      // Funzione principale che realizza il rendering volumetrico\n      void mainImage( out vec4 fragColor, in vec2 fragCoord ) {\n          // Coordinate normalizzate\n          vec2 uv = fragCoord.xy / iResolution.xy - 0.5;\n          uv.y *= iResolution.y / iResolution.x;\n          vec3 dir = vec3(uv * zoom, 1.0);\n          float time = iTime * speed + 0.25;\n      \n          // Rotazione basata sulla posizione del mouse\n          float a1 = 0.5 + iMouse.x / iResolution.x * 1.0;\n          float a2 = 0.8 + iMouse.y / iResolution.y * 1.0;\n          mat2 rot1 = mat2(cos(a1), sin(a1), -sin(a1), cos(a1));\n          mat2 rot2 = mat2(cos(a2), sin(a2), -sin(a2), cos(a2));\n          dir.xz *= rot1;\n          dir.xy *= rot2;\n          vec3 from = vec3(1.0, 0.5, 0.5);\n          from += vec3(time * 2.0, time, -2.0);\n          from.xz *= rot1;\n          from.xy *= rot2;\n      \n          // Rendering volumetrico\n          float s = 0.1, fade = 1.0;\n          vec3 v = vec3(0.0);\n          for (int r = 0; r < volsteps; r++) {\n              vec3 p = from + s * dir * 0.5;\n              p = abs(vec3(tile) - mod(p, vec3(tile * 2.0))); // Effetto tiling\n              float pa, a = pa = 0.0;\n              for (int i = 0; i < iterations; i++) {\n                  p = abs(p) / dot(p, p) - formuparam;\n                  a += abs(length(p) - pa);\n                  pa = length(p);\n              }\n              float dm = max(0.0, darkmatter - a * a * 0.001);\n              a *= a * a;\n              if (r > 6) fade *= 1.0 - dm;\n              v += fade;\n              v += vec3(s, s * s, s * s * s * s) * a * brightness * fade;\n              fade *= distfading;\n              s += stepsize;\n          }\n          v = mix(vec3(length(v)), v, saturation);\n          fragColor = vec4(v * 0.01, 1.0);\n      }\n      \n      void main(){\n          mainImage(gl_FragColor, gl_FragCoord.xy);\n      }\n    ",uniforms:{iResolution:{value:new o.FM8(window.innerWidth,window.innerHeight)},iTime:{value:0},iMouse:{value:new o.FM8(0,0)}},depthTest:!1,depthWrite:!1}),x=new o._12(200,200),y=new o.Kj0(x,g);function E(e){g.uniforms.iMouse.value.set(e.clientX,window.innerHeight-e.clientY)}function z(e){if(e.preventDefault(),e.touches.length>0){let n=e.touches[0];g.uniforms.iMouse.value.set(n.clientX,window.innerHeight-n.clientY)}}y.renderOrder=-1,i.add(y),y.position.set(0,0,-10),window.addEventListener("mousemove",E),window.addEventListener("touchmove",z,{passive:!1}),(h=new o.dpR().load("/sfondo.jpg")).mapping=o.dSO,h.colorSpace=o.KI_;let M=new o.Ox3(16777215,6);M.position.set(0,2,10),M.intensity=3,i.add(M);let b={x:null,y:null,t:null},C=i=>{let o,r;if(!e.current)return;i.stopPropagation(),i.touches&&i.touches.length>0?(o=i.touches[0].clientX,r=i.touches[0].clientY,i.preventDefault()):(o=i.clientX,r=i.clientY);let a=performance.now(),s=0;if(null!==b.x&&null!==b.y&&null!==b.t){let e=o-b.x,n=r-b.y,t=a-b.t;s=t>0?Math.sqrt(e*e+n*n)/t:0}b={x:o,y:r,t:a};let d=Math.min(60+100*s,100);n.current&&(n.current.stop(),n.current.disconnect()),n.current=e.current.createOscillator(),n.current.type="sine";let l=e.current.createGain();l.gain.value=.1,n.current.connect(l),l.connect(t.current,0,1),n.current.frequency.setValueAtTime(d,e.current.currentTime),n.current.start(),n.current.stop(e.current.currentTime+.2)};window.addEventListener("mousemove",C),window.addEventListener("touchmove",C,{passive:!1}),new a.E().load("/RH.glb",e=>{(p=e.scene).scale.set(4,4,4),p.position.set(0,.5,-1),p.castShadow=!0,p.receiveShadow=!0,p.envMap={textureEquirec:h},p.needsUpdate=!0,p.traverse(e=>{e.isMesh&&(e.material=new o.Wid({color:"#000",roughness:0,metalness:1,wireframe:!1,transparent:!0,opacity:1,envMap:h}),e.castShadow=!0,e.receiveShadow=!0)}),i.add(p)}),(w=new s.z(m,v.domElement)).enableDamping=!0,w.dampingFactor=.25,w.enableZoom=!0,(f=new d.x(v)).setSize(window.innerWidth,window.innerHeight);let R=new l.C(i,m);f.addPass(R),new c.d;let S=new u.C;S.enabled=!1,S.goWild=!1,S.dtSize=1,f.addPass(S);let L=()=>{S.enabled=!0,setTimeout(()=>{S.enabled=!1},1500)};function H(){m.aspect=window.innerWidth/window.innerHeight,m.updateProjectionMatrix(),v.setSize(window.innerWidth,window.innerHeight),f.setSize(window.innerWidth,window.innerHeight)}return window.addEventListener("transition",L),window.addEventListener("resize",H),function e(n){let t=.001*n;g.uniforms.iTime.value=t/8,requestAnimationFrame(e),p&&(p.rotation.y=.5*t),w.update(),f.render()}(),()=>{v.domElement&&v.domElement.parentNode&&v.domElement.parentNode.removeChild(v.domElement),window.removeEventListener("resize",H),i.traverse(e=>
1{if(e.isMesh){if(e.geometry.dispose(),e.material.isMaterial)e.material.dispose();else for(let n of e.material)n.dispose()}}),window.removeEventListener("transition",L),w.dispose(),v.dispose(),f.dispose(),window.removeEventListener("mousemove",E),window.removeEventListener("touchmove",z,{passive:!1}),window.removeEventListener("mousemove",C),window.removeEventListener("touchmove",C,{passive:!1})}},[]),null}}}]);

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.