diff --git a/docs/api/en/objects/BatchedMesh.html b/docs/api/en/objects/BatchedMesh.html index 1d59e59102b6b2..04a68456f862a2 100644 --- a/docs/api/en/objects/BatchedMesh.html +++ b/docs/api/en/objects/BatchedMesh.html @@ -21,9 +21,29 @@
+ const box = new THREE.BoxGeometry( 1, 1, 1 );
+ const sphere = new THREE.BoxGeometry( 1, 1, 1 );
+ const material = new THREE.MeshBasicMaterial( { color: 0x00ff00 } );
+
+ // initialize and add geometries into the batched mesh
+ const batchedMesh = new BatchedMesh( 10, 5000, 10000, material );
+ const boxId = batchedMesh.addGeometry( box );
+ const sphereId = batchedMesh.addGeometry( sphere );
+
+ // position the geometries
+ batchedMesh.setMatrixAt( boxId, boxMatrix );
+ batchedMesh.setMatrixAt( sphereId, sphereMatrix );
+
+ scene.add( batchedMesh );
+
+
[example:webgl_mesh_batch WebGL / mesh / batch]
@@ -71,6 +91,11 @@
+ The maximum number of individual geometries that can be stored in the [name]. Read only. +
+Read-only flag to check if a given object is of type [name].
diff --git a/examples/webgl_mesh_batch.html b/examples/webgl_mesh_batch.html index b9a2fc6f0feab7..31ae385d83e70e 100644 --- a/examples/webgl_mesh_batch.html +++ b/examples/webgl_mesh_batch.html @@ -287,17 +287,17 @@ // initialize options this._options = this._options || { get: el => el.z, - aux: new Array( this._maxGeometryCount ) + aux: new Array( this.maxGeometryCount ) }; const options = this._options; options.reversed = this.material.transparent; // convert depth to unsigned 32 bit range - const factor = ( 2**32 - 1 ) / camera.far; // UINT32_MAX / max_depth + const factor = ( 2 ** 32 - 1 ) / camera.far; // UINT32_MAX / max_depth for ( let i = 0, l = list.length; i < l; i ++ ) { - list[i].z *= factor; + list[ i ].z *= factor; } diff --git a/src/objects/BatchedMesh.js b/src/objects/BatchedMesh.js index fcf71aa833b483..d0b7d9274570c5 100644 --- a/src/objects/BatchedMesh.js +++ b/src/objects/BatchedMesh.js @@ -120,6 +120,12 @@ function copyAttributeData( src, target, targetOffset = 0 ) { class BatchedMesh extends Mesh { + get maxGeometryCount() { + + return this._maxGeometryCount; + + } + constructor( maxGeometryCount, maxVertexCount, maxIndexCount = maxVertexCount * 2, material ) { super( new BufferGeometry(), material ); @@ -262,45 +268,6 @@ class BatchedMesh extends Mesh { } - getGeometryCount() { - - return this._geometryCount; - - } - - getVertexCount() { - - const reservedRanges = this._reservedRanges; - if ( reservedRanges.length === 0 ) { - - return 0; - - } else { - - const finalRange = reservedRanges[ reservedRanges.length - 1 ]; - return finalRange.vertexStart + finalRange.vertexCount; - - } - - } - - getIndexCount() { - - 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; - - } - - } - setCustomSort( func ) { this.customSort = func;