|
@@ -2052,7 +2052,6 @@ THREE.GLTFLoader = ( function () {
|
|
|
|
|
|
return this.getDependencies( 'accessor' ).then( function ( accessors ) {
|
|
return this.getDependencies( 'accessor' ).then( function ( accessors ) {
|
|
|
|
|
|
- var geometries = [];
|
|
|
|
var pending = [];
|
|
var pending = [];
|
|
|
|
|
|
for ( var i = 0, il = primitives.length; i < il; i ++ ) {
|
|
for ( var i = 0, il = primitives.length; i < il; i ++ ) {
|
|
@@ -2065,11 +2064,7 @@ THREE.GLTFLoader = ( function () {
|
|
if ( cached ) {
|
|
if ( cached ) {
|
|
|
|
|
|
// Use the cached geometry if it exists
|
|
// Use the cached geometry if it exists
|
|
- pending.push( cached.then( function ( geometry ) {
|
|
|
|
-
|
|
|
|
- geometries.push( geometry );
|
|
|
|
-
|
|
|
|
- } ) );
|
|
|
|
|
|
+ pending.push( cached );
|
|
|
|
|
|
} else if ( primitive.extensions && primitive.extensions[ EXTENSIONS.KHR_DRACO_MESH_COMPRESSION ] ) {
|
|
} else if ( primitive.extensions && primitive.extensions[ EXTENSIONS.KHR_DRACO_MESH_COMPRESSION ] ) {
|
|
|
|
|
|
@@ -2080,8 +2075,6 @@ THREE.GLTFLoader = ( function () {
|
|
|
|
|
|
addPrimitiveAttributes( geometry, primitive, accessors );
|
|
addPrimitiveAttributes( geometry, primitive, accessors );
|
|
|
|
|
|
- geometries.push( geometry );
|
|
|
|
-
|
|
|
|
return geometry;
|
|
return geometry;
|
|
|
|
|
|
} );
|
|
} );
|
|
@@ -2097,25 +2090,23 @@ THREE.GLTFLoader = ( function () {
|
|
|
|
|
|
addPrimitiveAttributes( geometry, primitive, accessors );
|
|
addPrimitiveAttributes( geometry, primitive, accessors );
|
|
|
|
|
|
|
|
+ var geometryPromise = Promise.resolve( geometry );
|
|
|
|
+
|
|
// Cache this geometry
|
|
// Cache this geometry
|
|
cache.push( {
|
|
cache.push( {
|
|
|
|
|
|
primitive: primitive,
|
|
primitive: primitive,
|
|
- promise: Promise.resolve( geometry )
|
|
|
|
|
|
+ promise: geometryPromise
|
|
|
|
|
|
} );
|
|
} );
|
|
|
|
|
|
- geometries.push( geometry );
|
|
|
|
|
|
+ pending.push( geometryPromise );
|
|
|
|
|
|
}
|
|
}
|
|
|
|
|
|
}
|
|
}
|
|
|
|
|
|
- return Promise.all( pending ).then( function () {
|
|
|
|
-
|
|
|
|
- return geometries;
|
|
|
|
-
|
|
|
|
- } );
|
|
|
|
|
|
+ return Promise.all( pending );
|
|
|
|
|
|
} );
|
|
} );
|
|
|
|
|