From b27f303b6b030fc03b44eb7a16ac88edda63eec2 Mon Sep 17 00:00:00 2001 From: hunterlarco Date: Tue, 20 Aug 2024 19:27:26 +0000 Subject: [PATCH 1/2] address feedback --- examples/webgl_texture2darray_layerupdate.html | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/examples/webgl_texture2darray_layerupdate.html b/examples/webgl_texture2darray_layerupdate.html index 525bd981602a8f..edcb5246fb63d7 100644 --- a/examples/webgl_texture2darray_layerupdate.html +++ b/examples/webgl_texture2darray_layerupdate.html @@ -141,9 +141,9 @@ }; const gui = new GUI(); - gui.add(formData, 'srcLayer', 0, spiritedaway.image.depth - 1, 1); - gui.add(formData, 'destLayer', 0, textureArray.image.depth - 1, 1); - gui.add(formData, 'transfer'); + gui.add( formData, 'srcLayer', 0, spiritedaway.image.depth - 1, 1 ); + gui.add( formData, 'destLayer', 0, textureArray.image.depth - 1, 1 ); + gui.add( formData, 'transfer' ); /// Setup the scene. @@ -173,6 +173,15 @@ window.addEventListener( 'resize', onWindowResize ); + // Initialize the texture array by first rendering the spirited away + // frames in order. + + textureArray.mipmaps[ 0 ].data.set( + spiritedaway.mipmaps[ 0 ].data.subarray( 0, textureArray.mipmaps[ 0 ].data.length ) + ); + textureArray.needsUpdate = true; + renderer.render( scene, camera ); + } function onWindowResize() { From 413830cabee73ff7eac74f76c8efaadfc44a4b80 Mon Sep 17 00:00:00 2001 From: Hunter Larco Date: Tue, 20 Aug 2024 15:28:11 -0400 Subject: [PATCH 2/2] update screenshot --- .../webgl_texture2darray_layerupdate.jpg | Bin 3413 -> 18606 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/examples/screenshots/webgl_texture2darray_layerupdate.jpg b/examples/screenshots/webgl_texture2darray_layerupdate.jpg index 001fe203e0b94e476d12e5c1c76aa979a0fbc77f..8f1cc6d7e50e72f63388123a0bc25711f2f58b89 100644 GIT binary patch literal 18606 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