|
@@ -1173,6 +1173,10 @@ var BABYLON;
|
|
*/
|
|
*/
|
|
this.onCompleteObservable = new BABYLON.Observable();
|
|
this.onCompleteObservable = new BABYLON.Observable();
|
|
/**
|
|
/**
|
|
|
|
+ * Observable raised when an error occurs.
|
|
|
|
+ */
|
|
|
|
+ this.onErrorObservable = new BABYLON.Observable();
|
|
|
|
+ /**
|
|
* Observable raised after the loader is disposed.
|
|
* Observable raised after the loader is disposed.
|
|
*/
|
|
*/
|
|
this.onDisposeObservable = new BABYLON.Observable();
|
|
this.onDisposeObservable = new BABYLON.Observable();
|
|
@@ -1272,6 +1276,8 @@ var BABYLON;
|
|
Object.defineProperty(GLTFFileLoader.prototype, "onComplete", {
|
|
Object.defineProperty(GLTFFileLoader.prototype, "onComplete", {
|
|
/**
|
|
/**
|
|
* Callback raised when the asset is completely loaded, immediately before the loader is disposed.
|
|
* Callback raised when the asset is completely loaded, immediately before the loader is disposed.
|
|
|
|
+ * For assets with LODs, raised when all of the LODs are complete.
|
|
|
|
+ * For assets without LODs, raised when the model is complete, immediately after the loader resolves the returned promise.
|
|
*/
|
|
*/
|
|
set: function (callback) {
|
|
set: function (callback) {
|
|
if (this._onCompleteObserver) {
|
|
if (this._onCompleteObserver) {
|
|
@@ -1282,6 +1288,19 @@ var BABYLON;
|
|
enumerable: true,
|
|
enumerable: true,
|
|
configurable: true
|
|
configurable: true
|
|
});
|
|
});
|
|
|
|
+ Object.defineProperty(GLTFFileLoader.prototype, "onError", {
|
|
|
|
+ /**
|
|
|
|
+ * Callback raised when an error occurs.
|
|
|
|
+ */
|
|
|
|
+ set: function (callback) {
|
|
|
|
+ if (this._onErrorObserver) {
|
|
|
|
+ this.onErrorObservable.remove(this._onErrorObserver);
|
|
|
|
+ }
|
|
|
|
+ this._onErrorObserver = this.onErrorObservable.add(callback);
|
|
|
|
+ },
|
|
|
|
+ enumerable: true,
|
|
|
|
+ configurable: true
|
|
|
|
+ });
|
|
Object.defineProperty(GLTFFileLoader.prototype, "onDispose", {
|
|
Object.defineProperty(GLTFFileLoader.prototype, "onDispose", {
|
|
/**
|
|
/**
|
|
* Callback raised after the loader is disposed.
|
|
* Callback raised after the loader is disposed.
|
|
@@ -1314,10 +1333,13 @@ var BABYLON;
|
|
*/
|
|
*/
|
|
GLTFFileLoader.prototype.whenCompleteAsync = function () {
|
|
GLTFFileLoader.prototype.whenCompleteAsync = function () {
|
|
var _this = this;
|
|
var _this = this;
|
|
- return new Promise(function (resolve) {
|
|
|
|
|
|
+ return new Promise(function (resolve, reject) {
|
|
_this.onCompleteObservable.addOnce(function () {
|
|
_this.onCompleteObservable.addOnce(function () {
|
|
resolve();
|
|
resolve();
|
|
});
|
|
});
|
|
|
|
+ _this.onErrorObservable.addOnce(function (reason) {
|
|
|
|
+ reject(reason);
|
|
|
|
+ });
|
|
});
|
|
});
|
|
};
|
|
};
|
|
Object.defineProperty(GLTFFileLoader.prototype, "loaderState", {
|
|
Object.defineProperty(GLTFFileLoader.prototype, "loaderState", {
|
|
@@ -3951,9 +3973,6 @@ var BABYLON;
|
|
GLTFLoader._ExtensionNames.push(name);
|
|
GLTFLoader._ExtensionNames.push(name);
|
|
};
|
|
};
|
|
Object.defineProperty(GLTFLoader.prototype, "state", {
|
|
Object.defineProperty(GLTFLoader.prototype, "state", {
|
|
- /**
|
|
|
|
- * Loader state or null if the loader is not active.
|
|
|
|
- */
|
|
|
|
get: function () {
|
|
get: function () {
|
|
return this._state;
|
|
return this._state;
|
|
},
|
|
},
|
|
@@ -3972,7 +3991,6 @@ var BABYLON;
|
|
this._requests.length = 0;
|
|
this._requests.length = 0;
|
|
delete this._gltf;
|
|
delete this._gltf;
|
|
delete this._babylonScene;
|
|
delete this._babylonScene;
|
|
- delete this._readyPromise;
|
|
|
|
this._completePromises.length = 0;
|
|
this._completePromises.length = 0;
|
|
for (var name_1 in this._extensions) {
|
|
for (var name_1 in this._extensions) {
|
|
this._extensions[name_1].dispose();
|
|
this._extensions[name_1].dispose();
|
|
@@ -4032,14 +4050,14 @@ var BABYLON;
|
|
GLTFLoader.prototype._loadAsync = function (nodes) {
|
|
GLTFLoader.prototype._loadAsync = function (nodes) {
|
|
var _this = this;
|
|
var _this = this;
|
|
return Promise.resolve().then(function () {
|
|
return Promise.resolve().then(function () {
|
|
- _this._parent._startPerformanceCounter("Loading => Ready");
|
|
|
|
- _this._parent._startPerformanceCounter("Loading => Complete");
|
|
|
|
- _this._state = BABYLON.GLTFLoaderState.LOADING;
|
|
|
|
- _this._parent._log("Loading");
|
|
|
|
- var readyDeferred = new BABYLON.Deferred();
|
|
|
|
- _this._readyPromise = readyDeferred.promise;
|
|
|
|
_this._loadExtensions();
|
|
_this._loadExtensions();
|
|
_this._checkExtensions();
|
|
_this._checkExtensions();
|
|
|
|
+ var loadingToReadyCounterName = BABYLON.GLTFLoaderState[BABYLON.GLTFLoaderState.LOADING] + " => " + BABYLON.GLTFLoaderState[BABYLON.GLTFLoaderState.READY];
|
|
|
|
+ var loadingToCompleteCounterName = BABYLON.GLTFLoaderState[BABYLON.GLTFLoaderState.LOADING] + " => " + BABYLON.GLTFLoaderState[BABYLON.GLTFLoaderState.COMPLETE];
|
|
|
|
+ _this._parent._startPerformanceCounter(loadingToReadyCounterName);
|
|
|
|
+ _this._parent._startPerformanceCounter(loadingToCompleteCounterName);
|
|
|
|
+ _this._setState(BABYLON.GLTFLoaderState.LOADING);
|
|
|
|
+ GLTF2.GLTFLoaderExtension._OnLoading(_this);
|
|
var promises = new Array();
|
|
var promises = new Array();
|
|
if (nodes) {
|
|
if (nodes) {
|
|
promises.push(_this._loadSceneAsync("#/nodes", { nodes: nodes, _index: -1 }));
|
|
promises.push(_this._loadSceneAsync("#/nodes", { nodes: nodes, _index: -1 }));
|
|
@@ -4055,33 +4073,33 @@ var BABYLON;
|
|
promises.push(_this._compileShadowGeneratorsAsync());
|
|
promises.push(_this._compileShadowGeneratorsAsync());
|
|
}
|
|
}
|
|
var resultPromise = Promise.all(promises).then(function () {
|
|
var resultPromise = Promise.all(promises).then(function () {
|
|
- _this._state = BABYLON.GLTFLoaderState.READY;
|
|
|
|
- _this._parent._log("Ready");
|
|
|
|
- readyDeferred.resolve();
|
|
|
|
|
|
+ _this._setState(BABYLON.GLTFLoaderState.READY);
|
|
|
|
+ GLTF2.GLTFLoaderExtension._OnReady(_this);
|
|
_this._startAnimations();
|
|
_this._startAnimations();
|
|
});
|
|
});
|
|
resultPromise.then(function () {
|
|
resultPromise.then(function () {
|
|
- _this._parent._endPerformanceCounter("Loading => Ready");
|
|
|
|
|
|
+ _this._parent._endPerformanceCounter(loadingToReadyCounterName);
|
|
BABYLON.Tools.SetImmediate(function () {
|
|
BABYLON.Tools.SetImmediate(function () {
|
|
if (!_this._disposed) {
|
|
if (!_this._disposed) {
|
|
Promise.all(_this._completePromises).then(function () {
|
|
Promise.all(_this._completePromises).then(function () {
|
|
- _this._parent._endPerformanceCounter("Loading => Complete");
|
|
|
|
- _this._state = BABYLON.GLTFLoaderState.COMPLETE;
|
|
|
|
- _this._parent._log("Complete");
|
|
|
|
|
|
+ _this._parent._endPerformanceCounter(loadingToCompleteCounterName);
|
|
|
|
+ _this._setState(BABYLON.GLTFLoaderState.COMPLETE);
|
|
_this._parent.onCompleteObservable.notifyObservers(undefined);
|
|
_this._parent.onCompleteObservable.notifyObservers(undefined);
|
|
_this._parent.onCompleteObservable.clear();
|
|
_this._parent.onCompleteObservable.clear();
|
|
_this.dispose();
|
|
_this.dispose();
|
|
- }).catch(function (error) {
|
|
|
|
- BABYLON.Tools.Error("glTF Loader: " + error.message);
|
|
|
|
|
|
+ }, function (error) {
|
|
|
|
+ _this._parent.onErrorObservable.notifyObservers(error);
|
|
|
|
+ _this._parent.onErrorObservable.clear();
|
|
_this.dispose();
|
|
_this.dispose();
|
|
});
|
|
});
|
|
}
|
|
}
|
|
});
|
|
});
|
|
});
|
|
});
|
|
return resultPromise;
|
|
return resultPromise;
|
|
- }).catch(function (error) {
|
|
|
|
|
|
+ }, function (error) {
|
|
if (!_this._disposed) {
|
|
if (!_this._disposed) {
|
|
- BABYLON.Tools.Error("glTF Loader: " + error.message);
|
|
|
|
|
|
+ _this._parent.onErrorObservable.notifyObservers(error);
|
|
|
|
+ _this._parent.onErrorObservable.clear();
|
|
_this.dispose();
|
|
_this.dispose();
|
|
throw error;
|
|
throw error;
|
|
}
|
|
}
|
|
@@ -4157,6 +4175,10 @@ var BABYLON;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
};
|
|
};
|
|
|
|
+ GLTFLoader.prototype._setState = function (state) {
|
|
|
|
+ this._state = state;
|
|
|
|
+ this._parent._log(BABYLON.GLTFLoaderState[this._state]);
|
|
|
|
+ };
|
|
GLTFLoader.prototype._createRootNode = function () {
|
|
GLTFLoader.prototype._createRootNode = function () {
|
|
this._rootBabylonMesh = new BABYLON.Mesh("__root__", this._babylonScene);
|
|
this._rootBabylonMesh = new BABYLON.Mesh("__root__", this._babylonScene);
|
|
var rootNode = { _babylonMesh: this._rootBabylonMesh };
|
|
var rootNode = { _babylonMesh: this._rootBabylonMesh };
|
|
@@ -5411,6 +5433,15 @@ var BABYLON;
|
|
}
|
|
}
|
|
return null;
|
|
return null;
|
|
};
|
|
};
|
|
|
|
+ GLTFLoader.prototype._forEachExtensions = function (action) {
|
|
|
|
+ for (var _i = 0, _a = GLTFLoader._ExtensionNames; _i < _a.length; _i++) {
|
|
|
|
+ var name_6 = _a[_i];
|
|
|
|
+ var extension = this._extensions[name_6];
|
|
|
|
+ if (extension.enabled) {
|
|
|
|
+ action(extension);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ };
|
|
GLTFLoader._ExtensionNames = new Array();
|
|
GLTFLoader._ExtensionNames = new Array();
|
|
GLTFLoader._ExtensionFactories = {};
|
|
GLTFLoader._ExtensionFactories = {};
|
|
return GLTFLoader;
|
|
return GLTFLoader;
|
|
@@ -5450,6 +5481,14 @@ var BABYLON;
|
|
};
|
|
};
|
|
// #region Overridable Methods
|
|
// #region Overridable Methods
|
|
/**
|
|
/**
|
|
|
|
+ * Override this method to do work after the state changes to LOADING.
|
|
|
|
+ */
|
|
|
|
+ GLTFLoaderExtension.prototype._onLoading = function () { };
|
|
|
|
+ /**
|
|
|
|
+ * Override this method to do work after the state changes to READY.
|
|
|
|
+ */
|
|
|
|
+ GLTFLoaderExtension.prototype._onReady = function () { };
|
|
|
|
+ /**
|
|
* Override this method to modify the default behavior for loading scenes.
|
|
* Override this method to modify the default behavior for loading scenes.
|
|
* @hidden
|
|
* @hidden
|
|
*/
|
|
*/
|
|
@@ -5537,6 +5576,20 @@ var BABYLON;
|
|
}
|
|
}
|
|
};
|
|
};
|
|
/**
|
|
/**
|
|
|
|
+ * Helper method called by the loader after the state changes to LOADING.
|
|
|
|
+ * @hidden
|
|
|
|
+ */
|
|
|
|
+ GLTFLoaderExtension._OnLoading = function (loader) {
|
|
|
|
+ loader._forEachExtensions(function (extension) { return extension._onLoading(); });
|
|
|
|
+ };
|
|
|
|
+ /**
|
|
|
|
+ * Helper method called by the loader after the state changes to READY.
|
|
|
|
+ * @hidden
|
|
|
|
+ */
|
|
|
|
+ GLTFLoaderExtension._OnReady = function (loader) {
|
|
|
|
+ loader._forEachExtensions(function (extension) { return extension._onReady(); });
|
|
|
|
+ };
|
|
|
|
+ /**
|
|
* Helper method called by the loader to allow extensions to override loading scenes.
|
|
* Helper method called by the loader to allow extensions to override loading scenes.
|
|
* @hidden
|
|
* @hidden
|
|
*/
|
|
*/
|
|
@@ -5614,8 +5667,8 @@ var BABYLON;
|
|
*/
|
|
*/
|
|
var MSFT_lod = /** @class */ (function (_super) {
|
|
var MSFT_lod = /** @class */ (function (_super) {
|
|
__extends(MSFT_lod, _super);
|
|
__extends(MSFT_lod, _super);
|
|
- function MSFT_lod(loader) {
|
|
|
|
- var _this = _super.call(this, loader) || this;
|
|
|
|
|
|
+ function MSFT_lod() {
|
|
|
|
+ var _this = _super !== null && _super.apply(this, arguments) || this;
|
|
_this.name = NAME;
|
|
_this.name = NAME;
|
|
/**
|
|
/**
|
|
* Maximum number of LODs to load, starting from the lowest LOD.
|
|
* Maximum number of LODs to load, starting from the lowest LOD.
|
|
@@ -5639,42 +5692,6 @@ var BABYLON;
|
|
_this._materialIndexLOD = null;
|
|
_this._materialIndexLOD = null;
|
|
_this._materialSignalLODs = new Array();
|
|
_this._materialSignalLODs = new Array();
|
|
_this._materialPromiseLODs = new Array();
|
|
_this._materialPromiseLODs = new Array();
|
|
- _this._loader._readyPromise.then(function () {
|
|
|
|
- var _loop_1 = function (indexLOD) {
|
|
|
|
- var promise = Promise.all(_this._nodePromiseLODs[indexLOD]).then(function () {
|
|
|
|
- if (indexLOD !== 0) {
|
|
|
|
- _this._loader._parent._endPerformanceCounter("Node LOD " + indexLOD);
|
|
|
|
- }
|
|
|
|
- _this._loader._parent._log("Loaded node LOD " + indexLOD);
|
|
|
|
- _this.onNodeLODsLoadedObservable.notifyObservers(indexLOD);
|
|
|
|
- if (indexLOD !== _this._nodePromiseLODs.length - 1) {
|
|
|
|
- _this._loader._parent._startPerformanceCounter("Node LOD " + (indexLOD + 1));
|
|
|
|
- _this._nodeSignalLODs[indexLOD].resolve();
|
|
|
|
- }
|
|
|
|
- });
|
|
|
|
- _this._loader._completePromises.push(promise);
|
|
|
|
- };
|
|
|
|
- for (var indexLOD = 0; indexLOD < _this._nodePromiseLODs.length; indexLOD++) {
|
|
|
|
- _loop_1(indexLOD);
|
|
|
|
- }
|
|
|
|
- var _loop_2 = function (indexLOD) {
|
|
|
|
- var promise = Promise.all(_this._materialPromiseLODs[indexLOD]).then(function () {
|
|
|
|
- if (indexLOD !== 0) {
|
|
|
|
- _this._loader._parent._endPerformanceCounter("Material LOD " + indexLOD);
|
|
|
|
- }
|
|
|
|
- _this._loader._parent._log("Loaded material LOD " + indexLOD);
|
|
|
|
- _this.onMaterialLODsLoadedObservable.notifyObservers(indexLOD);
|
|
|
|
- if (indexLOD !== _this._materialPromiseLODs.length - 1) {
|
|
|
|
- _this._loader._parent._startPerformanceCounter("Material LOD " + (indexLOD + 1));
|
|
|
|
- _this._materialSignalLODs[indexLOD].resolve();
|
|
|
|
- }
|
|
|
|
- });
|
|
|
|
- _this._loader._completePromises.push(promise);
|
|
|
|
- };
|
|
|
|
- for (var indexLOD = 0; indexLOD < _this._materialPromiseLODs.length; indexLOD++) {
|
|
|
|
- _loop_2(indexLOD);
|
|
|
|
- }
|
|
|
|
- });
|
|
|
|
return _this;
|
|
return _this;
|
|
}
|
|
}
|
|
MSFT_lod.prototype.dispose = function () {
|
|
MSFT_lod.prototype.dispose = function () {
|
|
@@ -5688,6 +5705,49 @@ var BABYLON;
|
|
this.onMaterialLODsLoadedObservable.clear();
|
|
this.onMaterialLODsLoadedObservable.clear();
|
|
this.onNodeLODsLoadedObservable.clear();
|
|
this.onNodeLODsLoadedObservable.clear();
|
|
};
|
|
};
|
|
|
|
+ MSFT_lod.prototype._onReady = function () {
|
|
|
|
+ var _this = this;
|
|
|
|
+ var _loop_1 = function (indexLOD) {
|
|
|
|
+ var promise = Promise.all(this_1._nodePromiseLODs[indexLOD]).then(function () {
|
|
|
|
+ if (indexLOD !== 0) {
|
|
|
|
+ _this._loader._parent._endPerformanceCounter("Node LOD " + indexLOD);
|
|
|
|
+ }
|
|
|
|
+ _this._loader._parent._log("Loaded node LOD " + indexLOD);
|
|
|
|
+ _this.onNodeLODsLoadedObservable.notifyObservers(indexLOD);
|
|
|
|
+ if (indexLOD !== _this._nodePromiseLODs.length - 1) {
|
|
|
|
+ _this._loader._parent._startPerformanceCounter("Node LOD " + (indexLOD + 1));
|
|
|
|
+ if (_this._nodeSignalLODs[indexLOD]) {
|
|
|
|
+ _this._nodeSignalLODs[indexLOD].resolve();
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ });
|
|
|
|
+ this_1._loader._completePromises.push(promise);
|
|
|
|
+ };
|
|
|
|
+ var this_1 = this;
|
|
|
|
+ for (var indexLOD = 0; indexLOD < this._nodePromiseLODs.length; indexLOD++) {
|
|
|
|
+ _loop_1(indexLOD);
|
|
|
|
+ }
|
|
|
|
+ var _loop_2 = function (indexLOD) {
|
|
|
|
+ var promise = Promise.all(this_2._materialPromiseLODs[indexLOD]).then(function () {
|
|
|
|
+ if (indexLOD !== 0) {
|
|
|
|
+ _this._loader._parent._endPerformanceCounter("Material LOD " + indexLOD);
|
|
|
|
+ }
|
|
|
|
+ _this._loader._parent._log("Loaded material LOD " + indexLOD);
|
|
|
|
+ _this.onMaterialLODsLoadedObservable.notifyObservers(indexLOD);
|
|
|
|
+ if (indexLOD !== _this._materialPromiseLODs.length - 1) {
|
|
|
|
+ _this._loader._parent._startPerformanceCounter("Material LOD " + (indexLOD + 1));
|
|
|
|
+ if (_this._materialSignalLODs[indexLOD]) {
|
|
|
|
+ _this._materialSignalLODs[indexLOD].resolve();
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ });
|
|
|
|
+ this_2._loader._completePromises.push(promise);
|
|
|
|
+ };
|
|
|
|
+ var this_2 = this;
|
|
|
|
+ for (var indexLOD = 0; indexLOD < this._materialPromiseLODs.length; indexLOD++) {
|
|
|
|
+ _loop_2(indexLOD);
|
|
|
|
+ }
|
|
|
|
+ };
|
|
MSFT_lod.prototype._loadNodeAsync = function (context, node) {
|
|
MSFT_lod.prototype._loadNodeAsync = function (context, node) {
|
|
var _this = this;
|
|
var _this = this;
|
|
return this._loadExtensionAsync(context, node, function (extensionContext, extension) {
|
|
return this._loadExtensionAsync(context, node, function (extensionContext, extension) {
|
|
@@ -5894,23 +5954,25 @@ var BABYLON;
|
|
_this.name = NAME;
|
|
_this.name = NAME;
|
|
return _this;
|
|
return _this;
|
|
}
|
|
}
|
|
- MSFT_sRGBFactors.prototype._loadMaterialAsync = function (context, material, mesh, babylonMesh, babylonDrawMode, assign) {
|
|
|
|
|
|
+ MSFT_sRGBFactors.prototype._loadMaterialPropertiesAsync = function (context, material, babylonMaterial) {
|
|
var _this = this;
|
|
var _this = this;
|
|
return this._loadExtrasValueAsync(context, material, function (extensionContext, value) {
|
|
return this._loadExtrasValueAsync(context, material, function (extensionContext, value) {
|
|
if (value) {
|
|
if (value) {
|
|
- return _this._loader._loadMaterialAsync(context, material, mesh, babylonMesh, babylonDrawMode, function (babylonMaterial) {
|
|
|
|
- if (!babylonMaterial.albedoTexture) {
|
|
|
|
- babylonMaterial.albedoColor.toLinearSpaceToRef(babylonMaterial.albedoColor);
|
|
|
|
- }
|
|
|
|
- if (!babylonMaterial.reflectivityTexture) {
|
|
|
|
- babylonMaterial.reflectivityColor.toLinearSpaceToRef(babylonMaterial.reflectivityColor);
|
|
|
|
- }
|
|
|
|
- assign(babylonMaterial);
|
|
|
|
- });
|
|
|
|
|
|
+ var promise = _this._loader._loadMaterialPropertiesAsync(context, material, babylonMaterial);
|
|
|
|
+ _this._convertColorsToLinear(babylonMaterial);
|
|
|
|
+ return promise;
|
|
}
|
|
}
|
|
return null;
|
|
return null;
|
|
});
|
|
});
|
|
};
|
|
};
|
|
|
|
+ MSFT_sRGBFactors.prototype._convertColorsToLinear = function (babylonMaterial) {
|
|
|
|
+ if (!babylonMaterial.albedoTexture) {
|
|
|
|
+ babylonMaterial.albedoColor.toLinearSpaceToRef(babylonMaterial.albedoColor);
|
|
|
|
+ }
|
|
|
|
+ if (!babylonMaterial.reflectivityTexture) {
|
|
|
|
+ babylonMaterial.reflectivityColor.toLinearSpaceToRef(babylonMaterial.reflectivityColor);
|
|
|
|
+ }
|
|
|
|
+ };
|
|
return MSFT_sRGBFactors;
|
|
return MSFT_sRGBFactors;
|
|
}(GLTF2.GLTFLoaderExtension));
|
|
}(GLTF2.GLTFLoaderExtension));
|
|
Extensions.MSFT_sRGBFactors = MSFT_sRGBFactors;
|
|
Extensions.MSFT_sRGBFactors = MSFT_sRGBFactors;
|
|
@@ -6165,6 +6227,13 @@ var BABYLON;
|
|
_this.name = NAME;
|
|
_this.name = NAME;
|
|
return _this;
|
|
return _this;
|
|
}
|
|
}
|
|
|
|
+ KHR_lights.prototype._onLoading = function () {
|
|
|
|
+ var extensions = this._loader._gltf.extensions;
|
|
|
|
+ if (extensions && extensions[this.name]) {
|
|
|
|
+ var extension = extensions[this.name];
|
|
|
|
+ this._lights = extension.lights;
|
|
|
|
+ }
|
|
|
|
+ };
|
|
KHR_lights.prototype._loadSceneAsync = function (context, scene) {
|
|
KHR_lights.prototype._loadSceneAsync = function (context, scene) {
|
|
var _this = this;
|
|
var _this = this;
|
|
return this._loadExtensionAsync(context, scene, function (extensionContext, extension) {
|
|
return this._loadExtensionAsync(context, scene, function (extensionContext, extension) {
|
|
@@ -6213,18 +6282,6 @@ var BABYLON;
|
|
return promise;
|
|
return promise;
|
|
});
|
|
});
|
|
};
|
|
};
|
|
- Object.defineProperty(KHR_lights.prototype, "_lights", {
|
|
|
|
- get: function () {
|
|
|
|
- var extensions = this._loader._gltf.extensions;
|
|
|
|
- if (!extensions || !extensions[this.name]) {
|
|
|
|
- throw new Error("#/extensions: '" + this.name + "' not found");
|
|
|
|
- }
|
|
|
|
- var extension = extensions[this.name];
|
|
|
|
- return extension.lights;
|
|
|
|
- },
|
|
|
|
- enumerable: true,
|
|
|
|
- configurable: true
|
|
|
|
- });
|
|
|
|
return KHR_lights;
|
|
return KHR_lights;
|
|
}(GLTF2.GLTFLoaderExtension));
|
|
}(GLTF2.GLTFLoaderExtension));
|
|
Extensions.KHR_lights = KHR_lights;
|
|
Extensions.KHR_lights = KHR_lights;
|
|
@@ -6304,6 +6361,13 @@ var BABYLON;
|
|
_this.name = NAME;
|
|
_this.name = NAME;
|
|
return _this;
|
|
return _this;
|
|
}
|
|
}
|
|
|
|
+ EXT_lights_imageBased.prototype._onLoading = function () {
|
|
|
|
+ var extensions = this._loader._gltf.extensions;
|
|
|
|
+ if (extensions && extensions[this.name]) {
|
|
|
|
+ var extension = extensions[this.name];
|
|
|
|
+ this._lights = extension.lights;
|
|
|
|
+ }
|
|
|
|
+ };
|
|
EXT_lights_imageBased.prototype._loadSceneAsync = function (context, scene) {
|
|
EXT_lights_imageBased.prototype._loadSceneAsync = function (context, scene) {
|
|
var _this = this;
|
|
var _this = this;
|
|
return this._loadExtensionAsync(context, scene, function (extensionContext, extension) {
|
|
return this._loadExtensionAsync(context, scene, function (extensionContext, extension) {
|
|
@@ -6373,18 +6437,6 @@ var BABYLON;
|
|
return light._babylonTexture;
|
|
return light._babylonTexture;
|
|
});
|
|
});
|
|
};
|
|
};
|
|
- Object.defineProperty(EXT_lights_imageBased.prototype, "_lights", {
|
|
|
|
- get: function () {
|
|
|
|
- var extensions = this._loader._gltf.extensions;
|
|
|
|
- if (!extensions || !extensions[this.name]) {
|
|
|
|
- throw new Error("#/extensions: '" + this.name + "' not found");
|
|
|
|
- }
|
|
|
|
- var extension = extensions[this.name];
|
|
|
|
- return extension.lights;
|
|
|
|
- },
|
|
|
|
- enumerable: true,
|
|
|
|
- configurable: true
|
|
|
|
- });
|
|
|
|
return EXT_lights_imageBased;
|
|
return EXT_lights_imageBased;
|
|
}(GLTF2.GLTFLoaderExtension));
|
|
}(GLTF2.GLTFLoaderExtension));
|
|
Extensions.EXT_lights_imageBased = EXT_lights_imageBased;
|
|
Extensions.EXT_lights_imageBased = EXT_lights_imageBased;
|