Domain three-shadenodeloader.donmccurdy.com
United States
AMAZON-02
Software information

Vercel

tcp/443 tcp/80

  • MacOS file listing through .DS_Store file
    First seen 2022-08-28 13:51
    Last seen 2024-09-18 19:54
    Open for 752 days
    • Severity: medium
      Fingerprint: 5f32cf5d6962f09c92dfb71592dfb715025a9503ae00e62214573080d6c5ec25

      Found 45 files trough .DS_Store spidering:
      
      /assets
      /assets/environments
      /assets/environments/FootprintCourt
      /assets/environments/FootprintCourt/negx.hdr
      /assets/environments/FootprintCourt/negy.hdr
      /assets/environments/FootprintCourt/negz.hdr
      /assets/environments/FootprintCourt/posx.hdr
      /assets/environments/FootprintCourt/posy.hdr
      /assets/environments/FootprintCourt/posz.hdr
      /assets/GrassBlade.glb
      /assets/RoundedCube.glb
      /assets/shaders
      /assets/shaders/Checkers
      /assets/shaders/Clouds
      /assets/shaders/Dissolve
      /assets/shaders/Dissolve/Gradient.png
      /assets/shaders/Dissolve/Graph.json
      /assets/shaders/Dissolve/Icon.png
      /assets/shaders/Dissolve/Icon@2x.png
      /assets/shaders/Dissolve/Shader.lua
      /assets/shaders/Dissolve/Unity.shader
      /assets/shaders/Explosion
      /assets/shaders/FakeVolume
      /assets/shaders/Grass
      /assets/shaders/Hologram
      /assets/shaders/InstancingGrid
      /assets/shaders/MaskBlend
      /assets/shaders/Ripple
      /assets/shaders/VolumetricFog
      /assets/shaders/Wireframe
      /assets/shaders/WireRipple
      /assets/Suzanne.glb
      /index.html
      /lib
      /LICENSE
      /node_modules
      /nodes
      /Noise2DNode.js
      /Noise3DNode.js
      /package-lock.json
      /package.json
      /README.md
      /RemapNode.js
      /ShadeNodeLoader.js
      /shaders
      Found on 2024-09-18 19:54
    • Severity: low
      Fingerprint: 5f32cf5d6962f09c87f05b7087f05b706e7a2760d9e1a3616365b3d522b3c90e

      Found 26 files trough .DS_Store spidering:
      
      /assets
      /assets/environments
      /assets/environments/FootprintCourt
      /assets/environments/FootprintCourt/negx.hdr
      /assets/environments/FootprintCourt/negy.hdr
      /assets/environments/FootprintCourt/negz.hdr
      /assets/environments/FootprintCourt/posx.hdr
      /assets/environments/FootprintCourt/posy.hdr
      /assets/environments/FootprintCourt/posz.hdr
      /assets/GrassBlade.glb
      /assets/RoundedCube.glb
      /assets/shaders
      /assets/Suzanne.glb
      /index.html
      /lib
      /LICENSE
      /node_modules
      /nodes
      /Noise2DNode.js
      /Noise3DNode.js
      /package-lock.json
      /package.json
      /README.md
      /RemapNode.js
      /ShadeNodeLoader.js
      /shaders
      Found on 2024-03-21 15:34
  • Git configuration and history exposed
    First seen 2022-06-19 21:50
    Last seen 2024-09-18 19:54
    Open for 821 days
    • Severity: medium
      Fingerprint: 2580fa947178c88602b1737db148c044b81b03713d63bb82370a6522ccf6bc9b

      [core]
      	repositoryformatversion = 0
      	filemode = true
      	bare = false
      	logallrefupdates = true
      	ignorecase = true
      	precomposeunicode = true
      [branch "master"]
      	rebase = true
      [remote "origin"]
      	url = git@github.com:donmccurdy/three-shadenodeloader.git
      	fetch = +refs/heads/*:refs/remotes/origin/*
      
      Found on 2024-09-18 19:54
      292 Bytes
  • Open service 76.76.21.9:443 · three-shadenodeloader.donmccurdy.com

    2024-09-14 22:25

    HTTP/1.1 200 OK
    Accept-Ranges: bytes
    Access-Control-Allow-Origin: *
    Age: 15317439
    Cache-Control: public, max-age=0, must-revalidate
    Content-Disposition: inline; filename="index"
    Content-Length: 10577
    Content-Type: text/html; charset=utf-8
    Date: Sat, 14 Sep 2024 22:25:16 GMT
    Etag: W/"0b0fe30a17009abb27626fcc2e6f8e35ba1ea851"
    Server: Vercel
    Strict-Transport-Security: max-age=63072000
    X-Vercel-Cache: HIT
    X-Vercel-Id: fra1::2vwqt-1726352716594-e19ba3fcee43
    Connection: close
    
    Page title: three.js • examples • shade node loader
    
    <!DOCTYPE html>
    <meta charset="utf-8">
    <title>three.js • examples • shade node loader</title>
    <style>
      html, body {
        margin: 0;
        padding: 0;
        background: #000;
        width: 100%;
        height: 100%;
        overflow: hidden;
      }
      p {
        margin: 0;
      }
      .attribution {
        width: 100%;
        max-width: 400px;
        color: #424242;
        position: fixed;
        bottom: 2em;
        left: 0;
        right: 0;
        margin: 0 auto;
        background: rgba(255,255,255, 0.8);
        padding: 0.5em 1em 0.7em;
        border-radius: 2px;
        font-family: monospace;
        text-align: center;
        max-width: 402px;
      }
    </style>
    <script src="./node_modules/dat.gui/build/dat.gui.js"></script>
    <script src="./node_modules/three/build/three.js"></script>
    <script src="./node_modules/three/examples/js/controls/OrbitControls.js"></script>
    <script src="./node_modules/three/examples/js/loaders/GLTFLoader.js"></script>
    <script src="./node_modules/three/examples/js/loaders/RGBELoader.js"></script>
    <script src="./node_modules/three/examples/js/loaders/HDRCubeTextureLoader.js"></script>
    <script src="./node_modules/three/examples/js/pmrem/PMREMGenerator.js"></script>
    <script src="./node_modules/three/examples/js/pmrem/PMREMCubeUVPacker.js"></script>
    
    <script type="module">
      import { ShadeNodeLoader } from './ShadeNodeLoader.js';
      import { TextureNode, TimerNode, FloatNode, Vector3Node } from './node_modules/three/examples/js/nodes/Nodes.js';
    
      const renderer = new THREE.WebGLRenderer( { antialias: true } );
      renderer.setSize( window.innerWidth, window.innerHeight );
      renderer.setClearColor( 0x202020 );
      renderer.physicallyCorrectLights = true;
      renderer.gammaOutput = true;
      renderer.gammaFactor = 2.2;
      document.body.appendChild( renderer.domElement );
    
      const timerNode = new TimerNode( 1.0 );
      const micNode = new FloatNode( 0.01 );
    
      const otherProps = [];
    
      let mesh, geometry, material, envMap;
    
      //
    
      const props = {
        suzanne: null,
        grass: null,
        roundedCube: null,
        cube: new THREE.BoxBufferGeometry(1.8, 1.8, 1.8),
        sphere: new THREE.SphereBufferGeometry( 1.8, 32, 32 ),
        plane: new THREE.PlaneBufferGeometry( 5, 5, 64, 64 ).rotateX( - 1 * Math.PI / 2 )
      };
    
      const examples = [
    
        {name: 'Instancing Grid', shader: 'assets/shaders/InstancingGrid/Graph.json', prop: 'roundedCube', camera: [ 25, 20, 25 ], grid: false },
        {name: 'Checkers', shader: 'assets/shaders/Checkers/Graph.json', prop: 'cube', camera: [ 5, 3, 4 ] },
        {name: 'Dissolve', shader: 'assets/shaders/Dissolve/Graph.json', prop: 'suzanne', camera: [ 5, 3, 4 ] },
        {name: 'Fake Volume', shader: 'assets/shaders/FakeVolume/Graph.json', prop: 'sphere', camera: [ 5, 3, 4 ] },
        {name: 'Grass', shader: 'assets/shaders/Grass/Graph.json', prop: 'grass', camera: [ 10, 8, 10 ] },
        {name: 'Hologram', shader: 'assets/shaders/Hologram/Graph.json', prop: 'suzanne', camera: [ 5, 3, 4 ] },
        {name: 'Wire Ripple', shader: 'assets/shaders/WireRipple/Graph.json', prop: 'plane', camera: [ 5, 3, 4 ] },
        {name: 'Wireframe', shader: 'assets/shaders/Wireframe/Graph.json', prop: 'sphere', camera: [ 5, 3, 4 ] },
        // {name: '[broken] Clouds', shader: 'assets/shaders/Clouds/Graph.json', prop: 'cube', camera: [ 5, 3, 4 ] },
        {name: '[broken] Explosion', shader: 'assets/shaders/Explosion/Graph.json', prop: 'sphere', camera: [ 25, 20, 25 ] },
        // {name: '[broken] Mask Blend', shader: 'assets/shaders/MaskBlend/Graph.json', prop: 'cube', camera: [ 5, 3, 4 ] },
        {name: '[broken] Ripple', shader: 'assets/shaders/Ripple/Graph.json', prop: 'plane', camera: [ 5, 3, 4 ] },
    
      ];
      let selectedExample = examples[ 0 ];
      const api = { model: selectedExample.name };
      const gui = new dat.GUI();
      gui.add( api, 'model', examples.map( ( d ) => d.name ) ).onChange( () => {
        selectedExample = examples.find( ( d ) => api.model === d.name );
        mesh.parent.remove( mesh );
        mesh.geometry.dispose();
        mesh.material.dispose();
        otherProps.forEach( ( o ) => o.parent.remove( o ) );
        otherProps.length = 0;
    
        loadShader( selectedExample.shader ).then( ( _material ) => {
    
          mat
    Found 2024-09-14 by HttpPlugin
    Create report
  • Open service 76.76.21.9:443 · three-shadenodeloader.donmccurdy.com

    2024-09-14 19:56

    HTTP/1.1 200 OK
    Accept-Ranges: bytes
    Access-Control-Allow-Origin: *
    Age: 7185641
    Cache-Control: public, max-age=0, must-revalidate
    Content-Disposition: inline; filename="index"
    Content-Length: 10577
    Content-Type: text/html; charset=utf-8
    Date: Sat, 14 Sep 2024 19:56:24 GMT
    Etag: W/"0b0fe30a17009abb27626fcc2e6f8e35ba1ea851"
    Server: Vercel
    Strict-Transport-Security: max-age=63072000
    X-Vercel-Cache: HIT
    X-Vercel-Id: iad1::72rb8-1726343784825-27b30850030a
    Connection: close
    
    Page title: three.js • examples • shade node loader
    
    <!DOCTYPE html>
    <meta charset="utf-8">
    <title>three.js • examples • shade node loader</title>
    <style>
      html, body {
        margin: 0;
        padding: 0;
        background: #000;
        width: 100%;
        height: 100%;
        overflow: hidden;
      }
      p {
        margin: 0;
      }
      .attribution {
        width: 100%;
        max-width: 400px;
        color: #424242;
        position: fixed;
        bottom: 2em;
        left: 0;
        right: 0;
        margin: 0 auto;
        background: rgba(255,255,255, 0.8);
        padding: 0.5em 1em 0.7em;
        border-radius: 2px;
        font-family: monospace;
        text-align: center;
        max-width: 402px;
      }
    </style>
    <script src="./node_modules/dat.gui/build/dat.gui.js"></script>
    <script src="./node_modules/three/build/three.js"></script>
    <script src="./node_modules/three/examples/js/controls/OrbitControls.js"></script>
    <script src="./node_modules/three/examples/js/loaders/GLTFLoader.js"></script>
    <script src="./node_modules/three/examples/js/loaders/RGBELoader.js"></script>
    <script src="./node_modules/three/examples/js/loaders/HDRCubeTextureLoader.js"></script>
    <script src="./node_modules/three/examples/js/pmrem/PMREMGenerator.js"></script>
    <script src="./node_modules/three/examples/js/pmrem/PMREMCubeUVPacker.js"></script>
    
    <script type="module">
      import { ShadeNodeLoader } from './ShadeNodeLoader.js';
      import { TextureNode, TimerNode, FloatNode, Vector3Node } from './node_modules/three/examples/js/nodes/Nodes.js';
    
      const renderer = new THREE.WebGLRenderer( { antialias: true } );
      renderer.setSize( window.innerWidth, window.innerHeight );
      renderer.setClearColor( 0x202020 );
      renderer.physicallyCorrectLights = true;
      renderer.gammaOutput = true;
      renderer.gammaFactor = 2.2;
      document.body.appendChild( renderer.domElement );
    
      const timerNode = new TimerNode( 1.0 );
      const micNode = new FloatNode( 0.01 );
    
      const otherProps = [];
    
      let mesh, geometry, material, envMap;
    
      //
    
      const props = {
        suzanne: null,
        grass: null,
        roundedCube: null,
        cube: new THREE.BoxBufferGeometry(1.8, 1.8, 1.8),
        sphere: new THREE.SphereBufferGeometry( 1.8, 32, 32 ),
        plane: new THREE.PlaneBufferGeometry( 5, 5, 64, 64 ).rotateX( - 1 * Math.PI / 2 )
      };
    
      const examples = [
    
        {name: 'Instancing Grid', shader: 'assets/shaders/InstancingGrid/Graph.json', prop: 'roundedCube', camera: [ 25, 20, 25 ], grid: false },
        {name: 'Checkers', shader: 'assets/shaders/Checkers/Graph.json', prop: 'cube', camera: [ 5, 3, 4 ] },
        {name: 'Dissolve', shader: 'assets/shaders/Dissolve/Graph.json', prop: 'suzanne', camera: [ 5, 3, 4 ] },
        {name: 'Fake Volume', shader: 'assets/shaders/FakeVolume/Graph.json', prop: 'sphere', camera: [ 5, 3, 4 ] },
        {name: 'Grass', shader: 'assets/shaders/Grass/Graph.json', prop: 'grass', camera: [ 10, 8, 10 ] },
        {name: 'Hologram', shader: 'assets/shaders/Hologram/Graph.json', prop: 'suzanne', camera: [ 5, 3, 4 ] },
        {name: 'Wire Ripple', shader: 'assets/shaders/WireRipple/Graph.json', prop: 'plane', camera: [ 5, 3, 4 ] },
        {name: 'Wireframe', shader: 'assets/shaders/Wireframe/Graph.json', prop: 'sphere', camera: [ 5, 3, 4 ] },
        // {name: '[broken] Clouds', shader: 'assets/shaders/Clouds/Graph.json', prop: 'cube', camera: [ 5, 3, 4 ] },
        {name: '[broken] Explosion', shader: 'assets/shaders/Explosion/Graph.json', prop: 'sphere', camera: [ 25, 20, 25 ] },
        // {name: '[broken] Mask Blend', shader: 'assets/shaders/MaskBlend/Graph.json', prop: 'cube', camera: [ 5, 3, 4 ] },
        {name: '[broken] Ripple', shader: 'assets/shaders/Ripple/Graph.json', prop: 'plane', camera: [ 5, 3, 4 ] },
    
      ];
      let selectedExample = examples[ 0 ];
      const api = { model: selectedExample.name };
      const gui = new dat.GUI();
      gui.add( api, 'model', examples.map( ( d ) => d.name ) ).onChange( () => {
        selectedExample = examples.find( ( d ) => api.model === d.name );
        mesh.parent.remove( mesh );
        mesh.geometry.dispose();
        mesh.material.dispose();
        otherProps.forEach( ( o ) => o.parent.remove( o ) );
        otherProps.length = 0;
    
        loadShader( selectedExample.shader ).then( ( _material ) => {
    
          mat
    Found 2024-09-14 by HttpPlugin
    Create report
  • Open service 76.76.21.61:80 · three-shadenodeloader.donmccurdy.com

    2024-09-13 18:38

    HTTP/1.0 308 Permanent Redirect
    Content-Type: text/plain
    Location: https://three-shadenodeloader.donmccurdy.com/
    Refresh: 0;url=https://three-shadenodeloader.donmccurdy.com/
    server: Vercel
    
    
    Redirecting...
    Found 2024-09-13 by HttpPlugin
    Create report
  • Open service 76.76.21.241:80 · three-shadenodeloader.donmccurdy.com

    2024-09-13 18:38

    HTTP/1.0 308 Permanent Redirect
    Content-Type: text/plain
    Location: https://three-shadenodeloader.donmccurdy.com/
    Refresh: 0;url=https://three-shadenodeloader.donmccurdy.com/
    server: Vercel
    
    
    Redirecting...
    Found 2024-09-13 by HttpPlugin
    Create report
  • Open service 76.76.21.61:443 · three-shadenodeloader.donmccurdy.com

    2024-09-13 18:38

    HTTP/1.1 200 OK
    Accept-Ranges: bytes
    Access-Control-Allow-Origin: *
    Age: 15217437
    Cache-Control: public, max-age=0, must-revalidate
    Content-Disposition: inline; filename="index"
    Content-Length: 10577
    Content-Type: text/html; charset=utf-8
    Date: Fri, 13 Sep 2024 18:38:34 GMT
    Etag: W/"0b0fe30a17009abb27626fcc2e6f8e35ba1ea851"
    Server: Vercel
    Strict-Transport-Security: max-age=63072000
    X-Vercel-Cache: HIT
    X-Vercel-Id: fra1::hmkxn-1726252714343-21f2e19d4a92
    Connection: close
    
    Page title: three.js • examples • shade node loader
    
    <!DOCTYPE html>
    <meta charset="utf-8">
    <title>three.js • examples • shade node loader</title>
    <style>
      html, body {
        margin: 0;
        padding: 0;
        background: #000;
        width: 100%;
        height: 100%;
        overflow: hidden;
      }
      p {
        margin: 0;
      }
      .attribution {
        width: 100%;
        max-width: 400px;
        color: #424242;
        position: fixed;
        bottom: 2em;
        left: 0;
        right: 0;
        margin: 0 auto;
        background: rgba(255,255,255, 0.8);
        padding: 0.5em 1em 0.7em;
        border-radius: 2px;
        font-family: monospace;
        text-align: center;
        max-width: 402px;
      }
    </style>
    <script src="./node_modules/dat.gui/build/dat.gui.js"></script>
    <script src="./node_modules/three/build/three.js"></script>
    <script src="./node_modules/three/examples/js/controls/OrbitControls.js"></script>
    <script src="./node_modules/three/examples/js/loaders/GLTFLoader.js"></script>
    <script src="./node_modules/three/examples/js/loaders/RGBELoader.js"></script>
    <script src="./node_modules/three/examples/js/loaders/HDRCubeTextureLoader.js"></script>
    <script src="./node_modules/three/examples/js/pmrem/PMREMGenerator.js"></script>
    <script src="./node_modules/three/examples/js/pmrem/PMREMCubeUVPacker.js"></script>
    
    <script type="module">
      import { ShadeNodeLoader } from './ShadeNodeLoader.js';
      import { TextureNode, TimerNode, FloatNode, Vector3Node } from './node_modules/three/examples/js/nodes/Nodes.js';
    
      const renderer = new THREE.WebGLRenderer( { antialias: true } );
      renderer.setSize( window.innerWidth, window.innerHeight );
      renderer.setClearColor( 0x202020 );
      renderer.physicallyCorrectLights = true;
      renderer.gammaOutput = true;
      renderer.gammaFactor = 2.2;
      document.body.appendChild( renderer.domElement );
    
      const timerNode = new TimerNode( 1.0 );
      const micNode = new FloatNode( 0.01 );
    
      const otherProps = [];
    
      let mesh, geometry, material, envMap;
    
      //
    
      const props = {
        suzanne: null,
        grass: null,
        roundedCube: null,
        cube: new THREE.BoxBufferGeometry(1.8, 1.8, 1.8),
        sphere: new THREE.SphereBufferGeometry( 1.8, 32, 32 ),
        plane: new THREE.PlaneBufferGeometry( 5, 5, 64, 64 ).rotateX( - 1 * Math.PI / 2 )
      };
    
      const examples = [
    
        {name: 'Instancing Grid', shader: 'assets/shaders/InstancingGrid/Graph.json', prop: 'roundedCube', camera: [ 25, 20, 25 ], grid: false },
        {name: 'Checkers', shader: 'assets/shaders/Checkers/Graph.json', prop: 'cube', camera: [ 5, 3, 4 ] },
        {name: 'Dissolve', shader: 'assets/shaders/Dissolve/Graph.json', prop: 'suzanne', camera: [ 5, 3, 4 ] },
        {name: 'Fake Volume', shader: 'assets/shaders/FakeVolume/Graph.json', prop: 'sphere', camera: [ 5, 3, 4 ] },
        {name: 'Grass', shader: 'assets/shaders/Grass/Graph.json', prop: 'grass', camera: [ 10, 8, 10 ] },
        {name: 'Hologram', shader: 'assets/shaders/Hologram/Graph.json', prop: 'suzanne', camera: [ 5, 3, 4 ] },
        {name: 'Wire Ripple', shader: 'assets/shaders/WireRipple/Graph.json', prop: 'plane', camera: [ 5, 3, 4 ] },
        {name: 'Wireframe', shader: 'assets/shaders/Wireframe/Graph.json', prop: 'sphere', camera: [ 5, 3, 4 ] },
        // {name: '[broken] Clouds', shader: 'assets/shaders/Clouds/Graph.json', prop: 'cube', camera: [ 5, 3, 4 ] },
        {name: '[broken] Explosion', shader: 'assets/shaders/Explosion/Graph.json', prop: 'sphere', camera: [ 25, 20, 25 ] },
        // {name: '[broken] Mask Blend', shader: 'assets/shaders/MaskBlend/Graph.json', prop: 'cube', camera: [ 5, 3, 4 ] },
        {name: '[broken] Ripple', shader: 'assets/shaders/Ripple/Graph.json', prop: 'plane', camera: [ 5, 3, 4 ] },
    
      ];
      let selectedExample = examples[ 0 ];
      const api = { model: selectedExample.name };
      const gui = new dat.GUI();
      gui.add( api, 'model', examples.map( ( d ) => d.name ) ).onChange( () => {
        selectedExample = examples.find( ( d ) => api.model === d.name );
        mesh.parent.remove( mesh );
        mesh.geometry.dispose();
        mesh.material.dispose();
        otherProps.forEach( ( o ) => o.parent.remove( o ) );
        otherProps.length = 0;
    
        loadShader( selectedExample.shader ).then( ( _material ) => {
    
          mat
    Found 2024-09-13 by HttpPlugin
    Create report
  • Open service 76.76.21.241:443 · three-shadenodeloader.donmccurdy.com

    2024-09-13 18:38

    HTTP/1.1 200 OK
    Accept-Ranges: bytes
    Access-Control-Allow-Origin: *
    Age: 15217437
    Cache-Control: public, max-age=0, must-revalidate
    Content-Disposition: inline; filename="index"
    Content-Length: 10577
    Content-Type: text/html; charset=utf-8
    Date: Fri, 13 Sep 2024 18:38:34 GMT
    Etag: W/"0b0fe30a17009abb27626fcc2e6f8e35ba1ea851"
    Server: Vercel
    Strict-Transport-Security: max-age=63072000
    X-Vercel-Cache: HIT
    X-Vercel-Id: fra1::cfdcw-1726252714299-d55927ed99c6
    Connection: close
    
    Page title: three.js • examples • shade node loader
    
    <!DOCTYPE html>
    <meta charset="utf-8">
    <title>three.js • examples • shade node loader</title>
    <style>
      html, body {
        margin: 0;
        padding: 0;
        background: #000;
        width: 100%;
        height: 100%;
        overflow: hidden;
      }
      p {
        margin: 0;
      }
      .attribution {
        width: 100%;
        max-width: 400px;
        color: #424242;
        position: fixed;
        bottom: 2em;
        left: 0;
        right: 0;
        margin: 0 auto;
        background: rgba(255,255,255, 0.8);
        padding: 0.5em 1em 0.7em;
        border-radius: 2px;
        font-family: monospace;
        text-align: center;
        max-width: 402px;
      }
    </style>
    <script src="./node_modules/dat.gui/build/dat.gui.js"></script>
    <script src="./node_modules/three/build/three.js"></script>
    <script src="./node_modules/three/examples/js/controls/OrbitControls.js"></script>
    <script src="./node_modules/three/examples/js/loaders/GLTFLoader.js"></script>
    <script src="./node_modules/three/examples/js/loaders/RGBELoader.js"></script>
    <script src="./node_modules/three/examples/js/loaders/HDRCubeTextureLoader.js"></script>
    <script src="./node_modules/three/examples/js/pmrem/PMREMGenerator.js"></script>
    <script src="./node_modules/three/examples/js/pmrem/PMREMCubeUVPacker.js"></script>
    
    <script type="module">
      import { ShadeNodeLoader } from './ShadeNodeLoader.js';
      import { TextureNode, TimerNode, FloatNode, Vector3Node } from './node_modules/three/examples/js/nodes/Nodes.js';
    
      const renderer = new THREE.WebGLRenderer( { antialias: true } );
      renderer.setSize( window.innerWidth, window.innerHeight );
      renderer.setClearColor( 0x202020 );
      renderer.physicallyCorrectLights = true;
      renderer.gammaOutput = true;
      renderer.gammaFactor = 2.2;
      document.body.appendChild( renderer.domElement );
    
      const timerNode = new TimerNode( 1.0 );
      const micNode = new FloatNode( 0.01 );
    
      const otherProps = [];
    
      let mesh, geometry, material, envMap;
    
      //
    
      const props = {
        suzanne: null,
        grass: null,
        roundedCube: null,
        cube: new THREE.BoxBufferGeometry(1.8, 1.8, 1.8),
        sphere: new THREE.SphereBufferGeometry( 1.8, 32, 32 ),
        plane: new THREE.PlaneBufferGeometry( 5, 5, 64, 64 ).rotateX( - 1 * Math.PI / 2 )
      };
    
      const examples = [
    
        {name: 'Instancing Grid', shader: 'assets/shaders/InstancingGrid/Graph.json', prop: 'roundedCube', camera: [ 25, 20, 25 ], grid: false },
        {name: 'Checkers', shader: 'assets/shaders/Checkers/Graph.json', prop: 'cube', camera: [ 5, 3, 4 ] },
        {name: 'Dissolve', shader: 'assets/shaders/Dissolve/Graph.json', prop: 'suzanne', camera: [ 5, 3, 4 ] },
        {name: 'Fake Volume', shader: 'assets/shaders/FakeVolume/Graph.json', prop: 'sphere', camera: [ 5, 3, 4 ] },
        {name: 'Grass', shader: 'assets/shaders/Grass/Graph.json', prop: 'grass', camera: [ 10, 8, 10 ] },
        {name: 'Hologram', shader: 'assets/shaders/Hologram/Graph.json', prop: 'suzanne', camera: [ 5, 3, 4 ] },
        {name: 'Wire Ripple', shader: 'assets/shaders/WireRipple/Graph.json', prop: 'plane', camera: [ 5, 3, 4 ] },
        {name: 'Wireframe', shader: 'assets/shaders/Wireframe/Graph.json', prop: 'sphere', camera: [ 5, 3, 4 ] },
        // {name: '[broken] Clouds', shader: 'assets/shaders/Clouds/Graph.json', prop: 'cube', camera: [ 5, 3, 4 ] },
        {name: '[broken] Explosion', shader: 'assets/shaders/Explosion/Graph.json', prop: 'sphere', camera: [ 25, 20, 25 ] },
        // {name: '[broken] Mask Blend', shader: 'assets/shaders/MaskBlend/Graph.json', prop: 'cube', camera: [ 5, 3, 4 ] },
        {name: '[broken] Ripple', shader: 'assets/shaders/Ripple/Graph.json', prop: 'plane', camera: [ 5, 3, 4 ] },
    
      ];
      let selectedExample = examples[ 0 ];
      const api = { model: selectedExample.name };
      const gui = new dat.GUI();
      gui.add( api, 'model', examples.map( ( d ) => d.name ) ).onChange( () => {
        selectedExample = examples.find( ( d ) => api.model === d.name );
        mesh.parent.remove( mesh );
        mesh.geometry.dispose();
        mesh.material.dispose();
        otherProps.forEach( ( o ) => o.parent.remove( o ) );
        otherProps.length = 0;
    
        loadShader( selectedExample.shader ).then( ( _material ) => {
    
          mat
    Found 2024-09-13 by HttpPlugin
    Create report
  • Open service 76.76.21.9:443 · three-shadenodeloader.donmccurdy.com

    2024-09-12 22:44

    HTTP/1.1 200 OK
    Accept-Ranges: bytes
    Access-Control-Allow-Origin: *
    Age: 91384
    Cache-Control: public, max-age=0, must-revalidate
    Content-Disposition: inline; filename="index"
    Content-Length: 10577
    Content-Type: text/html; charset=utf-8
    Date: Thu, 12 Sep 2024 22:44:22 GMT
    Etag: W/"0b0fe30a17009abb27626fcc2e6f8e35ba1ea851"
    Server: Vercel
    Strict-Transport-Security: max-age=63072000
    X-Vercel-Cache: HIT
    X-Vercel-Id: sfo1::9ll7w-1726181062764-eb89b785ee33
    Connection: close
    
    Page title: three.js • examples • shade node loader
    
    <!DOCTYPE html>
    <meta charset="utf-8">
    <title>three.js • examples • shade node loader</title>
    <style>
      html, body {
        margin: 0;
        padding: 0;
        background: #000;
        width: 100%;
        height: 100%;
        overflow: hidden;
      }
      p {
        margin: 0;
      }
      .attribution {
        width: 100%;
        max-width: 400px;
        color: #424242;
        position: fixed;
        bottom: 2em;
        left: 0;
        right: 0;
        margin: 0 auto;
        background: rgba(255,255,255, 0.8);
        padding: 0.5em 1em 0.7em;
        border-radius: 2px;
        font-family: monospace;
        text-align: center;
        max-width: 402px;
      }
    </style>
    <script src="./node_modules/dat.gui/build/dat.gui.js"></script>
    <script src="./node_modules/three/build/three.js"></script>
    <script src="./node_modules/three/examples/js/controls/OrbitControls.js"></script>
    <script src="./node_modules/three/examples/js/loaders/GLTFLoader.js"></script>
    <script src="./node_modules/three/examples/js/loaders/RGBELoader.js"></script>
    <script src="./node_modules/three/examples/js/loaders/HDRCubeTextureLoader.js"></script>
    <script src="./node_modules/three/examples/js/pmrem/PMREMGenerator.js"></script>
    <script src="./node_modules/three/examples/js/pmrem/PMREMCubeUVPacker.js"></script>
    
    <script type="module">
      import { ShadeNodeLoader } from './ShadeNodeLoader.js';
      import { TextureNode, TimerNode, FloatNode, Vector3Node } from './node_modules/three/examples/js/nodes/Nodes.js';
    
      const renderer = new THREE.WebGLRenderer( { antialias: true } );
      renderer.setSize( window.innerWidth, window.innerHeight );
      renderer.setClearColor( 0x202020 );
      renderer.physicallyCorrectLights = true;
      renderer.gammaOutput = true;
      renderer.gammaFactor = 2.2;
      document.body.appendChild( renderer.domElement );
    
      const timerNode = new TimerNode( 1.0 );
      const micNode = new FloatNode( 0.01 );
    
      const otherProps = [];
    
      let mesh, geometry, material, envMap;
    
      //
    
      const props = {
        suzanne: null,
        grass: null,
        roundedCube: null,
        cube: new THREE.BoxBufferGeometry(1.8, 1.8, 1.8),
        sphere: new THREE.SphereBufferGeometry( 1.8, 32, 32 ),
        plane: new THREE.PlaneBufferGeometry( 5, 5, 64, 64 ).rotateX( - 1 * Math.PI / 2 )
      };
    
      const examples = [
    
        {name: 'Instancing Grid', shader: 'assets/shaders/InstancingGrid/Graph.json', prop: 'roundedCube', camera: [ 25, 20, 25 ], grid: false },
        {name: 'Checkers', shader: 'assets/shaders/Checkers/Graph.json', prop: 'cube', camera: [ 5, 3, 4 ] },
        {name: 'Dissolve', shader: 'assets/shaders/Dissolve/Graph.json', prop: 'suzanne', camera: [ 5, 3, 4 ] },
        {name: 'Fake Volume', shader: 'assets/shaders/FakeVolume/Graph.json', prop: 'sphere', camera: [ 5, 3, 4 ] },
        {name: 'Grass', shader: 'assets/shaders/Grass/Graph.json', prop: 'grass', camera: [ 10, 8, 10 ] },
        {name: 'Hologram', shader: 'assets/shaders/Hologram/Graph.json', prop: 'suzanne', camera: [ 5, 3, 4 ] },
        {name: 'Wire Ripple', shader: 'assets/shaders/WireRipple/Graph.json', prop: 'plane', camera: [ 5, 3, 4 ] },
        {name: 'Wireframe', shader: 'assets/shaders/Wireframe/Graph.json', prop: 'sphere', camera: [ 5, 3, 4 ] },
        // {name: '[broken] Clouds', shader: 'assets/shaders/Clouds/Graph.json', prop: 'cube', camera: [ 5, 3, 4 ] },
        {name: '[broken] Explosion', shader: 'assets/shaders/Explosion/Graph.json', prop: 'sphere', camera: [ 25, 20, 25 ] },
        // {name: '[broken] Mask Blend', shader: 'assets/shaders/MaskBlend/Graph.json', prop: 'cube', camera: [ 5, 3, 4 ] },
        {name: '[broken] Ripple', shader: 'assets/shaders/Ripple/Graph.json', prop: 'plane', camera: [ 5, 3, 4 ] },
    
      ];
      let selectedExample = examples[ 0 ];
      const api = { model: selectedExample.name };
      const gui = new dat.GUI();
      gui.add( api, 'model', examples.map( ( d ) => d.name ) ).onChange( () => {
        selectedExample = examples.find( ( d ) => api.model === d.name );
        mesh.parent.remove( mesh );
        mesh.geometry.dispose();
        mesh.material.dispose();
        otherProps.forEach( ( o ) => o.parent.remove( o ) );
        otherProps.length = 0;
    
        loadShader( selectedExample.shader ).then( ( _material ) => {
    
          mat
    Found 2024-09-12 by HttpPlugin
    Create report
  • Open service 76.76.21.9:443 · three-shadenodeloader.donmccurdy.com

    2024-09-12 15:28

    HTTP/1.1 200 OK
    Accept-Ranges: bytes
    Access-Control-Allow-Origin: *
    Age: 15119634
    Cache-Control: public, max-age=0, must-revalidate
    Content-Disposition: inline; filename="index"
    Content-Length: 10577
    Content-Type: text/html; charset=utf-8
    Date: Thu, 12 Sep 2024 15:28:31 GMT
    Etag: W/"0b0fe30a17009abb27626fcc2e6f8e35ba1ea851"
    Server: Vercel
    Strict-Transport-Security: max-age=63072000
    X-Vercel-Cache: HIT
    X-Vercel-Id: fra1::hcgsl-1726154911202-de25e0790414
    Connection: close
    
    Page title: three.js • examples • shade node loader
    
    <!DOCTYPE html>
    <meta charset="utf-8">
    <title>three.js • examples • shade node loader</title>
    <style>
      html, body {
        margin: 0;
        padding: 0;
        background: #000;
        width: 100%;
        height: 100%;
        overflow: hidden;
      }
      p {
        margin: 0;
      }
      .attribution {
        width: 100%;
        max-width: 400px;
        color: #424242;
        position: fixed;
        bottom: 2em;
        left: 0;
        right: 0;
        margin: 0 auto;
        background: rgba(255,255,255, 0.8);
        padding: 0.5em 1em 0.7em;
        border-radius: 2px;
        font-family: monospace;
        text-align: center;
        max-width: 402px;
      }
    </style>
    <script src="./node_modules/dat.gui/build/dat.gui.js"></script>
    <script src="./node_modules/three/build/three.js"></script>
    <script src="./node_modules/three/examples/js/controls/OrbitControls.js"></script>
    <script src="./node_modules/three/examples/js/loaders/GLTFLoader.js"></script>
    <script src="./node_modules/three/examples/js/loaders/RGBELoader.js"></script>
    <script src="./node_modules/three/examples/js/loaders/HDRCubeTextureLoader.js"></script>
    <script src="./node_modules/three/examples/js/pmrem/PMREMGenerator.js"></script>
    <script src="./node_modules/three/examples/js/pmrem/PMREMCubeUVPacker.js"></script>
    
    <script type="module">
      import { ShadeNodeLoader } from './ShadeNodeLoader.js';
      import { TextureNode, TimerNode, FloatNode, Vector3Node } from './node_modules/three/examples/js/nodes/Nodes.js';
    
      const renderer = new THREE.WebGLRenderer( { antialias: true } );
      renderer.setSize( window.innerWidth, window.innerHeight );
      renderer.setClearColor( 0x202020 );
      renderer.physicallyCorrectLights = true;
      renderer.gammaOutput = true;
      renderer.gammaFactor = 2.2;
      document.body.appendChild( renderer.domElement );
    
      const timerNode = new TimerNode( 1.0 );
      const micNode = new FloatNode( 0.01 );
    
      const otherProps = [];
    
      let mesh, geometry, material, envMap;
    
      //
    
      const props = {
        suzanne: null,
        grass: null,
        roundedCube: null,
        cube: new THREE.BoxBufferGeometry(1.8, 1.8, 1.8),
        sphere: new THREE.SphereBufferGeometry( 1.8, 32, 32 ),
        plane: new THREE.PlaneBufferGeometry( 5, 5, 64, 64 ).rotateX( - 1 * Math.PI / 2 )
      };
    
      const examples = [
    
        {name: 'Instancing Grid', shader: 'assets/shaders/InstancingGrid/Graph.json', prop: 'roundedCube', camera: [ 25, 20, 25 ], grid: false },
        {name: 'Checkers', shader: 'assets/shaders/Checkers/Graph.json', prop: 'cube', camera: [ 5, 3, 4 ] },
        {name: 'Dissolve', shader: 'assets/shaders/Dissolve/Graph.json', prop: 'suzanne', camera: [ 5, 3, 4 ] },
        {name: 'Fake Volume', shader: 'assets/shaders/FakeVolume/Graph.json', prop: 'sphere', camera: [ 5, 3, 4 ] },
        {name: 'Grass', shader: 'assets/shaders/Grass/Graph.json', prop: 'grass', camera: [ 10, 8, 10 ] },
        {name: 'Hologram', shader: 'assets/shaders/Hologram/Graph.json', prop: 'suzanne', camera: [ 5, 3, 4 ] },
        {name: 'Wire Ripple', shader: 'assets/shaders/WireRipple/Graph.json', prop: 'plane', camera: [ 5, 3, 4 ] },
        {name: 'Wireframe', shader: 'assets/shaders/Wireframe/Graph.json', prop: 'sphere', camera: [ 5, 3, 4 ] },
        // {name: '[broken] Clouds', shader: 'assets/shaders/Clouds/Graph.json', prop: 'cube', camera: [ 5, 3, 4 ] },
        {name: '[broken] Explosion', shader: 'assets/shaders/Explosion/Graph.json', prop: 'sphere', camera: [ 25, 20, 25 ] },
        // {name: '[broken] Mask Blend', shader: 'assets/shaders/MaskBlend/Graph.json', prop: 'cube', camera: [ 5, 3, 4 ] },
        {name: '[broken] Ripple', shader: 'assets/shaders/Ripple/Graph.json', prop: 'plane', camera: [ 5, 3, 4 ] },
    
      ];
      let selectedExample = examples[ 0 ];
      const api = { model: selectedExample.name };
      const gui = new dat.GUI();
      gui.add( api, 'model', examples.map( ( d ) => d.name ) ).onChange( () => {
        selectedExample = examples.find( ( d ) => api.model === d.name );
        mesh.parent.remove( mesh );
        mesh.geometry.dispose();
        mesh.material.dispose();
        otherProps.forEach( ( o ) => o.parent.remove( o ) );
        otherProps.length = 0;
    
        loadShader( selectedExample.shader ).then( ( _material ) => {
    
          mat
    Found 2024-09-12 by HttpPlugin
    Create report
  • Open service 76.76.21.9:443 · three-shadenodeloader.donmccurdy.com

    2024-09-11 04:40

    HTTP/1.1 200 OK
    Accept-Ranges: bytes
    Access-Control-Allow-Origin: *
    Age: 14994371
    Cache-Control: public, max-age=0, must-revalidate
    Content-Disposition: inline; filename="index"
    Content-Length: 10577
    Content-Type: text/html; charset=utf-8
    Date: Wed, 11 Sep 2024 04:40:48 GMT
    Etag: W/"0b0fe30a17009abb27626fcc2e6f8e35ba1ea851"
    Server: Vercel
    Strict-Transport-Security: max-age=63072000
    X-Vercel-Cache: HIT
    X-Vercel-Id: fra1::cdvx5-1726029648213-4f3107f47d52
    Connection: close
    
    Page title: three.js • examples • shade node loader
    
    <!DOCTYPE html>
    <meta charset="utf-8">
    <title>three.js • examples • shade node loader</title>
    <style>
      html, body {
        margin: 0;
        padding: 0;
        background: #000;
        width: 100%;
        height: 100%;
        overflow: hidden;
      }
      p {
        margin: 0;
      }
      .attribution {
        width: 100%;
        max-width: 400px;
        color: #424242;
        position: fixed;
        bottom: 2em;
        left: 0;
        right: 0;
        margin: 0 auto;
        background: rgba(255,255,255, 0.8);
        padding: 0.5em 1em 0.7em;
        border-radius: 2px;
        font-family: monospace;
        text-align: center;
        max-width: 402px;
      }
    </style>
    <script src="./node_modules/dat.gui/build/dat.gui.js"></script>
    <script src="./node_modules/three/build/three.js"></script>
    <script src="./node_modules/three/examples/js/controls/OrbitControls.js"></script>
    <script src="./node_modules/three/examples/js/loaders/GLTFLoader.js"></script>
    <script src="./node_modules/three/examples/js/loaders/RGBELoader.js"></script>
    <script src="./node_modules/three/examples/js/loaders/HDRCubeTextureLoader.js"></script>
    <script src="./node_modules/three/examples/js/pmrem/PMREMGenerator.js"></script>
    <script src="./node_modules/three/examples/js/pmrem/PMREMCubeUVPacker.js"></script>
    
    <script type="module">
      import { ShadeNodeLoader } from './ShadeNodeLoader.js';
      import { TextureNode, TimerNode, FloatNode, Vector3Node } from './node_modules/three/examples/js/nodes/Nodes.js';
    
      const renderer = new THREE.WebGLRenderer( { antialias: true } );
      renderer.setSize( window.innerWidth, window.innerHeight );
      renderer.setClearColor( 0x202020 );
      renderer.physicallyCorrectLights = true;
      renderer.gammaOutput = true;
      renderer.gammaFactor = 2.2;
      document.body.appendChild( renderer.domElement );
    
      const timerNode = new TimerNode( 1.0 );
      const micNode = new FloatNode( 0.01 );
    
      const otherProps = [];
    
      let mesh, geometry, material, envMap;
    
      //
    
      const props = {
        suzanne: null,
        grass: null,
        roundedCube: null,
        cube: new THREE.BoxBufferGeometry(1.8, 1.8, 1.8),
        sphere: new THREE.SphereBufferGeometry( 1.8, 32, 32 ),
        plane: new THREE.PlaneBufferGeometry( 5, 5, 64, 64 ).rotateX( - 1 * Math.PI / 2 )
      };
    
      const examples = [
    
        {name: 'Instancing Grid', shader: 'assets/shaders/InstancingGrid/Graph.json', prop: 'roundedCube', camera: [ 25, 20, 25 ], grid: false },
        {name: 'Checkers', shader: 'assets/shaders/Checkers/Graph.json', prop: 'cube', camera: [ 5, 3, 4 ] },
        {name: 'Dissolve', shader: 'assets/shaders/Dissolve/Graph.json', prop: 'suzanne', camera: [ 5, 3, 4 ] },
        {name: 'Fake Volume', shader: 'assets/shaders/FakeVolume/Graph.json', prop: 'sphere', camera: [ 5, 3, 4 ] },
        {name: 'Grass', shader: 'assets/shaders/Grass/Graph.json', prop: 'grass', camera: [ 10, 8, 10 ] },
        {name: 'Hologram', shader: 'assets/shaders/Hologram/Graph.json', prop: 'suzanne', camera: [ 5, 3, 4 ] },
        {name: 'Wire Ripple', shader: 'assets/shaders/WireRipple/Graph.json', prop: 'plane', camera: [ 5, 3, 4 ] },
        {name: 'Wireframe', shader: 'assets/shaders/Wireframe/Graph.json', prop: 'sphere', camera: [ 5, 3, 4 ] },
        // {name: '[broken] Clouds', shader: 'assets/shaders/Clouds/Graph.json', prop: 'cube', camera: [ 5, 3, 4 ] },
        {name: '[broken] Explosion', shader: 'assets/shaders/Explosion/Graph.json', prop: 'sphere', camera: [ 25, 20, 25 ] },
        // {name: '[broken] Mask Blend', shader: 'assets/shaders/MaskBlend/Graph.json', prop: 'cube', camera: [ 5, 3, 4 ] },
        {name: '[broken] Ripple', shader: 'assets/shaders/Ripple/Graph.json', prop: 'plane', camera: [ 5, 3, 4 ] },
    
      ];
      let selectedExample = examples[ 0 ];
      const api = { model: selectedExample.name };
      const gui = new dat.GUI();
      gui.add( api, 'model', examples.map( ( d ) => d.name ) ).onChange( () => {
        selectedExample = examples.find( ( d ) => api.model === d.name );
        mesh.parent.remove( mesh );
        mesh.geometry.dispose();
        mesh.material.dispose();
        otherProps.forEach( ( o ) => o.parent.remove( o ) );
        otherProps.length = 0;
    
        loadShader( selectedExample.shader ).then( ( _material ) => {
    
          mat
    Found 2024-09-11 by HttpPlugin
    Create report
  • Open service 76.76.21.9:443 · three-shadenodeloader.donmccurdy.com

    2024-09-10 22:07

    HTTP/1.1 200 OK
    Accept-Ranges: bytes
    Access-Control-Allow-Origin: *
    Age: 7003530
    Cache-Control: public, max-age=0, must-revalidate
    Content-Disposition: inline; filename="index"
    Content-Length: 10577
    Content-Type: text/html; charset=utf-8
    Date: Tue, 10 Sep 2024 22:07:21 GMT
    Etag: W/"0b0fe30a17009abb27626fcc2e6f8e35ba1ea851"
    Server: Vercel
    Strict-Transport-Security: max-age=63072000
    X-Vercel-Cache: HIT
    X-Vercel-Id: cle1::5msc6-1726006041363-63a8119ffb32
    Connection: close
    
    Page title: three.js • examples • shade node loader
    
    <!DOCTYPE html>
    <meta charset="utf-8">
    <title>three.js • examples • shade node loader</title>
    <style>
      html, body {
        margin: 0;
        padding: 0;
        background: #000;
        width: 100%;
        height: 100%;
        overflow: hidden;
      }
      p {
        margin: 0;
      }
      .attribution {
        width: 100%;
        max-width: 400px;
        color: #424242;
        position: fixed;
        bottom: 2em;
        left: 0;
        right: 0;
        margin: 0 auto;
        background: rgba(255,255,255, 0.8);
        padding: 0.5em 1em 0.7em;
        border-radius: 2px;
        font-family: monospace;
        text-align: center;
        max-width: 402px;
      }
    </style>
    <script src="./node_modules/dat.gui/build/dat.gui.js"></script>
    <script src="./node_modules/three/build/three.js"></script>
    <script src="./node_modules/three/examples/js/controls/OrbitControls.js"></script>
    <script src="./node_modules/three/examples/js/loaders/GLTFLoader.js"></script>
    <script src="./node_modules/three/examples/js/loaders/RGBELoader.js"></script>
    <script src="./node_modules/three/examples/js/loaders/HDRCubeTextureLoader.js"></script>
    <script src="./node_modules/three/examples/js/pmrem/PMREMGenerator.js"></script>
    <script src="./node_modules/three/examples/js/pmrem/PMREMCubeUVPacker.js"></script>
    
    <script type="module">
      import { ShadeNodeLoader } from './ShadeNodeLoader.js';
      import { TextureNode, TimerNode, FloatNode, Vector3Node } from './node_modules/three/examples/js/nodes/Nodes.js';
    
      const renderer = new THREE.WebGLRenderer( { antialias: true } );
      renderer.setSize( window.innerWidth, window.innerHeight );
      renderer.setClearColor( 0x202020 );
      renderer.physicallyCorrectLights = true;
      renderer.gammaOutput = true;
      renderer.gammaFactor = 2.2;
      document.body.appendChild( renderer.domElement );
    
      const timerNode = new TimerNode( 1.0 );
      const micNode = new FloatNode( 0.01 );
    
      const otherProps = [];
    
      let mesh, geometry, material, envMap;
    
      //
    
      const props = {
        suzanne: null,
        grass: null,
        roundedCube: null,
        cube: new THREE.BoxBufferGeometry(1.8, 1.8, 1.8),
        sphere: new THREE.SphereBufferGeometry( 1.8, 32, 32 ),
        plane: new THREE.PlaneBufferGeometry( 5, 5, 64, 64 ).rotateX( - 1 * Math.PI / 2 )
      };
    
      const examples = [
    
        {name: 'Instancing Grid', shader: 'assets/shaders/InstancingGrid/Graph.json', prop: 'roundedCube', camera: [ 25, 20, 25 ], grid: false },
        {name: 'Checkers', shader: 'assets/shaders/Checkers/Graph.json', prop: 'cube', camera: [ 5, 3, 4 ] },
        {name: 'Dissolve', shader: 'assets/shaders/Dissolve/Graph.json', prop: 'suzanne', camera: [ 5, 3, 4 ] },
        {name: 'Fake Volume', shader: 'assets/shaders/FakeVolume/Graph.json', prop: 'sphere', camera: [ 5, 3, 4 ] },
        {name: 'Grass', shader: 'assets/shaders/Grass/Graph.json', prop: 'grass', camera: [ 10, 8, 10 ] },
        {name: 'Hologram', shader: 'assets/shaders/Hologram/Graph.json', prop: 'suzanne', camera: [ 5, 3, 4 ] },
        {name: 'Wire Ripple', shader: 'assets/shaders/WireRipple/Graph.json', prop: 'plane', camera: [ 5, 3, 4 ] },
        {name: 'Wireframe', shader: 'assets/shaders/Wireframe/Graph.json', prop: 'sphere', camera: [ 5, 3, 4 ] },
        // {name: '[broken] Clouds', shader: 'assets/shaders/Clouds/Graph.json', prop: 'cube', camera: [ 5, 3, 4 ] },
        {name: '[broken] Explosion', shader: 'assets/shaders/Explosion/Graph.json', prop: 'sphere', camera: [ 25, 20, 25 ] },
        // {name: '[broken] Mask Blend', shader: 'assets/shaders/MaskBlend/Graph.json', prop: 'cube', camera: [ 5, 3, 4 ] },
        {name: '[broken] Ripple', shader: 'assets/shaders/Ripple/Graph.json', prop: 'plane', camera: [ 5, 3, 4 ] },
    
      ];
      let selectedExample = examples[ 0 ];
      const api = { model: selectedExample.name };
      const gui = new dat.GUI();
      gui.add( api, 'model', examples.map( ( d ) => d.name ) ).onChange( () => {
        selectedExample = examples.find( ( d ) => api.model === d.name );
        mesh.parent.remove( mesh );
        mesh.geometry.dispose();
        mesh.material.dispose();
        otherProps.forEach( ( o ) => o.parent.remove( o ) );
        otherProps.length = 0;
    
        loadShader( selectedExample.shader ).then( ( _material ) => {
    
          mat
    Found 2024-09-10 by HttpPlugin
    Create report
  • Open service 76.76.21.9:443 · three-shadenodeloader.donmccurdy.com

    2024-09-08 23:33

    HTTP/1.1 200 OK
    Accept-Ranges: bytes
    Access-Control-Allow-Origin: *
    Age: 6680266
    Cache-Control: public, max-age=0, must-revalidate
    Content-Disposition: inline; filename="index"
    Content-Length: 10577
    Content-Type: text/html; charset=utf-8
    Date: Sun, 08 Sep 2024 23:33:30 GMT
    Etag: W/"0b0fe30a17009abb27626fcc2e6f8e35ba1ea851"
    Server: Vercel
    Strict-Transport-Security: max-age=63072000
    X-Vercel-Cache: HIT
    X-Vercel-Id: iad1::7j2th-1725838410012-42a92cd76c78
    Connection: close
    
    Page title: three.js • examples • shade node loader
    
    <!DOCTYPE html>
    <meta charset="utf-8">
    <title>three.js • examples • shade node loader</title>
    <style>
      html, body {
        margin: 0;
        padding: 0;
        background: #000;
        width: 100%;
        height: 100%;
        overflow: hidden;
      }
      p {
        margin: 0;
      }
      .attribution {
        width: 100%;
        max-width: 400px;
        color: #424242;
        position: fixed;
        bottom: 2em;
        left: 0;
        right: 0;
        margin: 0 auto;
        background: rgba(255,255,255, 0.8);
        padding: 0.5em 1em 0.7em;
        border-radius: 2px;
        font-family: monospace;
        text-align: center;
        max-width: 402px;
      }
    </style>
    <script src="./node_modules/dat.gui/build/dat.gui.js"></script>
    <script src="./node_modules/three/build/three.js"></script>
    <script src="./node_modules/three/examples/js/controls/OrbitControls.js"></script>
    <script src="./node_modules/three/examples/js/loaders/GLTFLoader.js"></script>
    <script src="./node_modules/three/examples/js/loaders/RGBELoader.js"></script>
    <script src="./node_modules/three/examples/js/loaders/HDRCubeTextureLoader.js"></script>
    <script src="./node_modules/three/examples/js/pmrem/PMREMGenerator.js"></script>
    <script src="./node_modules/three/examples/js/pmrem/PMREMCubeUVPacker.js"></script>
    
    <script type="module">
      import { ShadeNodeLoader } from './ShadeNodeLoader.js';
      import { TextureNode, TimerNode, FloatNode, Vector3Node } from './node_modules/three/examples/js/nodes/Nodes.js';
    
      const renderer = new THREE.WebGLRenderer( { antialias: true } );
      renderer.setSize( window.innerWidth, window.innerHeight );
      renderer.setClearColor( 0x202020 );
      renderer.physicallyCorrectLights = true;
      renderer.gammaOutput = true;
      renderer.gammaFactor = 2.2;
      document.body.appendChild( renderer.domElement );
    
      const timerNode = new TimerNode( 1.0 );
      const micNode = new FloatNode( 0.01 );
    
      const otherProps = [];
    
      let mesh, geometry, material, envMap;
    
      //
    
      const props = {
        suzanne: null,
        grass: null,
        roundedCube: null,
        cube: new THREE.BoxBufferGeometry(1.8, 1.8, 1.8),
        sphere: new THREE.SphereBufferGeometry( 1.8, 32, 32 ),
        plane: new THREE.PlaneBufferGeometry( 5, 5, 64, 64 ).rotateX( - 1 * Math.PI / 2 )
      };
    
      const examples = [
    
        {name: 'Instancing Grid', shader: 'assets/shaders/InstancingGrid/Graph.json', prop: 'roundedCube', camera: [ 25, 20, 25 ], grid: false },
        {name: 'Checkers', shader: 'assets/shaders/Checkers/Graph.json', prop: 'cube', camera: [ 5, 3, 4 ] },
        {name: 'Dissolve', shader: 'assets/shaders/Dissolve/Graph.json', prop: 'suzanne', camera: [ 5, 3, 4 ] },
        {name: 'Fake Volume', shader: 'assets/shaders/FakeVolume/Graph.json', prop: 'sphere', camera: [ 5, 3, 4 ] },
        {name: 'Grass', shader: 'assets/shaders/Grass/Graph.json', prop: 'grass', camera: [ 10, 8, 10 ] },
        {name: 'Hologram', shader: 'assets/shaders/Hologram/Graph.json', prop: 'suzanne', camera: [ 5, 3, 4 ] },
        {name: 'Wire Ripple', shader: 'assets/shaders/WireRipple/Graph.json', prop: 'plane', camera: [ 5, 3, 4 ] },
        {name: 'Wireframe', shader: 'assets/shaders/Wireframe/Graph.json', prop: 'sphere', camera: [ 5, 3, 4 ] },
        // {name: '[broken] Clouds', shader: 'assets/shaders/Clouds/Graph.json', prop: 'cube', camera: [ 5, 3, 4 ] },
        {name: '[broken] Explosion', shader: 'assets/shaders/Explosion/Graph.json', prop: 'sphere', camera: [ 25, 20, 25 ] },
        // {name: '[broken] Mask Blend', shader: 'assets/shaders/MaskBlend/Graph.json', prop: 'cube', camera: [ 5, 3, 4 ] },
        {name: '[broken] Ripple', shader: 'assets/shaders/Ripple/Graph.json', prop: 'plane', camera: [ 5, 3, 4 ] },
    
      ];
      let selectedExample = examples[ 0 ];
      const api = { model: selectedExample.name };
      const gui = new dat.GUI();
      gui.add( api, 'model', examples.map( ( d ) => d.name ) ).onChange( () => {
        selectedExample = examples.find( ( d ) => api.model === d.name );
        mesh.parent.remove( mesh );
        mesh.geometry.dispose();
        mesh.material.dispose();
        otherProps.forEach( ( o ) => o.parent.remove( o ) );
        otherProps.length = 0;
    
        loadShader( selectedExample.shader ).then( ( _material ) => {
    
          mat
    Found 2024-09-08 by HttpPlugin
    Create report
  • Open service 76.76.21.9:443 · three-shadenodeloader.donmccurdy.com

    2024-09-08 15:32

    HTTP/1.1 200 OK
    Accept-Ranges: bytes
    Access-Control-Allow-Origin: *
    Age: 6651393
    Cache-Control: public, max-age=0, must-revalidate
    Content-Disposition: inline; filename="index"
    Content-Length: 10577
    Content-Type: text/html; charset=utf-8
    Date: Sun, 08 Sep 2024 15:32:16 GMT
    Etag: W/"0b0fe30a17009abb27626fcc2e6f8e35ba1ea851"
    Server: Vercel
    Strict-Transport-Security: max-age=63072000
    X-Vercel-Cache: HIT
    X-Vercel-Id: iad1::fz4w8-1725809536856-cac1453d70d8
    Connection: close
    
    Page title: three.js • examples • shade node loader
    
    <!DOCTYPE html>
    <meta charset="utf-8">
    <title>three.js • examples • shade node loader</title>
    <style>
      html, body {
        margin: 0;
        padding: 0;
        background: #000;
        width: 100%;
        height: 100%;
        overflow: hidden;
      }
      p {
        margin: 0;
      }
      .attribution {
        width: 100%;
        max-width: 400px;
        color: #424242;
        position: fixed;
        bottom: 2em;
        left: 0;
        right: 0;
        margin: 0 auto;
        background: rgba(255,255,255, 0.8);
        padding: 0.5em 1em 0.7em;
        border-radius: 2px;
        font-family: monospace;
        text-align: center;
        max-width: 402px;
      }
    </style>
    <script src="./node_modules/dat.gui/build/dat.gui.js"></script>
    <script src="./node_modules/three/build/three.js"></script>
    <script src="./node_modules/three/examples/js/controls/OrbitControls.js"></script>
    <script src="./node_modules/three/examples/js/loaders/GLTFLoader.js"></script>
    <script src="./node_modules/three/examples/js/loaders/RGBELoader.js"></script>
    <script src="./node_modules/three/examples/js/loaders/HDRCubeTextureLoader.js"></script>
    <script src="./node_modules/three/examples/js/pmrem/PMREMGenerator.js"></script>
    <script src="./node_modules/three/examples/js/pmrem/PMREMCubeUVPacker.js"></script>
    
    <script type="module">
      import { ShadeNodeLoader } from './ShadeNodeLoader.js';
      import { TextureNode, TimerNode, FloatNode, Vector3Node } from './node_modules/three/examples/js/nodes/Nodes.js';
    
      const renderer = new THREE.WebGLRenderer( { antialias: true } );
      renderer.setSize( window.innerWidth, window.innerHeight );
      renderer.setClearColor( 0x202020 );
      renderer.physicallyCorrectLights = true;
      renderer.gammaOutput = true;
      renderer.gammaFactor = 2.2;
      document.body.appendChild( renderer.domElement );
    
      const timerNode = new TimerNode( 1.0 );
      const micNode = new FloatNode( 0.01 );
    
      const otherProps = [];
    
      let mesh, geometry, material, envMap;
    
      //
    
      const props = {
        suzanne: null,
        grass: null,
        roundedCube: null,
        cube: new THREE.BoxBufferGeometry(1.8, 1.8, 1.8),
        sphere: new THREE.SphereBufferGeometry( 1.8, 32, 32 ),
        plane: new THREE.PlaneBufferGeometry( 5, 5, 64, 64 ).rotateX( - 1 * Math.PI / 2 )
      };
    
      const examples = [
    
        {name: 'Instancing Grid', shader: 'assets/shaders/InstancingGrid/Graph.json', prop: 'roundedCube', camera: [ 25, 20, 25 ], grid: false },
        {name: 'Checkers', shader: 'assets/shaders/Checkers/Graph.json', prop: 'cube', camera: [ 5, 3, 4 ] },
        {name: 'Dissolve', shader: 'assets/shaders/Dissolve/Graph.json', prop: 'suzanne', camera: [ 5, 3, 4 ] },
        {name: 'Fake Volume', shader: 'assets/shaders/FakeVolume/Graph.json', prop: 'sphere', camera: [ 5, 3, 4 ] },
        {name: 'Grass', shader: 'assets/shaders/Grass/Graph.json', prop: 'grass', camera: [ 10, 8, 10 ] },
        {name: 'Hologram', shader: 'assets/shaders/Hologram/Graph.json', prop: 'suzanne', camera: [ 5, 3, 4 ] },
        {name: 'Wire Ripple', shader: 'assets/shaders/WireRipple/Graph.json', prop: 'plane', camera: [ 5, 3, 4 ] },
        {name: 'Wireframe', shader: 'assets/shaders/Wireframe/Graph.json', prop: 'sphere', camera: [ 5, 3, 4 ] },
        // {name: '[broken] Clouds', shader: 'assets/shaders/Clouds/Graph.json', prop: 'cube', camera: [ 5, 3, 4 ] },
        {name: '[broken] Explosion', shader: 'assets/shaders/Explosion/Graph.json', prop: 'sphere', camera: [ 25, 20, 25 ] },
        // {name: '[broken] Mask Blend', shader: 'assets/shaders/MaskBlend/Graph.json', prop: 'cube', camera: [ 5, 3, 4 ] },
        {name: '[broken] Ripple', shader: 'assets/shaders/Ripple/Graph.json', prop: 'plane', camera: [ 5, 3, 4 ] },
    
      ];
      let selectedExample = examples[ 0 ];
      const api = { model: selectedExample.name };
      const gui = new dat.GUI();
      gui.add( api, 'model', examples.map( ( d ) => d.name ) ).onChange( () => {
        selectedExample = examples.find( ( d ) => api.model === d.name );
        mesh.parent.remove( mesh );
        mesh.geometry.dispose();
        mesh.material.dispose();
        otherProps.forEach( ( o ) => o.parent.remove( o ) );
        otherProps.length = 0;
    
        loadShader( selectedExample.shader ).then( ( _material ) => {
    
          mat
    Found 2024-09-08 by HttpPlugin
    Create report
  • Open service 76.76.21.9:443 · three-shadenodeloader.donmccurdy.com

    2024-09-06 20:54

    HTTP/1.1 200 OK
    Accept-Ranges: bytes
    Access-Control-Allow-Origin: *
    Age: 2
    Cache-Control: public, max-age=0, must-revalidate
    Content-Disposition: inline; filename="index"
    Content-Length: 10577
    Content-Type: text/html; charset=utf-8
    Date: Fri, 06 Sep 2024 20:55:03 GMT
    Etag: W/"0b0fe30a17009abb27626fcc2e6f8e35ba1ea851"
    Server: Vercel
    Strict-Transport-Security: max-age=63072000
    X-Vercel-Cache: HIT
    X-Vercel-Id: bom1::z27sf-1725656103744-b3435144d3e3
    Connection: close
    
    Page title: three.js • examples • shade node loader
    
    <!DOCTYPE html>
    <meta charset="utf-8">
    <title>three.js • examples • shade node loader</title>
    <style>
      html, body {
        margin: 0;
        padding: 0;
        background: #000;
        width: 100%;
        height: 100%;
        overflow: hidden;
      }
      p {
        margin: 0;
      }
      .attribution {
        width: 100%;
        max-width: 400px;
        color: #424242;
        position: fixed;
        bottom: 2em;
        left: 0;
        right: 0;
        margin: 0 auto;
        background: rgba(255,255,255, 0.8);
        padding: 0.5em 1em 0.7em;
        border-radius: 2px;
        font-family: monospace;
        text-align: center;
        max-width: 402px;
      }
    </style>
    <script src="./node_modules/dat.gui/build/dat.gui.js"></script>
    <script src="./node_modules/three/build/three.js"></script>
    <script src="./node_modules/three/examples/js/controls/OrbitControls.js"></script>
    <script src="./node_modules/three/examples/js/loaders/GLTFLoader.js"></script>
    <script src="./node_modules/three/examples/js/loaders/RGBELoader.js"></script>
    <script src="./node_modules/three/examples/js/loaders/HDRCubeTextureLoader.js"></script>
    <script src="./node_modules/three/examples/js/pmrem/PMREMGenerator.js"></script>
    <script src="./node_modules/three/examples/js/pmrem/PMREMCubeUVPacker.js"></script>
    
    <script type="module">
      import { ShadeNodeLoader } from './ShadeNodeLoader.js';
      import { TextureNode, TimerNode, FloatNode, Vector3Node } from './node_modules/three/examples/js/nodes/Nodes.js';
    
      const renderer = new THREE.WebGLRenderer( { antialias: true } );
      renderer.setSize( window.innerWidth, window.innerHeight );
      renderer.setClearColor( 0x202020 );
      renderer.physicallyCorrectLights = true;
      renderer.gammaOutput = true;
      renderer.gammaFactor = 2.2;
      document.body.appendChild( renderer.domElement );
    
      const timerNode = new TimerNode( 1.0 );
      const micNode = new FloatNode( 0.01 );
    
      const otherProps = [];
    
      let mesh, geometry, material, envMap;
    
      //
    
      const props = {
        suzanne: null,
        grass: null,
        roundedCube: null,
        cube: new THREE.BoxBufferGeometry(1.8, 1.8, 1.8),
        sphere: new THREE.SphereBufferGeometry( 1.8, 32, 32 ),
        plane: new THREE.PlaneBufferGeometry( 5, 5, 64, 64 ).rotateX( - 1 * Math.PI / 2 )
      };
    
      const examples = [
    
        {name: 'Instancing Grid', shader: 'assets/shaders/InstancingGrid/Graph.json', prop: 'roundedCube', camera: [ 25, 20, 25 ], grid: false },
        {name: 'Checkers', shader: 'assets/shaders/Checkers/Graph.json', prop: 'cube', camera: [ 5, 3, 4 ] },
        {name: 'Dissolve', shader: 'assets/shaders/Dissolve/Graph.json', prop: 'suzanne', camera: [ 5, 3, 4 ] },
        {name: 'Fake Volume', shader: 'assets/shaders/FakeVolume/Graph.json', prop: 'sphere', camera: [ 5, 3, 4 ] },
        {name: 'Grass', shader: 'assets/shaders/Grass/Graph.json', prop: 'grass', camera: [ 10, 8, 10 ] },
        {name: 'Hologram', shader: 'assets/shaders/Hologram/Graph.json', prop: 'suzanne', camera: [ 5, 3, 4 ] },
        {name: 'Wire Ripple', shader: 'assets/shaders/WireRipple/Graph.json', prop: 'plane', camera: [ 5, 3, 4 ] },
        {name: 'Wireframe', shader: 'assets/shaders/Wireframe/Graph.json', prop: 'sphere', camera: [ 5, 3, 4 ] },
        // {name: '[broken] Clouds', shader: 'assets/shaders/Clouds/Graph.json', prop: 'cube', camera: [ 5, 3, 4 ] },
        {name: '[broken] Explosion', shader: 'assets/shaders/Explosion/Graph.json', prop: 'sphere', camera: [ 25, 20, 25 ] },
        // {name: '[broken] Mask Blend', shader: 'assets/shaders/MaskBlend/Graph.json', prop: 'cube', camera: [ 5, 3, 4 ] },
        {name: '[broken] Ripple', shader: 'assets/shaders/Ripple/Graph.json', prop: 'plane', camera: [ 5, 3, 4 ] },
    
      ];
      let selectedExample = examples[ 0 ];
      const api = { model: selectedExample.name };
      const gui = new dat.GUI();
      gui.add( api, 'model', examples.map( ( d ) => d.name ) ).onChange( () => {
        selectedExample = examples.find( ( d ) => api.model === d.name );
        mesh.parent.remove( mesh );
        mesh.geometry.dispose();
        mesh.material.dispose();
        otherProps.forEach( ( o ) => o.parent.remove( o ) );
        otherProps.length = 0;
    
        loadShader( selectedExample.shader ).then( ( _material ) => {
    
          mat
    Found 2024-09-06 by HttpPlugin
    Create report
  • Open service 76.76.21.9:443 · three-shadenodeloader.donmccurdy.com

    2024-09-06 20:11

    HTTP/1.1 200 OK
    Accept-Ranges: bytes
    Access-Control-Allow-Origin: *
    Age: 6495328
    Cache-Control: public, max-age=0, must-revalidate
    Content-Disposition: inline; filename="index"
    Content-Length: 10577
    Content-Type: text/html; charset=utf-8
    Date: Fri, 06 Sep 2024 20:11:12 GMT
    Etag: W/"0b0fe30a17009abb27626fcc2e6f8e35ba1ea851"
    Server: Vercel
    Strict-Transport-Security: max-age=63072000
    X-Vercel-Cache: HIT
    X-Vercel-Id: iad1::8ccfb-1725653472557-1bc148522d75
    Connection: close
    
    Page title: three.js • examples • shade node loader
    
    <!DOCTYPE html>
    <meta charset="utf-8">
    <title>three.js • examples • shade node loader</title>
    <style>
      html, body {
        margin: 0;
        padding: 0;
        background: #000;
        width: 100%;
        height: 100%;
        overflow: hidden;
      }
      p {
        margin: 0;
      }
      .attribution {
        width: 100%;
        max-width: 400px;
        color: #424242;
        position: fixed;
        bottom: 2em;
        left: 0;
        right: 0;
        margin: 0 auto;
        background: rgba(255,255,255, 0.8);
        padding: 0.5em 1em 0.7em;
        border-radius: 2px;
        font-family: monospace;
        text-align: center;
        max-width: 402px;
      }
    </style>
    <script src="./node_modules/dat.gui/build/dat.gui.js"></script>
    <script src="./node_modules/three/build/three.js"></script>
    <script src="./node_modules/three/examples/js/controls/OrbitControls.js"></script>
    <script src="./node_modules/three/examples/js/loaders/GLTFLoader.js"></script>
    <script src="./node_modules/three/examples/js/loaders/RGBELoader.js"></script>
    <script src="./node_modules/three/examples/js/loaders/HDRCubeTextureLoader.js"></script>
    <script src="./node_modules/three/examples/js/pmrem/PMREMGenerator.js"></script>
    <script src="./node_modules/three/examples/js/pmrem/PMREMCubeUVPacker.js"></script>
    
    <script type="module">
      import { ShadeNodeLoader } from './ShadeNodeLoader.js';
      import { TextureNode, TimerNode, FloatNode, Vector3Node } from './node_modules/three/examples/js/nodes/Nodes.js';
    
      const renderer = new THREE.WebGLRenderer( { antialias: true } );
      renderer.setSize( window.innerWidth, window.innerHeight );
      renderer.setClearColor( 0x202020 );
      renderer.physicallyCorrectLights = true;
      renderer.gammaOutput = true;
      renderer.gammaFactor = 2.2;
      document.body.appendChild( renderer.domElement );
    
      const timerNode = new TimerNode( 1.0 );
      const micNode = new FloatNode( 0.01 );
    
      const otherProps = [];
    
      let mesh, geometry, material, envMap;
    
      //
    
      const props = {
        suzanne: null,
        grass: null,
        roundedCube: null,
        cube: new THREE.BoxBufferGeometry(1.8, 1.8, 1.8),
        sphere: new THREE.SphereBufferGeometry( 1.8, 32, 32 ),
        plane: new THREE.PlaneBufferGeometry( 5, 5, 64, 64 ).rotateX( - 1 * Math.PI / 2 )
      };
    
      const examples = [
    
        {name: 'Instancing Grid', shader: 'assets/shaders/InstancingGrid/Graph.json', prop: 'roundedCube', camera: [ 25, 20, 25 ], grid: false },
        {name: 'Checkers', shader: 'assets/shaders/Checkers/Graph.json', prop: 'cube', camera: [ 5, 3, 4 ] },
        {name: 'Dissolve', shader: 'assets/shaders/Dissolve/Graph.json', prop: 'suzanne', camera: [ 5, 3, 4 ] },
        {name: 'Fake Volume', shader: 'assets/shaders/FakeVolume/Graph.json', prop: 'sphere', camera: [ 5, 3, 4 ] },
        {name: 'Grass', shader: 'assets/shaders/Grass/Graph.json', prop: 'grass', camera: [ 10, 8, 10 ] },
        {name: 'Hologram', shader: 'assets/shaders/Hologram/Graph.json', prop: 'suzanne', camera: [ 5, 3, 4 ] },
        {name: 'Wire Ripple', shader: 'assets/shaders/WireRipple/Graph.json', prop: 'plane', camera: [ 5, 3, 4 ] },
        {name: 'Wireframe', shader: 'assets/shaders/Wireframe/Graph.json', prop: 'sphere', camera: [ 5, 3, 4 ] },
        // {name: '[broken] Clouds', shader: 'assets/shaders/Clouds/Graph.json', prop: 'cube', camera: [ 5, 3, 4 ] },
        {name: '[broken] Explosion', shader: 'assets/shaders/Explosion/Graph.json', prop: 'sphere', camera: [ 25, 20, 25 ] },
        // {name: '[broken] Mask Blend', shader: 'assets/shaders/MaskBlend/Graph.json', prop: 'cube', camera: [ 5, 3, 4 ] },
        {name: '[broken] Ripple', shader: 'assets/shaders/Ripple/Graph.json', prop: 'plane', camera: [ 5, 3, 4 ] },
    
      ];
      let selectedExample = examples[ 0 ];
      const api = { model: selectedExample.name };
      const gui = new dat.GUI();
      gui.add( api, 'model', examples.map( ( d ) => d.name ) ).onChange( () => {
        selectedExample = examples.find( ( d ) => api.model === d.name );
        mesh.parent.remove( mesh );
        mesh.geometry.dispose();
        mesh.material.dispose();
        otherProps.forEach( ( o ) => o.parent.remove( o ) );
        otherProps.length = 0;
    
        loadShader( selectedExample.shader ).then( ( _material ) => {
    
          mat
    Found 2024-09-06 by HttpPlugin
    Create report
  • Open service 76.76.21.9:443 · three-shadenodeloader.donmccurdy.com

    2024-08-16 22:14

    HTTP/1.1 200 OK
    Accept-Ranges: bytes
    Access-Control-Allow-Origin: *
    Age: 0
    Cache-Control: public, max-age=0, must-revalidate
    Content-Disposition: inline; filename="index"
    Content-Length: 10577
    Content-Type: text/html; charset=utf-8
    Date: Fri, 16 Aug 2024 22:14:57 GMT
    Etag: W/"0b0fe30a17009abb27626fcc2e6f8e35ba1ea851"
    Server: Vercel
    Strict-Transport-Security: max-age=63072000
    X-Vercel-Cache: HIT
    X-Vercel-Id: hnd1::7vf5b-1723846497593-eba8ad2ceb04
    Connection: close
    
    Page title: three.js • examples • shade node loader
    
    <!DOCTYPE html>
    <meta charset="utf-8">
    <title>three.js • examples • shade node loader</title>
    <style>
      html, body {
        margin: 0;
        padding: 0;
        background: #000;
        width: 100%;
        height: 100%;
        overflow: hidden;
      }
      p {
        margin: 0;
      }
      .attribution {
        width: 100%;
        max-width: 400px;
        color: #424242;
        position: fixed;
        bottom: 2em;
        left: 0;
        right: 0;
        margin: 0 auto;
        background: rgba(255,255,255, 0.8);
        padding: 0.5em 1em 0.7em;
        border-radius: 2px;
        font-family: monospace;
        text-align: center;
        max-width: 402px;
      }
    </style>
    <script src="./node_modules/dat.gui/build/dat.gui.js"></script>
    <script src="./node_modules/three/build/three.js"></script>
    <script src="./node_modules/three/examples/js/controls/OrbitControls.js"></script>
    <script src="./node_modules/three/examples/js/loaders/GLTFLoader.js"></script>
    <script src="./node_modules/three/examples/js/loaders/RGBELoader.js"></script>
    <script src="./node_modules/three/examples/js/loaders/HDRCubeTextureLoader.js"></script>
    <script src="./node_modules/three/examples/js/pmrem/PMREMGenerator.js"></script>
    <script src="./node_modules/three/examples/js/pmrem/PMREMCubeUVPacker.js"></script>
    
    <script type="module">
      import { ShadeNodeLoader } from './ShadeNodeLoader.js';
      import { TextureNode, TimerNode, FloatNode, Vector3Node } from './node_modules/three/examples/js/nodes/Nodes.js';
    
      const renderer = new THREE.WebGLRenderer( { antialias: true } );
      renderer.setSize( window.innerWidth, window.innerHeight );
      renderer.setClearColor( 0x202020 );
      renderer.physicallyCorrectLights = true;
      renderer.gammaOutput = true;
      renderer.gammaFactor = 2.2;
      document.body.appendChild( renderer.domElement );
    
      const timerNode = new TimerNode( 1.0 );
      const micNode = new FloatNode( 0.01 );
    
      const otherProps = [];
    
      let mesh, geometry, material, envMap;
    
      //
    
      const props = {
        suzanne: null,
        grass: null,
        roundedCube: null,
        cube: new THREE.BoxBufferGeometry(1.8, 1.8, 1.8),
        sphere: new THREE.SphereBufferGeometry( 1.8, 32, 32 ),
        plane: new THREE.PlaneBufferGeometry( 5, 5, 64, 64 ).rotateX( - 1 * Math.PI / 2 )
      };
    
      const examples = [
    
        {name: 'Instancing Grid', shader: 'assets/shaders/InstancingGrid/Graph.json', prop: 'roundedCube', camera: [ 25, 20, 25 ], grid: false },
        {name: 'Checkers', shader: 'assets/shaders/Checkers/Graph.json', prop: 'cube', camera: [ 5, 3, 4 ] },
        {name: 'Dissolve', shader: 'assets/shaders/Dissolve/Graph.json', prop: 'suzanne', camera: [ 5, 3, 4 ] },
        {name: 'Fake Volume', shader: 'assets/shaders/FakeVolume/Graph.json', prop: 'sphere', camera: [ 5, 3, 4 ] },
        {name: 'Grass', shader: 'assets/shaders/Grass/Graph.json', prop: 'grass', camera: [ 10, 8, 10 ] },
        {name: 'Hologram', shader: 'assets/shaders/Hologram/Graph.json', prop: 'suzanne', camera: [ 5, 3, 4 ] },
        {name: 'Wire Ripple', shader: 'assets/shaders/WireRipple/Graph.json', prop: 'plane', camera: [ 5, 3, 4 ] },
        {name: 'Wireframe', shader: 'assets/shaders/Wireframe/Graph.json', prop: 'sphere', camera: [ 5, 3, 4 ] },
        // {name: '[broken] Clouds', shader: 'assets/shaders/Clouds/Graph.json', prop: 'cube', camera: [ 5, 3, 4 ] },
        {name: '[broken] Explosion', shader: 'assets/shaders/Explosion/Graph.json', prop: 'sphere', camera: [ 25, 20, 25 ] },
        // {name: '[broken] Mask Blend', shader: 'assets/shaders/MaskBlend/Graph.json', prop: 'cube', camera: [ 5, 3, 4 ] },
        {name: '[broken] Ripple', shader: 'assets/shaders/Ripple/Graph.json', prop: 'plane', camera: [ 5, 3, 4 ] },
    
      ];
      let selectedExample = examples[ 0 ];
      const api = { model: selectedExample.name };
      const gui = new dat.GUI();
      gui.add( api, 'model', examples.map( ( d ) => d.name ) ).onChange( () => {
        selectedExample = examples.find( ( d ) => api.model === d.name );
        mesh.parent.remove( mesh );
        mesh.geometry.dispose();
        mesh.material.dispose();
        otherProps.forEach( ( o ) => o.parent.remove( o ) );
        otherProps.length = 0;
    
        loadShader( selectedExample.shader ).then( ( _material ) => {
    
          mat
    Found 2024-08-16 by HttpPlugin
    Create report
  • Open service 76.76.21.9:443 · three-shadenodeloader.donmccurdy.com

    2024-08-16 19:26

    HTTP/1.1 200 OK
    Accept-Ranges: bytes
    Access-Control-Allow-Origin: *
    Age: 12801091
    Cache-Control: public, max-age=0, must-revalidate
    Content-Disposition: inline; filename="index"
    Content-Length: 10577
    Content-Type: text/html; charset=utf-8
    Date: Fri, 16 Aug 2024 19:26:08 GMT
    Etag: W/"0b0fe30a17009abb27626fcc2e6f8e35ba1ea851"
    Server: Vercel
    Strict-Transport-Security: max-age=63072000
    X-Vercel-Cache: HIT
    X-Vercel-Id: fra1::xnm66-1723836368217-660661049c9c
    Connection: close
    
    Page title: three.js • examples • shade node loader
    
    <!DOCTYPE html>
    <meta charset="utf-8">
    <title>three.js • examples • shade node loader</title>
    <style>
      html, body {
        margin: 0;
        padding: 0;
        background: #000;
        width: 100%;
        height: 100%;
        overflow: hidden;
      }
      p {
        margin: 0;
      }
      .attribution {
        width: 100%;
        max-width: 400px;
        color: #424242;
        position: fixed;
        bottom: 2em;
        left: 0;
        right: 0;
        margin: 0 auto;
        background: rgba(255,255,255, 0.8);
        padding: 0.5em 1em 0.7em;
        border-radius: 2px;
        font-family: monospace;
        text-align: center;
        max-width: 402px;
      }
    </style>
    <script src="./node_modules/dat.gui/build/dat.gui.js"></script>
    <script src="./node_modules/three/build/three.js"></script>
    <script src="./node_modules/three/examples/js/controls/OrbitControls.js"></script>
    <script src="./node_modules/three/examples/js/loaders/GLTFLoader.js"></script>
    <script src="./node_modules/three/examples/js/loaders/RGBELoader.js"></script>
    <script src="./node_modules/three/examples/js/loaders/HDRCubeTextureLoader.js"></script>
    <script src="./node_modules/three/examples/js/pmrem/PMREMGenerator.js"></script>
    <script src="./node_modules/three/examples/js/pmrem/PMREMCubeUVPacker.js"></script>
    
    <script type="module">
      import { ShadeNodeLoader } from './ShadeNodeLoader.js';
      import { TextureNode, TimerNode, FloatNode, Vector3Node } from './node_modules/three/examples/js/nodes/Nodes.js';
    
      const renderer = new THREE.WebGLRenderer( { antialias: true } );
      renderer.setSize( window.innerWidth, window.innerHeight );
      renderer.setClearColor( 0x202020 );
      renderer.physicallyCorrectLights = true;
      renderer.gammaOutput = true;
      renderer.gammaFactor = 2.2;
      document.body.appendChild( renderer.domElement );
    
      const timerNode = new TimerNode( 1.0 );
      const micNode = new FloatNode( 0.01 );
    
      const otherProps = [];
    
      let mesh, geometry, material, envMap;
    
      //
    
      const props = {
        suzanne: null,
        grass: null,
        roundedCube: null,
        cube: new THREE.BoxBufferGeometry(1.8, 1.8, 1.8),
        sphere: new THREE.SphereBufferGeometry( 1.8, 32, 32 ),
        plane: new THREE.PlaneBufferGeometry( 5, 5, 64, 64 ).rotateX( - 1 * Math.PI / 2 )
      };
    
      const examples = [
    
        {name: 'Instancing Grid', shader: 'assets/shaders/InstancingGrid/Graph.json', prop: 'roundedCube', camera: [ 25, 20, 25 ], grid: false },
        {name: 'Checkers', shader: 'assets/shaders/Checkers/Graph.json', prop: 'cube', camera: [ 5, 3, 4 ] },
        {name: 'Dissolve', shader: 'assets/shaders/Dissolve/Graph.json', prop: 'suzanne', camera: [ 5, 3, 4 ] },
        {name: 'Fake Volume', shader: 'assets/shaders/FakeVolume/Graph.json', prop: 'sphere', camera: [ 5, 3, 4 ] },
        {name: 'Grass', shader: 'assets/shaders/Grass/Graph.json', prop: 'grass', camera: [ 10, 8, 10 ] },
        {name: 'Hologram', shader: 'assets/shaders/Hologram/Graph.json', prop: 'suzanne', camera: [ 5, 3, 4 ] },
        {name: 'Wire Ripple', shader: 'assets/shaders/WireRipple/Graph.json', prop: 'plane', camera: [ 5, 3, 4 ] },
        {name: 'Wireframe', shader: 'assets/shaders/Wireframe/Graph.json', prop: 'sphere', camera: [ 5, 3, 4 ] },
        // {name: '[broken] Clouds', shader: 'assets/shaders/Clouds/Graph.json', prop: 'cube', camera: [ 5, 3, 4 ] },
        {name: '[broken] Explosion', shader: 'assets/shaders/Explosion/Graph.json', prop: 'sphere', camera: [ 25, 20, 25 ] },
        // {name: '[broken] Mask Blend', shader: 'assets/shaders/MaskBlend/Graph.json', prop: 'cube', camera: [ 5, 3, 4 ] },
        {name: '[broken] Ripple', shader: 'assets/shaders/Ripple/Graph.json', prop: 'plane', camera: [ 5, 3, 4 ] },
    
      ];
      let selectedExample = examples[ 0 ];
      const api = { model: selectedExample.name };
      const gui = new dat.GUI();
      gui.add( api, 'model', examples.map( ( d ) => d.name ) ).onChange( () => {
        selectedExample = examples.find( ( d ) => api.model === d.name );
        mesh.parent.remove( mesh );
        mesh.geometry.dispose();
        mesh.material.dispose();
        otherProps.forEach( ( o ) => o.parent.remove( o ) );
        otherProps.length = 0;
    
        loadShader( selectedExample.shader ).then( ( _material ) => {
    
          mat
    Found 2024-08-16 by HttpPlugin
    Create report
  • Open service 76.76.21.9:443 · three-shadenodeloader.donmccurdy.com

    2024-08-14 20:30

    HTTP/1.1 200 OK
    Accept-Ranges: bytes
    Access-Control-Allow-Origin: *
    Age: 4509271
    Cache-Control: public, max-age=0, must-revalidate
    Content-Disposition: inline; filename="index"
    Content-Length: 10577
    Content-Type: text/html; charset=utf-8
    Date: Wed, 14 Aug 2024 20:30:14 GMT
    Etag: W/"0b0fe30a17009abb27626fcc2e6f8e35ba1ea851"
    Server: Vercel
    Strict-Transport-Security: max-age=63072000
    X-Vercel-Cache: HIT
    X-Vercel-Id: iad1::9twr4-1723667414859-6ecbcfb1078f
    Connection: close
    
    Page title: three.js • examples • shade node loader
    
    <!DOCTYPE html>
    <meta charset="utf-8">
    <title>three.js • examples • shade node loader</title>
    <style>
      html, body {
        margin: 0;
        padding: 0;
        background: #000;
        width: 100%;
        height: 100%;
        overflow: hidden;
      }
      p {
        margin: 0;
      }
      .attribution {
        width: 100%;
        max-width: 400px;
        color: #424242;
        position: fixed;
        bottom: 2em;
        left: 0;
        right: 0;
        margin: 0 auto;
        background: rgba(255,255,255, 0.8);
        padding: 0.5em 1em 0.7em;
        border-radius: 2px;
        font-family: monospace;
        text-align: center;
        max-width: 402px;
      }
    </style>
    <script src="./node_modules/dat.gui/build/dat.gui.js"></script>
    <script src="./node_modules/three/build/three.js"></script>
    <script src="./node_modules/three/examples/js/controls/OrbitControls.js"></script>
    <script src="./node_modules/three/examples/js/loaders/GLTFLoader.js"></script>
    <script src="./node_modules/three/examples/js/loaders/RGBELoader.js"></script>
    <script src="./node_modules/three/examples/js/loaders/HDRCubeTextureLoader.js"></script>
    <script src="./node_modules/three/examples/js/pmrem/PMREMGenerator.js"></script>
    <script src="./node_modules/three/examples/js/pmrem/PMREMCubeUVPacker.js"></script>
    
    <script type="module">
      import { ShadeNodeLoader } from './ShadeNodeLoader.js';
      import { TextureNode, TimerNode, FloatNode, Vector3Node } from './node_modules/three/examples/js/nodes/Nodes.js';
    
      const renderer = new THREE.WebGLRenderer( { antialias: true } );
      renderer.setSize( window.innerWidth, window.innerHeight );
      renderer.setClearColor( 0x202020 );
      renderer.physicallyCorrectLights = true;
      renderer.gammaOutput = true;
      renderer.gammaFactor = 2.2;
      document.body.appendChild( renderer.domElement );
    
      const timerNode = new TimerNode( 1.0 );
      const micNode = new FloatNode( 0.01 );
    
      const otherProps = [];
    
      let mesh, geometry, material, envMap;
    
      //
    
      const props = {
        suzanne: null,
        grass: null,
        roundedCube: null,
        cube: new THREE.BoxBufferGeometry(1.8, 1.8, 1.8),
        sphere: new THREE.SphereBufferGeometry( 1.8, 32, 32 ),
        plane: new THREE.PlaneBufferGeometry( 5, 5, 64, 64 ).rotateX( - 1 * Math.PI / 2 )
      };
    
      const examples = [
    
        {name: 'Instancing Grid', shader: 'assets/shaders/InstancingGrid/Graph.json', prop: 'roundedCube', camera: [ 25, 20, 25 ], grid: false },
        {name: 'Checkers', shader: 'assets/shaders/Checkers/Graph.json', prop: 'cube', camera: [ 5, 3, 4 ] },
        {name: 'Dissolve', shader: 'assets/shaders/Dissolve/Graph.json', prop: 'suzanne', camera: [ 5, 3, 4 ] },
        {name: 'Fake Volume', shader: 'assets/shaders/FakeVolume/Graph.json', prop: 'sphere', camera: [ 5, 3, 4 ] },
        {name: 'Grass', shader: 'assets/shaders/Grass/Graph.json', prop: 'grass', camera: [ 10, 8, 10 ] },
        {name: 'Hologram', shader: 'assets/shaders/Hologram/Graph.json', prop: 'suzanne', camera: [ 5, 3, 4 ] },
        {name: 'Wire Ripple', shader: 'assets/shaders/WireRipple/Graph.json', prop: 'plane', camera: [ 5, 3, 4 ] },
        {name: 'Wireframe', shader: 'assets/shaders/Wireframe/Graph.json', prop: 'sphere', camera: [ 5, 3, 4 ] },
        // {name: '[broken] Clouds', shader: 'assets/shaders/Clouds/Graph.json', prop: 'cube', camera: [ 5, 3, 4 ] },
        {name: '[broken] Explosion', shader: 'assets/shaders/Explosion/Graph.json', prop: 'sphere', camera: [ 25, 20, 25 ] },
        // {name: '[broken] Mask Blend', shader: 'assets/shaders/MaskBlend/Graph.json', prop: 'cube', camera: [ 5, 3, 4 ] },
        {name: '[broken] Ripple', shader: 'assets/shaders/Ripple/Graph.json', prop: 'plane', camera: [ 5, 3, 4 ] },
    
      ];
      let selectedExample = examples[ 0 ];
      const api = { model: selectedExample.name };
      const gui = new dat.GUI();
      gui.add( api, 'model', examples.map( ( d ) => d.name ) ).onChange( () => {
        selectedExample = examples.find( ( d ) => api.model === d.name );
        mesh.parent.remove( mesh );
        mesh.geometry.dispose();
        mesh.material.dispose();
        otherProps.forEach( ( o ) => o.parent.remove( o ) );
        otherProps.length = 0;
    
        loadShader( selectedExample.shader ).then( ( _material ) => {
    
          mat
    Found 2024-08-14 by HttpPlugin
    Create report
  • Open service 76.76.21.9:443 · three-shadenodeloader.donmccurdy.com

    2024-08-14 17:36

    HTTP/1.1 200 OK
    Accept-Ranges: bytes
    Access-Control-Allow-Origin: *
    Age: 12621733
    Cache-Control: public, max-age=0, must-revalidate
    Content-Disposition: inline; filename="index"
    Content-Length: 10577
    Content-Type: text/html; charset=utf-8
    Date: Wed, 14 Aug 2024 17:36:50 GMT
    Etag: W/"0b0fe30a17009abb27626fcc2e6f8e35ba1ea851"
    Server: Vercel
    Strict-Transport-Security: max-age=63072000
    X-Vercel-Cache: HIT
    X-Vercel-Id: fra1::ws6jq-1723657009997-eec921411cec
    Connection: close
    
    Page title: three.js • examples • shade node loader
    
    <!DOCTYPE html>
    <meta charset="utf-8">
    <title>three.js • examples • shade node loader</title>
    <style>
      html, body {
        margin: 0;
        padding: 0;
        background: #000;
        width: 100%;
        height: 100%;
        overflow: hidden;
      }
      p {
        margin: 0;
      }
      .attribution {
        width: 100%;
        max-width: 400px;
        color: #424242;
        position: fixed;
        bottom: 2em;
        left: 0;
        right: 0;
        margin: 0 auto;
        background: rgba(255,255,255, 0.8);
        padding: 0.5em 1em 0.7em;
        border-radius: 2px;
        font-family: monospace;
        text-align: center;
        max-width: 402px;
      }
    </style>
    <script src="./node_modules/dat.gui/build/dat.gui.js"></script>
    <script src="./node_modules/three/build/three.js"></script>
    <script src="./node_modules/three/examples/js/controls/OrbitControls.js"></script>
    <script src="./node_modules/three/examples/js/loaders/GLTFLoader.js"></script>
    <script src="./node_modules/three/examples/js/loaders/RGBELoader.js"></script>
    <script src="./node_modules/three/examples/js/loaders/HDRCubeTextureLoader.js"></script>
    <script src="./node_modules/three/examples/js/pmrem/PMREMGenerator.js"></script>
    <script src="./node_modules/three/examples/js/pmrem/PMREMCubeUVPacker.js"></script>
    
    <script type="module">
      import { ShadeNodeLoader } from './ShadeNodeLoader.js';
      import { TextureNode, TimerNode, FloatNode, Vector3Node } from './node_modules/three/examples/js/nodes/Nodes.js';
    
      const renderer = new THREE.WebGLRenderer( { antialias: true } );
      renderer.setSize( window.innerWidth, window.innerHeight );
      renderer.setClearColor( 0x202020 );
      renderer.physicallyCorrectLights = true;
      renderer.gammaOutput = true;
      renderer.gammaFactor = 2.2;
      document.body.appendChild( renderer.domElement );
    
      const timerNode = new TimerNode( 1.0 );
      const micNode = new FloatNode( 0.01 );
    
      const otherProps = [];
    
      let mesh, geometry, material, envMap;
    
      //
    
      const props = {
        suzanne: null,
        grass: null,
        roundedCube: null,
        cube: new THREE.BoxBufferGeometry(1.8, 1.8, 1.8),
        sphere: new THREE.SphereBufferGeometry( 1.8, 32, 32 ),
        plane: new THREE.PlaneBufferGeometry( 5, 5, 64, 64 ).rotateX( - 1 * Math.PI / 2 )
      };
    
      const examples = [
    
        {name: 'Instancing Grid', shader: 'assets/shaders/InstancingGrid/Graph.json', prop: 'roundedCube', camera: [ 25, 20, 25 ], grid: false },
        {name: 'Checkers', shader: 'assets/shaders/Checkers/Graph.json', prop: 'cube', camera: [ 5, 3, 4 ] },
        {name: 'Dissolve', shader: 'assets/shaders/Dissolve/Graph.json', prop: 'suzanne', camera: [ 5, 3, 4 ] },
        {name: 'Fake Volume', shader: 'assets/shaders/FakeVolume/Graph.json', prop: 'sphere', camera: [ 5, 3, 4 ] },
        {name: 'Grass', shader: 'assets/shaders/Grass/Graph.json', prop: 'grass', camera: [ 10, 8, 10 ] },
        {name: 'Hologram', shader: 'assets/shaders/Hologram/Graph.json', prop: 'suzanne', camera: [ 5, 3, 4 ] },
        {name: 'Wire Ripple', shader: 'assets/shaders/WireRipple/Graph.json', prop: 'plane', camera: [ 5, 3, 4 ] },
        {name: 'Wireframe', shader: 'assets/shaders/Wireframe/Graph.json', prop: 'sphere', camera: [ 5, 3, 4 ] },
        // {name: '[broken] Clouds', shader: 'assets/shaders/Clouds/Graph.json', prop: 'cube', camera: [ 5, 3, 4 ] },
        {name: '[broken] Explosion', shader: 'assets/shaders/Explosion/Graph.json', prop: 'sphere', camera: [ 25, 20, 25 ] },
        // {name: '[broken] Mask Blend', shader: 'assets/shaders/MaskBlend/Graph.json', prop: 'cube', camera: [ 5, 3, 4 ] },
        {name: '[broken] Ripple', shader: 'assets/shaders/Ripple/Graph.json', prop: 'plane', camera: [ 5, 3, 4 ] },
    
      ];
      let selectedExample = examples[ 0 ];
      const api = { model: selectedExample.name };
      const gui = new dat.GUI();
      gui.add( api, 'model', examples.map( ( d ) => d.name ) ).onChange( () => {
        selectedExample = examples.find( ( d ) => api.model === d.name );
        mesh.parent.remove( mesh );
        mesh.geometry.dispose();
        mesh.material.dispose();
        otherProps.forEach( ( o ) => o.parent.remove( o ) );
        otherProps.length = 0;
    
        loadShader( selectedExample.shader ).then( ( _material ) => {
    
          mat
    Found 2024-08-14 by HttpPlugin
    Create report
  • Open service 76.76.21.9:443 · three-shadenodeloader.donmccurdy.com

    2024-08-12 22:09

    HTTP/1.1 200 OK
    Accept-Ranges: bytes
    Access-Control-Allow-Origin: *
    Age: 4342414
    Cache-Control: public, max-age=0, must-revalidate
    Content-Disposition: inline; filename="index"
    Content-Length: 10577
    Content-Type: text/html; charset=utf-8
    Date: Mon, 12 Aug 2024 22:09:18 GMT
    Etag: W/"0b0fe30a17009abb27626fcc2e6f8e35ba1ea851"
    Server: Vercel
    Strict-Transport-Security: max-age=63072000
    X-Vercel-Cache: HIT
    X-Vercel-Id: iad1::jgcpg-1723500558155-3fd534e83376
    Connection: close
    
    Page title: three.js • examples • shade node loader
    
    <!DOCTYPE html>
    <meta charset="utf-8">
    <title>three.js • examples • shade node loader</title>
    <style>
      html, body {
        margin: 0;
        padding: 0;
        background: #000;
        width: 100%;
        height: 100%;
        overflow: hidden;
      }
      p {
        margin: 0;
      }
      .attribution {
        width: 100%;
        max-width: 400px;
        color: #424242;
        position: fixed;
        bottom: 2em;
        left: 0;
        right: 0;
        margin: 0 auto;
        background: rgba(255,255,255, 0.8);
        padding: 0.5em 1em 0.7em;
        border-radius: 2px;
        font-family: monospace;
        text-align: center;
        max-width: 402px;
      }
    </style>
    <script src="./node_modules/dat.gui/build/dat.gui.js"></script>
    <script src="./node_modules/three/build/three.js"></script>
    <script src="./node_modules/three/examples/js/controls/OrbitControls.js"></script>
    <script src="./node_modules/three/examples/js/loaders/GLTFLoader.js"></script>
    <script src="./node_modules/three/examples/js/loaders/RGBELoader.js"></script>
    <script src="./node_modules/three/examples/js/loaders/HDRCubeTextureLoader.js"></script>
    <script src="./node_modules/three/examples/js/pmrem/PMREMGenerator.js"></script>
    <script src="./node_modules/three/examples/js/pmrem/PMREMCubeUVPacker.js"></script>
    
    <script type="module">
      import { ShadeNodeLoader } from './ShadeNodeLoader.js';
      import { TextureNode, TimerNode, FloatNode, Vector3Node } from './node_modules/three/examples/js/nodes/Nodes.js';
    
      const renderer = new THREE.WebGLRenderer( { antialias: true } );
      renderer.setSize( window.innerWidth, window.innerHeight );
      renderer.setClearColor( 0x202020 );
      renderer.physicallyCorrectLights = true;
      renderer.gammaOutput = true;
      renderer.gammaFactor = 2.2;
      document.body.appendChild( renderer.domElement );
    
      const timerNode = new TimerNode( 1.0 );
      const micNode = new FloatNode( 0.01 );
    
      const otherProps = [];
    
      let mesh, geometry, material, envMap;
    
      //
    
      const props = {
        suzanne: null,
        grass: null,
        roundedCube: null,
        cube: new THREE.BoxBufferGeometry(1.8, 1.8, 1.8),
        sphere: new THREE.SphereBufferGeometry( 1.8, 32, 32 ),
        plane: new THREE.PlaneBufferGeometry( 5, 5, 64, 64 ).rotateX( - 1 * Math.PI / 2 )
      };
    
      const examples = [
    
        {name: 'Instancing Grid', shader: 'assets/shaders/InstancingGrid/Graph.json', prop: 'roundedCube', camera: [ 25, 20, 25 ], grid: false },
        {name: 'Checkers', shader: 'assets/shaders/Checkers/Graph.json', prop: 'cube', camera: [ 5, 3, 4 ] },
        {name: 'Dissolve', shader: 'assets/shaders/Dissolve/Graph.json', prop: 'suzanne', camera: [ 5, 3, 4 ] },
        {name: 'Fake Volume', shader: 'assets/shaders/FakeVolume/Graph.json', prop: 'sphere', camera: [ 5, 3, 4 ] },
        {name: 'Grass', shader: 'assets/shaders/Grass/Graph.json', prop: 'grass', camera: [ 10, 8, 10 ] },
        {name: 'Hologram', shader: 'assets/shaders/Hologram/Graph.json', prop: 'suzanne', camera: [ 5, 3, 4 ] },
        {name: 'Wire Ripple', shader: 'assets/shaders/WireRipple/Graph.json', prop: 'plane', camera: [ 5, 3, 4 ] },
        {name: 'Wireframe', shader: 'assets/shaders/Wireframe/Graph.json', prop: 'sphere', camera: [ 5, 3, 4 ] },
        // {name: '[broken] Clouds', shader: 'assets/shaders/Clouds/Graph.json', prop: 'cube', camera: [ 5, 3, 4 ] },
        {name: '[broken] Explosion', shader: 'assets/shaders/Explosion/Graph.json', prop: 'sphere', camera: [ 25, 20, 25 ] },
        // {name: '[broken] Mask Blend', shader: 'assets/shaders/MaskBlend/Graph.json', prop: 'cube', camera: [ 5, 3, 4 ] },
        {name: '[broken] Ripple', shader: 'assets/shaders/Ripple/Graph.json', prop: 'plane', camera: [ 5, 3, 4 ] },
    
      ];
      let selectedExample = examples[ 0 ];
      const api = { model: selectedExample.name };
      const gui = new dat.GUI();
      gui.add( api, 'model', examples.map( ( d ) => d.name ) ).onChange( () => {
        selectedExample = examples.find( ( d ) => api.model === d.name );
        mesh.parent.remove( mesh );
        mesh.geometry.dispose();
        mesh.material.dispose();
        otherProps.forEach( ( o ) => o.parent.remove( o ) );
        otherProps.length = 0;
    
        loadShader( selectedExample.shader ).then( ( _material ) => {
    
          mat
    Found 2024-08-12 by HttpPlugin
    Create report
  • Open service 76.76.21.9:443 · three-shadenodeloader.donmccurdy.com

    2024-08-12 19:41

    HTTP/1.1 200 OK
    Accept-Ranges: bytes
    Access-Control-Allow-Origin: *
    Age: 12456384
    Cache-Control: public, max-age=0, must-revalidate
    Content-Disposition: inline; filename="index"
    Content-Length: 10577
    Content-Type: text/html; charset=utf-8
    Date: Mon, 12 Aug 2024 19:41:01 GMT
    Etag: W/"0b0fe30a17009abb27626fcc2e6f8e35ba1ea851"
    Server: Vercel
    Strict-Transport-Security: max-age=63072000
    X-Vercel-Cache: HIT
    X-Vercel-Id: fra1::5nw74-1723491661388-0e1a1a2f884a
    Connection: close
    
    Page title: three.js • examples • shade node loader
    
    <!DOCTYPE html>
    <meta charset="utf-8">
    <title>three.js • examples • shade node loader</title>
    <style>
      html, body {
        margin: 0;
        padding: 0;
        background: #000;
        width: 100%;
        height: 100%;
        overflow: hidden;
      }
      p {
        margin: 0;
      }
      .attribution {
        width: 100%;
        max-width: 400px;
        color: #424242;
        position: fixed;
        bottom: 2em;
        left: 0;
        right: 0;
        margin: 0 auto;
        background: rgba(255,255,255, 0.8);
        padding: 0.5em 1em 0.7em;
        border-radius: 2px;
        font-family: monospace;
        text-align: center;
        max-width: 402px;
      }
    </style>
    <script src="./node_modules/dat.gui/build/dat.gui.js"></script>
    <script src="./node_modules/three/build/three.js"></script>
    <script src="./node_modules/three/examples/js/controls/OrbitControls.js"></script>
    <script src="./node_modules/three/examples/js/loaders/GLTFLoader.js"></script>
    <script src="./node_modules/three/examples/js/loaders/RGBELoader.js"></script>
    <script src="./node_modules/three/examples/js/loaders/HDRCubeTextureLoader.js"></script>
    <script src="./node_modules/three/examples/js/pmrem/PMREMGenerator.js"></script>
    <script src="./node_modules/three/examples/js/pmrem/PMREMCubeUVPacker.js"></script>
    
    <script type="module">
      import { ShadeNodeLoader } from './ShadeNodeLoader.js';
      import { TextureNode, TimerNode, FloatNode, Vector3Node } from './node_modules/three/examples/js/nodes/Nodes.js';
    
      const renderer = new THREE.WebGLRenderer( { antialias: true } );
      renderer.setSize( window.innerWidth, window.innerHeight );
      renderer.setClearColor( 0x202020 );
      renderer.physicallyCorrectLights = true;
      renderer.gammaOutput = true;
      renderer.gammaFactor = 2.2;
      document.body.appendChild( renderer.domElement );
    
      const timerNode = new TimerNode( 1.0 );
      const micNode = new FloatNode( 0.01 );
    
      const otherProps = [];
    
      let mesh, geometry, material, envMap;
    
      //
    
      const props = {
        suzanne: null,
        grass: null,
        roundedCube: null,
        cube: new THREE.BoxBufferGeometry(1.8, 1.8, 1.8),
        sphere: new THREE.SphereBufferGeometry( 1.8, 32, 32 ),
        plane: new THREE.PlaneBufferGeometry( 5, 5, 64, 64 ).rotateX( - 1 * Math.PI / 2 )
      };
    
      const examples = [
    
        {name: 'Instancing Grid', shader: 'assets/shaders/InstancingGrid/Graph.json', prop: 'roundedCube', camera: [ 25, 20, 25 ], grid: false },
        {name: 'Checkers', shader: 'assets/shaders/Checkers/Graph.json', prop: 'cube', camera: [ 5, 3, 4 ] },
        {name: 'Dissolve', shader: 'assets/shaders/Dissolve/Graph.json', prop: 'suzanne', camera: [ 5, 3, 4 ] },
        {name: 'Fake Volume', shader: 'assets/shaders/FakeVolume/Graph.json', prop: 'sphere', camera: [ 5, 3, 4 ] },
        {name: 'Grass', shader: 'assets/shaders/Grass/Graph.json', prop: 'grass', camera: [ 10, 8, 10 ] },
        {name: 'Hologram', shader: 'assets/shaders/Hologram/Graph.json', prop: 'suzanne', camera: [ 5, 3, 4 ] },
        {name: 'Wire Ripple', shader: 'assets/shaders/WireRipple/Graph.json', prop: 'plane', camera: [ 5, 3, 4 ] },
        {name: 'Wireframe', shader: 'assets/shaders/Wireframe/Graph.json', prop: 'sphere', camera: [ 5, 3, 4 ] },
        // {name: '[broken] Clouds', shader: 'assets/shaders/Clouds/Graph.json', prop: 'cube', camera: [ 5, 3, 4 ] },
        {name: '[broken] Explosion', shader: 'assets/shaders/Explosion/Graph.json', prop: 'sphere', camera: [ 25, 20, 25 ] },
        // {name: '[broken] Mask Blend', shader: 'assets/shaders/MaskBlend/Graph.json', prop: 'cube', camera: [ 5, 3, 4 ] },
        {name: '[broken] Ripple', shader: 'assets/shaders/Ripple/Graph.json', prop: 'plane', camera: [ 5, 3, 4 ] },
    
      ];
      let selectedExample = examples[ 0 ];
      const api = { model: selectedExample.name };
      const gui = new dat.GUI();
      gui.add( api, 'model', examples.map( ( d ) => d.name ) ).onChange( () => {
        selectedExample = examples.find( ( d ) => api.model === d.name );
        mesh.parent.remove( mesh );
        mesh.geometry.dispose();
        mesh.material.dispose();
        otherProps.forEach( ( o ) => o.parent.remove( o ) );
        otherProps.length = 0;
    
        loadShader( selectedExample.shader ).then( ( _material ) => {
    
          mat
    Found 2024-08-12 by HttpPlugin
    Create report
  • Open service 76.76.21.9:443 · three-shadenodeloader.donmccurdy.com

    2024-08-10 22:12

    HTTP/1.1 200 OK
    Accept-Ranges: bytes
    Access-Control-Allow-Origin: *
    Age: 12292657
    Cache-Control: public, max-age=0, must-revalidate
    Content-Disposition: inline; filename="index"
    Content-Length: 10577
    Content-Type: text/html; charset=utf-8
    Date: Sat, 10 Aug 2024 22:12:14 GMT
    Etag: W/"0b0fe30a17009abb27626fcc2e6f8e35ba1ea851"
    Server: Vercel
    Strict-Transport-Security: max-age=63072000
    X-Vercel-Cache: HIT
    X-Vercel-Id: fra1::8sgp4-1723327934433-05a35f845e3a
    Connection: close
    
    Page title: three.js • examples • shade node loader
    
    <!DOCTYPE html>
    <meta charset="utf-8">
    <title>three.js • examples • shade node loader</title>
    <style>
      html, body {
        margin: 0;
        padding: 0;
        background: #000;
        width: 100%;
        height: 100%;
        overflow: hidden;
      }
      p {
        margin: 0;
      }
      .attribution {
        width: 100%;
        max-width: 400px;
        color: #424242;
        position: fixed;
        bottom: 2em;
        left: 0;
        right: 0;
        margin: 0 auto;
        background: rgba(255,255,255, 0.8);
        padding: 0.5em 1em 0.7em;
        border-radius: 2px;
        font-family: monospace;
        text-align: center;
        max-width: 402px;
      }
    </style>
    <script src="./node_modules/dat.gui/build/dat.gui.js"></script>
    <script src="./node_modules/three/build/three.js"></script>
    <script src="./node_modules/three/examples/js/controls/OrbitControls.js"></script>
    <script src="./node_modules/three/examples/js/loaders/GLTFLoader.js"></script>
    <script src="./node_modules/three/examples/js/loaders/RGBELoader.js"></script>
    <script src="./node_modules/three/examples/js/loaders/HDRCubeTextureLoader.js"></script>
    <script src="./node_modules/three/examples/js/pmrem/PMREMGenerator.js"></script>
    <script src="./node_modules/three/examples/js/pmrem/PMREMCubeUVPacker.js"></script>
    
    <script type="module">
      import { ShadeNodeLoader } from './ShadeNodeLoader.js';
      import { TextureNode, TimerNode, FloatNode, Vector3Node } from './node_modules/three/examples/js/nodes/Nodes.js';
    
      const renderer = new THREE.WebGLRenderer( { antialias: true } );
      renderer.setSize( window.innerWidth, window.innerHeight );
      renderer.setClearColor( 0x202020 );
      renderer.physicallyCorrectLights = true;
      renderer.gammaOutput = true;
      renderer.gammaFactor = 2.2;
      document.body.appendChild( renderer.domElement );
    
      const timerNode = new TimerNode( 1.0 );
      const micNode = new FloatNode( 0.01 );
    
      const otherProps = [];
    
      let mesh, geometry, material, envMap;
    
      //
    
      const props = {
        suzanne: null,
        grass: null,
        roundedCube: null,
        cube: new THREE.BoxBufferGeometry(1.8, 1.8, 1.8),
        sphere: new THREE.SphereBufferGeometry( 1.8, 32, 32 ),
        plane: new THREE.PlaneBufferGeometry( 5, 5, 64, 64 ).rotateX( - 1 * Math.PI / 2 )
      };
    
      const examples = [
    
        {name: 'Instancing Grid', shader: 'assets/shaders/InstancingGrid/Graph.json', prop: 'roundedCube', camera: [ 25, 20, 25 ], grid: false },
        {name: 'Checkers', shader: 'assets/shaders/Checkers/Graph.json', prop: 'cube', camera: [ 5, 3, 4 ] },
        {name: 'Dissolve', shader: 'assets/shaders/Dissolve/Graph.json', prop: 'suzanne', camera: [ 5, 3, 4 ] },
        {name: 'Fake Volume', shader: 'assets/shaders/FakeVolume/Graph.json', prop: 'sphere', camera: [ 5, 3, 4 ] },
        {name: 'Grass', shader: 'assets/shaders/Grass/Graph.json', prop: 'grass', camera: [ 10, 8, 10 ] },
        {name: 'Hologram', shader: 'assets/shaders/Hologram/Graph.json', prop: 'suzanne', camera: [ 5, 3, 4 ] },
        {name: 'Wire Ripple', shader: 'assets/shaders/WireRipple/Graph.json', prop: 'plane', camera: [ 5, 3, 4 ] },
        {name: 'Wireframe', shader: 'assets/shaders/Wireframe/Graph.json', prop: 'sphere', camera: [ 5, 3, 4 ] },
        // {name: '[broken] Clouds', shader: 'assets/shaders/Clouds/Graph.json', prop: 'cube', camera: [ 5, 3, 4 ] },
        {name: '[broken] Explosion', shader: 'assets/shaders/Explosion/Graph.json', prop: 'sphere', camera: [ 25, 20, 25 ] },
        // {name: '[broken] Mask Blend', shader: 'assets/shaders/MaskBlend/Graph.json', prop: 'cube', camera: [ 5, 3, 4 ] },
        {name: '[broken] Ripple', shader: 'assets/shaders/Ripple/Graph.json', prop: 'plane', camera: [ 5, 3, 4 ] },
    
      ];
      let selectedExample = examples[ 0 ];
      const api = { model: selectedExample.name };
      const gui = new dat.GUI();
      gui.add( api, 'model', examples.map( ( d ) => d.name ) ).onChange( () => {
        selectedExample = examples.find( ( d ) => api.model === d.name );
        mesh.parent.remove( mesh );
        mesh.geometry.dispose();
        mesh.material.dispose();
        otherProps.forEach( ( o ) => o.parent.remove( o ) );
        otherProps.length = 0;
    
        loadShader( selectedExample.shader ).then( ( _material ) => {
    
          mat
    Found 2024-08-10 by HttpPlugin
    Create report
  • Open service 76.76.21.9:443 · three-shadenodeloader.donmccurdy.com

    2024-08-10 03:04

    HTTP/1.1 200 OK
    Accept-Ranges: bytes
    Access-Control-Allow-Origin: *
    Age: 12223785
    Cache-Control: public, max-age=0, must-revalidate
    Content-Disposition: inline; filename="index"
    Content-Length: 10577
    Content-Type: text/html; charset=utf-8
    Date: Sat, 10 Aug 2024 03:04:21 GMT
    Etag: W/"0b0fe30a17009abb27626fcc2e6f8e35ba1ea851"
    Server: Vercel
    Strict-Transport-Security: max-age=63072000
    X-Vercel-Cache: HIT
    X-Vercel-Id: fra1::n4gxj-1723259061841-769779e11da3
    Connection: close
    
    Page title: three.js • examples • shade node loader
    
    <!DOCTYPE html>
    <meta charset="utf-8">
    <title>three.js • examples • shade node loader</title>
    <style>
      html, body {
        margin: 0;
        padding: 0;
        background: #000;
        width: 100%;
        height: 100%;
        overflow: hidden;
      }
      p {
        margin: 0;
      }
      .attribution {
        width: 100%;
        max-width: 400px;
        color: #424242;
        position: fixed;
        bottom: 2em;
        left: 0;
        right: 0;
        margin: 0 auto;
        background: rgba(255,255,255, 0.8);
        padding: 0.5em 1em 0.7em;
        border-radius: 2px;
        font-family: monospace;
        text-align: center;
        max-width: 402px;
      }
    </style>
    <script src="./node_modules/dat.gui/build/dat.gui.js"></script>
    <script src="./node_modules/three/build/three.js"></script>
    <script src="./node_modules/three/examples/js/controls/OrbitControls.js"></script>
    <script src="./node_modules/three/examples/js/loaders/GLTFLoader.js"></script>
    <script src="./node_modules/three/examples/js/loaders/RGBELoader.js"></script>
    <script src="./node_modules/three/examples/js/loaders/HDRCubeTextureLoader.js"></script>
    <script src="./node_modules/three/examples/js/pmrem/PMREMGenerator.js"></script>
    <script src="./node_modules/three/examples/js/pmrem/PMREMCubeUVPacker.js"></script>
    
    <script type="module">
      import { ShadeNodeLoader } from './ShadeNodeLoader.js';
      import { TextureNode, TimerNode, FloatNode, Vector3Node } from './node_modules/three/examples/js/nodes/Nodes.js';
    
      const renderer = new THREE.WebGLRenderer( { antialias: true } );
      renderer.setSize( window.innerWidth, window.innerHeight );
      renderer.setClearColor( 0x202020 );
      renderer.physicallyCorrectLights = true;
      renderer.gammaOutput = true;
      renderer.gammaFactor = 2.2;
      document.body.appendChild( renderer.domElement );
    
      const timerNode = new TimerNode( 1.0 );
      const micNode = new FloatNode( 0.01 );
    
      const otherProps = [];
    
      let mesh, geometry, material, envMap;
    
      //
    
      const props = {
        suzanne: null,
        grass: null,
        roundedCube: null,
        cube: new THREE.BoxBufferGeometry(1.8, 1.8, 1.8),
        sphere: new THREE.SphereBufferGeometry( 1.8, 32, 32 ),
        plane: new THREE.PlaneBufferGeometry( 5, 5, 64, 64 ).rotateX( - 1 * Math.PI / 2 )
      };
    
      const examples = [
    
        {name: 'Instancing Grid', shader: 'assets/shaders/InstancingGrid/Graph.json', prop: 'roundedCube', camera: [ 25, 20, 25 ], grid: false },
        {name: 'Checkers', shader: 'assets/shaders/Checkers/Graph.json', prop: 'cube', camera: [ 5, 3, 4 ] },
        {name: 'Dissolve', shader: 'assets/shaders/Dissolve/Graph.json', prop: 'suzanne', camera: [ 5, 3, 4 ] },
        {name: 'Fake Volume', shader: 'assets/shaders/FakeVolume/Graph.json', prop: 'sphere', camera: [ 5, 3, 4 ] },
        {name: 'Grass', shader: 'assets/shaders/Grass/Graph.json', prop: 'grass', camera: [ 10, 8, 10 ] },
        {name: 'Hologram', shader: 'assets/shaders/Hologram/Graph.json', prop: 'suzanne', camera: [ 5, 3, 4 ] },
        {name: 'Wire Ripple', shader: 'assets/shaders/WireRipple/Graph.json', prop: 'plane', camera: [ 5, 3, 4 ] },
        {name: 'Wireframe', shader: 'assets/shaders/Wireframe/Graph.json', prop: 'sphere', camera: [ 5, 3, 4 ] },
        // {name: '[broken] Clouds', shader: 'assets/shaders/Clouds/Graph.json', prop: 'cube', camera: [ 5, 3, 4 ] },
        {name: '[broken] Explosion', shader: 'assets/shaders/Explosion/Graph.json', prop: 'sphere', camera: [ 25, 20, 25 ] },
        // {name: '[broken] Mask Blend', shader: 'assets/shaders/MaskBlend/Graph.json', prop: 'cube', camera: [ 5, 3, 4 ] },
        {name: '[broken] Ripple', shader: 'assets/shaders/Ripple/Graph.json', prop: 'plane', camera: [ 5, 3, 4 ] },
    
      ];
      let selectedExample = examples[ 0 ];
      const api = { model: selectedExample.name };
      const gui = new dat.GUI();
      gui.add( api, 'model', examples.map( ( d ) => d.name ) ).onChange( () => {
        selectedExample = examples.find( ( d ) => api.model === d.name );
        mesh.parent.remove( mesh );
        mesh.geometry.dispose();
        mesh.material.dispose();
        otherProps.forEach( ( o ) => o.parent.remove( o ) );
        otherProps.length = 0;
    
        loadShader( selectedExample.shader ).then( ( _material ) => {
    
          mat
    Found 2024-08-10 by HttpPlugin
    Create report
  • Open service 76.76.21.9:443 · three-shadenodeloader.donmccurdy.com

    2024-08-09 00:48

    HTTP/1.1 200 OK
    Accept-Ranges: bytes
    Access-Control-Allow-Origin: *
    Age: 4161993
    Cache-Control: public, max-age=0, must-revalidate
    Content-Disposition: inline; filename="index"
    Content-Length: 10577
    Content-Type: text/html; charset=utf-8
    Date: Fri, 09 Aug 2024 00:48:24 GMT
    Etag: W/"0b0fe30a17009abb27626fcc2e6f8e35ba1ea851"
    Server: Vercel
    Strict-Transport-Security: max-age=63072000
    X-Vercel-Cache: HIT
    X-Vercel-Id: cle1::sjltk-1723164504912-57f344ea9a91
    Connection: close
    
    Page title: three.js • examples • shade node loader
    
    <!DOCTYPE html>
    <meta charset="utf-8">
    <title>three.js • examples • shade node loader</title>
    <style>
      html, body {
        margin: 0;
        padding: 0;
        background: #000;
        width: 100%;
        height: 100%;
        overflow: hidden;
      }
      p {
        margin: 0;
      }
      .attribution {
        width: 100%;
        max-width: 400px;
        color: #424242;
        position: fixed;
        bottom: 2em;
        left: 0;
        right: 0;
        margin: 0 auto;
        background: rgba(255,255,255, 0.8);
        padding: 0.5em 1em 0.7em;
        border-radius: 2px;
        font-family: monospace;
        text-align: center;
        max-width: 402px;
      }
    </style>
    <script src="./node_modules/dat.gui/build/dat.gui.js"></script>
    <script src="./node_modules/three/build/three.js"></script>
    <script src="./node_modules/three/examples/js/controls/OrbitControls.js"></script>
    <script src="./node_modules/three/examples/js/loaders/GLTFLoader.js"></script>
    <script src="./node_modules/three/examples/js/loaders/RGBELoader.js"></script>
    <script src="./node_modules/three/examples/js/loaders/HDRCubeTextureLoader.js"></script>
    <script src="./node_modules/three/examples/js/pmrem/PMREMGenerator.js"></script>
    <script src="./node_modules/three/examples/js/pmrem/PMREMCubeUVPacker.js"></script>
    
    <script type="module">
      import { ShadeNodeLoader } from './ShadeNodeLoader.js';
      import { TextureNode, TimerNode, FloatNode, Vector3Node } from './node_modules/three/examples/js/nodes/Nodes.js';
    
      const renderer = new THREE.WebGLRenderer( { antialias: true } );
      renderer.setSize( window.innerWidth, window.innerHeight );
      renderer.setClearColor( 0x202020 );
      renderer.physicallyCorrectLights = true;
      renderer.gammaOutput = true;
      renderer.gammaFactor = 2.2;
      document.body.appendChild( renderer.domElement );
    
      const timerNode = new TimerNode( 1.0 );
      const micNode = new FloatNode( 0.01 );
    
      const otherProps = [];
    
      let mesh, geometry, material, envMap;
    
      //
    
      const props = {
        suzanne: null,
        grass: null,
        roundedCube: null,
        cube: new THREE.BoxBufferGeometry(1.8, 1.8, 1.8),
        sphere: new THREE.SphereBufferGeometry( 1.8, 32, 32 ),
        plane: new THREE.PlaneBufferGeometry( 5, 5, 64, 64 ).rotateX( - 1 * Math.PI / 2 )
      };
    
      const examples = [
    
        {name: 'Instancing Grid', shader: 'assets/shaders/InstancingGrid/Graph.json', prop: 'roundedCube', camera: [ 25, 20, 25 ], grid: false },
        {name: 'Checkers', shader: 'assets/shaders/Checkers/Graph.json', prop: 'cube', camera: [ 5, 3, 4 ] },
        {name: 'Dissolve', shader: 'assets/shaders/Dissolve/Graph.json', prop: 'suzanne', camera: [ 5, 3, 4 ] },
        {name: 'Fake Volume', shader: 'assets/shaders/FakeVolume/Graph.json', prop: 'sphere', camera: [ 5, 3, 4 ] },
        {name: 'Grass', shader: 'assets/shaders/Grass/Graph.json', prop: 'grass', camera: [ 10, 8, 10 ] },
        {name: 'Hologram', shader: 'assets/shaders/Hologram/Graph.json', prop: 'suzanne', camera: [ 5, 3, 4 ] },
        {name: 'Wire Ripple', shader: 'assets/shaders/WireRipple/Graph.json', prop: 'plane', camera: [ 5, 3, 4 ] },
        {name: 'Wireframe', shader: 'assets/shaders/Wireframe/Graph.json', prop: 'sphere', camera: [ 5, 3, 4 ] },
        // {name: '[broken] Clouds', shader: 'assets/shaders/Clouds/Graph.json', prop: 'cube', camera: [ 5, 3, 4 ] },
        {name: '[broken] Explosion', shader: 'assets/shaders/Explosion/Graph.json', prop: 'sphere', camera: [ 25, 20, 25 ] },
        // {name: '[broken] Mask Blend', shader: 'assets/shaders/MaskBlend/Graph.json', prop: 'cube', camera: [ 5, 3, 4 ] },
        {name: '[broken] Ripple', shader: 'assets/shaders/Ripple/Graph.json', prop: 'plane', camera: [ 5, 3, 4 ] },
    
      ];
      let selectedExample = examples[ 0 ];
      const api = { model: selectedExample.name };
      const gui = new dat.GUI();
      gui.add( api, 'model', examples.map( ( d ) => d.name ) ).onChange( () => {
        selectedExample = examples.find( ( d ) => api.model === d.name );
        mesh.parent.remove( mesh );
        mesh.geometry.dispose();
        mesh.material.dispose();
        otherProps.forEach( ( o ) => o.parent.remove( o ) );
        otherProps.length = 0;
    
        loadShader( selectedExample.shader ).then( ( _material ) => {
    
          mat
    Found 2024-08-09 by HttpPlugin
    Create report
  • Open service 76.76.21.9:443 · three-shadenodeloader.donmccurdy.com

    2024-08-09 00:29

    HTTP/1.1 200 OK
    Accept-Ranges: bytes
    Access-Control-Allow-Origin: *
    Age: 12128099
    Cache-Control: public, max-age=0, must-revalidate
    Content-Disposition: inline; filename="index"
    Content-Length: 10577
    Content-Type: text/html; charset=utf-8
    Date: Fri, 09 Aug 2024 00:29:36 GMT
    Etag: W/"0b0fe30a17009abb27626fcc2e6f8e35ba1ea851"
    Server: Vercel
    Strict-Transport-Security: max-age=63072000
    X-Vercel-Cache: HIT
    X-Vercel-Id: fra1::dzfd8-1723163376291-10e0e51952a3
    Connection: close
    
    Page title: three.js • examples • shade node loader
    
    <!DOCTYPE html>
    <meta charset="utf-8">
    <title>three.js • examples • shade node loader</title>
    <style>
      html, body {
        margin: 0;
        padding: 0;
        background: #000;
        width: 100%;
        height: 100%;
        overflow: hidden;
      }
      p {
        margin: 0;
      }
      .attribution {
        width: 100%;
        max-width: 400px;
        color: #424242;
        position: fixed;
        bottom: 2em;
        left: 0;
        right: 0;
        margin: 0 auto;
        background: rgba(255,255,255, 0.8);
        padding: 0.5em 1em 0.7em;
        border-radius: 2px;
        font-family: monospace;
        text-align: center;
        max-width: 402px;
      }
    </style>
    <script src="./node_modules/dat.gui/build/dat.gui.js"></script>
    <script src="./node_modules/three/build/three.js"></script>
    <script src="./node_modules/three/examples/js/controls/OrbitControls.js"></script>
    <script src="./node_modules/three/examples/js/loaders/GLTFLoader.js"></script>
    <script src="./node_modules/three/examples/js/loaders/RGBELoader.js"></script>
    <script src="./node_modules/three/examples/js/loaders/HDRCubeTextureLoader.js"></script>
    <script src="./node_modules/three/examples/js/pmrem/PMREMGenerator.js"></script>
    <script src="./node_modules/three/examples/js/pmrem/PMREMCubeUVPacker.js"></script>
    
    <script type="module">
      import { ShadeNodeLoader } from './ShadeNodeLoader.js';
      import { TextureNode, TimerNode, FloatNode, Vector3Node } from './node_modules/three/examples/js/nodes/Nodes.js';
    
      const renderer = new THREE.WebGLRenderer( { antialias: true } );
      renderer.setSize( window.innerWidth, window.innerHeight );
      renderer.setClearColor( 0x202020 );
      renderer.physicallyCorrectLights = true;
      renderer.gammaOutput = true;
      renderer.gammaFactor = 2.2;
      document.body.appendChild( renderer.domElement );
    
      const timerNode = new TimerNode( 1.0 );
      const micNode = new FloatNode( 0.01 );
    
      const otherProps = [];
    
      let mesh, geometry, material, envMap;
    
      //
    
      const props = {
        suzanne: null,
        grass: null,
        roundedCube: null,
        cube: new THREE.BoxBufferGeometry(1.8, 1.8, 1.8),
        sphere: new THREE.SphereBufferGeometry( 1.8, 32, 32 ),
        plane: new THREE.PlaneBufferGeometry( 5, 5, 64, 64 ).rotateX( - 1 * Math.PI / 2 )
      };
    
      const examples = [
    
        {name: 'Instancing Grid', shader: 'assets/shaders/InstancingGrid/Graph.json', prop: 'roundedCube', camera: [ 25, 20, 25 ], grid: false },
        {name: 'Checkers', shader: 'assets/shaders/Checkers/Graph.json', prop: 'cube', camera: [ 5, 3, 4 ] },
        {name: 'Dissolve', shader: 'assets/shaders/Dissolve/Graph.json', prop: 'suzanne', camera: [ 5, 3, 4 ] },
        {name: 'Fake Volume', shader: 'assets/shaders/FakeVolume/Graph.json', prop: 'sphere', camera: [ 5, 3, 4 ] },
        {name: 'Grass', shader: 'assets/shaders/Grass/Graph.json', prop: 'grass', camera: [ 10, 8, 10 ] },
        {name: 'Hologram', shader: 'assets/shaders/Hologram/Graph.json', prop: 'suzanne', camera: [ 5, 3, 4 ] },
        {name: 'Wire Ripple', shader: 'assets/shaders/WireRipple/Graph.json', prop: 'plane', camera: [ 5, 3, 4 ] },
        {name: 'Wireframe', shader: 'assets/shaders/Wireframe/Graph.json', prop: 'sphere', camera: [ 5, 3, 4 ] },
        // {name: '[broken] Clouds', shader: 'assets/shaders/Clouds/Graph.json', prop: 'cube', camera: [ 5, 3, 4 ] },
        {name: '[broken] Explosion', shader: 'assets/shaders/Explosion/Graph.json', prop: 'sphere', camera: [ 25, 20, 25 ] },
        // {name: '[broken] Mask Blend', shader: 'assets/shaders/MaskBlend/Graph.json', prop: 'cube', camera: [ 5, 3, 4 ] },
        {name: '[broken] Ripple', shader: 'assets/shaders/Ripple/Graph.json', prop: 'plane', camera: [ 5, 3, 4 ] },
    
      ];
      let selectedExample = examples[ 0 ];
      const api = { model: selectedExample.name };
      const gui = new dat.GUI();
      gui.add( api, 'model', examples.map( ( d ) => d.name ) ).onChange( () => {
        selectedExample = examples.find( ( d ) => api.model === d.name );
        mesh.parent.remove( mesh );
        mesh.geometry.dispose();
        mesh.material.dispose();
        otherProps.forEach( ( o ) => o.parent.remove( o ) );
        otherProps.length = 0;
    
        loadShader( selectedExample.shader ).then( ( _material ) => {
    
          mat
    Found 2024-08-09 by HttpPlugin
    Create report
  • Open service 76.76.21.9:443 · three-shadenodeloader.donmccurdy.com

    2024-08-07 01:58

    HTTP/1.1 200 OK
    Accept-Ranges: bytes
    Access-Control-Allow-Origin: *
    Age: 11960606
    Cache-Control: public, max-age=0, must-revalidate
    Content-Disposition: inline; filename="index"
    Content-Length: 10577
    Content-Type: text/html; charset=utf-8
    Date: Wed, 07 Aug 2024 01:58:02 GMT
    Etag: W/"0b0fe30a17009abb27626fcc2e6f8e35ba1ea851"
    Server: Vercel
    Strict-Transport-Security: max-age=63072000
    X-Vercel-Cache: HIT
    X-Vercel-Id: fra1::lhfwv-1722995882973-ff0d7c45ab17
    Connection: close
    
    Page title: three.js • examples • shade node loader
    
    <!DOCTYPE html>
    <meta charset="utf-8">
    <title>three.js • examples • shade node loader</title>
    <style>
      html, body {
        margin: 0;
        padding: 0;
        background: #000;
        width: 100%;
        height: 100%;
        overflow: hidden;
      }
      p {
        margin: 0;
      }
      .attribution {
        width: 100%;
        max-width: 400px;
        color: #424242;
        position: fixed;
        bottom: 2em;
        left: 0;
        right: 0;
        margin: 0 auto;
        background: rgba(255,255,255, 0.8);
        padding: 0.5em 1em 0.7em;
        border-radius: 2px;
        font-family: monospace;
        text-align: center;
        max-width: 402px;
      }
    </style>
    <script src="./node_modules/dat.gui/build/dat.gui.js"></script>
    <script src="./node_modules/three/build/three.js"></script>
    <script src="./node_modules/three/examples/js/controls/OrbitControls.js"></script>
    <script src="./node_modules/three/examples/js/loaders/GLTFLoader.js"></script>
    <script src="./node_modules/three/examples/js/loaders/RGBELoader.js"></script>
    <script src="./node_modules/three/examples/js/loaders/HDRCubeTextureLoader.js"></script>
    <script src="./node_modules/three/examples/js/pmrem/PMREMGenerator.js"></script>
    <script src="./node_modules/three/examples/js/pmrem/PMREMCubeUVPacker.js"></script>
    
    <script type="module">
      import { ShadeNodeLoader } from './ShadeNodeLoader.js';
      import { TextureNode, TimerNode, FloatNode, Vector3Node } from './node_modules/three/examples/js/nodes/Nodes.js';
    
      const renderer = new THREE.WebGLRenderer( { antialias: true } );
      renderer.setSize( window.innerWidth, window.innerHeight );
      renderer.setClearColor( 0x202020 );
      renderer.physicallyCorrectLights = true;
      renderer.gammaOutput = true;
      renderer.gammaFactor = 2.2;
      document.body.appendChild( renderer.domElement );
    
      const timerNode = new TimerNode( 1.0 );
      const micNode = new FloatNode( 0.01 );
    
      const otherProps = [];
    
      let mesh, geometry, material, envMap;
    
      //
    
      const props = {
        suzanne: null,
        grass: null,
        roundedCube: null,
        cube: new THREE.BoxBufferGeometry(1.8, 1.8, 1.8),
        sphere: new THREE.SphereBufferGeometry( 1.8, 32, 32 ),
        plane: new THREE.PlaneBufferGeometry( 5, 5, 64, 64 ).rotateX( - 1 * Math.PI / 2 )
      };
    
      const examples = [
    
        {name: 'Instancing Grid', shader: 'assets/shaders/InstancingGrid/Graph.json', prop: 'roundedCube', camera: [ 25, 20, 25 ], grid: false },
        {name: 'Checkers', shader: 'assets/shaders/Checkers/Graph.json', prop: 'cube', camera: [ 5, 3, 4 ] },
        {name: 'Dissolve', shader: 'assets/shaders/Dissolve/Graph.json', prop: 'suzanne', camera: [ 5, 3, 4 ] },
        {name: 'Fake Volume', shader: 'assets/shaders/FakeVolume/Graph.json', prop: 'sphere', camera: [ 5, 3, 4 ] },
        {name: 'Grass', shader: 'assets/shaders/Grass/Graph.json', prop: 'grass', camera: [ 10, 8, 10 ] },
        {name: 'Hologram', shader: 'assets/shaders/Hologram/Graph.json', prop: 'suzanne', camera: [ 5, 3, 4 ] },
        {name: 'Wire Ripple', shader: 'assets/shaders/WireRipple/Graph.json', prop: 'plane', camera: [ 5, 3, 4 ] },
        {name: 'Wireframe', shader: 'assets/shaders/Wireframe/Graph.json', prop: 'sphere', camera: [ 5, 3, 4 ] },
        // {name: '[broken] Clouds', shader: 'assets/shaders/Clouds/Graph.json', prop: 'cube', camera: [ 5, 3, 4 ] },
        {name: '[broken] Explosion', shader: 'assets/shaders/Explosion/Graph.json', prop: 'sphere', camera: [ 25, 20, 25 ] },
        // {name: '[broken] Mask Blend', shader: 'assets/shaders/MaskBlend/Graph.json', prop: 'cube', camera: [ 5, 3, 4 ] },
        {name: '[broken] Ripple', shader: 'assets/shaders/Ripple/Graph.json', prop: 'plane', camera: [ 5, 3, 4 ] },
    
      ];
      let selectedExample = examples[ 0 ];
      const api = { model: selectedExample.name };
      const gui = new dat.GUI();
      gui.add( api, 'model', examples.map( ( d ) => d.name ) ).onChange( () => {
        selectedExample = examples.find( ( d ) => api.model === d.name );
        mesh.parent.remove( mesh );
        mesh.geometry.dispose();
        mesh.material.dispose();
        otherProps.forEach( ( o ) => o.parent.remove( o ) );
        otherProps.length = 0;
    
        loadShader( selectedExample.shader ).then( ( _material ) => {
    
          mat
    Found 2024-08-07 by HttpPlugin
    Create report
  • Open service 76.76.21.9:443 · three-shadenodeloader.donmccurdy.com

    2024-08-07 01:10

    HTTP/1.1 200 OK
    Accept-Ranges: bytes
    Access-Control-Allow-Origin: *
    Age: 11957762
    Cache-Control: public, max-age=0, must-revalidate
    Content-Disposition: inline; filename="index"
    Content-Length: 10577
    Content-Type: text/html; charset=utf-8
    Date: Wed, 07 Aug 2024 01:10:39 GMT
    Etag: W/"0b0fe30a17009abb27626fcc2e6f8e35ba1ea851"
    Server: Vercel
    Strict-Transport-Security: max-age=63072000
    X-Vercel-Cache: HIT
    X-Vercel-Id: fra1::rds5j-1722993039335-01d4f919b4e6
    Connection: close
    
    Page title: three.js • examples • shade node loader
    
    <!DOCTYPE html>
    <meta charset="utf-8">
    <title>three.js • examples • shade node loader</title>
    <style>
      html, body {
        margin: 0;
        padding: 0;
        background: #000;
        width: 100%;
        height: 100%;
        overflow: hidden;
      }
      p {
        margin: 0;
      }
      .attribution {
        width: 100%;
        max-width: 400px;
        color: #424242;
        position: fixed;
        bottom: 2em;
        left: 0;
        right: 0;
        margin: 0 auto;
        background: rgba(255,255,255, 0.8);
        padding: 0.5em 1em 0.7em;
        border-radius: 2px;
        font-family: monospace;
        text-align: center;
        max-width: 402px;
      }
    </style>
    <script src="./node_modules/dat.gui/build/dat.gui.js"></script>
    <script src="./node_modules/three/build/three.js"></script>
    <script src="./node_modules/three/examples/js/controls/OrbitControls.js"></script>
    <script src="./node_modules/three/examples/js/loaders/GLTFLoader.js"></script>
    <script src="./node_modules/three/examples/js/loaders/RGBELoader.js"></script>
    <script src="./node_modules/three/examples/js/loaders/HDRCubeTextureLoader.js"></script>
    <script src="./node_modules/three/examples/js/pmrem/PMREMGenerator.js"></script>
    <script src="./node_modules/three/examples/js/pmrem/PMREMCubeUVPacker.js"></script>
    
    <script type="module">
      import { ShadeNodeLoader } from './ShadeNodeLoader.js';
      import { TextureNode, TimerNode, FloatNode, Vector3Node } from './node_modules/three/examples/js/nodes/Nodes.js';
    
      const renderer = new THREE.WebGLRenderer( { antialias: true } );
      renderer.setSize( window.innerWidth, window.innerHeight );
      renderer.setClearColor( 0x202020 );
      renderer.physicallyCorrectLights = true;
      renderer.gammaOutput = true;
      renderer.gammaFactor = 2.2;
      document.body.appendChild( renderer.domElement );
    
      const timerNode = new TimerNode( 1.0 );
      const micNode = new FloatNode( 0.01 );
    
      const otherProps = [];
    
      let mesh, geometry, material, envMap;
    
      //
    
      const props = {
        suzanne: null,
        grass: null,
        roundedCube: null,
        cube: new THREE.BoxBufferGeometry(1.8, 1.8, 1.8),
        sphere: new THREE.SphereBufferGeometry( 1.8, 32, 32 ),
        plane: new THREE.PlaneBufferGeometry( 5, 5, 64, 64 ).rotateX( - 1 * Math.PI / 2 )
      };
    
      const examples = [
    
        {name: 'Instancing Grid', shader: 'assets/shaders/InstancingGrid/Graph.json', prop: 'roundedCube', camera: [ 25, 20, 25 ], grid: false },
        {name: 'Checkers', shader: 'assets/shaders/Checkers/Graph.json', prop: 'cube', camera: [ 5, 3, 4 ] },
        {name: 'Dissolve', shader: 'assets/shaders/Dissolve/Graph.json', prop: 'suzanne', camera: [ 5, 3, 4 ] },
        {name: 'Fake Volume', shader: 'assets/shaders/FakeVolume/Graph.json', prop: 'sphere', camera: [ 5, 3, 4 ] },
        {name: 'Grass', shader: 'assets/shaders/Grass/Graph.json', prop: 'grass', camera: [ 10, 8, 10 ] },
        {name: 'Hologram', shader: 'assets/shaders/Hologram/Graph.json', prop: 'suzanne', camera: [ 5, 3, 4 ] },
        {name: 'Wire Ripple', shader: 'assets/shaders/WireRipple/Graph.json', prop: 'plane', camera: [ 5, 3, 4 ] },
        {name: 'Wireframe', shader: 'assets/shaders/Wireframe/Graph.json', prop: 'sphere', camera: [ 5, 3, 4 ] },
        // {name: '[broken] Clouds', shader: 'assets/shaders/Clouds/Graph.json', prop: 'cube', camera: [ 5, 3, 4 ] },
        {name: '[broken] Explosion', shader: 'assets/shaders/Explosion/Graph.json', prop: 'sphere', camera: [ 25, 20, 25 ] },
        // {name: '[broken] Mask Blend', shader: 'assets/shaders/MaskBlend/Graph.json', prop: 'cube', camera: [ 5, 3, 4 ] },
        {name: '[broken] Ripple', shader: 'assets/shaders/Ripple/Graph.json', prop: 'plane', camera: [ 5, 3, 4 ] },
    
      ];
      let selectedExample = examples[ 0 ];
      const api = { model: selectedExample.name };
      const gui = new dat.GUI();
      gui.add( api, 'model', examples.map( ( d ) => d.name ) ).onChange( () => {
        selectedExample = examples.find( ( d ) => api.model === d.name );
        mesh.parent.remove( mesh );
        mesh.geometry.dispose();
        mesh.material.dispose();
        otherProps.forEach( ( o ) => o.parent.remove( o ) );
        otherProps.length = 0;
    
        loadShader( selectedExample.shader ).then( ( _material ) => {
    
          mat
    Found 2024-08-07 by HttpPlugin
    Create report
three-shadenodeloader.donmccurdy.com
CN:
three-shadenodeloader.donmccurdy.com
Key:
RSA-2048
Issuer:
R10
Not before:
2024-09-13 17:38
Not after:
2024-12-12 17:38
*.donmccurdy.comdonmccurdy.com
CN:
*.donmccurdy.com
Key:
RSA-2048
Issuer:
R11
Not before:
2024-07-19 17:04
Not after:
2024-10-17 17:04