@galacean/engine-loader 1.3.15 → 1.3.17

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/module.js CHANGED
@@ -1,4 +1,4 @@
1
- import { Utils, ModelMesh, BlendShape, Texture2D, Loader, Entity, AnimationClip, AnimationEvent, AnimationStringCurve, Keyframe, AnimationBoolCurve, AnimationRefCurve, AnimationQuaternionCurve, AnimationColorCurve, AnimationVector4Curve, AnimationVector3Curve, AnimationVector2Curve, AnimationFloatArrayCurve, AnimationArrayCurve, AnimationFloatCurve, ReferResource, Scene, resourceLoader, AssetPromise, AssetType, AnimatorController, AnimatorControllerLayer, AnimatorStateTransition, TextureCube, TextureFilterMode, TextureCubeFace, AmbientLight, DiffuseMode, Font, Animator, IndexFormat, VertexElementFormat, GLCapabilityType, Logger, TextureFormat, request, ContentRestorer, InterpolationType, SkinnedMeshRenderer, Transform, PBRMaterial, BlinnPhongMaterial, PBRSpecularMaterial, TextureCoordinate, RenderFace, VertexElement, Buffer, BufferBindFlag, BufferUsage, Camera, MeshRenderer, Skin, TextureWrapMode as TextureWrapMode$1, AnimatorStateMachine, SystemInfo, Material, Shader, PrimitiveMesh, SpriteAtlas, Sprite, BackgroundMode, DirectLight, PointLight, SpotLight, UnlitMaterial } from '@galacean/engine-core';
1
+ import { Utils, ModelMesh, BlendShape, Texture2D, Loader, Entity, AnimationClip, AnimationEvent, AnimationStringCurve, Keyframe, AnimationBoolCurve, AnimationRefCurve, AnimationQuaternionCurve, AnimationColorCurve, AnimationVector4Curve, AnimationVector3Curve, AnimationVector2Curve, AnimationFloatArrayCurve, AnimationArrayCurve, AnimationFloatCurve, ReferResource, Scene, resourceLoader, AssetPromise, AssetType, AnimatorController, AnimatorControllerLayer, AnimatorStateTransition, TextureCube, TextureFilterMode, TextureCubeFace, AmbientLight, DiffuseMode, Font, Animator, IndexFormat, VertexElementFormat, GLCapabilityType, Logger, TextureFormat, request, ContentRestorer, InterpolationType, SkinnedMeshRenderer, Transform, PBRMaterial, BlinnPhongMaterial, PBRSpecularMaterial, TextureCoordinate, RenderFace, VertexElement, Buffer, BufferBindFlag, BufferUsage, Camera, MeshRenderer, Skin, TextureWrapMode as TextureWrapMode$1, AnimatorStateMachine, SystemInfo, Shader, Material, PrimitiveMesh, SpriteAtlas, Sprite, ShaderFactory, ShaderLib, BackgroundMode, DirectLight, PointLight, SpotLight, UnlitMaterial } from '@galacean/engine-core';
2
2
  import { Color, Vector4, Vector3, Vector2, Quaternion, SphericalHarmonics3, MathUtil, BoundingBox, Matrix, Rect } from '@galacean/engine-math';
3
3
  import { GLCompressedTextureInternalFormat } from '@galacean/engine-rhi-webgl';
4
4
 
@@ -928,6 +928,18 @@ AnimationClipDecoder = __decorate([
928
928
  decoder("AnimationClip")
929
929
  ], AnimationClipDecoder);
930
930
 
931
+ var MaterialLoaderType;
932
+ (function(MaterialLoaderType) {
933
+ MaterialLoaderType["Vector2"] = "Vector2";
934
+ MaterialLoaderType["Vector3"] = "Vector3";
935
+ MaterialLoaderType["Vector4"] = "Vector4";
936
+ MaterialLoaderType["Color"] = "Color";
937
+ MaterialLoaderType["Float"] = "Float";
938
+ MaterialLoaderType["Texture"] = "Texture";
939
+ MaterialLoaderType["Boolean"] = "Boolean";
940
+ MaterialLoaderType["Integer"] = "Integer";
941
+ })(MaterialLoaderType || (MaterialLoaderType = {}));
942
+
931
943
  var SpecularMode;
