diff --git a/examples/debug-color/index.html b/examples/debug-color/index.html index 6528464..4707b38 100644 --- a/examples/debug-color/index.html +++ b/examples/debug-color/index.html @@ -33,7 +33,14 @@ const camera = new THREE.PerspectiveCamera(60, window.innerWidth / window.innerHeight, 0.1, 1000); const renderer = new THREE.WebGLRenderer(); renderer.setSize(window.innerWidth, window.innerHeight); - document.body.appendChild(renderer.domElement) + document.body.appendChild(renderer.domElement); + + window.addEventListener('resize', onWindowResize, false); + function onWindowResize() { + camera.aspect = window.innerWidth / window.innerHeight; + camera.updateProjectionMatrix(); + renderer.setSize(window.innerWidth, window.innerHeight); + } let splatURL = await getAssetFileURL("butterfly.spz"); const butterfly = new SplatMesh({ url: splatURL }); diff --git a/examples/depth-of-field/index.html b/examples/depth-of-field/index.html index e155682..a3c49d7 100644 --- a/examples/depth-of-field/index.html +++ b/examples/depth-of-field/index.html @@ -35,7 +35,14 @@ const camera = new THREE.PerspectiveCamera(60, window.innerWidth / window.innerHeight, 0.1, 1000); const renderer = new THREE.WebGLRenderer(); renderer.setSize(window.innerWidth, window.innerHeight); - document.body.appendChild(renderer.domElement) + document.body.appendChild(renderer.domElement); + + window.addEventListener('resize', onWindowResize, false); + function onWindowResize() { + camera.aspect = window.innerWidth / window.innerHeight; + camera.updateProjectionMatrix(); + renderer.setSize(window.innerWidth, window.innerHeight); + } const spark = new SparkRenderer({ renderer, diff --git a/examples/dynamic-lighting/index.html b/examples/dynamic-lighting/index.html index 27f9843..38126a7 100644 --- a/examples/dynamic-lighting/index.html +++ b/examples/dynamic-lighting/index.html @@ -95,7 +95,14 @@ const renderer = new THREE.WebGLRenderer(); renderer.setSize(window.innerWidth, window.innerHeight); - document.body.appendChild(renderer.domElement) + document.body.appendChild(renderer.domElement); + + window.addEventListener('resize', onWindowResize, false); + function onWindowResize() { + camera.aspect = window.innerWidth / window.innerHeight; + camera.updateProjectionMatrix(); + renderer.setSize(window.innerWidth, window.innerHeight); + } // Create a SparkRenderer and add it to the scene to render all the Gsplats. const spark = new SparkRenderer({ renderer }); diff --git a/examples/envmap/index.html b/examples/envmap/index.html index 6fea9c5..60c08a3 100644 --- a/examples/envmap/index.html +++ b/examples/envmap/index.html @@ -50,7 +50,14 @@ const renderer = new THREE.WebGLRenderer(); renderer.setClearColor(new THREE.Color(0x1b2037), 1.0); renderer.setSize(window.innerWidth, window.innerHeight); - document.body.appendChild(renderer.domElement) + document.body.appendChild(renderer.domElement); + + window.addEventListener('resize', onWindowResize, false); + function onWindowResize() { + camera.aspect = window.innerWidth / window.innerHeight; + camera.updateProjectionMatrix(); + renderer.setSize(window.innerWidth, window.innerHeight); + } // Explicitly create a SparkRenderer to render environment maps const spark = new SparkRenderer({ renderer }); diff --git a/examples/glsl/index.html b/examples/glsl/index.html index 5cca980..49df189 100644 --- a/examples/glsl/index.html +++ b/examples/glsl/index.html @@ -33,7 +33,14 @@ const camera = new THREE.PerspectiveCamera(60, window.innerWidth / window.innerHeight, 0.1, 1000); const renderer = new THREE.WebGLRenderer(); renderer.setSize(window.innerWidth, window.innerHeight); - document.body.appendChild(renderer.domElement) + document.body.appendChild(renderer.domElement); + + window.addEventListener('resize', onWindowResize, false); + function onWindowResize() { + camera.aspect = window.innerWidth / window.innerHeight; + camera.updateProjectionMatrix(); + renderer.setSize(window.innerWidth, window.innerHeight); + } const splatURL = await getAssetFileURL("butterfly.spz"); const butterfly = new SplatMesh({ url: splatURL }); diff --git a/examples/hello-world/index.html b/examples/hello-world/index.html index d06c72f..d3a1d4e 100644 --- a/examples/hello-world/index.html +++ b/examples/hello-world/index.html @@ -30,7 +30,14 @@ const camera = new THREE.PerspectiveCamera(60, window.innerWidth / window.innerHeight, 0.1, 1000); const renderer = new THREE.WebGLRenderer(); renderer.setSize(window.innerWidth, window.innerHeight); - document.body.appendChild(renderer.domElement) + document.body.appendChild(renderer.domElement); + + window.addEventListener('resize', onWindowResize, false); + function onWindowResize() { + camera.aspect = window.innerWidth / window.innerHeight; + camera.updateProjectionMatrix(); + renderer.setSize(window.innerWidth, window.innerHeight); + } const splatURL = await getAssetFileURL("butterfly.spz"); const butterfly = new SplatMesh({ url: splatURL }); diff --git a/examples/interactivity/index.html b/examples/interactivity/index.html index 20a278b..4b5c53f 100644 --- a/examples/interactivity/index.html +++ b/examples/interactivity/index.html @@ -61,7 +61,7 @@ const renderer = new THREE.WebGLRenderer(); renderer.shadowMap.enabled = true; renderer.setSize(window.innerWidth, window.innerHeight); - document.body.appendChild(renderer.domElement) + document.body.appendChild(renderer.domElement); // Setup camera const camera = new THREE.PerspectiveCamera(65, window.innerWidth / window.innerHeight, 0.1, 1000); diff --git a/examples/multiple-splats/index.html b/examples/multiple-splats/index.html index f9509d8..60bdbcf 100644 --- a/examples/multiple-splats/index.html +++ b/examples/multiple-splats/index.html @@ -48,7 +48,14 @@ const renderer = new THREE.WebGLRenderer(); renderer.setSize(window.innerWidth, window.innerHeight); renderer.setClearColor(new THREE.Color(0xFFFFFF), 1); - document.body.appendChild(renderer.domElement) + document.body.appendChild(renderer.domElement); + + window.addEventListener('resize', onWindowResize, false); + function onWindowResize() { + camera.aspect = window.innerWidth / window.innerHeight; + camera.updateProjectionMatrix(); + renderer.setSize(window.innerWidth, window.innerHeight); + } let splatURL = await getAssetFileURL("butterfly-ai.spz"); const butterflySplats = new PackedSplats({ url: splatURL }); diff --git a/examples/multiple-viewpoints/index.html b/examples/multiple-viewpoints/index.html index 2456e63..c3ff97e 100644 --- a/examples/multiple-viewpoints/index.html +++ b/examples/multiple-viewpoints/index.html @@ -36,7 +36,14 @@ const renderer = new THREE.WebGLRenderer(); const header_height = document.querySelector('header').getBoundingClientRect().height; renderer.setSize(window.innerWidth, window.innerHeight - header_height); - document.body.appendChild(renderer.domElement) + document.body.appendChild(renderer.domElement); + + window.addEventListener('resize', onWindowResize, false); + function onWindowResize() { + camera.aspect = window.innerWidth / window.innerHeight; + camera.updateProjectionMatrix(); + renderer.setSize(window.innerWidth, window.innerHeight); + } // Explicitly create a SparkRenderer in the scene to spawn new viewpoints const spark = new SparkRenderer({ renderer }); diff --git a/examples/particle-animation/index.html b/examples/particle-animation/index.html index d2fd01c..5e42467 100644 --- a/examples/particle-animation/index.html +++ b/examples/particle-animation/index.html @@ -279,7 +279,7 @@ function handleResize() { const width = window.innerWidth; const height = window.innerHeight; - renderer.setSize(width, height, false); + renderer.setSize(width, height); camera.aspect = width / height; camera.updateProjectionMatrix(); } diff --git a/examples/particle-simulation/index.html b/examples/particle-simulation/index.html index b97bf0e..dbecb1e 100644 --- a/examples/particle-simulation/index.html +++ b/examples/particle-simulation/index.html @@ -62,7 +62,7 @@ function handleResize() { const width = window.innerWidth; const height = window.innerHeight; - renderer.setSize(width, height, false); + renderer.setSize(width, height); camera.aspect = width / height; camera.updateProjectionMatrix(); } diff --git a/examples/procedural-splats/index.html b/examples/procedural-splats/index.html index 7267993..2a7908c 100644 --- a/examples/procedural-splats/index.html +++ b/examples/procedural-splats/index.html @@ -33,7 +33,14 @@ const camera = new THREE.PerspectiveCamera(75, window.innerWidth / window.innerHeight, 0.1, 1000); const renderer = new THREE.WebGLRenderer(); renderer.setSize(window.innerWidth, window.innerHeight); - document.body.appendChild(renderer.domElement) + document.body.appendChild(renderer.domElement); + + window.addEventListener('resize', onWindowResize, false); + function onWindowResize() { + camera.aspect = window.innerWidth / window.innerHeight; + camera.updateProjectionMatrix(); + renderer.setSize(window.innerWidth, window.innerHeight); + } // Generate a Sierpinski pyramid one splat at a time via iteration const pyramid = new SplatMesh({ diff --git a/examples/raycasting/index.html b/examples/raycasting/index.html index ffcd212..b1426c9 100644 --- a/examples/raycasting/index.html +++ b/examples/raycasting/index.html @@ -42,7 +42,14 @@ camera.lookAt(0, -0.15, 0); const renderer = new THREE.WebGLRenderer(); renderer.setSize(window.innerWidth, window.innerHeight); - document.body.appendChild(renderer.domElement) + document.body.appendChild(renderer.domElement); + + window.addEventListener('resize', onWindowResize, false); + function onWindowResize() { + camera.aspect = window.innerWidth / window.innerHeight; + camera.updateProjectionMatrix(); + renderer.setSize(window.innerWidth, window.innerHeight); + } // Add robots const NUM_ROBOTS = 5; diff --git a/examples/sogs/index.html b/examples/sogs/index.html index 23e9d66..17305f7 100644 --- a/examples/sogs/index.html +++ b/examples/sogs/index.html @@ -38,6 +38,13 @@ renderer.setSize(window.innerWidth, window.innerHeight); document.body.appendChild(renderer.domElement); + window.addEventListener('resize', onWindowResize, false); + function onWindowResize() { + camera.aspect = window.innerWidth / window.innerHeight; + camera.updateProjectionMatrix(); + renderer.setSize(window.innerWidth, window.innerHeight); + } + const splatURL = await getAssetFileURL("sutro.zip"); const sutroTower = new SplatMesh({ url: splatURL }); sutroTower.quaternion.set(1, 0, 0, 0); diff --git a/examples/splat-reveal-effects/index.html b/examples/splat-reveal-effects/index.html index f914596..2510974 100644 --- a/examples/splat-reveal-effects/index.html +++ b/examples/splat-reveal-effects/index.html @@ -40,7 +40,14 @@ const renderer = new THREE.WebGLRenderer(); renderer.setSize(window.innerWidth, window.innerHeight); - document.body.appendChild(renderer.domElement) + document.body.appendChild(renderer.domElement); + + window.addEventListener('resize', onWindowResize, false); + function onWindowResize() { + camera.aspect = window.innerWidth / window.innerHeight; + camera.updateProjectionMatrix(); + renderer.setSize(window.innerWidth, window.innerHeight); + } // Animation timing variables const animateT = dyno.dynoFloat(0); diff --git a/examples/splat-shader-effects/index.html b/examples/splat-shader-effects/index.html index 9eb0007..c51bef5 100644 --- a/examples/splat-shader-effects/index.html +++ b/examples/splat-shader-effects/index.html @@ -33,6 +33,13 @@ renderer.setSize(window.innerWidth, window.innerHeight); document.body.appendChild(renderer.domElement); + window.addEventListener('resize', onWindowResize, false); + function onWindowResize() { + camera.aspect = window.innerWidth / window.innerHeight; + camera.updateProjectionMatrix(); + renderer.setSize(window.innerWidth, window.innerHeight); + } + // Cat model setup const splatURL = await getAssetFileURL("cat.spz"); const cat = new SplatMesh({ url: splatURL }); diff --git a/examples/splat-texture/index.html b/examples/splat-texture/index.html index 9eee367..6ffd632 100644 --- a/examples/splat-texture/index.html +++ b/examples/splat-texture/index.html @@ -35,7 +35,14 @@ const camera = new THREE.PerspectiveCamera(60, window.innerWidth / window.innerHeight, 0.01, 100); const renderer = new THREE.WebGLRenderer(); renderer.setSize(window.innerWidth, window.innerHeight); - document.body.appendChild(renderer.domElement) + document.body.appendChild(renderer.domElement); + + window.addEventListener('resize', onWindowResize, false); + function onWindowResize() { + camera.aspect = window.innerWidth / window.innerHeight; + camera.updateProjectionMatrix(); + renderer.setSize(window.innerWidth, window.innerHeight); + } function imgToRgba(img) { const canvas = document.createElement("canvas"); diff --git a/examples/stochastic/index.html b/examples/stochastic/index.html index 2f80ef4..537cf2f 100644 --- a/examples/stochastic/index.html +++ b/examples/stochastic/index.html @@ -31,7 +31,14 @@ const renderer = new THREE.WebGLRenderer(); renderer.setPixelRatio(window.devicePixelRatio); renderer.setSize(window.innerWidth, window.innerHeight); - document.body.appendChild(renderer.domElement) + document.body.appendChild(renderer.domElement); + + window.addEventListener('resize', onWindowResize, false); + function onWindowResize() { + camera.aspect = window.innerWidth / window.innerHeight; + camera.updateProjectionMatrix(); + renderer.setSize(window.innerWidth, window.innerHeight); + } // Make a local frame of reference that we can move to control // the camera, or as a frame of reference in WebXR mode diff --git a/examples/webxr/index.html b/examples/webxr/index.html index 7cf10c5..13fc613 100644 --- a/examples/webxr/index.html +++ b/examples/webxr/index.html @@ -30,7 +30,14 @@ const camera = new THREE.PerspectiveCamera(60, window.innerWidth / window.innerHeight, 0.1, 1000); const renderer = new THREE.WebGLRenderer(); renderer.setSize(window.innerWidth, window.innerHeight); - document.body.appendChild(renderer.domElement) + document.body.appendChild(renderer.domElement); + + window.addEventListener('resize', onWindowResize, false); + function onWindowResize() { + camera.aspect = window.innerWidth / window.innerHeight; + camera.updateProjectionMatrix(); + renderer.setSize(window.innerWidth, window.innerHeight); + } // Make a local frame of reference that we can move to control // the camera, or as a frame of reference in WebXR mode