Skip to content

Commit 723979c

Browse files
committed
BufferGeometry: Set elementNeedsUpdate to false after recreating DirectGeometry. Closes mrdoob#9359
1 parent 67c5a3a commit 723979c

1 file changed

Lines changed: 13 additions & 7 deletions

File tree

src/core/BufferGeometry.js

Lines changed: 13 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -344,19 +344,25 @@ Object.assign( BufferGeometry.prototype, EventDispatcher.prototype, {
344344

345345
var direct = geometry.__directGeometry;
346346

347-
if ( direct === undefined || geometry.elementsNeedUpdate === true ) {
347+
if ( geometry.elementsNeedUpdate === true ) {
348+
349+
direct = undefined;
350+
geometry.elementsNeedUpdate = false;
351+
352+
}
353+
354+
if ( direct === undefined ) {
348355

349356
return this.fromGeometry( geometry );
350357

351358
}
352359

353-
direct.verticesNeedUpdate = geometry.verticesNeedUpdate || geometry.elementsNeedUpdate;
354-
direct.normalsNeedUpdate = geometry.normalsNeedUpdate || geometry.elementsNeedUpdate;
355-
direct.colorsNeedUpdate = geometry.colorsNeedUpdate || geometry.elementsNeedUpdate;
356-
direct.uvsNeedUpdate = geometry.uvsNeedUpdate || geometry.elementsNeedUpdate;
357-
direct.groupsNeedUpdate = geometry.groupsNeedUpdate || geometry.elementsNeedUpdate;
360+
direct.verticesNeedUpdate = geometry.verticesNeedUpdate;
361+
direct.normalsNeedUpdate = geometry.normalsNeedUpdate;
362+
direct.colorsNeedUpdate = geometry.colorsNeedUpdate;
363+
direct.uvsNeedUpdate = geometry.uvsNeedUpdate;
364+
direct.groupsNeedUpdate = geometry.groupsNeedUpdate;
358365

359-
geometry.elementsNeedUpdate = false;
360366
geometry.verticesNeedUpdate = false;
361367
geometry.normalsNeedUpdate = false;
362368
geometry.colorsNeedUpdate = false;

0 commit comments

Comments
 (0)