932
944
  (function(SpecularMode) {
933
945
  SpecularMode["Sky"] = "Sky";
@@ -1313,32 +1325,6 @@ function _create_for_of_iterator_helper_loose(o, allowArrayLike) {
1313
1325
  return SceneParser;
1314
1326
  }(HierarchyParser);
1315
1327
 
1316
- var MeshLoader$1 = /*#__PURE__*/ function(Loader1) {
1317
- _inherits(MeshLoader, Loader1);
1318
- function MeshLoader() {
1319
- return Loader1.apply(this, arguments);
1320
- }
1321
- var _proto = MeshLoader.prototype;
1322
- _proto.load = function load(item, resourceManager) {
1323
- var _this = this;
1324
- return new AssetPromise(function(resolve, reject) {
1325
- _this.request(item.url, _extends({}, item, {
1326
- type: "arraybuffer"
1327
- })).then(function(data) {
1328
- decode(data, resourceManager.engine).then(function(mesh) {
1329
- resolve(mesh);
1330
- });
1331
- }).catch(reject);
1332
- });
1333
- };
1334
- return MeshLoader;
1335
- }(Loader);
1336
- MeshLoader$1 = __decorate([
1337
- resourceLoader("Mesh", [
1338
- "prefab"
1339
- ], true)
1340
- ], MeshLoader$1);
1341
-
1342
1328
  var EditorTextureLoader = /*#__PURE__*/ function(Loader1) {
1343
1329
  _inherits(EditorTextureLoader, Loader1);
1344
1330
  function EditorTextureLoader() {
@@ -1348,7 +1334,7 @@ var EditorTextureLoader = /*#__PURE__*/ function(Loader1) {
1348
1334
  _proto.load = function load(item, resourceManager) {
1349
1335
  var _this = this;
1350
1336
  return new AssetPromise(function(resolve, reject) {
1351
- _this.request(item.url, _extends({}, item, {
1337
+ _this.request(item.url, resourceManager, _extends({}, item, {
1352
1338
  type: "arraybuffer"
1353
1339
  })).then(function(data) {
1354
1340
  decode(data, resourceManager.engine).then(function(texture) {
@@ -1388,7 +1374,7 @@ var AnimationClipLoader = /*#__PURE__*/ function(Loader1) {
1388
1374
  _proto.load = function load(item, resourceManager) {
1389
1375
  var _this = this;
1390
1376
  return new AssetPromise(function(resolve, reject) {
1391
- _this.request(item.url, _extends({}, item, {
1377
+ _this.request(item.url, resourceManager, _extends({}, item, {
1392
1378
  type: "arraybuffer"
1393
1379
  })).then(function(data) {
1394
1380
  return decode(data, resourceManager.engine).then(function(clip) {
@@ -1440,7 +1426,7 @@ var AnimatorControllerLoader = /*#__PURE__*/ function(Loader1) {
1440
1426
  _proto.load = function load(item, resourceManager) {
1441
1427
  var _this = this;
1442
1428
  return new AssetPromise(function(resolve, reject) {
1443
- _this.request(item.url, _extends({}, item, {
1429
+ _this.request(item.url, resourceManager, _extends({}, item, {
1444
1430
  type: "json"
1445
1431
  })).then(function(data) {
1446
1432
  var animatorController = new AnimatorController(resourceManager.engine);
@@ -1545,7 +1531,7 @@ var BufferLoader = /*#__PURE__*/ function(Loader1) {
1545
1531
  return Loader1.apply(this, arguments);
1546
1532
  }
1547
1533
  var _proto = BufferLoader.prototype;
1548
- _proto.load = function load(item) {
1534
+ _proto.load = function load(item, resourceManager) {
1549
1535
  var url = item.url;
1550
1536
  if (isBase64(url)) {
1551
1537
  return new AssetPromise(function(resolve) {
@@ -1556,7 +1542,7 @@ var BufferLoader = /*#__PURE__*/ function(Loader1) {
1556
1542
  resolve(result.buffer);
1557
1543
  });
1558
1544
  }
1559
- return this.request(url, _extends({}, item, {
1545
+ return this.request(url, resourceManager, _extends({}, item, {
1560
1546
  type: "arraybuffer"
1561
1547
  }));
1562
1548
  };
@@ -1578,7 +1564,7 @@ var EnvLoader = /*#__PURE__*/ function(Loader1) {
1578
1564
  _proto.load = function load(item, resourceManager) {
1579
1565
  var _this = this;
1580
1566
  return new AssetPromise(function(resolve, reject) {
1581
- _this.request(item.url, _extends({}, item, {
1567
+ _this.request(item.url, resourceManager, _extends({}, item, {
1582
1568
  type: "arraybuffer"
1583
1569
  })).then(function(arraybuffer) {
1584
1570
  var _this;
@@ -1660,7 +1646,7 @@ var FontLoader = /*#__PURE__*/ function(Loader1) {
1660
1646
  _proto.load = function load(item, resourceManager) {
1661
1647
  var _this = this;
1662
1648
  return new AssetPromise(function(resolve, reject) {
1663
- _this.request(item.url, _extends({}, item, {
1649
+ _this.request(item.url, resourceManager, _extends({}, item, {
1664
1650
  type: "json"
1665
1651
  })).then(function(data) {
1666
1652
  var fontName = data.fontName, fontUrl = data.fontUrl;
@@ -3318,7 +3304,7 @@ var KTX2Loader = (_KTX2Loader = /*#__PURE__*/ function(Loader1) {
3318
3304
  */ _proto.load = function load(item, resourceManager) {
3319
3305
  var _this = this;
3320
3306
  return new AssetPromise(function(resolve, reject, setTaskCompleteProgress, setTaskDetailProgress) {
3321
- _this.request(item.url, {
3307
+ _this.request(item.url, resourceManager, {
3322
3308
  type: "arraybuffer"
3323
3309
  }).onProgress(setTaskCompleteProgress, setTaskDetailProgress).then(function(buffer) {
3324
3310
  return KTX2Loader._parseBuffer(new Uint8Array(buffer), resourceManager.engine, item.params).then(function(param) {
@@ -3857,8 +3843,11 @@ var GLTFSchemaParser = /*#__PURE__*/ function(GLTFParser1) {
3857
3843
  var requestConfig = {
3858
3844
  type: "arraybuffer"
3859
3845
  };
3860
- return request(url, requestConfig).onProgress(undefined, context._onTaskDetail).then(function(buffer) {
3861
- restoreBufferRequests.push(new BufferRequestInfo(url, requestConfig));
3846
+ var _context_resourceManager__virtualPathMap_url;
3847
+ // @ts-ignore
3848
+ var remoteUrl = (_context_resourceManager__virtualPathMap_url = context.resourceManager._virtualPathMap[url]) != null ? _context_resourceManager__virtualPathMap_url : url;
3849
+ return request(remoteUrl, requestConfig).onProgress(undefined, context._onTaskDetail).then(function(buffer) {
3850
+ restoreBufferRequests.push(new BufferRequestInfo(remoteUrl, requestConfig));
3862
3851
  return GLTFUtils.parseGLB(context, buffer);
3863
3852
  }).then(function(result) {
3864
3853
  var _result;
@@ -4086,11 +4075,14 @@ var GLTFBufferParser = /*#__PURE__*/ function(GLTFParser1) {
4086
4075
  _proto._parseSingleBuffer = function _parseSingleBuffer(context, bufferInfo) {
4087
4076
  var glTFResource = context.glTFResource, contentRestorer = context.contentRestorer;
4088
4077
  var url = glTFResource.url;
4078
+ var _context_resourceManager__virtualPathMap_url;
4079
+ // @ts-ignore
4080
+ var remoteUrl = (_context_resourceManager__virtualPathMap_url = context.resourceManager._virtualPathMap[url]) != null ? _context_resourceManager__virtualPathMap_url : url;
4089
4081
  var restoreBufferRequests = contentRestorer.bufferRequests;
4090
4082
  var requestConfig = {
4091
4083
  type: "arraybuffer"
4092
4084
  };
4093
- var absoluteUrl = Utils.resolveAbsoluteUrl(url, bufferInfo.uri);
4085
+ var absoluteUrl = Utils.resolveAbsoluteUrl(remoteUrl, bufferInfo.uri);
4094
4086
  restoreBufferRequests.push(new BufferRequestInfo(absoluteUrl, requestConfig));
4095
4087
  var promise = request(absoluteUrl, requestConfig).onProgress(undefined, context._onTaskDetail);
4096
4088
  context._addTaskCompletePromise(promise);
@@ -5134,9 +5126,8 @@ var GLTFLoader = /*#__PURE__*/ function(Loader1) {
5134
5126
  return Promise.resolve();
5135
5127
  };
5136
5128
  _proto.load = function load(item, resourceManager) {
5137
- var url = item.url;
5138
5129
  var params = item.params;
5139
- var glTFResource = new GLTFResource(resourceManager.engine, url);
5130
+ var glTFResource = new GLTFResource(resourceManager.engine, item.url);
5140
5131
  var context = new GLTFParserContext(glTFResource, resourceManager, _extends({
5141
5132
  keepMeshData: false
5142
5133
  }, params));
@@ -5203,7 +5194,7 @@ var PrefabLoader = /*#__PURE__*/ function(Loader1) {
5203
5194
  var _this = this;
5204
5195
  var engine = resourceManager.engine;
5205
5196
  return new AssetPromise(function(resolve, reject) {
5206
- _this.request(item.url, _extends({}, item, {
5197
+ _this.request(item.url, resourceManager, _extends({}, item, {
5207
5198
  type: "json"
5208
5199
  })).then(function(data) {
5209
5200
  PrefabParser.parse(engine, item.url, data).then(resolve).catch(reject);
@@ -5231,7 +5222,7 @@ var HDRLoader = (_HDRLoader = // referenece: https://www.flipcode.com/archives/H
5231
5222
  var _this = this;
5232
5223
  return new AssetPromise(function(resolve, reject) {
5233
5224
  var engine = resourceManager.engine;
5234
- _this.request(item.url, _extends({}, item, {
5225
+ _this.request(item.url, resourceManager, _extends({}, item, {
5235
5226
  type: "arraybuffer"
5236
5227
  })).then(function(buffer) {
5237
5228
  var uint8Array = new Uint8Array(buffer);
@@ -5546,8 +5537,8 @@ var JSONLoader = /*#__PURE__*/ function(Loader1) {
5546
5537
  return Loader1.apply(this, arguments);
5547
5538
  }
5548
5539
  var _proto = JSONLoader.prototype;
5549
- _proto.load = function load(item) {
5550
- return this.request(item.url, _extends({}, item, {
5540
+ _proto.load = function load(item, resourceManager) {
5541
+ return this.request(item.url, resourceManager, _extends({}, item, {
5551
5542
  type: "json"
5552
5543
  }));
5553
5544
  };
@@ -5754,7 +5745,7 @@ var KTXCubeLoader = /*#__PURE__*/ function(Loader1) {
5754
5745
  var _this = this;
5755
5746
  return new AssetPromise(function(resolve, reject) {
5756
5747
  Promise.all(item.urls.map(function(url) {
5757
- return _this.request(url, _extends({}, item, {
5748
+ return _this.request(url, resourceManager, _extends({}, item, {
5758
5749
  type: "arraybuffer"
5759
5750
  }));
5760
5751
  })).then(function(data) {
@@ -5790,7 +5781,7 @@ var KTXLoader = /*#__PURE__*/ function(Loader1) {
5790
5781
  _proto.load = function load(item, resourceManager) {
5791
5782
  var _this = this;
5792
5783
  return new AssetPromise(function(resolve, reject) {
5793
- _this.request(item.url, _extends({}, item, {
5784
+ _this.request(item.url, resourceManager, _extends({}, item, {
5794
5785
  type: "arraybuffer"
5795
5786
  })).then(function(bin) {
5796
5787
  var parsedData = parseSingleKTX(bin);
@@ -5833,63 +5824,76 @@ var MaterialLoader = /*#__PURE__*/ function(Loader1) {
5833
5824
  _proto.load = function load(item, resourceManager) {
5834
5825
  var _this = this;
5835
5826
  return new AssetPromise(function(resolve, reject) {
5836
- _this.request(item.url, _extends({}, item, {
5827
+ _this.request(item.url, resourceManager, _extends({}, item, {
5837
5828
  type: "json"
5838
5829
  })).then(function(materialSchema) {
5839
- var _loop = function(key) {
5840
- var _shaderData_key = shaderData[key], type = _shaderData_key.type, value = _shaderData_key.value;
5841
- switch(type){
5842
- case "Vector2":
5843
- materialShaderData.setVector2(key, new Vector2(value.x, value.y));
5844
- break;
5845
- case "Vector3":
5846
- materialShaderData.setVector3(key, new Vector3(value.x, value.y, value.z));
5847
- break;
5848
- case "Vector4":
5849
- materialShaderData.setVector4(key, new Vector4(value.x, value.y, value.z, value.w));
5850
- break;
5851
- case "Color":
5852
- materialShaderData.setColor(key, new Color(value.r, value.g, value.b, value.a));
5853
- break;
5854
- case "Float":
5855
- materialShaderData.setFloat(key, value);
5856
- break;
5857
- case "Texture":
5858
- texturePromises.push(// @ts-ignore
5859
- resourceManager.getResourceByRef(value).then(function(texture) {
5860
- materialShaderData.setTexture(key, texture);
5861
- }));
5862
- break;
5863
- case "Boolean":
5864
- materialShaderData.setInt(key, value ? 1 : 0);
5865
- break;
5866
- case "Integer":
5867
- materialShaderData.setInt(key, Number(value));
5868
- break;
5869
- }
5870
- };
5871
5830
  var engine = resourceManager.engine;
5872
- var name = materialSchema.name, shader = materialSchema.shader, shaderData = materialSchema.shaderData, macros = materialSchema.macros, renderState = materialSchema.renderState;
5873
- var material = new Material(engine, Shader.find(shader));
5874
- material.name = name;
5875
- var texturePromises = new Array();
5876
- var materialShaderData = material.shaderData;
5877
- for(var key in shaderData)_loop(key);
5878
- for(var i = 0, length = macros.length; i < length; i++){
5879
- var _macros_i = macros[i], name1 = _macros_i.name, value = _macros_i.value;
5880
- if (value == undefined) {
5881
- materialShaderData.enableMacro(name1);
5882
- } else {
5883
- materialShaderData.enableMacro(name1, value);
5884
- }
5831
+ var shaderRef = materialSchema.shaderRef, shaderName = materialSchema.shader;
5832
+ if (shaderRef) {
5833
+ resolve(resourceManager// @ts-ignore
5834
+ .getResourceByRef(shaderRef).then(function(shader) {
5835
+ return _this.getMaterialByShader(materialSchema, shader, engine);
5836
+ }));
5837
+ } else {
5838
+ // compatible with 1.2-pre version material schema
5839
+ var shader = Shader.find(shaderName);
5840
+ resolve(_this.getMaterialByShader(materialSchema, shader, engine));
5885
5841
  }
5886
- parseProperty(material, "renderState", renderState);
5887
- return Promise.all(texturePromises).then(function() {
5888
- resolve(material);
5889
- });
5890
5842
  }).catch(reject);
5891
5843
  });
5892
5844
  };
5845
+ _proto.getMaterialByShader = function getMaterialByShader(materialSchema, shader, engine) {
5846
+ var _loop = function(key) {
5847
+ var _shaderData_key = shaderData[key], type = _shaderData_key.type, value = _shaderData_key.value;
5848
+ switch(type){
5849
+ case MaterialLoaderType.Vector2:
5850
+ materialShaderData.setVector2(key, new Vector2(value.x, value.y));
5851
+ break;
5852
+ case MaterialLoaderType.Vector3:
5853
+ materialShaderData.setVector3(key, new Vector3(value.x, value.y, value.z));
5854
+ break;
5855
+ case MaterialLoaderType.Vector4:
5856
+ materialShaderData.setVector4(key, new Vector4(value.x, value.y, value.z, value.w));
5857
+ break;
5858
+ case MaterialLoaderType.Color:
5859
+ materialShaderData.setColor(key, new Color(value.r, value.g, value.b, value.a));
5860
+ break;
5861
+ case MaterialLoaderType.Float:
5862
+ materialShaderData.setFloat(key, value);
5863
+ break;
5864
+ case MaterialLoaderType.Texture:
5865
+ texturePromises.push(// @ts-ignore
5866
+ engine.resourceManager.getResourceByRef(value).then(function(texture) {
5867
+ materialShaderData.setTexture(key, texture);
5868
+ }));
5869
+ break;
5870
+ case MaterialLoaderType.Boolean:
5871
+ materialShaderData.setInt(key, value ? 1 : 0);
5872
+ break;
5873
+ case MaterialLoaderType.Integer:
5874
+ materialShaderData.setInt(key, Number(value));
5875
+ break;
5876
+ }
5877
+ };
5878
+ var name = materialSchema.name, shaderData = materialSchema.shaderData, macros = materialSchema.macros, renderState = materialSchema.renderState;
5879
+ var material = new Material(engine, shader);
5880
+ material.name = name;
5881
+ var texturePromises = new Array();
5882
+ var materialShaderData = material.shaderData;
5883
+ for(var key in shaderData)_loop(key);
5884
+ for(var i = 0, length = macros.length; i < length; i++){
5885
+ var _macros_i = macros[i], name1 = _macros_i.name, value = _macros_i.value;
5886
+ if (value == undefined) {
5887
+ materialShaderData.enableMacro(name1);
5888
+ } else {
5889
+ materialShaderData.enableMacro(name1, value);
5890
+ }
5891
+ }
5892
+ parseProperty(material, "renderState", renderState);
5893
+ return Promise.all(texturePromises).then(function() {
5894
+ return material;
5895
+ });
5896
+ };
5893
5897
  return MaterialLoader;
5894
5898
  }(Loader);
5895
5899
  MaterialLoader = __decorate([
@@ -5898,41 +5902,15 @@ MaterialLoader = __decorate([
5898
5902
  ])
5899
5903
  ], MaterialLoader);
5900
5904
 
5901
- var MeshLoader = /*#__PURE__*/ function(Loader1) {
5902
- _inherits(MeshLoader, Loader1);
5903
- function MeshLoader() {
5904
- return Loader1.apply(this, arguments);
5905
- }
5906
- var _proto = MeshLoader.prototype;
5907
- _proto.load = function load(item, resourceManager) {
5908
- var _this = this;
5909
- return new AssetPromise(function(resolve, reject) {
5910
- _this.request(item.url, _extends({}, item, {
5911
- type: "arraybuffer"
5912
- })).then(function(data) {
5913
- return decode(data, resourceManager.engine);
5914
- }).then(function(mesh) {
5915
- resolve(mesh);
5916
- }).catch(reject);
5917
- });
5918
- };
5919
- return MeshLoader;
5920
- }(Loader);
5921
- MeshLoader = __decorate([
5922
- resourceLoader(AssetType.Mesh, [
5923
- "mesh"
5924
- ])
5925
- ], MeshLoader);
5926
-
5927
5905
  var PrimitiveMeshLoader = /*#__PURE__*/ function(Loader1) {
5928
5906
  _inherits(PrimitiveMeshLoader, Loader1);
5929
5907
  function PrimitiveMeshLoader() {
5930
5908
  return Loader1.apply(this, arguments);
5931
5909
  }
5932
5910
  var _proto = PrimitiveMeshLoader.prototype;
5933
- _proto.load = function load(item, param) {
5934
- var engine = param.engine;
5935
- return this.request(item.url, _extends({}, item, {
5911
+ _proto.load = function load(item, resourceManager) {
5912
+ var engine = resourceManager.engine;
5913
+ return this.request(item.url, resourceManager, _extends({}, item, {
5936
5914
  type: "json"
5937
5915
  })).then(function(data) {
5938
5916
  switch(data.type){
@@ -5981,7 +5959,7 @@ var ProjectLoader = /*#__PURE__*/ function(Loader1) {
5981
5959
  var _this = this;
5982
5960
  var engine = resourceManager.engine;
5983
5961
  return new AssetPromise(function(resolve, reject) {
5984
- _this.request(item.url, _extends({}, item, {
5962
+ _this.request(item.url, resourceManager, _extends({}, item, {
5985
5963
  type: "json"
5986
5964
  })).then(function(data) {
5987
5965
  // @ts-ignore
@@ -6013,7 +5991,9 @@ var SourceFontLoader = /*#__PURE__*/ function(Loader1) {
6013
5991
  _proto.load = function load(item, resourceManager) {
6014
5992
  var _this = this;
6015
5993
  return new AssetPromise(function(resolve, reject) {
6016
- var url = item.url;
5994
+ var _resourceManager__virtualPathMap_item_url;
5995
+ // @ts-ignore
5996
+ var url = (_resourceManager__virtualPathMap_item_url = resourceManager._virtualPathMap[item.url]) != null ? _resourceManager__virtualPathMap_item_url : item.url;
6017
5997
  _this._registerFont(url, url).then(function() {
6018
5998
  var font = new Font(resourceManager.engine, url);
6019
5999
  resolve(font);
@@ -6073,7 +6053,7 @@ var SpriteAtlasLoader = /*#__PURE__*/ function(Loader1) {
6073
6053
  chainPromises[i].cancel();
6074
6054
  }
6075
6055
  });
6076
- var configPromise = _this.request(item.url, _extends({}, item, {
6056
+ var configPromise = _this.request(item.url, resourceManager, _extends({}, item, {
6077
6057
  type: "json"
6078
6058
  }));
6079
6059
  chainPromises.push(configPromise);
@@ -6156,7 +6136,7 @@ var SpriteLoader = /*#__PURE__*/ function(Loader1) {
6156
6136
  var _proto = SpriteLoader.prototype;
6157
6137
  _proto.load = function load(item, resourceManager) {
6158
6138
  var _this = this;
6159
- return this.request(item.url, _extends({}, item, {
6139
+ return this.request(item.url, resourceManager, _extends({}, item, {
6160
6140
  type: "json"
6161
6141
  })).then(function(data) {
6162
6142
  return data.belongToAtlas ? _this._loadFromAtlas(resourceManager, data) : _this._loadFromTexture(resourceManager, data);
@@ -6234,7 +6214,7 @@ var Texture2DLoader = /*#__PURE__*/ function(Loader1) {
6234
6214
  var requestConfig = _extends({}, item, {
6235
6215
  type: "image"
6236
6216
  });
6237
- _this.request(url, requestConfig).onProgress(setTaskCompleteProgress, setTaskDetailProgress).then(function(image) {
6217
+ _this.request(url, resourceManager, requestConfig).onProgress(setTaskCompleteProgress, setTaskDetailProgress).then(function(image) {
6238
6218
  var _item_params;
6239
6219
  var _ref = (_item_params = item.params) != null ? _item_params : {}, format = _ref.format, mipmap = _ref.mipmap, anisoLevel = _ref.anisoLevel, wrapModeU = _ref.wrapModeU, wrapModeV = _ref.wrapModeV, filterMode = _ref.filterMode;
6240
6220
  var texture = new Texture2D(resourceManager.engine, image.width, image.height, format, mipmap);
@@ -6312,7 +6292,7 @@ var TextureCubeLoader = /*#__PURE__*/ function(Loader1) {
6312
6292
  type: "image"
6313
6293
  });
6314
6294
  Promise.all(urls.map(function(url) {
6315
- return _this.request(url, requestConfig);
6295
+ return _this.request(url, resourceManager, requestConfig);
6316
6296
  })).then(function(images) {
6317
6297
  var _images_ = images[0], width = _images_.width, height = _images_.height;
6318
6298
  if (width !== height) {
@@ -6339,6 +6319,91 @@ TextureCubeLoader = __decorate([
6339
6319
  ])
6340
6320
  ], TextureCubeLoader);
6341
6321
 
6322
+ var _ShaderChunkLoader;
6323
+ var ShaderChunkLoader = (_ShaderChunkLoader = /*#__PURE__*/ function(Loader1) {
6324
+ _inherits(ShaderChunkLoader1, Loader1);
6325
+ function ShaderChunkLoader1() {
6326
+ return Loader1.apply(this, arguments);
6327
+ }
6328
+ var _proto = ShaderChunkLoader1.prototype;
6329
+ _proto.load = function load(item, resourceManager) {
6330
+ var url = item.url;
6331
+ return this.request(url, resourceManager, _extends({}, item, {
6332
+ type: "text"
6333
+ })).then(function(code) {
6334
+ ShaderFactory.registerInclude(url.substring(1), code);
6335
+ return ShaderChunkLoader._loadChunksInCode(code, url, resourceManager);
6336
+ });
6337
+ };
6338
+ /**
6339
+ * @internal
6340
+ */ ShaderChunkLoader1._loadChunksInCode = function _loadChunksInCode(code, basePath, resourceManager) {
6341
+ var shaderChunkPaths = new Array();
6342
+ var matches = code.matchAll(ShaderChunkLoader._shaderIncludeRegex);
6343
+ for(var _iterator = _create_for_of_iterator_helper_loose(matches), _step; !(_step = _iterator()).done;){
6344
+ var match = _step.value;
6345
+ var chunkPath = Utils.resolveAbsoluteUrl(basePath, match[1]);
6346
+ if (!ShaderLib[chunkPath.substring(1)]) {
6347
+ shaderChunkPaths.push(chunkPath);
6348
+ }
6349
+ }
6350
+ return Promise.all(shaderChunkPaths.map(function(chunkPath) {
6351
+ return resourceManager.load({
6352
+ type: "ShaderChunk",
6353
+ url: chunkPath
6354
+ });
6355
+ }));
6356
+ };
6357
+ return ShaderChunkLoader1;
6358
+ }(Loader), function() {
6359
+ _ShaderChunkLoader._shaderIncludeRegex = /\s#include\s+"([./][^\\"]+)"/gm;
6360
+ }(), _ShaderChunkLoader);
6361
+ ShaderChunkLoader = __decorate([
6362
+ resourceLoader("ShaderChunk", [
6363
+ "glsl"
6364
+ ])
6365
+ ], ShaderChunkLoader);
6366
+
6367
+ var _ShaderLoader;
6368
+ var ShaderLoader = (_ShaderLoader = /*#__PURE__*/ function(Loader1) {
6369
+ _inherits(ShaderLoader1, Loader1);
6370
+ function ShaderLoader1() {
6371
+ return Loader1.apply(this, arguments);
6372
+ }
6373
+ var _proto = ShaderLoader1.prototype;
6374
+ _proto.load = function load(item, resourceManager) {
6375
+ var _this = this;
6376
+ var url = item.url;
6377
+ return this.request(url, resourceManager, _extends({}, item, {
6378
+ type: "text"
6379
+ })).then(function(code) {
6380
+ var builtinShader = _this._getBuiltinShader(code);
6381
+ if (builtinShader) {
6382
+ return Shader.find(builtinShader);
6383
+ }
6384
+ return ShaderChunkLoader._loadChunksInCode(code, url, resourceManager).then(function() {
6385
+ var shader = Shader.create(code);
6386
+ // @ts-ignore
6387
+ shader._registerPath(url);
6388
+ return shader;
6389
+ });
6390
+ });
6391
+ };
6392
+ _proto._getBuiltinShader = function _getBuiltinShader(code) {
6393
+ var match = code.match(ShaderLoader._builtinRegex);
6394
+ if (match && match[1]) return match[1];
6395
+ };
6396
+ return ShaderLoader1;
6397
+ }(Loader), function() {
6398
+ _ShaderLoader._builtinRegex = /^\s*\/\/\s*@builtin\s+(\w+)/;
6399
+ }(), _ShaderLoader);
6400
+ ShaderLoader = __decorate([
6401
+ resourceLoader(AssetType.Shader, [
6402
+ "gs",
6403
+ "gsl"
6404
+ ])
6405
+ ], ShaderLoader);
6406
+
6342
6407
  var SceneLoader = /*#__PURE__*/ function(Loader1) {
6343
6408
  _inherits(SceneLoader, Loader1);
6344
6409
  function SceneLoader() {
@@ -6349,7 +6414,7 @@ var SceneLoader = /*#__PURE__*/ function(Loader1) {
6349
6414
  var _this = this;
6350
6415
  var engine = resourceManager.engine;
6351
6416
  return new AssetPromise(function(resolve, reject) {
6352
- _this.request(item.url, _extends({}, item, {
6417
+ _this.request(item.url, resourceManager, _extends({}, item, {
6353
6418
  type: "json"
6354
6419
  })).then(function(data) {
6355
6420
  return SceneParser.parse(engine, data).then(function(scene) {
@@ -6913,5 +6978,5 @@ EXT_texture_webp = __decorate([
6913
6978
  registerGLTFExtension("EXT_texture_webp", GLTFExtensionMode.CreateAndParse)
6914
6979
  ], EXT_texture_webp);
6915
6980
 
6916
- export { AccessorType, AnimationClipDecoder, BufferInfo, BufferReader, EditorTextureLoader, FileHeader, GLTFAnimationParser, GLTFAnimatorControllerParser, GLTFBufferParser, GLTFBufferViewParser, GLTFEntityParser, GLTFExtensionMode, GLTFExtensionParser, GLTFLoader, GLTFMaterialParser, GLTFMeshParser, GLTFParser, GLTFParserContext, GLTFParserType, GLTFResource, GLTFSceneParser, GLTFSchemaParser, GLTFSkinParser, GLTFTextureParser, GLTFUtils, GLTFValidator, InterpolableValueType, KTX2Loader, KTX2TargetFormat, KTX2Transcoder, MeshDecoder, MeshLoader$1 as MeshLoader, ParserContext, ParserType, PrefabResource, ReflectionParser, SceneParser, SpecularMode, Texture2DDecoder, decode, decoder, decoderMap, parseSingleKTX, registerGLTFExtension, registerGLTFParser };
6981
+ export { AccessorType, AnimationClipDecoder, BufferInfo, BufferReader, EditorTextureLoader, FileHeader, GLTFAnimationParser, GLTFAnimatorControllerParser, GLTFBufferParser, GLTFBufferViewParser, GLTFEntityParser, GLTFExtensionMode, GLTFExtensionParser, GLTFLoader, GLTFMaterialParser, GLTFMeshParser, GLTFParser, GLTFParserContext, GLTFParserType, GLTFResource, GLTFSceneParser, GLTFSchemaParser, GLTFSkinParser, GLTFTextureParser, GLTFUtils, GLTFValidator, InterpolableValueType, KTX2Loader, KTX2TargetFormat, KTX2Transcoder, MaterialLoaderType, MeshDecoder, ParserContext, ParserType, PrefabResource, ReflectionParser, SceneParser, SpecularMode, Texture2DDecoder, decode, decoder, decoderMap, parseSingleKTX, registerGLTFExtension, registerGLTFParser };
6917
6982
  //# sourceMappingURL=module.js.map