@galacean/engine 2.0.0-alpha.5 → 2.0.0-alpha.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/browser.js +524 -525
- package/dist/browser.js.map +1 -1
- package/dist/browser.min.js +1 -1
- package/dist/browser.min.js.map +1 -1
- package/dist/bundled.module.js +525 -526
- package/dist/bundled.module.js.map +1 -1
- package/dist/bundled.module.min.js +1 -1
- package/dist/bundled.module.min.js.map +1 -1
- package/dist/main.js +1 -1
- package/dist/module.js +1 -1
- package/package.json +5 -5
package/dist/bundled.module.js
CHANGED
|
@@ -28926,7 +28926,6 @@ PrimitiveChunk.subMeshPool = new ReturnableObjectPool(SubMesh, 10);
|
|
|
28926
28926
|
/** Sprite Atlas. */ AssetType["SpriteAtlas"] = "SpriteAtlas";
|
|
28927
28927
|
/** Ambient light. */ AssetType["Env"] = "Environment";
|
|
28928
28928
|
/** Scene. */ AssetType["Scene"] = "Scene";
|
|
28929
|
-
/** HDR to cube. */ AssetType["HDR"] = "HDR";
|
|
28930
28929
|
/** Font. */ AssetType["Font"] = "Font";
|
|
28931
28930
|
/** Source Font, include ttf, otf and woff. */ AssetType["SourceFont"] = "SourceFont";
|
|
28932
28931
|
/** AudioClip, include ogg, wav and mp3. */ AssetType["Audio"] = "Audio";
|
|
@@ -29340,7 +29339,6 @@ var MultiExecutor = /*#__PURE__*/ function() {
|
|
|
29340
29339
|
this._contentRestorerPool = Object.create(null);
|
|
29341
29340
|
this._subAssetPromiseCallbacks = {};
|
|
29342
29341
|
this./** @internal */ _objectPool = Object.create(null);
|
|
29343
|
-
this./** @internal */ _idResourceMap = Object.create(null);
|
|
29344
29342
|
this./** @internal */ _virtualPathResourceMap = Object.create(null);
|
|
29345
29343
|
}
|
|
29346
29344
|
var _proto = ResourceManager.prototype;
|
|
@@ -29739,30 +29737,29 @@ var MultiExecutor = /*#__PURE__*/ function() {
|
|
|
29739
29737
|
* @internal
|
|
29740
29738
|
* @beta Just for internal editor, not recommended for developers.
|
|
29741
29739
|
*/ _proto.getResourceByRef = function getResourceByRef(ref) {
|
|
29742
|
-
var
|
|
29743
|
-
|
|
29744
|
-
|
|
29745
|
-
|
|
29746
|
-
|
|
29747
|
-
|
|
29748
|
-
|
|
29749
|
-
|
|
29750
|
-
|
|
29751
|
-
|
|
29752
|
-
|
|
29753
|
-
|
|
29754
|
-
|
|
29755
|
-
url += "?q=" + key;
|
|
29756
|
-
}
|
|
29757
|
-
promise = this.load({
|
|
29758
|
-
url: url,
|
|
29759
|
-
type: resourceConfig.type,
|
|
29760
|
-
params: resourceConfig.params
|
|
29761
|
-
});
|
|
29740
|
+
var url = ref.url, key = ref.key, isClone = ref.isClone;
|
|
29741
|
+
if (!url) {
|
|
29742
|
+
Logger.warn("ResourceManager.getResourceByRef: url is empty.");
|
|
29743
|
+
return AssetPromise.resolve(null);
|
|
29744
|
+
}
|
|
29745
|
+
var cached = this._objectPool[url];
|
|
29746
|
+
if (cached) {
|
|
29747
|
+
return AssetPromise.resolve(isClone ? cached.clone() : cached);
|
|
29748
|
+
}
|
|
29749
|
+
var mapped = this._virtualPathResourceMap[url];
|
|
29750
|
+
if (!mapped) {
|
|
29751
|
+
Logger.warn('ResourceManager.getResourceByRef: url "' + url + '" not found in virtualPathResourceMap.');
|
|
29752
|
+
return AssetPromise.resolve(null);
|
|
29762
29753
|
}
|
|
29763
|
-
|
|
29764
|
-
|
|
29754
|
+
var loadUrl = key ? url + "?q=" + key : url;
|
|
29755
|
+
var promise = this.load({
|
|
29756
|
+
url: loadUrl,
|
|
29757
|
+
type: mapped.type,
|
|
29758
|
+
params: mapped.params
|
|
29765
29759
|
});
|
|
29760
|
+
return isClone ? promise.then(function(item) {
|
|
29761
|
+
return item.clone();
|
|
29762
|
+
}) : promise;
|
|
29766
29763
|
};
|
|
29767
29764
|
/**
|
|
29768
29765
|
* @internal
|
|
@@ -29771,7 +29768,6 @@ var MultiExecutor = /*#__PURE__*/ function() {
|
|
|
29771
29768
|
var _this = this;
|
|
29772
29769
|
config.forEach(function(element) {
|
|
29773
29770
|
_this._virtualPathResourceMap[element.virtualPath] = element;
|
|
29774
|
-
_this._idResourceMap[element.id] = element;
|
|
29775
29771
|
if (element.dependentAssetMap) {
|
|
29776
29772
|
_this._virtualPathResourceMap[element.virtualPath].dependentAssetMap = element.dependentAssetMap;
|
|
29777
29773
|
}
|
|
@@ -45751,7 +45747,9 @@ var decoderMap = {};
|
|
|
45751
45747
|
decoderMap[type] = target;
|
|
45752
45748
|
};
|
|
45753
45749
|
}
|
|
45754
|
-
|
|
45750
|
+
/**
|
|
45751
|
+
* Binary format: [MAGIC(4B)] [totalLength(4B)] [version(1B)] [typeLen(2B)] [type] [nameLen(2B)] [name] [data...]
|
|
45752
|
+
*/ var FileHeader = /*#__PURE__*/ function() {
|
|
45755
45753
|
function FileHeader() {
|
|
45756
45754
|
this.totalLength = 0;
|
|
45757
45755
|
this.version = 0;
|
|
@@ -45759,14 +45757,23 @@ var FileHeader = /*#__PURE__*/ function() {
|
|
|
45759
45757
|
this.name = "";
|
|
45760
45758
|
this.headerLength = 0;
|
|
45761
45759
|
}
|
|
45760
|
+
FileHeader.checkMagic = function checkMagic(arrayBuffer) {
|
|
45761
|
+
if (arrayBuffer.byteLength < 4) return false;
|
|
45762
|
+
var view = new DataView(arrayBuffer);
|
|
45763
|
+
return view.getUint32(0, true) === FileHeader.MAGIC;
|
|
45764
|
+
};
|
|
45762
45765
|
FileHeader.decode = function decode(arrayBuffer) {
|
|
45763
45766
|
var dataView = new DataView(arrayBuffer);
|
|
45764
|
-
|
|
45765
|
-
|
|
45766
|
-
|
|
45767
|
-
var
|
|
45768
|
-
var
|
|
45769
|
-
var
|
|
45767
|
+
if (!FileHeader.checkMagic(arrayBuffer)) {
|
|
45768
|
+
throw new Error("Invalid Galacean binary file: missing GLCN magic header.");
|
|
45769
|
+
}
|
|
45770
|
+
var offset = 4;
|
|
45771
|
+
var totalLen = dataView.getUint32(offset, true);
|
|
45772
|
+
var fileVersion = dataView.getUint8(offset + 4);
|
|
45773
|
+
var typeLen = dataView.getUint16(offset + 5, true);
|
|
45774
|
+
var typeUint8Array = new Uint8Array(arrayBuffer, offset + 7, typeLen);
|
|
45775
|
+
var nameLen = dataView.getUint16(offset + 7 + typeLen, true);
|
|
45776
|
+
var nameUint8Array = new Uint8Array(arrayBuffer, offset + 9 + typeLen, nameLen);
|
|
45770
45777
|
var name = Utils.decodeText(nameUint8Array);
|
|
45771
45778
|
var type = Utils.decodeText(typeUint8Array);
|
|
45772
45779
|
var header = new FileHeader();
|
|
@@ -45774,7 +45781,7 @@ var FileHeader = /*#__PURE__*/ function() {
|
|
|
45774
45781
|
header.name = name;
|
|
45775
45782
|
header.type = type;
|
|
45776
45783
|
header.version = fileVersion;
|
|
45777
|
-
header.headerLength = nameUint8Array.byteLength + typeUint8Array.byteLength + 9;
|
|
45784
|
+
header.headerLength = offset + nameUint8Array.byteLength + typeUint8Array.byteLength + 9;
|
|
45778
45785
|
return header;
|
|
45779
45786
|
};
|
|
45780
45787
|
_create_class(FileHeader, [
|
|
@@ -45787,6 +45794,8 @@ var FileHeader = /*#__PURE__*/ function() {
|
|
|
45787
45794
|
]);
|
|
45788
45795
|
return FileHeader;
|
|
45789
45796
|
}();
|
|
45797
|
+
FileHeader.MAGIC = 0x4e434c47 // "GLCN" in little-endian
|
|
45798
|
+
;
|
|
45790
45799
|
var InterpolableValueType = /*#__PURE__*/ function(InterpolableValueType) {
|
|
45791
45800
|
InterpolableValueType[InterpolableValueType["Float"] = 0] = "Float";
|
|
45792
45801
|
InterpolableValueType[InterpolableValueType["FloatArray"] = 1] = "FloatArray";
|
|
@@ -46187,12 +46196,12 @@ var ParserType = /*#__PURE__*/ function(ParserType) {
|
|
|
46187
46196
|
this.rootIds.length = 0;
|
|
46188
46197
|
this.strippedIds.length = 0;
|
|
46189
46198
|
};
|
|
46190
|
-
/** @internal */ _proto._addDependentAsset = function _addDependentAsset(
|
|
46199
|
+
/** @internal */ _proto._addDependentAsset = function _addDependentAsset(url, promise) {
|
|
46191
46200
|
var _this = this;
|
|
46192
46201
|
var tasks = this._tasks;
|
|
46193
|
-
if (tasks.has(
|
|
46202
|
+
if (tasks.has(url)) return;
|
|
46194
46203
|
++this._total;
|
|
46195
|
-
tasks.add(
|
|
46204
|
+
tasks.add(url);
|
|
46196
46205
|
promise.finally(function() {
|
|
46197
46206
|
++_this._loaded;
|
|
46198
46207
|
_this._setTaskCompleteProgress(_this._loaded, _this._total);
|
|
@@ -46299,7 +46308,7 @@ var ReflectionParser = /*#__PURE__*/ function() {
|
|
|
46299
46308
|
// reference object
|
|
46300
46309
|
// @ts-ignore
|
|
46301
46310
|
return context.resourceManager.getResourceByRef(value).then(function(resource) {
|
|
46302
|
-
if (context.type === ParserType.Prefab) {
|
|
46311
|
+
if (resource && context.type === ParserType.Prefab) {
|
|
46303
46312
|
// @ts-ignore
|
|
46304
46313
|
context.resource._addDependenceAsset(resource);
|
|
46305
46314
|
}
|
|
@@ -46342,18 +46351,18 @@ var ReflectionParser = /*#__PURE__*/ function() {
|
|
|
46342
46351
|
_proto._getEntityByConfig = function _getEntityByConfig(entityConfig) {
|
|
46343
46352
|
var _this = this;
|
|
46344
46353
|
// @ts-ignore
|
|
46345
|
-
var
|
|
46354
|
+
var assetUrl = entityConfig.assetUrl;
|
|
46346
46355
|
var engine = this._context.engine;
|
|
46347
|
-
if (
|
|
46356
|
+
if (assetUrl) {
|
|
46348
46357
|
return engine.resourceManager // @ts-ignore
|
|
46349
46358
|
.getResourceByRef({
|
|
46350
|
-
|
|
46359
|
+
url: assetUrl,
|
|
46351
46360
|
key: entityConfig.key,
|
|
46352
46361
|
isClone: entityConfig.isClone
|
|
46353
46362
|
}).then(function(entity) {
|
|
46354
46363
|
// @ts-ignore
|
|
46355
|
-
var resource = engine.resourceManager._objectPool[
|
|
46356
|
-
if (_this._context.type === ParserType.Prefab) {
|
|
46364
|
+
var resource = engine.resourceManager._objectPool[assetUrl];
|
|
46365
|
+
if (resource && _this._context.type === ParserType.Prefab) {
|
|
46357
46366
|
// @ts-ignore
|
|
46358
46367
|
_this._context.resource._addDependenceAsset(resource);
|
|
46359
46368
|
}
|
|
@@ -46376,7 +46385,7 @@ var ReflectionParser = /*#__PURE__*/ function() {
|
|
|
46376
46385
|
return value["classType"] !== undefined;
|
|
46377
46386
|
};
|
|
46378
46387
|
ReflectionParser._isAssetRef = function _isAssetRef(value) {
|
|
46379
|
-
return value["
|
|
46388
|
+
return value["url"] !== undefined;
|
|
46380
46389
|
};
|
|
46381
46390
|
ReflectionParser._isEntityRef = function _isEntityRef(value) {
|
|
46382
46391
|
return value["entityId"] !== undefined;
|
|
@@ -46394,7 +46403,7 @@ var Texture2DDecoder = /*#__PURE__*/ function() {
|
|
|
46394
46403
|
function Texture2DDecoder() {}
|
|
46395
46404
|
Texture2DDecoder.decode = function decode(engine, bufferReader, restoredTexture) {
|
|
46396
46405
|
return new AssetPromise(function(resolve, reject) {
|
|
46397
|
-
var
|
|
46406
|
+
var url = bufferReader.nextStr();
|
|
46398
46407
|
var mipmap = !!bufferReader.nextUint8();
|
|
46399
46408
|
var filterMode = bufferReader.nextUint8();
|
|
46400
46409
|
var anisoLevel = bufferReader.nextUint8();
|
|
@@ -46423,7 +46432,7 @@ var Texture2DDecoder = /*#__PURE__*/ function() {
|
|
|
46423
46432
|
}
|
|
46424
46433
|
}
|
|
46425
46434
|
// @ts-ignore
|
|
46426
|
-
engine.resourceManager._objectPool[
|
|
46435
|
+
engine.resourceManager._objectPool[url] = texture2D;
|
|
46427
46436
|
resolve(texture2D);
|
|
46428
46437
|
} else {
|
|
46429
46438
|
var blob = new window.Blob([
|
|
@@ -46717,7 +46726,7 @@ function _create_for_of_iterator_helper_loose(o, allowArrayLike) {
|
|
|
46717
46726
|
_proto._getEntityByConfig = function _getEntityByConfig(entityConfig, engine) {
|
|
46718
46727
|
var _this = this;
|
|
46719
46728
|
var entityPromise;
|
|
46720
|
-
if (entityConfig.
|
|
46729
|
+
if (entityConfig.assetUrl) {
|
|
46721
46730
|
entityPromise = this._parsePrefab(entityConfig, engine);
|
|
46722
46731
|
} else if (entityConfig.strippedId) {
|
|
46723
46732
|
entityPromise = this._parseStrippedEntity(entityConfig);
|
|
@@ -46737,10 +46746,10 @@ function _create_for_of_iterator_helper_loose(o, allowArrayLike) {
|
|
|
46737
46746
|
};
|
|
46738
46747
|
_proto._parsePrefab = function _parsePrefab(entityConfig, engine) {
|
|
46739
46748
|
var _this = this;
|
|
46740
|
-
var
|
|
46749
|
+
var assetUrl = entityConfig.assetUrl;
|
|
46741
46750
|
return engine.resourceManager // @ts-ignore
|
|
46742
46751
|
.getResourceByRef({
|
|
46743
|
-
|
|
46752
|
+
url: assetUrl
|
|
46744
46753
|
}).then(function(prefabResource) {
|
|
46745
46754
|
var entity = _instanceof1(prefabResource, PrefabResource) ? prefabResource.instantiate() : prefabResource.instantiateSceneRoot();
|
|
46746
46755
|
var instanceContext = new ParserContext(engine, ParserType.Prefab, null);
|
|
@@ -46791,7 +46800,7 @@ function _create_for_of_iterator_helper_loose(o, allowArrayLike) {
|
|
|
46791
46800
|
var componentConfigMap = context.componentConfigMap;
|
|
46792
46801
|
for(var i = 0, n = components.length; i < n; i++){
|
|
46793
46802
|
var componentConfig = components[i];
|
|
46794
|
-
var key = !componentConfig.
|
|
46803
|
+
var key = !componentConfig.url ? componentConfig.class : componentConfig.url;
|
|
46795
46804
|
var componentId = componentConfig.id;
|
|
46796
46805
|
var component = entity.addComponent(Loader.getClass(key));
|
|
46797
46806
|
componentMap.set(componentId, component);
|
|
@@ -46838,52 +46847,6 @@ function _create_for_of_iterator_helper_loose(o, allowArrayLike) {
|
|
|
46838
46847
|
_proto._addEntityPlugin = function _addEntityPlugin(entityId, entity) {};
|
|
46839
46848
|
return HierarchyParser;
|
|
46840
46849
|
}();
|
|
46841
|
-
var EditorTextureLoader = /*#__PURE__*/ function(Loader) {
|
|
46842
|
-
_inherits(EditorTextureLoader, Loader);
|
|
46843
|
-
function EditorTextureLoader() {
|
|
46844
|
-
return Loader.apply(this, arguments) || this;
|
|
46845
|
-
}
|
|
46846
|
-
var _proto = EditorTextureLoader.prototype;
|
|
46847
|
-
_proto.load = function load(item, resourceManager) {
|
|
46848
|
-
var requestConfig = _extends({}, item, {
|
|
46849
|
-
type: "arraybuffer"
|
|
46850
|
-
});
|
|
46851
|
-
var url = item.url;
|
|
46852
|
-
return new AssetPromise(function(resolve, reject) {
|
|
46853
|
-
resourceManager // @ts-ignore
|
|
46854
|
-
._request(url, requestConfig).then(function(data) {
|
|
46855
|
-
decode(data, resourceManager.engine).then(function(texture) {
|
|
46856
|
-
resourceManager.addContentRestorer(new EditorTexture2DContentRestorer(texture, url, requestConfig));
|
|
46857
|
-
resolve(texture);
|
|
46858
|
-
});
|
|
46859
|
-
}).catch(reject);
|
|
46860
|
-
});
|
|
46861
|
-
};
|
|
46862
|
-
return EditorTextureLoader;
|
|
46863
|
-
}(Loader);
|
|
46864
|
-
EditorTextureLoader = __decorate([
|
|
46865
|
-
resourceLoader("EditorTexture2D", [
|
|
46866
|
-
"prefab"
|
|
46867
|
-
], true)
|
|
46868
|
-
], EditorTextureLoader);
|
|
46869
|
-
var EditorTexture2DContentRestorer = /*#__PURE__*/ function(ContentRestorer) {
|
|
46870
|
-
_inherits(EditorTexture2DContentRestorer, ContentRestorer);
|
|
46871
|
-
function EditorTexture2DContentRestorer(resource, url, requestConfig) {
|
|
46872
|
-
var _this;
|
|
46873
|
-
_this = ContentRestorer.call(this, resource) || this, _this.url = url, _this.requestConfig = requestConfig;
|
|
46874
|
-
return _this;
|
|
46875
|
-
}
|
|
46876
|
-
var _proto = EditorTexture2DContentRestorer.prototype;
|
|
46877
|
-
_proto.restoreContent = function restoreContent() {
|
|
46878
|
-
var texture = this.resource;
|
|
46879
|
-
var engine = texture.engine;
|
|
46880
|
-
return engine.resourceManager // @ts-ignore
|
|
46881
|
-
._request(this.url, this.requestConfig).then(function(data) {
|
|
46882
|
-
return decode(data, engine, texture);
|
|
46883
|
-
});
|
|
46884
|
-
};
|
|
46885
|
-
return EditorTexture2DContentRestorer;
|
|
46886
|
-
}(ContentRestorer);
|
|
46887
46850
|
var MaterialLoaderType = /*#__PURE__*/ function(MaterialLoaderType) {
|
|
46888
46851
|
MaterialLoaderType["Vector2"] = "Vector2";
|
|
46889
46852
|
MaterialLoaderType["Vector3"] = "Vector3";
|
|
@@ -46922,11 +46885,11 @@ var SpecularMode = /*#__PURE__*/ function(SpecularMode) {
|
|
|
46922
46885
|
var customAmbientLight = ambient.customAmbientLight, ambientLight = ambient.ambientLight;
|
|
46923
46886
|
if (useCustomAmbient && customAmbientLight) {
|
|
46924
46887
|
// @ts-ignore
|
|
46925
|
-
context._addDependentAsset(customAmbientLight.
|
|
46888
|
+
context._addDependentAsset(customAmbientLight.url, resourceManager.getResourceByRef(customAmbientLight));
|
|
46926
46889
|
}
|
|
46927
46890
|
if (ambientLight && (!useCustomAmbient || useSH)) {
|
|
46928
46891
|
// @ts-ignore
|
|
46929
|
-
context._addDependentAsset(ambientLight.
|
|
46892
|
+
context._addDependentAsset(ambientLight.url, resourceManager.getResourceByRef(ambientLight));
|
|
46930
46893
|
}
|
|
46931
46894
|
}
|
|
46932
46895
|
var background = scene.background;
|
|
@@ -46934,14 +46897,14 @@ var SpecularMode = /*#__PURE__*/ function(SpecularMode) {
|
|
|
46934
46897
|
if (backgroundMode === BackgroundMode.Texture) {
|
|
46935
46898
|
var texture = background.texture;
|
|
46936
46899
|
// @ts-ignore
|
|
46937
|
-
texture && context._addDependentAsset(texture.
|
|
46900
|
+
texture && context._addDependentAsset(texture.url, resourceManager.getResourceByRef(texture));
|
|
46938
46901
|
} else if (backgroundMode === BackgroundMode.Sky) {
|
|
46939
46902
|
var skyMesh = background.skyMesh, skyMaterial = background.skyMaterial;
|
|
46940
46903
|
if (skyMesh && skyMaterial) {
|
|
46941
46904
|
// @ts-ignore
|
|
46942
|
-
context._addDependentAsset(skyMesh.
|
|
46905
|
+
context._addDependentAsset(skyMesh.url, resourceManager.getResourceByRef(skyMesh));
|
|
46943
46906
|
// @ts-ignore
|
|
46944
|
-
context._addDependentAsset(skyMaterial.
|
|
46907
|
+
context._addDependentAsset(skyMaterial.url, resourceManager.getResourceByRef(skyMaterial));
|
|
46945
46908
|
}
|
|
46946
46909
|
}
|
|
46947
46910
|
};
|
|
@@ -46957,12 +46920,12 @@ var SpecularMode = /*#__PURE__*/ function(SpecularMode) {
|
|
|
46957
46920
|
var entities = file.entities;
|
|
46958
46921
|
for(var i = 0, n = entities.length; i < n; i++){
|
|
46959
46922
|
var entity = entities[i];
|
|
46960
|
-
if (!!entity.
|
|
46923
|
+
if (!!entity.assetUrl) {
|
|
46961
46924
|
var context = this.context;
|
|
46962
|
-
var
|
|
46925
|
+
var url = entity.assetUrl, key = entity.key;
|
|
46963
46926
|
// @ts-ignore
|
|
46964
|
-
context._addDependentAsset(
|
|
46965
|
-
|
|
46927
|
+
context._addDependentAsset(url, context.resourceManager.getResourceByRef({
|
|
46928
|
+
url: url,
|
|
46966
46929
|
key: key
|
|
46967
46930
|
}));
|
|
46968
46931
|
} else if (entity.strippedId) {
|
|
@@ -46987,7 +46950,7 @@ var SpecularMode = /*#__PURE__*/ function(SpecularMode) {
|
|
|
46987
46950
|
if (ReflectionParser._isAssetRef(value)) {
|
|
46988
46951
|
var context = this.context;
|
|
46989
46952
|
// @ts-ignore
|
|
46990
|
-
context._addDependentAsset(value.
|
|
46953
|
+
context._addDependentAsset(value.url, context.resourceManager.getResourceByRef(value));
|
|
46991
46954
|
} else {
|
|
46992
46955
|
for(var key in value){
|
|
46993
46956
|
this._searchDependentAssets(value[key]);
|
|
@@ -47049,7 +47012,7 @@ var AnimationClipLoader = /*#__PURE__*/ function(Loader) {
|
|
|
47049
47012
|
};
|
|
47050
47013
|
_proto._parseKeyframeValue = function _parseKeyframeValue(keyframe, resourceManager) {
|
|
47051
47014
|
var value = keyframe.value;
|
|
47052
|
-
if ((typeof value === "undefined" ? "undefined" : _type_of1(value)) === "object" && (value == null ? void 0 : value.
|
|
47015
|
+
if ((typeof value === "undefined" ? "undefined" : _type_of1(value)) === "object" && (value == null ? void 0 : value.url)) {
|
|
47053
47016
|
return new Promise(function(resolve) {
|
|
47054
47017
|
resourceManager // @ts-ignore
|
|
47055
47018
|
.getResourceByRef(value).then(function(asset) {
|
|
@@ -47065,7 +47028,7 @@ var AnimationClipLoader = /*#__PURE__*/ function(Loader) {
|
|
|
47065
47028
|
}(Loader);
|
|
47066
47029
|
AnimationClipLoader = __decorate([
|
|
47067
47030
|
resourceLoader(AssetType.AnimationClip, [
|
|
47068
|
-
"
|
|
47031
|
+
"anim"
|
|
47069
47032
|
])
|
|
47070
47033
|
], AnimationClipLoader);
|
|
47071
47034
|
var AnimatorControllerLoader = /*#__PURE__*/ function(Loader1) {
|
|
@@ -47176,8 +47139,8 @@ var AnimatorControllerLoader = /*#__PURE__*/ function(Loader1) {
|
|
|
47176
47139
|
}(Loader);
|
|
47177
47140
|
AnimatorControllerLoader = __decorate([
|
|
47178
47141
|
resourceLoader(AssetType.AnimatorController, [
|
|
47179
|
-
"
|
|
47180
|
-
]
|
|
47142
|
+
"animCtrl"
|
|
47143
|
+
])
|
|
47181
47144
|
], AnimatorControllerLoader);
|
|
47182
47145
|
var base64Regex = /^data:(.+?);base64,/;
|
|
47183
47146
|
var BufferLoader = /*#__PURE__*/ function(Loader) {
|
|
@@ -47204,8 +47167,7 @@ var BufferLoader = /*#__PURE__*/ function(Loader) {
|
|
|
47204
47167
|
}(Loader);
|
|
47205
47168
|
BufferLoader = __decorate([
|
|
47206
47169
|
resourceLoader(AssetType.Buffer, [
|
|
47207
|
-
"bin"
|
|
47208
|
-
"r3bin"
|
|
47170
|
+
"bin"
|
|
47209
47171
|
])
|
|
47210
47172
|
], BufferLoader);
|
|
47211
47173
|
var EnvLoader = /*#__PURE__*/ function(Loader) {
|
|
@@ -50744,340 +50706,6 @@ PrefabLoader = __decorate([
|
|
|
50744
50706
|
"prefab"
|
|
50745
50707
|
])
|
|
50746
50708
|
], PrefabLoader);
|
|
50747
|
-
var PI = Math.PI;
|
|
50748
|
-
// referenece: https://www.flipcode.com/archives/HDR_Image_Reader.shtml
|
|
50749
|
-
var HDRLoader = /*#__PURE__*/ function(Loader) {
|
|
50750
|
-
_inherits(HDRLoader, Loader);
|
|
50751
|
-
function HDRLoader() {
|
|
50752
|
-
return Loader.apply(this, arguments) || this;
|
|
50753
|
-
}
|
|
50754
|
-
var _proto = HDRLoader.prototype;
|
|
50755
|
-
_proto.load = function load(item, resourceManager) {
|
|
50756
|
-
return new AssetPromise(function(resolve, reject) {
|
|
50757
|
-
var engine = resourceManager.engine;
|
|
50758
|
-
var requestConfig = _extends({}, item, {
|
|
50759
|
-
type: "arraybuffer"
|
|
50760
|
-
});
|
|
50761
|
-
var url = item.url;
|
|
50762
|
-
resourceManager // @ts-ignore
|
|
50763
|
-
._request(url, requestConfig).then(function(buffer) {
|
|
50764
|
-
var texture = HDRLoader._setTextureByBuffer(engine, buffer);
|
|
50765
|
-
engine.resourceManager.addContentRestorer(new HDRContentRestorer(texture, url, requestConfig));
|
|
50766
|
-
resolve(texture);
|
|
50767
|
-
}).catch(reject);
|
|
50768
|
-
});
|
|
50769
|
-
};
|
|
50770
|
-
/**
|
|
50771
|
-
* @internal
|
|
50772
|
-
*/ HDRLoader._setTextureByBuffer = function _setTextureByBuffer(engine, buffer, texture) {
|
|
50773
|
-
var bufferArray = new Uint8Array(buffer);
|
|
50774
|
-
var _HDRLoader__parseHeader = HDRLoader._parseHeader(bufferArray), width = _HDRLoader__parseHeader.width, height = _HDRLoader__parseHeader.height, dataPosition = _HDRLoader__parseHeader.dataPosition;
|
|
50775
|
-
var cubeSize = height >> 1;
|
|
50776
|
-
texture || (texture = new TextureCube(engine, cubeSize, undefined, undefined, false));
|
|
50777
|
-
var pixels = HDRLoader._readPixels(bufferArray.subarray(dataPosition), width, height);
|
|
50778
|
-
var cubeMapData = HDRLoader._convertToCubemap(pixels, width, height, cubeSize);
|
|
50779
|
-
for(var faceIndex = 0; faceIndex < 6; faceIndex++){
|
|
50780
|
-
texture.setPixelBuffer(TextureCubeFace.PositiveX + faceIndex, cubeMapData[faceIndex], 0);
|
|
50781
|
-
}
|
|
50782
|
-
texture.generateMipmaps();
|
|
50783
|
-
return texture;
|
|
50784
|
-
};
|
|
50785
|
-
HDRLoader._convertToCubemap = function _convertToCubemap(pixels, inputWidth, inputHeight, size) {
|
|
50786
|
-
if (!pixels) {
|
|
50787
|
-
throw "ConvertPanoramaToCubemap: input cannot be null";
|
|
50788
|
-
}
|
|
50789
|
-
if (pixels.length != inputWidth * inputHeight * 4) {
|
|
50790
|
-
throw "ConvertPanoramaToCubemap: input size is wrong";
|
|
50791
|
-
}
|
|
50792
|
-
var textureRight = this._createCubemapData(size, this._faceRight, pixels, inputWidth, inputHeight);
|
|
50793
|
-
var textureLeft = this._createCubemapData(size, this._faceLeft, pixels, inputWidth, inputHeight);
|
|
50794
|
-
var textureUp = this._createCubemapData(size, this._faceUp, pixels, inputWidth, inputHeight);
|
|
50795
|
-
var textureDown = this._createCubemapData(size, this._faceBottom, pixels, inputWidth, inputHeight);
|
|
50796
|
-
var textureFront = this._createCubemapData(size, this._faceFront, pixels, inputWidth, inputHeight);
|
|
50797
|
-
var textureBack = this._createCubemapData(size, this._faceBack, pixels, inputWidth, inputHeight);
|
|
50798
|
-
return [
|
|
50799
|
-
textureRight,
|
|
50800
|
-
textureLeft,
|
|
50801
|
-
textureUp,
|
|
50802
|
-
textureDown,
|
|
50803
|
-
textureFront,
|
|
50804
|
-
textureBack
|
|
50805
|
-
];
|
|
50806
|
-
};
|
|
50807
|
-
HDRLoader._createCubemapData = function _createCubemapData(texSize, faceData, pixels, inputWidth, inputHeight) {
|
|
50808
|
-
var textureArray = new Uint8ClampedArray(texSize * texSize * 4);
|
|
50809
|
-
var rotDX1 = this._tempVector3.set(0, 0, 0).add(faceData[1]).subtract(faceData[0]).scale(1 / texSize);
|
|
50810
|
-
var rotDX2 = this._temp2Vector3.set(0, 0, 0).add(faceData[3]).subtract(faceData[2]).scale(1 / texSize);
|
|
50811
|
-
var dy = 1 / texSize;
|
|
50812
|
-
var fy = 0;
|
|
50813
|
-
for(var y = 0; y < texSize; y++){
|
|
50814
|
-
var xv1 = this._temp3Vector3.set(0, 0, 0).add(faceData[0]);
|
|
50815
|
-
var xv2 = this._temp4Vector3.set(0, 0, 0).add(faceData[2]);
|
|
50816
|
-
for(var x = 0; x < texSize; x++){
|
|
50817
|
-
var v = this._temp5Vector3.set(0, 0, 0).add(xv2).subtract(xv1).scale(fy).add(xv1);
|
|
50818
|
-
v.normalize();
|
|
50819
|
-
var color = this._calcProjectionSpherical(v, pixels, inputWidth, inputHeight);
|
|
50820
|
-
this._RGBEToLinear(color);
|
|
50821
|
-
this._linearToRGBM(color, 5);
|
|
50822
|
-
// 4 channels per pixels
|
|
50823
|
-
var index = y * texSize * 4 + x * 4;
|
|
50824
|
-
textureArray[index] = color.r;
|
|
50825
|
-
textureArray[index + 1] = color.g;
|
|
50826
|
-
textureArray[index + 2] = color.b;
|
|
50827
|
-
textureArray[index + 3] = color.a;
|
|
50828
|
-
xv1.add(rotDX1);
|
|
50829
|
-
xv2.add(rotDX2);
|
|
50830
|
-
}
|
|
50831
|
-
fy += dy;
|
|
50832
|
-
}
|
|
50833
|
-
return textureArray;
|
|
50834
|
-
};
|
|
50835
|
-
HDRLoader._calcProjectionSpherical = function _calcProjectionSpherical(vDir, pixels, inputWidth, inputHeight) {
|
|
50836
|
-
var theta = Math.atan2(vDir.z, vDir.x);
|
|
50837
|
-
var phi = Math.acos(vDir.y);
|
|
50838
|
-
while(theta < -PI){
|
|
50839
|
-
theta += 2 * PI;
|
|
50840
|
-
}
|
|
50841
|
-
while(theta > PI){
|
|
50842
|
-
theta -= 2 * PI;
|
|
50843
|
-
}
|
|
50844
|
-
var dx = theta / PI;
|
|
50845
|
-
var dy = phi / PI;
|
|
50846
|
-
// recenter.
|
|
50847
|
-
dx = dx * 0.5 + 0.5;
|
|
50848
|
-
var px = Math.round(dx * inputWidth);
|
|
50849
|
-
if (px < 0) {
|
|
50850
|
-
px = 0;
|
|
50851
|
-
} else if (px >= inputWidth) {
|
|
50852
|
-
px = inputWidth - 1;
|
|
50853
|
-
}
|
|
50854
|
-
var py = Math.round(dy * inputHeight);
|
|
50855
|
-
if (py < 0) {
|
|
50856
|
-
py = 0;
|
|
50857
|
-
} else if (py >= inputHeight) {
|
|
50858
|
-
py = inputHeight - 1;
|
|
50859
|
-
}
|
|
50860
|
-
var inputY = inputHeight - py - 1;
|
|
50861
|
-
var index = inputY * inputWidth * 4 + px * 4;
|
|
50862
|
-
var r = pixels[index];
|
|
50863
|
-
var g = pixels[index + 1];
|
|
50864
|
-
var b = pixels[index + 2];
|
|
50865
|
-
var a = pixels[index + 3];
|
|
50866
|
-
return new Color(r, g, b, a);
|
|
50867
|
-
};
|
|
50868
|
-
HDRLoader._readStringLine = function _readStringLine(uint8array, startIndex) {
|
|
50869
|
-
var line = "";
|
|
50870
|
-
var character = "";
|
|
50871
|
-
for(var i = startIndex; i < uint8array.length - startIndex; i++){
|
|
50872
|
-
character = String.fromCharCode(uint8array[i]);
|
|
50873
|
-
if (character == "\n") {
|
|
50874
|
-
break;
|
|
50875
|
-
}
|
|
50876
|
-
line += character;
|
|
50877
|
-
}
|
|
50878
|
-
return line;
|
|
50879
|
-
};
|
|
50880
|
-
HDRLoader._parseHeader = function _parseHeader(uint8array) {
|
|
50881
|
-
var height = 0;
|
|
50882
|
-
var width = 0;
|
|
50883
|
-
var line = this._readStringLine(uint8array, 0);
|
|
50884
|
-
if (line[0] != "#" || line[1] != "?") {
|
|
50885
|
-
throw "Bad HDR Format.";
|
|
50886
|
-
}
|
|
50887
|
-
var endOfHeader = false;
|
|
50888
|
-
var findFormat = false;
|
|
50889
|
-
var lineIndex = 0;
|
|
50890
|
-
do {
|
|
50891
|
-
lineIndex += line.length + 1;
|
|
50892
|
-
line = this._readStringLine(uint8array, lineIndex);
|
|
50893
|
-
if (line == "FORMAT=32-bit_rle_rgbe") {
|
|
50894
|
-
findFormat = true;
|
|
50895
|
-
} else if (line.length == 0) {
|
|
50896
|
-
endOfHeader = true;
|
|
50897
|
-
}
|
|
50898
|
-
}while (!endOfHeader);
|
|
50899
|
-
if (!findFormat) {
|
|
50900
|
-
throw "HDR Bad header format, unsupported FORMAT";
|
|
50901
|
-
}
|
|
50902
|
-
lineIndex += line.length + 1;
|
|
50903
|
-
line = this._readStringLine(uint8array, lineIndex);
|
|
50904
|
-
var sizeRegexp = /^\-Y (.*) \+X (.*)$/g;
|
|
50905
|
-
var match = sizeRegexp.exec(line);
|
|
50906
|
-
// TODO. Support +Y and -X if needed.
|
|
50907
|
-
if (!match || match.length < 3) {
|
|
50908
|
-
throw "HDR Bad header format, no size";
|
|
50909
|
-
}
|
|
50910
|
-
width = parseInt(match[2]);
|
|
50911
|
-
height = parseInt(match[1]);
|
|
50912
|
-
if (width < 8 || width > 0x7fff) {
|
|
50913
|
-
throw "HDR Bad header format, unsupported size";
|
|
50914
|
-
}
|
|
50915
|
-
lineIndex += line.length + 1;
|
|
50916
|
-
return {
|
|
50917
|
-
height: height,
|
|
50918
|
-
width: width,
|
|
50919
|
-
dataPosition: lineIndex
|
|
50920
|
-
};
|
|
50921
|
-
};
|
|
50922
|
-
HDRLoader._readPixels = function _readPixels(buffer, width, height) {
|
|
50923
|
-
var scanLineWidth = width;
|
|
50924
|
-
var byteLength = buffer.byteLength;
|
|
50925
|
-
var dataRGBA = new Uint8Array(4 * width * height);
|
|
50926
|
-
var offset = 0, pos = 0;
|
|
50927
|
-
var ptrEnd = 4 * scanLineWidth;
|
|
50928
|
-
var scanLineBuffer = new Uint8Array(ptrEnd);
|
|
50929
|
-
var numScanLines = height; // read in each successive scanLine
|
|
50930
|
-
while(numScanLines > 0 && pos < byteLength){
|
|
50931
|
-
var a = buffer[pos++];
|
|
50932
|
-
var b = buffer[pos++];
|
|
50933
|
-
var c = buffer[pos++];
|
|
50934
|
-
var d = buffer[pos++];
|
|
50935
|
-
if (a != 2 || b != 2 || c & 0x80 || width < 8 || width > 32767) {
|
|
50936
|
-
// this file is not run length encoded
|
|
50937
|
-
// read values sequentially
|
|
50938
|
-
return buffer;
|
|
50939
|
-
}
|
|
50940
|
-
if ((c << 8 | d) != scanLineWidth) {
|
|
50941
|
-
// eslint-disable-next-line no-throw-literal
|
|
50942
|
-
throw "HDR Bad header format, wrong scan line width";
|
|
50943
|
-
}
|
|
50944
|
-
// read each of the four channels for the scanline into the buffer
|
|
50945
|
-
// first red, then green, then blue, then exponent
|
|
50946
|
-
var ptr = 0, count = void 0;
|
|
50947
|
-
while(ptr < ptrEnd && pos < byteLength){
|
|
50948
|
-
count = buffer[pos++];
|
|
50949
|
-
var isEncodedRun = count > 128;
|
|
50950
|
-
if (isEncodedRun) count -= 128;
|
|
50951
|
-
if (0 === count || ptr + count > ptrEnd) {
|
|
50952
|
-
throw "HDR Bad Format, bad scanline data (run)";
|
|
50953
|
-
}
|
|
50954
|
-
if (isEncodedRun) {
|
|
50955
|
-
// a (encoded) run of the same value
|
|
50956
|
-
var byteValue = buffer[pos++];
|
|
50957
|
-
for(var i = 0; i < count; i++){
|
|
50958
|
-
scanLineBuffer[ptr++] = byteValue;
|
|
50959
|
-
} //ptr += count;
|
|
50960
|
-
} else {
|
|
50961
|
-
// a literal-run
|
|
50962
|
-
scanLineBuffer.set(buffer.subarray(pos, pos + count), ptr);
|
|
50963
|
-
ptr += count;
|
|
50964
|
-
pos += count;
|
|
50965
|
-
}
|
|
50966
|
-
} // now convert data from buffer into rgba
|
|
50967
|
-
// first red, then green, then blue, then exponent (alpha)
|
|
50968
|
-
var l = scanLineWidth; //scanLine_buffer.byteLength;
|
|
50969
|
-
for(var i1 = 0; i1 < l; i1++){
|
|
50970
|
-
var off = 0;
|
|
50971
|
-
dataRGBA[offset] = scanLineBuffer[i1 + off];
|
|
50972
|
-
off += scanLineWidth;
|
|
50973
|
-
dataRGBA[offset + 1] = scanLineBuffer[i1 + off];
|
|
50974
|
-
off += scanLineWidth;
|
|
50975
|
-
dataRGBA[offset + 2] = scanLineBuffer[i1 + off];
|
|
50976
|
-
off += scanLineWidth;
|
|
50977
|
-
dataRGBA[offset + 3] = scanLineBuffer[i1 + off];
|
|
50978
|
-
offset += 4;
|
|
50979
|
-
}
|
|
50980
|
-
numScanLines--;
|
|
50981
|
-
}
|
|
50982
|
-
return dataRGBA;
|
|
50983
|
-
};
|
|
50984
|
-
HDRLoader._RGBEToLinear = function _RGBEToLinear(color) {
|
|
50985
|
-
var scaleFactor = Math.pow(2, color.a - 128) / 255;
|
|
50986
|
-
color.r *= scaleFactor;
|
|
50987
|
-
color.g *= scaleFactor;
|
|
50988
|
-
color.b *= scaleFactor;
|
|
50989
|
-
color.a = 1;
|
|
50990
|
-
};
|
|
50991
|
-
HDRLoader._linearToRGBM = function _linearToRGBM(color, maxRange) {
|
|
50992
|
-
var maxRGB = Math.max(color.r, Math.max(color.g, color.b));
|
|
50993
|
-
var M = Math.min(maxRGB / maxRange, 1);
|
|
50994
|
-
M = Math.ceil(M * 255);
|
|
50995
|
-
var scaleFactor = 65025 / (M * maxRange); // 255 * (255 / (M * maxRange) )
|
|
50996
|
-
color.r *= scaleFactor;
|
|
50997
|
-
color.g *= scaleFactor;
|
|
50998
|
-
color.b *= scaleFactor;
|
|
50999
|
-
color.a *= M;
|
|
51000
|
-
};
|
|
51001
|
-
return HDRLoader;
|
|
51002
|
-
}(Loader);
|
|
51003
|
-
HDRLoader._rightBottomBack = new Vector3(1.0, -1.0, -1.0);
|
|
51004
|
-
HDRLoader._rightBottomFront = new Vector3(1.0, -1.0, 1.0);
|
|
51005
|
-
HDRLoader._rightUpBack = new Vector3(1.0, 1.0, -1.0);
|
|
51006
|
-
HDRLoader._rightUpFront = new Vector3(1.0, 1.0, 1.0);
|
|
51007
|
-
HDRLoader._leftBottomBack = new Vector3(-1.0, -1.0, -1.0);
|
|
51008
|
-
HDRLoader._leftBottomFront = new Vector3(-1.0, -1.0, 1.0);
|
|
51009
|
-
HDRLoader._leftUpBack = new Vector3(-1.0, 1.0, -1.0);
|
|
51010
|
-
HDRLoader._leftUpFront = new Vector3(-1.0, 1.0, 1.0);
|
|
51011
|
-
HDRLoader._faceRight = [
|
|
51012
|
-
HDRLoader._rightBottomBack,
|
|
51013
|
-
HDRLoader._rightBottomFront,
|
|
51014
|
-
HDRLoader._rightUpBack,
|
|
51015
|
-
HDRLoader._rightUpFront
|
|
51016
|
-
];
|
|
51017
|
-
HDRLoader._faceLeft = [
|
|
51018
|
-
HDRLoader._leftBottomFront,
|
|
51019
|
-
HDRLoader._leftBottomBack,
|
|
51020
|
-
HDRLoader._leftUpFront,
|
|
51021
|
-
HDRLoader._leftUpBack
|
|
51022
|
-
];
|
|
51023
|
-
HDRLoader._faceUp = [
|
|
51024
|
-
HDRLoader._leftBottomFront,
|
|
51025
|
-
HDRLoader._rightBottomFront,
|
|
51026
|
-
HDRLoader._leftBottomBack,
|
|
51027
|
-
HDRLoader._rightBottomBack
|
|
51028
|
-
];
|
|
51029
|
-
HDRLoader._faceBottom = [
|
|
51030
|
-
HDRLoader._leftUpBack,
|
|
51031
|
-
HDRLoader._rightUpBack,
|
|
51032
|
-
HDRLoader._leftUpFront,
|
|
51033
|
-
HDRLoader._rightUpFront
|
|
51034
|
-
];
|
|
51035
|
-
HDRLoader._faceFront = [
|
|
51036
|
-
HDRLoader._leftBottomBack,
|
|
51037
|
-
HDRLoader._rightBottomBack,
|
|
51038
|
-
HDRLoader._leftUpBack,
|
|
51039
|
-
HDRLoader._rightUpBack
|
|
51040
|
-
];
|
|
51041
|
-
HDRLoader._faceBack = [
|
|
51042
|
-
HDRLoader._rightBottomFront,
|
|
51043
|
-
HDRLoader._leftBottomFront,
|
|
51044
|
-
HDRLoader._rightUpFront,
|
|
51045
|
-
HDRLoader._leftUpFront
|
|
51046
|
-
];
|
|
51047
|
-
HDRLoader._tempVector3 = new Vector3();
|
|
51048
|
-
HDRLoader._temp2Vector3 = new Vector3();
|
|
51049
|
-
HDRLoader._temp3Vector3 = new Vector3();
|
|
51050
|
-
HDRLoader._temp4Vector3 = new Vector3();
|
|
51051
|
-
HDRLoader._temp5Vector3 = new Vector3();
|
|
51052
|
-
HDRLoader = __decorate([
|
|
51053
|
-
resourceLoader(AssetType.HDR, [
|
|
51054
|
-
"hdr"
|
|
51055
|
-
])
|
|
51056
|
-
], HDRLoader);
|
|
51057
|
-
/**
|
|
51058
|
-
* @internal
|
|
51059
|
-
*/ var HDRContentRestorer = /*#__PURE__*/ function(ContentRestorer) {
|
|
51060
|
-
_inherits(HDRContentRestorer, ContentRestorer);
|
|
51061
|
-
function HDRContentRestorer(resource, url, requestConfig) {
|
|
51062
|
-
var _this;
|
|
51063
|
-
_this = ContentRestorer.call(this, resource) || this, _this.url = url, _this.requestConfig = requestConfig;
|
|
51064
|
-
return _this;
|
|
51065
|
-
}
|
|
51066
|
-
var _proto = HDRContentRestorer.prototype;
|
|
51067
|
-
_proto.restoreContent = function restoreContent() {
|
|
51068
|
-
var _this = this;
|
|
51069
|
-
return new AssetPromise(function(resolve, reject) {
|
|
51070
|
-
var resource = _this.resource;
|
|
51071
|
-
var engine = resource.engine;
|
|
51072
|
-
engine.resourceManager // @ts-ignore
|
|
51073
|
-
._request(_this.url, _this.requestConfig).then(function(buffer) {
|
|
51074
|
-
HDRLoader._setTextureByBuffer(engine, buffer, resource);
|
|
51075
|
-
resolve(resource);
|
|
51076
|
-
}).catch(reject);
|
|
51077
|
-
});
|
|
51078
|
-
};
|
|
51079
|
-
return HDRContentRestorer;
|
|
51080
|
-
}(ContentRestorer);
|
|
51081
50709
|
var JSONLoader = /*#__PURE__*/ function(Loader) {
|
|
51082
50710
|
_inherits(JSONLoader, Loader);
|
|
51083
50711
|
function JSONLoader() {
|
|
@@ -51473,7 +51101,7 @@ var MaterialLoader = /*#__PURE__*/ function(Loader) {
|
|
|
51473
51101
|
}(Loader);
|
|
51474
51102
|
MaterialLoader = __decorate([
|
|
51475
51103
|
resourceLoader(AssetType.Material, [
|
|
51476
|
-
"
|
|
51104
|
+
"mat"
|
|
51477
51105
|
])
|
|
51478
51106
|
], MaterialLoader);
|
|
51479
51107
|
var MeshLoader = /*#__PURE__*/ function(Loader) {
|
|
@@ -51593,7 +51221,7 @@ var ProjectLoader = /*#__PURE__*/ function(Loader) {
|
|
|
51593
51221
|
}(Loader);
|
|
51594
51222
|
ProjectLoader = __decorate([
|
|
51595
51223
|
resourceLoader(AssetType.Project, [
|
|
51596
|
-
"
|
|
51224
|
+
"project"
|
|
51597
51225
|
], false)
|
|
51598
51226
|
], ProjectLoader);
|
|
51599
51227
|
var SourceFontLoader = /*#__PURE__*/ function(Loader) {
|
|
@@ -51809,27 +51437,20 @@ TextLoader = __decorate([
|
|
|
51809
51437
|
"txt"
|
|
51810
51438
|
])
|
|
51811
51439
|
], TextLoader);
|
|
51812
|
-
|
|
51813
|
-
|
|
51814
|
-
|
|
51815
|
-
|
|
51816
|
-
|
|
51817
|
-
var
|
|
51818
|
-
|
|
51819
|
-
|
|
51820
|
-
|
|
51821
|
-
|
|
51822
|
-
|
|
51823
|
-
|
|
51824
|
-
|
|
51825
|
-
|
|
51826
|
-
resource.setImageSource(image);
|
|
51827
|
-
resource.generateMipmaps();
|
|
51828
|
-
return resource;
|
|
51829
|
-
});
|
|
51830
|
-
};
|
|
51831
|
-
return Texture2DContentRestorer;
|
|
51832
|
-
}(ContentRestorer);
|
|
51440
|
+
function loadImageFromBuffer(buffer) {
|
|
51441
|
+
return new AssetPromise(function(resolve, reject) {
|
|
51442
|
+
var blob = new Blob([
|
|
51443
|
+
buffer
|
|
51444
|
+
]);
|
|
51445
|
+
var img = new Image();
|
|
51446
|
+
img.onload = function() {
|
|
51447
|
+
URL.revokeObjectURL(img.src);
|
|
51448
|
+
resolve(img);
|
|
51449
|
+
};
|
|
51450
|
+
img.onerror = reject;
|
|
51451
|
+
img.src = URL.createObjectURL(blob);
|
|
51452
|
+
});
|
|
51453
|
+
}
|
|
51833
51454
|
var Texture2DLoader = /*#__PURE__*/ function(Loader) {
|
|
51834
51455
|
_inherits(Texture2DLoader, Loader);
|
|
51835
51456
|
function Texture2DLoader() {
|
|
@@ -51837,36 +51458,48 @@ var Texture2DLoader = /*#__PURE__*/ function(Loader) {
|
|
|
51837
51458
|
}
|
|
51838
51459
|
var _proto = Texture2DLoader.prototype;
|
|
51839
51460
|
_proto.load = function load(item, resourceManager) {
|
|
51461
|
+
var _this = this;
|
|
51462
|
+
var url = item.url;
|
|
51463
|
+
var requestConfig = _extends({}, item, {
|
|
51464
|
+
type: "arraybuffer"
|
|
51465
|
+
});
|
|
51840
51466
|
return new AssetPromise(function(resolve, reject, setTaskCompleteProgress, setTaskDetailProgress) {
|
|
51841
|
-
var url = item.url;
|
|
51842
|
-
var requestConfig = _extends({}, item, {
|
|
51843
|
-
type: "image"
|
|
51844
|
-
});
|
|
51845
51467
|
resourceManager // @ts-ignore
|
|
51846
|
-
._request(url, requestConfig).onProgress(setTaskCompleteProgress, setTaskDetailProgress).then(function(
|
|
51847
|
-
|
|
51848
|
-
|
|
51849
|
-
|
|
51850
|
-
|
|
51851
|
-
|
|
51852
|
-
|
|
51853
|
-
|
|
51854
|
-
|
|
51855
|
-
|
|
51856
|
-
|
|
51857
|
-
|
|
51858
|
-
generateMipmap && texture.generateMipmaps();
|
|
51859
|
-
if (url.indexOf("data:") !== 0) {
|
|
51860
|
-
var index = url.lastIndexOf("/");
|
|
51861
|
-
texture.name = url.substring(index + 1);
|
|
51468
|
+
._request(url, requestConfig).onProgress(setTaskCompleteProgress, setTaskDetailProgress).then(function(buffer) {
|
|
51469
|
+
if (FileHeader.checkMagic(buffer)) {
|
|
51470
|
+
decode(buffer, resourceManager.engine).then(function(texture) {
|
|
51471
|
+
resourceManager.addContentRestorer(new Texture2DContentRestorer(texture, url, requestConfig));
|
|
51472
|
+
resolve(texture);
|
|
51473
|
+
}, reject);
|
|
51474
|
+
} else {
|
|
51475
|
+
loadImageFromBuffer(buffer).then(function(img) {
|
|
51476
|
+
var texture = _this._createTexture(img, item, resourceManager);
|
|
51477
|
+
resourceManager.addContentRestorer(new Texture2DContentRestorer(texture, url, requestConfig));
|
|
51478
|
+
resolve(texture);
|
|
51479
|
+
}, reject);
|
|
51862
51480
|
}
|
|
51863
|
-
|
|
51864
|
-
resolve(texture);
|
|
51865
|
-
}).catch(function(e) {
|
|
51866
|
-
reject(e);
|
|
51867
|
-
});
|
|
51481
|
+
}).catch(reject);
|
|
51868
51482
|
});
|
|
51869
51483
|
};
|
|
51484
|
+
_proto._createTexture = function _createTexture(img, item, resourceManager) {
|
|
51485
|
+
var _item_params;
|
|
51486
|
+
var _ref = (_item_params = item.params) != null ? _item_params : {}, _ref_format = _ref.format, format = _ref_format === void 0 ? TextureFormat.R8G8B8A8 : _ref_format, anisoLevel = _ref.anisoLevel, wrapModeU = _ref.wrapModeU, wrapModeV = _ref.wrapModeV, filterMode = _ref.filterMode, _ref_isSRGBColorSpace = _ref.isSRGBColorSpace, isSRGBColorSpace = _ref_isSRGBColorSpace === void 0 ? true : _ref_isSRGBColorSpace, _ref_mipmap = _ref.mipmap, mipmap = _ref_mipmap === void 0 ? true : _ref_mipmap;
|
|
51487
|
+
var width = img.width, height = img.height;
|
|
51488
|
+
var engine = resourceManager.engine;
|
|
51489
|
+
var generateMipmap = TextureUtils.supportGenerateMipmapsWithCorrection(engine, width, height, format, mipmap, isSRGBColorSpace);
|
|
51490
|
+
var texture = new Texture2D(engine, width, height, format, generateMipmap, isSRGBColorSpace);
|
|
51491
|
+
texture.anisoLevel = anisoLevel != null ? anisoLevel : texture.anisoLevel;
|
|
51492
|
+
texture.filterMode = filterMode != null ? filterMode : texture.filterMode;
|
|
51493
|
+
texture.wrapModeU = wrapModeU != null ? wrapModeU : texture.wrapModeU;
|
|
51494
|
+
texture.wrapModeV = wrapModeV != null ? wrapModeV : texture.wrapModeV;
|
|
51495
|
+
texture.setImageSource(img);
|
|
51496
|
+
generateMipmap && texture.generateMipmaps();
|
|
51497
|
+
var url = item.url;
|
|
51498
|
+
if (url.indexOf("data:") !== 0) {
|
|
51499
|
+
texture.name = url.substring(url.lastIndexOf("/") + 1);
|
|
51500
|
+
}
|
|
51501
|
+
return texture;
|
|
51502
|
+
};
|
|
51870
51503
|
return Texture2DLoader;
|
|
51871
51504
|
}(Loader);
|
|
51872
51505
|
Texture2DLoader = __decorate([
|
|
@@ -51874,38 +51507,317 @@ Texture2DLoader = __decorate([
|
|
|
51874
51507
|
"png",
|
|
51875
51508
|
"jpg",
|
|
51876
51509
|
"webp",
|
|
51877
|
-
"jpeg"
|
|
51510
|
+
"jpeg",
|
|
51511
|
+
"tex"
|
|
51878
51512
|
])
|
|
51879
51513
|
], Texture2DLoader);
|
|
51880
|
-
|
|
51881
|
-
|
|
51882
|
-
|
|
51883
|
-
_inherits(TextureCubeContentRestorer, ContentRestorer);
|
|
51884
|
-
function TextureCubeContentRestorer(resource, urls, requestConfig) {
|
|
51514
|
+
var Texture2DContentRestorer = /*#__PURE__*/ function(ContentRestorer) {
|
|
51515
|
+
_inherits(Texture2DContentRestorer, ContentRestorer);
|
|
51516
|
+
function Texture2DContentRestorer(resource, url, requestConfig) {
|
|
51885
51517
|
var _this;
|
|
51886
|
-
_this = ContentRestorer.call(this, resource) || this, _this.
|
|
51518
|
+
_this = ContentRestorer.call(this, resource) || this, _this.url = url, _this.requestConfig = requestConfig;
|
|
51887
51519
|
return _this;
|
|
51888
51520
|
}
|
|
51889
|
-
var _proto =
|
|
51521
|
+
var _proto = Texture2DContentRestorer.prototype;
|
|
51890
51522
|
_proto.restoreContent = function restoreContent() {
|
|
51891
|
-
var
|
|
51892
|
-
|
|
51893
|
-
|
|
51894
|
-
|
|
51895
|
-
|
|
51896
|
-
|
|
51897
|
-
|
|
51898
|
-
|
|
51899
|
-
|
|
51900
|
-
|
|
51901
|
-
|
|
51902
|
-
|
|
51903
|
-
|
|
51904
|
-
});
|
|
51523
|
+
var texture = this.resource;
|
|
51524
|
+
var engine = texture.engine;
|
|
51525
|
+
return engine.resourceManager // @ts-ignore
|
|
51526
|
+
._request(this.url, this.requestConfig).then(function(buffer) {
|
|
51527
|
+
if (FileHeader.checkMagic(buffer)) {
|
|
51528
|
+
return decode(buffer, engine, texture);
|
|
51529
|
+
} else {
|
|
51530
|
+
return loadImageFromBuffer(buffer).then(function(img) {
|
|
51531
|
+
texture.setImageSource(img);
|
|
51532
|
+
texture.generateMipmaps();
|
|
51533
|
+
return texture;
|
|
51534
|
+
});
|
|
51535
|
+
}
|
|
51905
51536
|
});
|
|
51906
51537
|
};
|
|
51907
|
-
return
|
|
51538
|
+
return Texture2DContentRestorer;
|
|
51908
51539
|
}(ContentRestorer);
|
|
51540
|
+
/**
|
|
51541
|
+
* @internal
|
|
51542
|
+
* HDR panorama to cubemap decoder.
|
|
51543
|
+
*/ var HDRDecoder = /*#__PURE__*/ function() {
|
|
51544
|
+
function HDRDecoder() {}
|
|
51545
|
+
HDRDecoder.parseHeader = function parseHeader(uint8array) {
|
|
51546
|
+
var line = this._readStringLine(uint8array, 0);
|
|
51547
|
+
if (line[0] !== "#" || line[1] !== "?") {
|
|
51548
|
+
throw "HDRDecoder: invalid file header";
|
|
51549
|
+
}
|
|
51550
|
+
var endOfHeader = false;
|
|
51551
|
+
var findFormat = false;
|
|
51552
|
+
var lineIndex = 0;
|
|
51553
|
+
do {
|
|
51554
|
+
lineIndex += line.length + 1;
|
|
51555
|
+
line = this._readStringLine(uint8array, lineIndex);
|
|
51556
|
+
if (line === "FORMAT=32-bit_rle_rgbe") findFormat = true;
|
|
51557
|
+
else if (line.length === 0) endOfHeader = true;
|
|
51558
|
+
}while (!endOfHeader);
|
|
51559
|
+
if (!findFormat) {
|
|
51560
|
+
throw "HDRDecoder: unsupported format, expected 32-bit_rle_rgbe";
|
|
51561
|
+
}
|
|
51562
|
+
lineIndex += line.length + 1;
|
|
51563
|
+
line = this._readStringLine(uint8array, lineIndex);
|
|
51564
|
+
var match = /^\-Y (.*) \+X (.*)$/g.exec(line);
|
|
51565
|
+
if (!match || match.length < 3) {
|
|
51566
|
+
throw "HDRDecoder: missing image size, only -Y +X layout is supported";
|
|
51567
|
+
}
|
|
51568
|
+
var width = parseInt(match[2]);
|
|
51569
|
+
var height = parseInt(match[1]);
|
|
51570
|
+
if (width < 8 || width > 0x7fff) {
|
|
51571
|
+
throw "HDRDecoder: unsupported image width, must be between 8 and 32767";
|
|
51572
|
+
}
|
|
51573
|
+
return {
|
|
51574
|
+
height: height,
|
|
51575
|
+
width: width,
|
|
51576
|
+
dataPosition: lineIndex + line.length + 1
|
|
51577
|
+
};
|
|
51578
|
+
};
|
|
51579
|
+
HDRDecoder.decodeFaces = function decodeFaces(bufferArray, header, onFace) {
|
|
51580
|
+
var width = header.width, height = header.height, dataPosition = header.dataPosition;
|
|
51581
|
+
var cubeSize = height >> 1;
|
|
51582
|
+
var pixels = HDRDecoder._readPixels(bufferArray.subarray(dataPosition), width, height);
|
|
51583
|
+
var faces = HDRDecoder._faces;
|
|
51584
|
+
var faceBuffer = new Uint16Array(cubeSize * cubeSize * 4);
|
|
51585
|
+
for(var faceIndex = 0; faceIndex < 6; faceIndex++){
|
|
51586
|
+
HDRDecoder._createCubemapData(cubeSize, faces[faceIndex], pixels, width, height, faceBuffer);
|
|
51587
|
+
onFace(faceIndex, faceBuffer);
|
|
51588
|
+
}
|
|
51589
|
+
};
|
|
51590
|
+
HDRDecoder._generateFloat2HalfTables = function _generateFloat2HalfTables() {
|
|
51591
|
+
var baseTable = new Uint32Array(512);
|
|
51592
|
+
var shiftTable = new Uint32Array(512);
|
|
51593
|
+
for(var i = 0; i < 256; ++i){
|
|
51594
|
+
var e = i - 127;
|
|
51595
|
+
if (e < -27) {
|
|
51596
|
+
baseTable[i] = 0x0000;
|
|
51597
|
+
baseTable[i | 0x100] = 0x8000;
|
|
51598
|
+
shiftTable[i] = 24;
|
|
51599
|
+
shiftTable[i | 0x100] = 24;
|
|
51600
|
+
} else if (e < -14) {
|
|
51601
|
+
baseTable[i] = 0x0400 >> -e - 14;
|
|
51602
|
+
baseTable[i | 0x100] = 0x0400 >> -e - 14 | 0x8000;
|
|
51603
|
+
shiftTable[i] = -e - 1;
|
|
51604
|
+
shiftTable[i | 0x100] = -e - 1;
|
|
51605
|
+
} else if (e <= 15) {
|
|
51606
|
+
baseTable[i] = e + 15 << 10;
|
|
51607
|
+
baseTable[i | 0x100] = e + 15 << 10 | 0x8000;
|
|
51608
|
+
shiftTable[i] = 13;
|
|
51609
|
+
shiftTable[i | 0x100] = 13;
|
|
51610
|
+
} else if (e < 128) {
|
|
51611
|
+
baseTable[i] = 0x7c00;
|
|
51612
|
+
baseTable[i | 0x100] = 0xfc00;
|
|
51613
|
+
shiftTable[i] = 24;
|
|
51614
|
+
shiftTable[i | 0x100] = 24;
|
|
51615
|
+
} else {
|
|
51616
|
+
baseTable[i] = 0x7c00;
|
|
51617
|
+
baseTable[i | 0x100] = 0xfc00;
|
|
51618
|
+
shiftTable[i] = 13;
|
|
51619
|
+
shiftTable[i | 0x100] = 13;
|
|
51620
|
+
}
|
|
51621
|
+
}
|
|
51622
|
+
return {
|
|
51623
|
+
baseTable: baseTable,
|
|
51624
|
+
shiftTable: shiftTable
|
|
51625
|
+
};
|
|
51626
|
+
};
|
|
51627
|
+
HDRDecoder._createCubemapData = function _createCubemapData(texSize, face, pixels, inputWidth, inputHeight, facePixels) {
|
|
51628
|
+
var invSize = 1 / texSize;
|
|
51629
|
+
var rotDX1X = (face[3] - face[0]) * invSize;
|
|
51630
|
+
var rotDX1Y = (face[4] - face[1]) * invSize;
|
|
51631
|
+
var rotDX1Z = (face[5] - face[2]) * invSize;
|
|
51632
|
+
var rotDX2X = (face[9] - face[6]) * invSize;
|
|
51633
|
+
var rotDX2Y = (face[10] - face[7]) * invSize;
|
|
51634
|
+
var rotDX2Z = (face[11] - face[8]) * invSize;
|
|
51635
|
+
var floatView = HDRDecoder._floatView;
|
|
51636
|
+
var uint32View = HDRDecoder._uint32View;
|
|
51637
|
+
var _HDRDecoder__float2HalfTables = HDRDecoder._float2HalfTables, baseTable = _HDRDecoder__float2HalfTables.baseTable, shiftTable = _HDRDecoder__float2HalfTables.shiftTable;
|
|
51638
|
+
var one = HDRDecoder._one;
|
|
51639
|
+
var fy = 0;
|
|
51640
|
+
for(var y = 0; y < texSize; y++){
|
|
51641
|
+
var xv1X = face[0], xv1Y = face[1], xv1Z = face[2];
|
|
51642
|
+
var xv2X = face[6], xv2Y = face[7], xv2Z = face[8];
|
|
51643
|
+
for(var x = 0; x < texSize; x++){
|
|
51644
|
+
var dirX = xv1X + (xv2X - xv1X) * fy;
|
|
51645
|
+
var dirY = xv1Y + (xv2Y - xv1Y) * fy;
|
|
51646
|
+
var dirZ = xv1Z + (xv2Z - xv1Z) * fy;
|
|
51647
|
+
var invLen = 1 / Math.sqrt(dirX * dirX + dirY * dirY + dirZ * dirZ);
|
|
51648
|
+
dirX *= invLen;
|
|
51649
|
+
dirY *= invLen;
|
|
51650
|
+
dirZ *= invLen;
|
|
51651
|
+
var px = Math.round((Math.atan2(dirZ, dirX) / Math.PI * 0.5 + 0.5) * inputWidth);
|
|
51652
|
+
if (px < 0) px = 0;
|
|
51653
|
+
else if (px >= inputWidth) px = inputWidth - 1;
|
|
51654
|
+
var py = Math.round(Math.acos(dirY) / Math.PI * inputHeight);
|
|
51655
|
+
if (py < 0) py = 0;
|
|
51656
|
+
else if (py >= inputHeight) py = inputHeight - 1;
|
|
51657
|
+
var srcIndex = (inputHeight - py - 1) * inputWidth * 4 + px * 4;
|
|
51658
|
+
var scaleFactor = Math.pow(2, pixels[srcIndex + 3] - 128) / 255;
|
|
51659
|
+
var dstIndex = y * texSize * 4 + x * 4;
|
|
51660
|
+
for(var c = 0; c < 3; c++){
|
|
51661
|
+
floatView[0] = pixels[srcIndex + c] * scaleFactor;
|
|
51662
|
+
var f = uint32View[0];
|
|
51663
|
+
var e = f >> 23 & 0x1ff;
|
|
51664
|
+
facePixels[dstIndex + c] = baseTable[e] + ((f & 0x007fffff) >> shiftTable[e]);
|
|
51665
|
+
}
|
|
51666
|
+
facePixels[dstIndex + 3] = one;
|
|
51667
|
+
xv1X += rotDX1X;
|
|
51668
|
+
xv1Y += rotDX1Y;
|
|
51669
|
+
xv1Z += rotDX1Z;
|
|
51670
|
+
xv2X += rotDX2X;
|
|
51671
|
+
xv2Y += rotDX2Y;
|
|
51672
|
+
xv2Z += rotDX2Z;
|
|
51673
|
+
}
|
|
51674
|
+
fy += invSize;
|
|
51675
|
+
}
|
|
51676
|
+
};
|
|
51677
|
+
HDRDecoder._readStringLine = function _readStringLine(uint8array, startIndex) {
|
|
51678
|
+
var line = "";
|
|
51679
|
+
for(var i = startIndex, n = uint8array.length; i < n; i++){
|
|
51680
|
+
var character = String.fromCharCode(uint8array[i]);
|
|
51681
|
+
if (character === "\n") break;
|
|
51682
|
+
line += character;
|
|
51683
|
+
}
|
|
51684
|
+
return line;
|
|
51685
|
+
};
|
|
51686
|
+
HDRDecoder._readPixels = function _readPixels(buffer, width, height) {
|
|
51687
|
+
var byteLength = buffer.byteLength;
|
|
51688
|
+
var dataRGBA = new Uint8Array(4 * width * height);
|
|
51689
|
+
var offset = 0;
|
|
51690
|
+
var pos = 0;
|
|
51691
|
+
var ptrEnd = 4 * width;
|
|
51692
|
+
var scanLineBuffer = new Uint8Array(ptrEnd);
|
|
51693
|
+
var numScanLines = height;
|
|
51694
|
+
while(numScanLines > 0 && pos < byteLength){
|
|
51695
|
+
var a = buffer[pos++];
|
|
51696
|
+
var b = buffer[pos++];
|
|
51697
|
+
var c = buffer[pos++];
|
|
51698
|
+
var d = buffer[pos++];
|
|
51699
|
+
if (a !== 2 || b !== 2 || c & 0x80 || width < 8 || width > 32767) return buffer;
|
|
51700
|
+
if ((c << 8 | d) !== width) throw "HDRDecoder: wrong scanline width";
|
|
51701
|
+
var ptr = 0;
|
|
51702
|
+
while(ptr < ptrEnd && pos < byteLength){
|
|
51703
|
+
var count = buffer[pos++];
|
|
51704
|
+
var isEncodedRun = count > 128;
|
|
51705
|
+
if (isEncodedRun) count -= 128;
|
|
51706
|
+
if (count === 0 || ptr + count > ptrEnd) throw "HDRDecoder: bad scanline data";
|
|
51707
|
+
if (isEncodedRun) {
|
|
51708
|
+
var byteValue = buffer[pos++];
|
|
51709
|
+
for(var i = 0; i < count; i++)scanLineBuffer[ptr++] = byteValue;
|
|
51710
|
+
} else {
|
|
51711
|
+
scanLineBuffer.set(buffer.subarray(pos, pos + count), ptr);
|
|
51712
|
+
ptr += count;
|
|
51713
|
+
pos += count;
|
|
51714
|
+
}
|
|
51715
|
+
}
|
|
51716
|
+
for(var i1 = 0; i1 < width; i1++, offset += 4){
|
|
51717
|
+
dataRGBA[offset] = scanLineBuffer[i1];
|
|
51718
|
+
dataRGBA[offset + 1] = scanLineBuffer[i1 + width];
|
|
51719
|
+
dataRGBA[offset + 2] = scanLineBuffer[i1 + width * 2];
|
|
51720
|
+
dataRGBA[offset + 3] = scanLineBuffer[i1 + width * 3];
|
|
51721
|
+
}
|
|
51722
|
+
numScanLines--;
|
|
51723
|
+
}
|
|
51724
|
+
return dataRGBA;
|
|
51725
|
+
};
|
|
51726
|
+
return HDRDecoder;
|
|
51727
|
+
}();
|
|
51728
|
+
// Float32 to Float16 lookup tables (http://www.fox-toolkit.org/ftp/fasthalffloatconversion.pdf)
|
|
51729
|
+
HDRDecoder._float2HalfTables = HDRDecoder._generateFloat2HalfTables();
|
|
51730
|
+
HDRDecoder._floatView = new Float32Array(1);
|
|
51731
|
+
HDRDecoder._uint32View = new Uint32Array(HDRDecoder._floatView.buffer);
|
|
51732
|
+
HDRDecoder._one = 0x3c00 // Half float for 1.0
|
|
51733
|
+
;
|
|
51734
|
+
// prettier-ignore
|
|
51735
|
+
HDRDecoder._faces = [
|
|
51736
|
+
/* +X */ [
|
|
51737
|
+
1,
|
|
51738
|
+
-1,
|
|
51739
|
+
-1,
|
|
51740
|
+
1,
|
|
51741
|
+
-1,
|
|
51742
|
+
1,
|
|
51743
|
+
1,
|
|
51744
|
+
1,
|
|
51745
|
+
-1,
|
|
51746
|
+
1,
|
|
51747
|
+
1,
|
|
51748
|
+
1
|
|
51749
|
+
],
|
|
51750
|
+
/* -X */ [
|
|
51751
|
+
-1,
|
|
51752
|
+
-1,
|
|
51753
|
+
1,
|
|
51754
|
+
-1,
|
|
51755
|
+
-1,
|
|
51756
|
+
-1,
|
|
51757
|
+
-1,
|
|
51758
|
+
1,
|
|
51759
|
+
1,
|
|
51760
|
+
-1,
|
|
51761
|
+
1,
|
|
51762
|
+
-1
|
|
51763
|
+
],
|
|
51764
|
+
/* +Y */ [
|
|
51765
|
+
-1,
|
|
51766
|
+
-1,
|
|
51767
|
+
1,
|
|
51768
|
+
1,
|
|
51769
|
+
-1,
|
|
51770
|
+
1,
|
|
51771
|
+
-1,
|
|
51772
|
+
-1,
|
|
51773
|
+
-1,
|
|
51774
|
+
1,
|
|
51775
|
+
-1,
|
|
51776
|
+
-1
|
|
51777
|
+
],
|
|
51778
|
+
/* -Y */ [
|
|
51779
|
+
-1,
|
|
51780
|
+
1,
|
|
51781
|
+
-1,
|
|
51782
|
+
1,
|
|
51783
|
+
1,
|
|
51784
|
+
-1,
|
|
51785
|
+
-1,
|
|
51786
|
+
1,
|
|
51787
|
+
1,
|
|
51788
|
+
1,
|
|
51789
|
+
1,
|
|
51790
|
+
1
|
|
51791
|
+
],
|
|
51792
|
+
/* +Z */ [
|
|
51793
|
+
-1,
|
|
51794
|
+
-1,
|
|
51795
|
+
-1,
|
|
51796
|
+
1,
|
|
51797
|
+
-1,
|
|
51798
|
+
-1,
|
|
51799
|
+
-1,
|
|
51800
|
+
1,
|
|
51801
|
+
-1,
|
|
51802
|
+
1,
|
|
51803
|
+
1,
|
|
51804
|
+
-1
|
|
51805
|
+
],
|
|
51806
|
+
/* -Z */ [
|
|
51807
|
+
1,
|
|
51808
|
+
-1,
|
|
51809
|
+
1,
|
|
51810
|
+
-1,
|
|
51811
|
+
-1,
|
|
51812
|
+
1,
|
|
51813
|
+
1,
|
|
51814
|
+
1,
|
|
51815
|
+
1,
|
|
51816
|
+
-1,
|
|
51817
|
+
1,
|
|
51818
|
+
1
|
|
51819
|
+
]
|
|
51820
|
+
];
|
|
51909
51821
|
var TextureCubeLoader = /*#__PURE__*/ function(Loader) {
|
|
51910
51822
|
_inherits(TextureCubeLoader, Loader);
|
|
51911
51823
|
function TextureCubeLoader() {
|
|
@@ -51913,6 +51825,44 @@ var TextureCubeLoader = /*#__PURE__*/ function(Loader) {
|
|
|
51913
51825
|
}
|
|
51914
51826
|
var _proto = TextureCubeLoader.prototype;
|
|
51915
51827
|
_proto.load = function load(item, resourceManager) {
|
|
51828
|
+
if (item.urls) {
|
|
51829
|
+
return this._loadCubeFaces(item, resourceManager);
|
|
51830
|
+
} else {
|
|
51831
|
+
return this._loadHDR(item, resourceManager);
|
|
51832
|
+
}
|
|
51833
|
+
};
|
|
51834
|
+
_proto._loadHDR = function _loadHDR(item, resourceManager) {
|
|
51835
|
+
return new AssetPromise(function(resolve, reject) {
|
|
51836
|
+
var engine = resourceManager.engine;
|
|
51837
|
+
var url = item.url;
|
|
51838
|
+
var requestConfig = _extends({}, item, {
|
|
51839
|
+
type: "arraybuffer"
|
|
51840
|
+
});
|
|
51841
|
+
resourceManager // @ts-ignore
|
|
51842
|
+
._request(url, requestConfig).then(function(buffer) {
|
|
51843
|
+
if (!SystemInfo.supportsTextureFormat(engine, TextureFormat.R16G16B16A16)) {
|
|
51844
|
+
reject(new Error("TextureCubeLoader: HDR texture requires half float support."));
|
|
51845
|
+
return;
|
|
51846
|
+
}
|
|
51847
|
+
var _item_params;
|
|
51848
|
+
var _ref = (_item_params = item.params) != null ? _item_params : {}, _ref_mipmap = _ref.mipmap, mipmap = _ref_mipmap === void 0 ? true : _ref_mipmap, anisoLevel = _ref.anisoLevel, wrapModeU = _ref.wrapModeU, wrapModeV = _ref.wrapModeV, filterMode = _ref.filterMode;
|
|
51849
|
+
var bufferArray = new Uint8Array(buffer);
|
|
51850
|
+
var header = HDRDecoder.parseHeader(bufferArray);
|
|
51851
|
+
var texture = new TextureCube(engine, header.height >> 1, TextureFormat.R16G16B16A16, mipmap, false);
|
|
51852
|
+
HDRDecoder.decodeFaces(bufferArray, header, function(faceIndex, data) {
|
|
51853
|
+
texture.setPixelBuffer(TextureCubeFace.PositiveX + faceIndex, data, 0);
|
|
51854
|
+
});
|
|
51855
|
+
texture.generateMipmaps();
|
|
51856
|
+
texture.anisoLevel = anisoLevel != null ? anisoLevel : texture.anisoLevel;
|
|
51857
|
+
texture.filterMode = filterMode != null ? filterMode : texture.filterMode;
|
|
51858
|
+
texture.wrapModeU = wrapModeU != null ? wrapModeU : texture.wrapModeU;
|
|
51859
|
+
texture.wrapModeV = wrapModeV != null ? wrapModeV : texture.wrapModeV;
|
|
51860
|
+
resourceManager.addContentRestorer(new HDRContentRestorer(texture, url, requestConfig));
|
|
51861
|
+
resolve(texture);
|
|
51862
|
+
}).catch(reject);
|
|
51863
|
+
});
|
|
51864
|
+
};
|
|
51865
|
+
_proto._loadCubeFaces = function _loadCubeFaces(item, resourceManager) {
|
|
51916
51866
|
return new AssetPromise(function(resolve, reject) {
|
|
51917
51867
|
var urls = item.urls;
|
|
51918
51868
|
var requestConfig = _extends({}, item, {
|
|
@@ -51926,7 +51876,7 @@ var TextureCubeLoader = /*#__PURE__*/ function(Loader) {
|
|
|
51926
51876
|
var _ref = (_item_params = item.params) != null ? _item_params : {}, _ref_format = _ref.format, format = _ref_format === void 0 ? TextureFormat.R8G8B8A8 : _ref_format, anisoLevel = _ref.anisoLevel, wrapModeU = _ref.wrapModeU, wrapModeV = _ref.wrapModeV, filterMode = _ref.filterMode, _ref_isSRGBColorSpace = _ref.isSRGBColorSpace, isSRGBColorSpace = _ref_isSRGBColorSpace === void 0 ? true : _ref_isSRGBColorSpace, _ref_mipmap = _ref.mipmap, mipmap = _ref_mipmap === void 0 ? true : _ref_mipmap;
|
|
51927
51877
|
var _images_ = images[0], width = _images_.width, height = _images_.height;
|
|
51928
51878
|
if (width !== height) {
|
|
51929
|
-
|
|
51879
|
+
reject(new Error("The cube texture must have the same width and height"));
|
|
51930
51880
|
return;
|
|
51931
51881
|
}
|
|
51932
51882
|
var engine = resourceManager.engine;
|
|
@@ -51939,21 +51889,70 @@ var TextureCubeLoader = /*#__PURE__*/ function(Loader) {
|
|
|
51939
51889
|
for(var faceIndex = 0; faceIndex < 6; faceIndex++){
|
|
51940
51890
|
texture.setImageSource(TextureCubeFace.PositiveX + faceIndex, images[faceIndex], 0);
|
|
51941
51891
|
}
|
|
51942
|
-
|
|
51943
|
-
resourceManager.addContentRestorer(new
|
|
51892
|
+
texture.generateMipmaps();
|
|
51893
|
+
resourceManager.addContentRestorer(new CubeFaceContentRestorer(texture, urls, requestConfig));
|
|
51944
51894
|
resolve(texture);
|
|
51945
|
-
}).catch(
|
|
51946
|
-
reject(e);
|
|
51947
|
-
});
|
|
51895
|
+
}).catch(reject);
|
|
51948
51896
|
});
|
|
51949
51897
|
};
|
|
51950
51898
|
return TextureCubeLoader;
|
|
51951
51899
|
}(Loader);
|
|
51952
51900
|
TextureCubeLoader = __decorate([
|
|
51953
51901
|
resourceLoader(AssetType.TextureCube, [
|
|
51954
|
-
""
|
|
51902
|
+
"texCube",
|
|
51903
|
+
"hdr"
|
|
51955
51904
|
])
|
|
51956
51905
|
], TextureCubeLoader);
|
|
51906
|
+
var HDRContentRestorer = /*#__PURE__*/ function(ContentRestorer) {
|
|
51907
|
+
_inherits(HDRContentRestorer, ContentRestorer);
|
|
51908
|
+
function HDRContentRestorer(resource, url, requestConfig) {
|
|
51909
|
+
var _this;
|
|
51910
|
+
_this = ContentRestorer.call(this, resource) || this, _this.url = url, _this.requestConfig = requestConfig;
|
|
51911
|
+
return _this;
|
|
51912
|
+
}
|
|
51913
|
+
var _proto = HDRContentRestorer.prototype;
|
|
51914
|
+
_proto.restoreContent = function restoreContent() {
|
|
51915
|
+
var _this = this;
|
|
51916
|
+
return new AssetPromise(function(resolve, reject) {
|
|
51917
|
+
var resource = _this.resource;
|
|
51918
|
+
resource.engine.resourceManager // @ts-ignore
|
|
51919
|
+
._request(_this.url, _this.requestConfig).then(function(buffer) {
|
|
51920
|
+
var bufferArray = new Uint8Array(buffer);
|
|
51921
|
+
HDRDecoder.decodeFaces(bufferArray, HDRDecoder.parseHeader(bufferArray), function(faceIndex, data) {
|
|
51922
|
+
resource.setPixelBuffer(TextureCubeFace.PositiveX + faceIndex, data, 0);
|
|
51923
|
+
});
|
|
51924
|
+
resource.generateMipmaps();
|
|
51925
|
+
resolve(resource);
|
|
51926
|
+
}).catch(reject);
|
|
51927
|
+
});
|
|
51928
|
+
};
|
|
51929
|
+
return HDRContentRestorer;
|
|
51930
|
+
}(ContentRestorer);
|
|
51931
|
+
var CubeFaceContentRestorer = /*#__PURE__*/ function(ContentRestorer) {
|
|
51932
|
+
_inherits(CubeFaceContentRestorer, ContentRestorer);
|
|
51933
|
+
function CubeFaceContentRestorer(resource, urls, requestConfig) {
|
|
51934
|
+
var _this;
|
|
51935
|
+
_this = ContentRestorer.call(this, resource) || this, _this.urls = urls, _this.requestConfig = requestConfig;
|
|
51936
|
+
return _this;
|
|
51937
|
+
}
|
|
51938
|
+
var _proto = CubeFaceContentRestorer.prototype;
|
|
51939
|
+
_proto.restoreContent = function restoreContent() {
|
|
51940
|
+
var _this = this;
|
|
51941
|
+
return new AssetPromise(function(resolve, reject) {
|
|
51942
|
+
Promise.all(_this.urls.map(function(url) {
|
|
51943
|
+
return request(url, _this.requestConfig);
|
|
51944
|
+
})).then(function(images) {
|
|
51945
|
+
var resource = _this.resource;
|
|
51946
|
+
for(var faceIndex = 0; faceIndex < 6; faceIndex++){
|
|
51947
|
+
resource.setImageSource(TextureCubeFace.PositiveX + faceIndex, images[faceIndex], 0);
|
|
51948
|
+
}
|
|
51949
|
+
resource.generateMipmaps();
|
|
51950
|
+
resolve(resource);
|
|
51951
|
+
}).catch(reject);
|
|
51952
|
+
});
|
|
51953
|
+
};
|
|
51954
|
+
return CubeFaceContentRestorer;
|
|
51955
|
+
}(ContentRestorer);
|
|
51957
51956
|
var AudioLoader = /*#__PURE__*/ function(Loader) {
|
|
51958
51957
|
_inherits(AudioLoader, Loader);
|
|
51959
51958
|
function AudioLoader() {
|
|
@@ -52099,7 +52098,7 @@ var PhysicsMaterialLoader = /*#__PURE__*/ function(Loader) {
|
|
|
52099
52098
|
}(Loader);
|
|
52100
52099
|
PhysicsMaterialLoader = __decorate([
|
|
52101
52100
|
resourceLoader(AssetType.PhysicsMaterial, [
|
|
52102
|
-
"
|
|
52101
|
+
"physMat"
|
|
52103
52102
|
])
|
|
52104
52103
|
], PhysicsMaterialLoader);
|
|
52105
52104
|
var SceneLoader = /*#__PURE__*/ function(Loader) {
|
|
@@ -52751,11 +52750,11 @@ EXT_texture_webp = __decorate([
|
|
|
52751
52750
|
], EXT_texture_webp);
|
|
52752
52751
|
|
|
52753
52752
|
//@ts-ignore
|
|
52754
|
-
var version = "2.0.0-alpha.
|
|
52753
|
+
var version = "2.0.0-alpha.6";
|
|
52755
52754
|
console.log("Galacean Engine Version: " + version);
|
|
52756
52755
|
for(var key in CoreObjects){
|
|
52757
52756
|
Loader.registerClass(key, CoreObjects[key]);
|
|
52758
52757
|
}
|
|
52759
52758
|
|
|
52760
|
-
export { AccessorType, AmbientLight, AmbientOcclusion, AmbientOcclusionQuality, AnimationArrayCurve, AnimationBoolCurve, AnimationClip, AnimationClipCurveBinding, AnimationClipDecoder, AnimationColorCurve, AnimationCurve, AnimationEvent, AnimationFloatArrayCurve, AnimationFloatCurve, AnimationQuaternionCurve, AnimationRectCurve, AnimationRefCurve, AnimationStringCurve, AnimationVector2Curve, AnimationVector3Curve, AnimationVector4Curve, Animator, AnimatorCondition, AnimatorConditionMode, AnimatorController, AnimatorControllerLayer, AnimatorControllerParameter, AnimatorCullingMode, AnimatorLayerBlendingMode, AnimatorLayerMask, AnimatorState, AnimatorStateMachine, AnimatorStateTransition, AntiAliasing, AssetPromise, AssetType, AudioClip, AudioManager, AudioSource, Background, BackgroundMode, BackgroundTextureFillMode, BaseMaterial, BasicRenderPipeline, BatchUtils, BlendFactor, BlendMode, BlendOperation, BlendShape, BlendShapeFrame, BlendState, BlinnPhongMaterial, Blitter, BloomDownScaleMode, BloomEffect, BoolUpdateFlag, BoundingBox, BoundingFrustum, BoundingSphere, BoxColliderShape, BoxShape, Buffer, BufferAsset, BufferBindFlag, BufferInfo, BufferMesh, BufferReader, BufferUsage, BufferUtil, Burst, Camera, CameraClearFlags, CameraModifyFlags, CameraType$1 as CameraType, Canvas, CapsuleColliderShape, CharRenderInfo, CharacterController, CircleShape, ClearableObjectPool, CloneManager, Collider, ColliderShape, ColliderShapeUpAxis, Collision, CollisionDetectionMode, CollisionUtil, Color, ColorOverLifetimeModule, ColorWriteMask, CompareFunction, Component, ConeEmitType, ConeShape, ContactPoint, ContainmentType, ContentRestorer, ControllerCollisionFlag, ControllerNonWalkableMode, CubeProbe, CullMode, CurveKey, DataType, DependentMode, DepthState, DepthTextureMode, DiffuseMode, DirectLight, DisorderedArray, Downsampling, DynamicCollider, DynamicColliderConstraints,
|
|
52759
|
+
export { AccessorType, AmbientLight, AmbientOcclusion, AmbientOcclusionQuality, AnimationArrayCurve, AnimationBoolCurve, AnimationClip, AnimationClipCurveBinding, AnimationClipDecoder, AnimationColorCurve, AnimationCurve, AnimationEvent, AnimationFloatArrayCurve, AnimationFloatCurve, AnimationQuaternionCurve, AnimationRectCurve, AnimationRefCurve, AnimationStringCurve, AnimationVector2Curve, AnimationVector3Curve, AnimationVector4Curve, Animator, AnimatorCondition, AnimatorConditionMode, AnimatorController, AnimatorControllerLayer, AnimatorControllerParameter, AnimatorCullingMode, AnimatorLayerBlendingMode, AnimatorLayerMask, AnimatorState, AnimatorStateMachine, AnimatorStateTransition, AntiAliasing, AssetPromise, AssetType, AudioClip, AudioManager, AudioSource, Background, BackgroundMode, BackgroundTextureFillMode, BaseMaterial, BasicRenderPipeline, BatchUtils, BlendFactor, BlendMode, BlendOperation, BlendShape, BlendShapeFrame, BlendState, BlinnPhongMaterial, Blitter, BloomDownScaleMode, BloomEffect, BoolUpdateFlag, BoundingBox, BoundingFrustum, BoundingSphere, BoxColliderShape, BoxShape, Buffer, BufferAsset, BufferBindFlag, BufferInfo, BufferMesh, BufferReader, BufferUsage, BufferUtil, Burst, Camera, CameraClearFlags, CameraModifyFlags, CameraType$1 as CameraType, Canvas, CapsuleColliderShape, CharRenderInfo, CharacterController, CircleShape, ClearableObjectPool, CloneManager, Collider, ColliderShape, ColliderShapeUpAxis, Collision, CollisionDetectionMode, CollisionUtil, Color, ColorOverLifetimeModule, ColorWriteMask, CompareFunction, Component, ConeEmitType, ConeShape, ContactPoint, ContainmentType, ContentRestorer, ControllerCollisionFlag, ControllerNonWalkableMode, CubeProbe, CullMode, CurveKey, DataType, DependentMode, DepthState, DepthTextureMode, DiffuseMode, DirectLight, DisorderedArray, Downsampling, DynamicCollider, DynamicColliderConstraints, EmissionModule, Engine, EngineObject, Entity, EntityModifyFlags, EventDispatcher, FileHeader, FinalPass, FixedJoint, FogMode, Font, FontStyle, FrustumFace, GLCapabilityType, GLCompressedTextureInternalFormat, GLTFAnimationParser, GLTFAnimatorControllerParser, GLTFBufferParser, GLTFBufferViewParser, GLTFEntityParser, GLTFExtensionMode, GLTFExtensionParser, GLTFLoader, GLTFMaterialParser, GLTFMeshParser, GLTFParser, GLTFParserContext, GLTFParserType, GLTFResource, GLTFSceneParser, GLTFSchemaParser, GLTFSkinParser, GLTFTextureParser, GLTFUtils, GLTFValidator, GradientAlphaKey, GradientColorKey, HemisphereShape, HierarchyParser, HingeJoint, HitResult, IndexBufferBinding, IndexFormat, InputManager, InterpolableValueType, InterpolationType, JSONAsset, Joint, JointLimits, JointMotor, KTX2Loader, KTX2TargetFormat, Keyframe, Keys, Layer, LayerPathMask, Light, Loader, Logger, MSAASamples, MainModule, Material, MaterialLoaderType, MathUtil, Matrix, Matrix3x3, Mesh, MeshColliderShape, MeshColliderShapeCookingFlag, MeshDecoder, MeshRenderer, MeshShape, MeshTopology, ModelMesh, OverflowMode, PBRMaterial, ParserContext, ParserType, ParticleCompositeCurve, ParticleCompositeGradient, ParticleCurve, ParticleCurveMode, ParticleGenerator, ParticleGradient, ParticleGradientMode, ParticleMaterial, ParticleRenderMode, ParticleRenderer, ParticleScaleMode, ParticleShapeArcMode, ParticleShapeType, ParticleSimulationSpace, ParticleStopMode, PhysicsMaterial, PhysicsMaterialCombineMode, PhysicsScene, PipelineStage, Plane, PlaneColliderShape, PlaneIntersectionType, Platform, PointLight, Pointer, PointerButton, PointerEventData, PointerEventEmitter, PointerPhase, PostProcess, PostProcessEffect, PostProcessEffectBoolParameter, PostProcessEffectColorParameter, PostProcessEffectEnumParameter, PostProcessEffectFloatParameter, PostProcessEffectParameter, PostProcessEffectTextureParameter, PostProcessEffectVector2Parameter, PostProcessEffectVector3Parameter, PostProcessEffectVector4Parameter, PostProcessManager, PostProcessPass, PostProcessPassEvent, PostProcessUberPass, PrefabResource, Primitive, PrimitiveMesh, Probe, Quaternion, Rand, RasterState, Ray, Rect, ReferResource, ReflectionParser, RefractionMode, RenderBufferDepthFormat, RenderFace, RenderQueue, RenderQueueFlags, RenderQueueType, RenderState, RenderStateElementKey, RenderTarget, RenderTargetBlendState, Renderer, RendererUpdateFlags, RenderingStatistics, ReplacementFailureStrategy, ResourceManager, ReturnableObjectPool, RotationOverLifetimeModule, SafeLoopArray, Scene, SceneManager, SceneParser, Script, SetDataOptions, Shader, ShaderData, ShaderDataGroup, ShaderFactory, ShaderLanguage, ShaderLib, ShaderMacro, ShaderMacroCollection, ShaderPass, ShaderProperty, ShaderPropertyType, ShaderTagKey, ShadowCascadesMode, ShadowResolution, ShadowType, SimpleSpriteAssembler, SizeOverLifetimeModule, Skin, SkinnedMeshRenderer, Sky, SkyBoxMaterial, SkyProceduralMaterial, SlicedSpriteAssembler, SpecularMode, SphereColliderShape, SphereShape, SphericalHarmonics3, SpotLight, SpringJoint, Sprite, SpriteAtlas, SpriteDrawMode, SpriteMask, SpriteMaskInteraction, SpriteMaskLayer, SpriteModifyFlags, SpriteRenderer, SpriteTileMode, StateMachineScript, StaticCollider, StencilOperation, StencilState, SubFont, SubMesh, SubPrimitive, SubShader, SunMode, SystemInfo, TextAsset, TextHorizontalAlignment, TextRenderer, TextUtils, TextVerticalAlignment, Texture, Texture2D, Texture2DArray, Texture2DDecoder, TextureCoordinate, TextureCube, TextureCubeFace, TextureDepthCompareFunction, TextureFilterMode, TextureFormat, TextureSheetAnimationModule, TextureUsage, TextureUtils, TextureWrapMode$1 as TextureWrapMode, TiledSpriteAssembler, Time, TonemappingEffect, TonemappingMode, TrailMaterial, TrailRenderer, TrailTextureMode, Transform, TransformModifyFlags, UnlitMaterial, Utils, Vector2, Vector3, Vector4, VelocityOverLifetimeModule, VertexAttribute, VertexBufferBinding, VertexElement, VertexElementFormat, WebCanvas, WebGLEngine, WebGLGraphicDevice, WebGLMode, WrapMode, XRManager, assignmentClone, decode, decoder, decoderMap, deepClone, dependentComponents, ignoreClone, parseSingleKTX, registerGLTFExtension, registerGLTFParser, registerPointerEventEmitter, request, resourceLoader, shallowClone, version };
|
|
52761
52760
|
//# sourceMappingURL=bundled.module.js.map
|