Skip to content

Commit 5642032

Browse files
authored
BatchedMesh: Fix getIndexCount, getVertexCount functions (#27099)
* BatchedMesh: Fix getVertexCount and getIndexCount functions * BatchedMesh: Fix index offset
1 parent 834d77d commit 5642032

File tree

1 file changed

+23
-4
lines changed

1 file changed

+23
-4
lines changed

examples/jsm/objects/BatchedMesh.js

Lines changed: 23 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -114,8 +114,6 @@ class BatchedMesh extends Mesh {
114114

115115
this._geometryInitialized = false;
116116
this._geometryCount = 0;
117-
this._vertexCount = 0;
118-
this._indexCount = 0;
119117

120118
// Local matrix per geometry by using data texture
121119
// @TODO: Support uniform parameter per geometry
@@ -300,13 +298,34 @@ class BatchedMesh extends Mesh {
300298

301299
getVertexCount() {
302300

303-
return this._vertexCount;
301+
const reservedRanges = this._reservedRanges;
302+
if ( reservedRanges.length === 0 ) {
303+
304+
return 0;
305+
306+
} else {
307+
308+
const finalRange = reservedRanges[ reservedRanges.length - 1 ];
309+
return finalRange.vertexStart + finalRange.vertexCount;
310+
311+
}
304312

305313
}
306314

307315
getIndexCount() {
308316

309-
return this._indexCount;
317+
const reservedRanges = this._reservedRanges;
318+
const geometry = this.geometry;
319+
if ( geometry.getIndex() === null || reservedRanges.length === 0 ) {
320+
321+
return 0;
322+
323+
} else {
324+
325+
const finalRange = reservedRanges[ reservedRanges.length - 1 ];
326+
return finalRange.indexStart + finalRange.indexCount;
327+
328+
}
310329

311330
}
312331

0 commit comments

Comments
 (0)