From 44ad26bd5058d5bcbc52000915092075a4d047f4 Mon Sep 17 00:00:00 2001 From: Garrett Johnson Date: Wed, 25 Oct 2023 23:57:10 +0900 Subject: [PATCH 01/12] BatchedMesh: Remove unused fields --- examples/jsm/objects/BatchedMesh.js | 3 --- 1 file changed, 3 deletions(-) diff --git a/examples/jsm/objects/BatchedMesh.js b/examples/jsm/objects/BatchedMesh.js index d817ac3bd3f48e..da4ac5edfb88f8 100644 --- a/examples/jsm/objects/BatchedMesh.js +++ b/examples/jsm/objects/BatchedMesh.js @@ -91,7 +91,6 @@ class BatchedMesh extends Mesh { // @TODO: Support uniform parameter per geometry this._matrices = []; - this._matricesArray = null; this._matricesTexture = null; // @TODO: Calculate the entire binding box and make frustumCulled true @@ -123,9 +122,7 @@ class BatchedMesh extends Mesh { const matricesArray = new Float32Array( size * size * 4 ); // 4 floats per RGBA pixel const matricesTexture = new DataTexture( matricesArray, size, size, RGBAFormat, FloatType ); - this._matricesArray = matricesArray; this._matricesTexture = matricesTexture; - this._customUniforms.batchingTexture.value = this._matricesTexture; this._customUniforms.batchingTextureSize.value = size; From 4f54286c4d65a63f5e186b0494408a12f8641a69 Mon Sep 17 00:00:00 2001 From: Garrett Johnson Date: Wed, 25 Oct 2023 23:57:57 +0900 Subject: [PATCH 02/12] BatchedMesh: Add thrown errors in unimplemented functions --- examples/jsm/objects/BatchedMesh.js | 41 +++++++++++++++++++---------- 1 file changed, 27 insertions(+), 14 deletions(-) diff --git a/examples/jsm/objects/BatchedMesh.js b/examples/jsm/objects/BatchedMesh.js index da4ac5edfb88f8..a9a0f09192a21b 100644 --- a/examples/jsm/objects/BatchedMesh.js +++ b/examples/jsm/objects/BatchedMesh.js @@ -243,9 +243,17 @@ class BatchedMesh extends Mesh { this._initializeGeometry( geometry ); // @TODO: Error handling if exceeding maxVertexCount or maxIndexCount + // @TODO: Error handling if geometry does not have all the same attributes + // @TODO: Error handling to ensure both geometries index if needed if ( this._geometryCount >= this._maxGeometryCount ) { - // @TODO: Error handling + throw new Error( 'BatchedMesh: maximum geometry count reached.' ); + + } + + if ( geometry.getAttribute( ID_ATTR_NAME ) ) { + + throw new Error( `BatchMesh: geometry cannot use attribute "${ ID_ATTR_NAME }"` ); } @@ -275,8 +283,13 @@ class BatchedMesh extends Mesh { vertexCounts.push( srcPositionAttribute.count ); // copy attribute data over - // @TODO: Handle case where geometry does not have common attributes - for ( const attributeName in geometry.attributes ) { + for ( const attributeName in batchGeometry.attributes ) { + + if ( attributeName === ID_ATTR_NAME ) { + + continue; + + } const srcAttribute = geometry.getAttribute( attributeName ); const dstAttribute = batchGeometry.getAttribute( attributeName ); @@ -356,9 +369,7 @@ class BatchedMesh extends Mesh { optimize() { - // @TODO: Implement - - return this; + throw new Error( 'BatchedMesh: optimize function not implemented.' ); } @@ -458,21 +469,23 @@ class BatchedMesh extends Mesh { } - copy( source ) { + raycast() { - super.copy( source ); + console.warn( 'BatchedMesh: raycast function not implemented.' ); - // @TODO: Implement + } - return this; + copy() { - } + // super.copy( source ); + + throw new Error( 'BatchedMesh: copy function not implemented.' ); - toJSON( meta ) { + } - // @TODO: Implement + toJSON() { - return super.toJSON( meta ); + throw new Error( 'BatchedMesh: toJSON function not implemented.' ); } From 905d9ee31540891aa9d8f21c48b0a8b3b42a4d88 Mon Sep 17 00:00:00 2001 From: Garrett Johnson Date: Thu, 26 Oct 2023 00:30:24 +0900 Subject: [PATCH 03/12] Add PURE and glsl identifiers --- examples/jsm/objects/BatchedMesh.js | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/examples/jsm/objects/BatchedMesh.js b/examples/jsm/objects/BatchedMesh.js index a9a0f09192a21b..08f3c4a676c504 100644 --- a/examples/jsm/objects/BatchedMesh.js +++ b/examples/jsm/objects/BatchedMesh.js @@ -10,8 +10,8 @@ import { } from 'three'; const ID_ATTR_NAME = '_batch_id_'; -const _identityMatrix = new Matrix4(); -const _zeroScaleMatrix = new Matrix4().set( +const _identityMatrix = /* @__PURE__ */ new Matrix4(); +const _zeroScaleMatrix = /* @__PURE__ */ new Matrix4().set( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -19,7 +19,7 @@ const _zeroScaleMatrix = new Matrix4().set( ); // Custom shaders -const batchingParsVertex = ` +const batchingParsVertex = /* glsl */` #ifdef BATCHING attribute float ${ ID_ATTR_NAME }; uniform highp sampler2D batchingTexture; @@ -40,13 +40,13 @@ const batchingParsVertex = ` #endif `; -const batchingbaseVertex = ` +const batchingbaseVertex = /* glsl */` #ifdef BATCHING mat4 batchingMatrix = getBatchingMatrix( ${ ID_ATTR_NAME } ); #endif `; -const batchingnormalVertex = ` +const batchingnormalVertex = /* glsl */` #ifdef BATCHING objectNormal = vec4( batchingMatrix * vec4( objectNormal, 0.0 ) ).xyz; #ifdef USE_TANGENT @@ -55,7 +55,7 @@ const batchingnormalVertex = ` #endif `; -const batchingVertex = ` +const batchingVertex = /* glsl */` #ifdef BATCHING transformed = ( batchingMatrix * vec4( transformed, 1.0 ) ).xyz; #endif From 760936853346fd5a1cbf96b7fa14a19983efcf36 Mon Sep 17 00:00:00 2001 From: Garrett Johnson Date: Thu, 26 Oct 2023 09:22:45 +0900 Subject: [PATCH 04/12] Add more error handling --- examples/jsm/objects/BatchedMesh.js | 58 +++++++++++++++++++++-------- 1 file changed, 43 insertions(+), 15 deletions(-) diff --git a/examples/jsm/objects/BatchedMesh.js b/examples/jsm/objects/BatchedMesh.js index 08f3c4a676c504..f40fc6d8e790de 100644 --- a/examples/jsm/objects/BatchedMesh.js +++ b/examples/jsm/objects/BatchedMesh.js @@ -212,10 +212,6 @@ class BatchedMesh extends Mesh { this._geometryInitialized = true; - } else { - - // @TODO: Check if geometry has the same attributes set - } } @@ -243,28 +239,62 @@ class BatchedMesh extends Mesh { this._initializeGeometry( geometry ); // @TODO: Error handling if exceeding maxVertexCount or maxIndexCount - // @TODO: Error handling if geometry does not have all the same attributes - // @TODO: Error handling to ensure both geometries index if needed if ( this._geometryCount >= this._maxGeometryCount ) { - throw new Error( 'BatchedMesh: maximum geometry count reached.' ); + throw new Error( 'BatchedMesh: Maximum geometry count reached.' ); } if ( geometry.getAttribute( ID_ATTR_NAME ) ) { - throw new Error( `BatchMesh: geometry cannot use attribute "${ ID_ATTR_NAME }"` ); + throw new Error( `BatchedMesh: Geometry cannot use attribute "${ ID_ATTR_NAME }"` ); } const batchGeometry = this.geometry; + if ( Boolean( geometry.getIndex() ) !== Boolean( batchGeometry.getIndex() ) ) { + + throw new Error( 'BatchedMesh: All geometries must consistently have "index".' ); + + } + + for ( const attributeName in batchGeometry.attributes ) { + + if ( attributeName === ID_ATTR_NAME ) { + + continue; + + } + + if ( ! geometry.hasAttribute( attributeName ) ) { + + throw new Error( `BatchedMesh: Added geometry missing "${ attributeName }". All geometries must have consistent attributes.` ); + + } + + } + + // Assuming geometry has position attribute + const srcPositionAttribute = geometry.getAttribute( 'position' ); + const vertexCount = this._vertexCount; + const indexCount = this._indexCount; + const maxVertexCount = this._maxVertexCount; + const maxIndexCount = this._maxIndexCount; + if ( + geometry.getIndex() !== null && + indexCount + geometry.getIndex().count > maxIndexCount || + vertexCount + srcPositionAttribute.count > maxVertexCount + ) { + + throw new Error( 'BatchedMesh: Added geometry is larger than available capacity.' ); + + } + const visible = this._visible; const active = this._active; const matricesTexture = this._matricesTexture; const matrices = this._matrices; const matricesArray = this._matricesTexture.image.data; - const vertexCount = this._vertexCount; - const indexCount = this._indexCount; const indexCounts = this._indexCounts; const indexStarts = this._indexStarts; @@ -275,8 +305,6 @@ class BatchedMesh extends Mesh { const dstIndex = batchGeometry.getIndex(); const srcIndex = geometry.getIndex(); - // Assuming geometry has position attribute - const srcPositionAttribute = geometry.getAttribute( 'position' ); // push new geometry data range vertexStarts.push( vertexCount ); @@ -369,7 +397,7 @@ class BatchedMesh extends Mesh { optimize() { - throw new Error( 'BatchedMesh: optimize function not implemented.' ); + throw new Error( 'BatchedMesh: Optimize function not implemented.' ); } @@ -471,7 +499,7 @@ class BatchedMesh extends Mesh { raycast() { - console.warn( 'BatchedMesh: raycast function not implemented.' ); + console.warn( 'BatchedMesh: Raycast function not implemented.' ); } @@ -479,7 +507,7 @@ class BatchedMesh extends Mesh { // super.copy( source ); - throw new Error( 'BatchedMesh: copy function not implemented.' ); + throw new Error( 'BatchedMesh: Copy function not implemented.' ); } From 8889181791ccf6f14b30e78dd531a2a70a6a9873 Mon Sep 17 00:00:00 2001 From: Garrett Johnson Date: Thu, 26 Oct 2023 09:34:42 +0900 Subject: [PATCH 05/12] More errors --- examples/jsm/objects/BatchedMesh.js | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/examples/jsm/objects/BatchedMesh.js b/examples/jsm/objects/BatchedMesh.js index f40fc6d8e790de..b8902e46f31baa 100644 --- a/examples/jsm/objects/BatchedMesh.js +++ b/examples/jsm/objects/BatchedMesh.js @@ -238,19 +238,21 @@ class BatchedMesh extends Mesh { this._initializeGeometry( geometry ); - // @TODO: Error handling if exceeding maxVertexCount or maxIndexCount + // ensure we're not over geometry if ( this._geometryCount >= this._maxGeometryCount ) { throw new Error( 'BatchedMesh: Maximum geometry count reached.' ); } + // check that the geometry doesn't have a version of our reserved id attribute if ( geometry.getAttribute( ID_ATTR_NAME ) ) { throw new Error( `BatchedMesh: Geometry cannot use attribute "${ ID_ATTR_NAME }"` ); } + // check to ensure the geometries are using consistent attributes and indices const batchGeometry = this.geometry; if ( Boolean( geometry.getIndex() ) !== Boolean( batchGeometry.getIndex() ) ) { @@ -272,6 +274,14 @@ class BatchedMesh extends Mesh { } + const srcAttribute = geometry.getAttribute( attributeName ); + const dstAttribute = batchGeometry.getAttribute( attributeName ); + if ( srcAttribute.itemSize !== dstAttribute.itemSize ) { + + throw new Error( 'BatchedMesh: All attributes must have a consistent item size.' ); + + } + } // Assuming geometry has position attribute @@ -280,13 +290,15 @@ class BatchedMesh extends Mesh { const indexCount = this._indexCount; const maxVertexCount = this._maxVertexCount; const maxIndexCount = this._maxIndexCount; + + // check if we're going over our maximum buffer capacity if ( geometry.getIndex() !== null && indexCount + geometry.getIndex().count > maxIndexCount || vertexCount + srcPositionAttribute.count > maxVertexCount ) { - throw new Error( 'BatchedMesh: Added geometry is larger than available capacity.' ); + throw new Error( 'BatchedMesh: Added geometry is larger than available buffer capacity.' ); } @@ -305,7 +317,6 @@ class BatchedMesh extends Mesh { const dstIndex = batchGeometry.getIndex(); const srcIndex = geometry.getIndex(); - // push new geometry data range vertexStarts.push( vertexCount ); vertexCounts.push( srcPositionAttribute.count ); From ffeba15030b2a0fbea37fe552d6809ae31cd5c63 Mon Sep 17 00:00:00 2001 From: Garrett Johnson Date: Thu, 26 Oct 2023 09:34:55 +0900 Subject: [PATCH 06/12] Fix batched index overrun --- examples/webgl_mesh_batch.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/webgl_mesh_batch.html b/examples/webgl_mesh_batch.html index 7c3df33bd131fd..9b959b52f21a9a 100644 --- a/examples/webgl_mesh_batch.html +++ b/examples/webgl_mesh_batch.html @@ -104,7 +104,7 @@ geometries = [ new THREE.ConeGeometry( 1.0, 2.0 ), new THREE.BoxGeometry( 2.0, 2.0, 2.0 ), - new THREE.SphereGeometry( 1.0 ), + new THREE.SphereGeometry( 1.0, 16, 8 ), ]; } From 6066ff653edb7b6196421cbda05288f15cc56070 Mon Sep 17 00:00:00 2001 From: Garrett Johnson Date: Thu, 26 Oct 2023 12:09:36 +0900 Subject: [PATCH 07/12] BatchedMesh: Check for normalized, as well --- examples/jsm/objects/BatchedMesh.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/examples/jsm/objects/BatchedMesh.js b/examples/jsm/objects/BatchedMesh.js index b8902e46f31baa..6348c17edcfe19 100644 --- a/examples/jsm/objects/BatchedMesh.js +++ b/examples/jsm/objects/BatchedMesh.js @@ -276,9 +276,9 @@ class BatchedMesh extends Mesh { const srcAttribute = geometry.getAttribute( attributeName ); const dstAttribute = batchGeometry.getAttribute( attributeName ); - if ( srcAttribute.itemSize !== dstAttribute.itemSize ) { + if ( srcAttribute.itemSize !== dstAttribute.itemSize || srcAttribute.normalized !== dstAttribute.normalized ) { - throw new Error( 'BatchedMesh: All attributes must have a consistent item size.' ); + throw new Error( 'BatchedMesh: All attributes must have a consistent itemSize and normalized value.' ); } From 0169285fdf1c932d00e1eb46b0cc5c86c230ecad Mon Sep 17 00:00:00 2001 From: Garrett Johnson Date: Thu, 26 Oct 2023 12:31:58 +0900 Subject: [PATCH 08/12] Fix screenshot --- examples/screenshots/webgl_mesh_batch.jpg | Bin 60848 -> 63492 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/examples/screenshots/webgl_mesh_batch.jpg b/examples/screenshots/webgl_mesh_batch.jpg index 1bacb2116114c6963d50641c4e1514090584f36f..d72a1816276624341da40e4405f893bd2f26e474 100644 GIT binary patch delta 58408 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 LUlu*xKa>9l`K7KI delta 55701 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 i}{7f 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®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 From 4a18f53a4776d0ff7cad781fae5a95e69e54a431 Mon Sep 17 00:00:00 2001 From: Garrett Johnson Date: Thu, 26 Oct 2023 15:30:05 +0900 Subject: [PATCH 09/12] Handle interleaved data --- examples/jsm/objects/BatchedMesh.js | 28 ++++++++++++++++++++++++++-- 1 file changed, 26 insertions(+), 2 deletions(-) diff --git a/examples/jsm/objects/BatchedMesh.js b/examples/jsm/objects/BatchedMesh.js index 6348c17edcfe19..2d44582b5178e9 100644 --- a/examples/jsm/objects/BatchedMesh.js +++ b/examples/jsm/objects/BatchedMesh.js @@ -64,6 +64,31 @@ const batchingVertex = /* glsl */` // @TODO: SkinnedMesh support? // @TODO: Future work if needed. Move into the core. Can be optimized more with WEBGL_multi_draw. +function copyAttributeData( src, target, targetOffset = 0 ) { + + const itemSize = target.itemSize; + if ( src.isInterleavedBufferAttribute ) { + + const vertexCount = src.count; + for ( let i = 0; i < vertexCount; i ++ ) { + + for ( let c = 0; c < itemSize; c ++ ) { + + target.setComponent( i + targetOffset, c, src.getComponent( i, c ) ); + + } + + } + + } else { + + target.array.set( src.array, targetOffset * itemSize ); + target.needsUpdate = true; + + } + +} + class BatchedMesh extends Mesh { constructor( maxGeometryCount, maxVertexCount, maxIndexCount = maxVertexCount * 2, material ) { @@ -333,8 +358,7 @@ class BatchedMesh extends Mesh { const srcAttribute = geometry.getAttribute( attributeName ); const dstAttribute = batchGeometry.getAttribute( attributeName ); - dstAttribute.array.set( srcAttribute.array, vertexCount * dstAttribute.itemSize ); - dstAttribute.needsUpdate = true; + copyAttributeData( srcAttribute, dstAttribute, vertexCount ); } From 9bcd1000d32469c39aee3b6eddcc4014a02513ec Mon Sep 17 00:00:00 2001 From: Garrett Johnson Date: Thu, 26 Oct 2023 23:21:30 +0900 Subject: [PATCH 10/12] Add comments, check if constructors are the same --- examples/jsm/objects/BatchedMesh.js | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/examples/jsm/objects/BatchedMesh.js b/examples/jsm/objects/BatchedMesh.js index 2d44582b5178e9..9eb894578e0992 100644 --- a/examples/jsm/objects/BatchedMesh.js +++ b/examples/jsm/objects/BatchedMesh.js @@ -64,11 +64,14 @@ const batchingVertex = /* glsl */` // @TODO: SkinnedMesh support? // @TODO: Future work if needed. Move into the core. Can be optimized more with WEBGL_multi_draw. +// copies data from attribute "src" into "target" starting at "targetOffset" function copyAttributeData( src, target, targetOffset = 0 ) { const itemSize = target.itemSize; - if ( src.isInterleavedBufferAttribute ) { + if ( src.isInterleavedBufferAttribute || src.array.constructor !== target.array.constructor ) { + // use the component getters and setters if the array data cannot + // be copied directly const vertexCount = src.count; for ( let i = 0; i < vertexCount; i ++ ) { @@ -82,6 +85,7 @@ function copyAttributeData( src, target, targetOffset = 0 ) { } else { + // faster copy approach using typed array set function target.array.set( src.array, targetOffset * itemSize ); target.needsUpdate = true; @@ -357,7 +361,6 @@ class BatchedMesh extends Mesh { const srcAttribute = geometry.getAttribute( attributeName ); const dstAttribute = batchGeometry.getAttribute( attributeName ); - copyAttributeData( srcAttribute, dstAttribute, vertexCount ); } From d5b8e906d22e1a2eca6aeb1d61ccb765e1a74a61 Mon Sep 17 00:00:00 2001 From: Garrett Johnson Date: Thu, 26 Oct 2023 23:23:09 +0900 Subject: [PATCH 11/12] Move update setting --- examples/jsm/objects/BatchedMesh.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/examples/jsm/objects/BatchedMesh.js b/examples/jsm/objects/BatchedMesh.js index 9eb894578e0992..c9073cdc68ccbe 100644 --- a/examples/jsm/objects/BatchedMesh.js +++ b/examples/jsm/objects/BatchedMesh.js @@ -87,10 +87,11 @@ function copyAttributeData( src, target, targetOffset = 0 ) { // faster copy approach using typed array set function target.array.set( src.array, targetOffset * itemSize ); - target.needsUpdate = true; } + target.needsUpdate = true; + } class BatchedMesh extends Mesh { From e088db614a767c9d471672ffac6ab4bfe84d39d8 Mon Sep 17 00:00:00 2001 From: Garrett Johnson Date: Fri, 27 Oct 2023 08:58:33 +0900 Subject: [PATCH 12/12] Remove pure annotations --- examples/jsm/objects/BatchedMesh.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/examples/jsm/objects/BatchedMesh.js b/examples/jsm/objects/BatchedMesh.js index c9073cdc68ccbe..4b8c6351b86cdd 100644 --- a/examples/jsm/objects/BatchedMesh.js +++ b/examples/jsm/objects/BatchedMesh.js @@ -10,8 +10,8 @@ import { } from 'three'; const ID_ATTR_NAME = '_batch_id_'; -const _identityMatrix = /* @__PURE__ */ new Matrix4(); -const _zeroScaleMatrix = /* @__PURE__ */ new Matrix4().set( +const _identityMatrix = new Matrix4(); +const _zeroScaleMatrix = new Matrix4().set( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,