diff --git a/examples/jsm/objects/BatchedMesh.js b/examples/jsm/objects/BatchedMesh.js index 360256a095bb09..332c649fe78089 100644 --- a/examples/jsm/objects/BatchedMesh.js +++ b/examples/jsm/objects/BatchedMesh.js @@ -114,8 +114,6 @@ class BatchedMesh extends Mesh { this._geometryInitialized = false; this._geometryCount = 0; - this._vertexCount = 0; - this._indexCount = 0; // Local matrix per geometry by using data texture // @TODO: Support uniform parameter per geometry @@ -300,13 +298,34 @@ class BatchedMesh extends Mesh { getVertexCount() { - return this._vertexCount; + const reservedRanges = this._reservedRanges; + if ( reservedRanges.length === 0 ) { + + return 0; + + } else { + + const finalRange = reservedRanges[ reservedRanges.length - 1 ]; + return finalRange.vertexStart + finalRange.vertexCount; + + } } getIndexCount() { - return this._indexCount; + const reservedRanges = this._reservedRanges; + const geometry = this.geometry; + if ( geometry.getIndex() === null || reservedRanges.length === 0 ) { + + return 0; + + } else { + + const finalRange = reservedRanges[ reservedRanges.length - 1 ]; + return finalRange.indexStart + finalRange.indexCount; + + } }