|
@@ -330,18 +330,19 @@ Object.assign( THREE.BufferGeometry.prototype, THREE.EventDispatcher.prototype,
|
|
|
|
|
|
var direct = geometry.__directGeometry;
|
|
var direct = geometry.__directGeometry;
|
|
|
|
|
|
- if ( direct === undefined ) {
|
|
|
|
|
|
+ if ( direct === undefined || geometry.elementsNeedUpdate === true ) {
|
|
|
|
|
|
return this.fromGeometry( geometry );
|
|
return this.fromGeometry( geometry );
|
|
|
|
|
|
}
|
|
}
|
|
|
|
|
|
- direct.verticesNeedUpdate = geometry.verticesNeedUpdate;
|
|
|
|
- direct.normalsNeedUpdate = geometry.normalsNeedUpdate;
|
|
|
|
- direct.colorsNeedUpdate = geometry.colorsNeedUpdate;
|
|
|
|
- direct.uvsNeedUpdate = geometry.uvsNeedUpdate;
|
|
|
|
- direct.groupsNeedUpdate = geometry.groupsNeedUpdate;
|
|
|
|
|
|
+ direct.verticesNeedUpdate = geometry.verticesNeedUpdate || geometry.elementsNeedUpdate;
|
|
|
|
+ direct.normalsNeedUpdate = geometry.normalsNeedUpdate || geometry.elementsNeedUpdate;
|
|
|
|
+ direct.colorsNeedUpdate = geometry.colorsNeedUpdate || geometry.elementsNeedUpdate;
|
|
|
|
+ direct.uvsNeedUpdate = geometry.uvsNeedUpdate || geometry.elementsNeedUpdate;
|
|
|
|
+ direct.groupsNeedUpdate = geometry.groupsNeedUpdate || geometry.elementsNeedUpdate;
|
|
|
|
|
|
|
|
+ geometry.elementsNeedUpdate = false;
|
|
geometry.verticesNeedUpdate = false;
|
|
geometry.verticesNeedUpdate = false;
|
|
geometry.normalsNeedUpdate = false;
|
|
geometry.normalsNeedUpdate = false;
|
|
geometry.colorsNeedUpdate = false;
|
|
geometry.colorsNeedUpdate = false;
|