@galacean/engine-loader 1.3.16 → 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.
@@ -933,6 +933,18 @@ exports.AnimationClipDecoder = __decorate([
933
933
  decoder("AnimationClip")
934
934
  ], exports.AnimationClipDecoder);
935
935
 
936
+ exports.MaterialLoaderType = void 0;
937
+ (function(MaterialLoaderType) {
938
+ MaterialLoaderType["Vector2"] = "Vector2";
939
+ MaterialLoaderType["Vector3"] = "Vector3";
940
+ MaterialLoaderType["Vector4"] = "Vector4";
941
+ MaterialLoaderType["Color"] = "Color";
942
+ MaterialLoaderType["Float"] = "Float";
943
+ MaterialLoaderType["Texture"] = "Texture";
944
+ MaterialLoaderType["Boolean"] = "Boolean";
945
+ MaterialLoaderType["Integer"] = "Integer";
946
+ })(exports.MaterialLoaderType || (exports.MaterialLoaderType = {}));
947
+
936
948
  exports.SpecularMode = void 0;
937
949
  (function(SpecularMode) {
938
950
  SpecularMode["Sky"] = "Sky";
@@ -1318,32 +1330,6 @@ function _create_for_of_iterator_helper_loose(o, allowArrayLike) {
1318
1330
  return SceneParser;
1319
1331
  }(HierarchyParser);
1320
1332
 
1321
- exports.MeshLoader = /*#__PURE__*/ function(Loader1) {
1322
- _inherits(MeshLoader, Loader1);
1323
- function MeshLoader() {
1324
- return Loader1.apply(this, arguments);
1325
- }
1326
- var _proto = MeshLoader.prototype;
1327
- _proto.load = function load(item, resourceManager) {
1328
- var _this = this;
1329
- return new miniprogram.AssetPromise(function(resolve, reject) {
1330
- _this.request(item.url, _extends({}, item, {
1331
- type: "arraybuffer"
1332
- })).then(function(data) {
1333
- decode(data, resourceManager.engine).then(function(mesh) {
1334
- resolve(mesh);
1335
- });
1336
- }).catch(reject);
1337
- });
1338
- };
1339
- return MeshLoader;
1340
- }(miniprogram.Loader);
1341
- exports.MeshLoader = __decorate([
1342
- miniprogram.resourceLoader("Mesh", [
1343
- "prefab"
1344
- ], true)
1345
- ], exports.MeshLoader);
1346
-
1347
1333
  exports.EditorTextureLoader = /*#__PURE__*/ function(Loader1) {
1348
1334
  _inherits(EditorTextureLoader, Loader1);
1349
1335
  function EditorTextureLoader() {
@@ -1353,7 +1339,7 @@ exports.EditorTextureLoader = /*#__PURE__*/ function(Loader1) {
1353
1339
  _proto.load = function load(item, resourceManager) {
1354
1340
  var _this = this;
1355
1341
  return new miniprogram.AssetPromise(function(resolve, reject) {
1356
- _this.request(item.url, _extends({}, item, {
1342
+ _this.request(item.url, resourceManager, _extends({}, item, {
1357
1343
  type: "arraybuffer"
1358
1344
  })).then(function(data) {
1359
1345
  decode(data, resourceManager.engine).then(function(texture) {
@@ -1393,7 +1379,7 @@ var AnimationClipLoader = /*#__PURE__*/ function(Loader1) {
1393
1379
  _proto.load = function load(item, resourceManager) {
1394
1380
  var _this = this;
1395
1381
  return new miniprogram.AssetPromise(function(resolve, reject) {
1396
- _this.request(item.url, _extends({}, item, {
1382
+ _this.request(item.url, resourceManager, _extends({}, item, {
1397
1383
  type: "arraybuffer"
1398
1384
  })).then(function(data) {
1399
1385
  return decode(data, resourceManager.engine).then(function(clip) {
@@ -1445,7 +1431,7 @@ var AnimatorControllerLoader = /*#__PURE__*/ function(Loader1) {
1445
1431
  _proto.load = function load(item, resourceManager) {
1446
1432
  var _this = this;
1447
1433
  return new miniprogram.AssetPromise(function(resolve, reject) {
1448
- _this.request(item.url, _extends({}, item, {
1434
+ _this.request(item.url, resourceManager, _extends({}, item, {
1449
1435
  type: "json"
1450
1436
  })).then(function(data) {
1451
1437
  var animatorController = new miniprogram.AnimatorController(resourceManager.engine);
@@ -1550,7 +1536,7 @@ var BufferLoader = /*#__PURE__*/ function(Loader1) {
1550
1536
  return Loader1.apply(this, arguments);
1551
1537
  }
1552
1538
  var _proto = BufferLoader.prototype;
1553
- _proto.load = function load(item) {
1539
+ _proto.load = function load(item, resourceManager) {
1554
1540
  var url = item.url;
1555
1541
  if (isBase64(url)) {
1556
1542
  return new miniprogram.AssetPromise(function(resolve) {
@@ -1561,7 +1547,7 @@ var BufferLoader = /*#__PURE__*/ function(Loader1) {
1561
1547
  resolve(result.buffer);
1562
1548
  });
1563
1549
  }
1564
- return this.request(url, _extends({}, item, {
1550
+ return this.request(url, resourceManager, _extends({}, item, {
1565
1551
  type: "arraybuffer"
1566
1552
  }));
1567
1553
  };
@@ -1583,7 +1569,7 @@ var EnvLoader = /*#__PURE__*/ function(Loader1) {
1583
1569
  _proto.load = function load(item, resourceManager) {
1584
1570
  var _this = this;
1585
1571
  return new miniprogram.AssetPromise(function(resolve, reject) {
1586
- _this.request(item.url, _extends({}, item, {
1572
+ _this.request(item.url, resourceManager, _extends({}, item, {
1587
1573
  type: "arraybuffer"
1588
1574
  })).then(function(arraybuffer) {
1589
1575
  var _this;
@@ -1665,7 +1651,7 @@ var FontLoader = /*#__PURE__*/ function(Loader1) {
1665
1651
  _proto.load = function load(item, resourceManager) {
1666
1652
  var _this = this;
1667
1653
  return new miniprogram.AssetPromise(function(resolve, reject) {
1668
- _this.request(item.url, _extends({}, item, {
1654
+ _this.request(item.url, resourceManager, _extends({}, item, {
1669
1655
  type: "json"
1670
1656
  })).then(function(data) {
1671
1657
  var fontName = data.fontName, fontUrl = data.fontUrl;
@@ -3323,7 +3309,7 @@ exports.KTX2Loader = (_KTX2Loader = /*#__PURE__*/ function(Loader1) {
3323
3309
  */ _proto.load = function load(item, resourceManager) {
3324
3310
  var _this = this;
3325
3311
  return new miniprogram.AssetPromise(function(resolve, reject, setTaskCompleteProgress, setTaskDetailProgress) {
3326
- _this.request(item.url, {
3312
+ _this.request(item.url, resourceManager, {
3327
3313
  type: "arraybuffer"
3328
3314
  }).onProgress(setTaskCompleteProgress, setTaskDetailProgress).then(function(buffer) {
3329
3315
  return exports.KTX2Loader._parseBuffer(new Uint8Array(buffer), resourceManager.engine, item.params).then(function(param) {
@@ -3862,8 +3848,11 @@ exports.GLTFSchemaParser = /*#__PURE__*/ function(GLTFParser1) {
3862
3848
  var requestConfig = {
3863
3849
  type: "arraybuffer"
3864
3850
  };
3865
- return miniprogram.request(url, requestConfig).onProgress(undefined, context._onTaskDetail).then(function(buffer) {
3866
- restoreBufferRequests.push(new BufferRequestInfo(url, requestConfig));
3851
+ var _context_resourceManager__virtualPathMap_url;
3852
+ // @ts-ignore
3853
+ var remoteUrl = (_context_resourceManager__virtualPathMap_url = context.resourceManager._virtualPathMap[url]) != null ? _context_resourceManager__virtualPathMap_url : url;
3854
+ return miniprogram.request(remoteUrl, requestConfig).onProgress(undefined, context._onTaskDetail).then(function(buffer) {
3855
+ restoreBufferRequests.push(new BufferRequestInfo(remoteUrl, requestConfig));
3867
3856
  return GLTFUtils.parseGLB(context, buffer);
3868
3857
  }).then(function(result) {
3869
3858
  var _result;
@@ -4091,11 +4080,14 @@ exports.GLTFBufferParser = /*#__PURE__*/ function(GLTFParser1) {
4091
4080
  _proto._parseSingleBuffer = function _parseSingleBuffer(context, bufferInfo) {
4092
4081
  var glTFResource = context.glTFResource, contentRestorer = context.contentRestorer;
4093
4082
  var url = glTFResource.url;
4083
+ var _context_resourceManager__virtualPathMap_url;
4084
+ // @ts-ignore
4085
+ var remoteUrl = (_context_resourceManager__virtualPathMap_url = context.resourceManager._virtualPathMap[url]) != null ? _context_resourceManager__virtualPathMap_url : url;
4094
4086
  var restoreBufferRequests = contentRestorer.bufferRequests;
4095
4087
  var requestConfig = {
4096
4088
  type: "arraybuffer"
4097
4089
  };
4098
- var absoluteUrl = miniprogram.Utils.resolveAbsoluteUrl(url, bufferInfo.uri);
4090
+ var absoluteUrl = miniprogram.Utils.resolveAbsoluteUrl(remoteUrl, bufferInfo.uri);
4099
4091
  restoreBufferRequests.push(new BufferRequestInfo(absoluteUrl, requestConfig));
4100
4092
  var promise = miniprogram.request(absoluteUrl, requestConfig).onProgress(undefined, context._onTaskDetail);
4101
4093
  context._addTaskCompletePromise(promise);
@@ -5138,9 +5130,8 @@ exports.GLTFLoader = /*#__PURE__*/ function(Loader1) {
5138
5130
  return Promise.resolve();
5139
5131
  };
5140
5132
  _proto.load = function load(item, resourceManager) {
5141
- var url = item.url;
5142
5133
  var params = item.params;
5143
- var glTFResource = new GLTFResource(resourceManager.engine, url);
5134
+ var glTFResource = new GLTFResource(resourceManager.engine, item.url);
5144
5135
  var context = new GLTFParserContext(glTFResource, resourceManager, _extends({
5145
5136
  keepMeshData: false
5146
5137
  }, params));
@@ -5207,7 +5198,7 @@ var PrefabLoader = /*#__PURE__*/ function(Loader1) {
5207
5198
  var _this = this;
5208
5199
  var engine = resourceManager.engine;
5209
5200
  return new miniprogram.AssetPromise(function(resolve, reject) {
5210
- _this.request(item.url, _extends({}, item, {
5201
+ _this.request(item.url, resourceManager, _extends({}, item, {
5211
5202
  type: "json"
5212
5203
  })).then(function(data) {
5213
5204
  PrefabParser.parse(engine, item.url, data).then(resolve).catch(reject);
@@ -5235,7 +5226,7 @@ var HDRLoader = (_HDRLoader = // referenece: https://www.flipcode.com/archives/H
5235
5226
  var _this = this;
5236
5227
  return new miniprogram.AssetPromise(function(resolve, reject) {
5237
5228
  var engine = resourceManager.engine;
5238
- _this.request(item.url, _extends({}, item, {
5229
+ _this.request(item.url, resourceManager, _extends({}, item, {
5239
5230
  type: "arraybuffer"
5240
5231
  })).then(function(buffer) {
5241
5232
  var uint8Array = new Uint8Array(buffer);
@@ -5550,8 +5541,8 @@ var JSONLoader = /*#__PURE__*/ function(Loader1) {
5550
5541
  return Loader1.apply(this, arguments);
5551
5542
  }
5552
5543
  var _proto = JSONLoader.prototype;
5553
- _proto.load = function load(item) {
5554
- return this.request(item.url, _extends({}, item, {
5544
+ _proto.load = function load(item, resourceManager) {
5545
+ return this.request(item.url, resourceManager, _extends({}, item, {
5555
5546
  type: "json"
5556
5547
  }));
5557
5548
  };
@@ -5758,7 +5749,7 @@ var KTXCubeLoader = /*#__PURE__*/ function(Loader1) {
5758
5749
  var _this = this;
5759
5750
  return new miniprogram.AssetPromise(function(resolve, reject) {
5760
5751
  Promise.all(item.urls.map(function(url) {
5761
- return _this.request(url, _extends({}, item, {
5752
+ return _this.request(url, resourceManager, _extends({}, item, {
5762
5753
  type: "arraybuffer"
5763
5754
  }));
5764
5755
  })).then(function(data) {
@@ -5794,7 +5785,7 @@ var KTXLoader = /*#__PURE__*/ function(Loader1) {
5794
5785
  _proto.load = function load(item, resourceManager) {
5795
5786
  var _this = this;
5796
5787
  return new miniprogram.AssetPromise(function(resolve, reject) {
5797
- _this.request(item.url, _extends({}, item, {
5788
+ _this.request(item.url, resourceManager, _extends({}, item, {
5798
5789
  type: "arraybuffer"
5799
5790
  })).then(function(bin) {
5800
5791
  var parsedData = parseSingleKTX(bin);
@@ -5837,63 +5828,76 @@ var MaterialLoader = /*#__PURE__*/ function(Loader1) {
5837
5828
  _proto.load = function load(item, resourceManager) {
5838
5829
  var _this = this;
5839
5830
  return new miniprogram.AssetPromise(function(resolve, reject) {
5840
- _this.request(item.url, _extends({}, item, {
5831
+ _this.request(item.url, resourceManager, _extends({}, item, {
5841
5832
  type: "json"
5842
5833
  })).then(function(materialSchema) {
5843
- var _loop = function(key) {
5844
- var _shaderData_key = shaderData[key], type = _shaderData_key.type, value = _shaderData_key.value;
5845
- switch(type){
5846
- case "Vector2":
5847
- materialShaderData.setVector2(key, new miniprogram$1.Vector2(value.x, value.y));
5848
- break;
5849
- case "Vector3":
5850
- materialShaderData.setVector3(key, new miniprogram$1.Vector3(value.x, value.y, value.z));
5851
- break;
5852
- case "Vector4":
5853
- materialShaderData.setVector4(key, new miniprogram$1.Vector4(value.x, value.y, value.z, value.w));
5854
- break;
5855
- case "Color":
5856
- materialShaderData.setColor(key, new miniprogram$1.Color(value.r, value.g, value.b, value.a));
5857
- break;
5858
- case "Float":
5859
- materialShaderData.setFloat(key, value);
5860
- break;
5861
- case "Texture":
5862
- texturePromises.push(// @ts-ignore
5863
- resourceManager.getResourceByRef(value).then(function(texture) {
5864
- materialShaderData.setTexture(key, texture);
5865
- }));
5866
- break;
5867
- case "Boolean":
5868
- materialShaderData.setInt(key, value ? 1 : 0);
5869
- break;
5870
- case "Integer":
5871
- materialShaderData.setInt(key, Number(value));
5872
- break;
5873
- }
5874
- };
5875
5834
  var engine = resourceManager.engine;
5876
- var name = materialSchema.name, shader = materialSchema.shader, shaderData = materialSchema.shaderData, macros = materialSchema.macros, renderState = materialSchema.renderState;
5877
- var material = new miniprogram.Material(engine, miniprogram.Shader.find(shader));
5878
- material.name = name;
5879
- var texturePromises = new Array();
5880
- var materialShaderData = material.shaderData;
5881
- for(var key in shaderData)_loop(key);
5882
- for(var i = 0, length = macros.length; i < length; i++){
5883
- var _macros_i = macros[i], name1 = _macros_i.name, value = _macros_i.value;
5884
- if (value == undefined) {
5885
- materialShaderData.enableMacro(name1);
5886
- } else {
5887
- materialShaderData.enableMacro(name1, value);
5888
- }
5835
+ var shaderRef = materialSchema.shaderRef, shaderName = materialSchema.shader;
5836
+ if (shaderRef) {
5837
+ resolve(resourceManager// @ts-ignore
5838
+ .getResourceByRef(shaderRef).then(function(shader) {
5839
+ return _this.getMaterialByShader(materialSchema, shader, engine);
5840
+ }));
5841
+ } else {
5842
+ // compatible with 1.2-pre version material schema
5843
+ var shader = miniprogram.Shader.find(shaderName);
5844
+ resolve(_this.getMaterialByShader(materialSchema, shader, engine));
5889
5845
  }
5890
- parseProperty(material, "renderState", renderState);
5891
- return Promise.all(texturePromises).then(function() {
5892
- resolve(material);
5893
- });
5894
5846
  }).catch(reject);
5895
5847
  });
5896
5848
  };
5849
+ _proto.getMaterialByShader = function getMaterialByShader(materialSchema, shader, engine) {
5850
+ var _loop = function(key) {
5851
+ var _shaderData_key = shaderData[key], type = _shaderData_key.type, value = _shaderData_key.value;
5852
+ switch(type){
5853
+ case exports.MaterialLoaderType.Vector2:
5854
+ materialShaderData.setVector2(key, new miniprogram$1.Vector2(value.x, value.y));
5855
+ break;
5856
+ case exports.MaterialLoaderType.Vector3:
5857
+ materialShaderData.setVector3(key, new miniprogram$1.Vector3(value.x, value.y, value.z));
5858
+ break;
5859
+ case exports.MaterialLoaderType.Vector4:
5860
+ materialShaderData.setVector4(key, new miniprogram$1.Vector4(value.x, value.y, value.z, value.w));
5861
+ break;
5862
+ case exports.MaterialLoaderType.Color:
5863
+ materialShaderData.setColor(key, new miniprogram$1.Color(value.r, value.g, value.b, value.a));
5864
+ break;
5865
+ case exports.MaterialLoaderType.Float:
5866
+ materialShaderData.setFloat(key, value);
5867
+ break;
5868
+ case exports.MaterialLoaderType.Texture:
5869
+ texturePromises.push(// @ts-ignore
5870
+ engine.resourceManager.getResourceByRef(value).then(function(texture) {
5871
+ materialShaderData.setTexture(key, texture);
5872
+ }));
5873
+ break;
5874
+ case exports.MaterialLoaderType.Boolean:
5875
+ materialShaderData.setInt(key, value ? 1 : 0);
5876
+ break;
5877
+ case exports.MaterialLoaderType.Integer:
5878
+ materialShaderData.setInt(key, Number(value));
5879
+ break;
5880
+ }
5881
+ };
5882
+ var name = materialSchema.name, shaderData = materialSchema.shaderData, macros = materialSchema.macros, renderState = materialSchema.renderState;
5883
+ var material = new miniprogram.Material(engine, shader);
5884
+ material.name = name;
5885
+ var texturePromises = new Array();
5886
+ var materialShaderData = material.shaderData;
5887
+ for(var key in shaderData)_loop(key);
5888
+ for(var i = 0, length = macros.length; i < length; i++){
5889
+ var _macros_i = macros[i], name1 = _macros_i.name, value = _macros_i.value;
5890
+ if (value == undefined) {
5891
+ materialShaderData.enableMacro(name1);
5892
+ } else {
5893
+ materialShaderData.enableMacro(name1, value);
5894
+ }
5895
+ }
5896
+ parseProperty(material, "renderState", renderState);
5897
+ return Promise.all(texturePromises).then(function() {
5898
+ return material;
5899
+ });
5900
+ };
5897
5901
  return MaterialLoader;
5898
5902
  }(miniprogram.Loader);
5899
5903
  MaterialLoader = __decorate([
@@ -5902,41 +5906,15 @@ MaterialLoader = __decorate([
5902
5906
  ])
5903
5907
  ], MaterialLoader);
5904
5908
 
5905
- var MeshLoader = /*#__PURE__*/ function(Loader1) {
5906
- _inherits(MeshLoader, Loader1);
5907
- function MeshLoader() {
5908
- return Loader1.apply(this, arguments);
5909
- }
5910
- var _proto = MeshLoader.prototype;
5911
- _proto.load = function load(item, resourceManager) {
5912
- var _this = this;
5913
- return new miniprogram.AssetPromise(function(resolve, reject) {
5914
- _this.request(item.url, _extends({}, item, {
5915
- type: "arraybuffer"
5916
- })).then(function(data) {
5917
- return decode(data, resourceManager.engine);
5918
- }).then(function(mesh) {
5919
- resolve(mesh);
5920
- }).catch(reject);
5921
- });
5922
- };
5923
- return MeshLoader;
5924
- }(miniprogram.Loader);
5925
- MeshLoader = __decorate([
5926
- miniprogram.resourceLoader(miniprogram.AssetType.Mesh, [
5927
- "mesh"
5928
- ])
5929
- ], MeshLoader);
5930
-
5931
5909
  var PrimitiveMeshLoader = /*#__PURE__*/ function(Loader1) {
5932
5910
  _inherits(PrimitiveMeshLoader, Loader1);
5933
5911
  function PrimitiveMeshLoader() {
5934
5912
  return Loader1.apply(this, arguments);
5935
5913
  }
5936
5914
  var _proto = PrimitiveMeshLoader.prototype;
5937
- _proto.load = function load(item, param) {
5938
- var engine = param.engine;
5939
- return this.request(item.url, _extends({}, item, {
5915
+ _proto.load = function load(item, resourceManager) {
5916
+ var engine = resourceManager.engine;
5917
+ return this.request(item.url, resourceManager, _extends({}, item, {
5940
5918
  type: "json"
5941
5919
  })).then(function(data) {
5942
5920
  switch(data.type){
@@ -5985,7 +5963,7 @@ var ProjectLoader = /*#__PURE__*/ function(Loader1) {
5985
5963
  var _this = this;
5986
5964
  var engine = resourceManager.engine;
5987
5965
  return new miniprogram.AssetPromise(function(resolve, reject) {
5988
- _this.request(item.url, _extends({}, item, {
5966
+ _this.request(item.url, resourceManager, _extends({}, item, {
5989
5967
  type: "json"
5990
5968
  })).then(function(data) {
5991
5969
  // @ts-ignore
@@ -6017,7 +5995,9 @@ var SourceFontLoader = /*#__PURE__*/ function(Loader1) {
6017
5995
  _proto.load = function load(item, resourceManager) {
6018
5996
  var _this = this;
6019
5997
  return new miniprogram.AssetPromise(function(resolve, reject) {
6020
- var url = item.url;
5998
+ var _resourceManager__virtualPathMap_item_url;
5999
+ // @ts-ignore
6000
+ var url = (_resourceManager__virtualPathMap_item_url = resourceManager._virtualPathMap[item.url]) != null ? _resourceManager__virtualPathMap_item_url : item.url;
6021
6001
  _this._registerFont(url, url).then(function() {
6022
6002
  var font = new miniprogram.Font(resourceManager.engine, url);
6023
6003
  resolve(font);
@@ -6077,7 +6057,7 @@ var SpriteAtlasLoader = /*#__PURE__*/ function(Loader1) {
6077
6057
  chainPromises[i].cancel();
6078
6058
  }
6079
6059
  });
6080
- var configPromise = _this.request(item.url, _extends({}, item, {
6060
+ var configPromise = _this.request(item.url, resourceManager, _extends({}, item, {
6081
6061
  type: "json"
6082
6062
  }));
6083
6063
  chainPromises.push(configPromise);
@@ -6160,7 +6140,7 @@ var SpriteLoader = /*#__PURE__*/ function(Loader1) {
6160
6140
  var _proto = SpriteLoader.prototype;
6161
6141
  _proto.load = function load(item, resourceManager) {
6162
6142
  var _this = this;
6163
- return this.request(item.url, _extends({}, item, {
6143
+ return this.request(item.url, resourceManager, _extends({}, item, {
6164
6144
  type: "json"
6165
6145
  })).then(function(data) {
6166
6146
  return data.belongToAtlas ? _this._loadFromAtlas(resourceManager, data) : _this._loadFromTexture(resourceManager, data);
@@ -6238,7 +6218,7 @@ var Texture2DLoader = /*#__PURE__*/ function(Loader1) {
6238
6218
  var requestConfig = _extends({}, item, {
6239
6219
  type: "image"
6240
6220
  });
6241
- _this.request(url, requestConfig).onProgress(setTaskCompleteProgress, setTaskDetailProgress).then(function(image) {
6221
+ _this.request(url, resourceManager, requestConfig).onProgress(setTaskCompleteProgress, setTaskDetailProgress).then(function(image) {
6242
6222
  var _item_params;
6243
6223
  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;
6244
6224
  var texture = new miniprogram.Texture2D(resourceManager.engine, image.width, image.height, format, mipmap);
@@ -6316,7 +6296,7 @@ var TextureCubeLoader = /*#__PURE__*/ function(Loader1) {
6316
6296
  type: "image"
6317
6297
  });
6318
6298
  Promise.all(urls.map(function(url) {
6319
- return _this.request(url, requestConfig);
6299
+ return _this.request(url, resourceManager, requestConfig);
6320
6300
  })).then(function(images) {
6321
6301
  var _images_ = images[0], width = _images_.width, height = _images_.height;
6322
6302
  if (width !== height) {
@@ -6343,6 +6323,91 @@ TextureCubeLoader = __decorate([
6343
6323
  ])
6344
6324
  ], TextureCubeLoader);
6345
6325
 
6326
+ var _ShaderChunkLoader;
6327
+ var ShaderChunkLoader = (_ShaderChunkLoader = /*#__PURE__*/ function(Loader1) {
6328
+ _inherits(ShaderChunkLoader1, Loader1);
6329
+ function ShaderChunkLoader1() {
6330
+ return Loader1.apply(this, arguments);
6331
+ }
6332
+ var _proto = ShaderChunkLoader1.prototype;
6333
+ _proto.load = function load(item, resourceManager) {
6334
+ var url = item.url;
6335
+ return this.request(url, resourceManager, _extends({}, item, {
6336
+ type: "text"
6337
+ })).then(function(code) {
6338
+ miniprogram.ShaderFactory.registerInclude(url.substring(1), code);
6339
+ return ShaderChunkLoader._loadChunksInCode(code, url, resourceManager);
6340
+ });
6341
+ };
6342
+ /**
6343
+ * @internal
6344
+ */ ShaderChunkLoader1._loadChunksInCode = function _loadChunksInCode(code, basePath, resourceManager) {
6345
+ var shaderChunkPaths = new Array();
6346
+ var matches = code.matchAll(ShaderChunkLoader._shaderIncludeRegex);
6347
+ for(var _iterator = _create_for_of_iterator_helper_loose(matches), _step; !(_step = _iterator()).done;){
6348
+ var match = _step.value;
6349
+ var chunkPath = miniprogram.Utils.resolveAbsoluteUrl(basePath, match[1]);
6350
+ if (!miniprogram.ShaderLib[chunkPath.substring(1)]) {
6351
+ shaderChunkPaths.push(chunkPath);
6352
+ }
6353
+ }
6354
+ return Promise.all(shaderChunkPaths.map(function(chunkPath) {
6355
+ return resourceManager.load({
6356
+ type: "ShaderChunk",
6357
+ url: chunkPath
6358
+ });
6359
+ }));
6360
+ };
6361
+ return ShaderChunkLoader1;
6362
+ }(miniprogram.Loader), function() {
6363
+ _ShaderChunkLoader._shaderIncludeRegex = /\s#include\s+"([./][^\\"]+)"/gm;
6364
+ }(), _ShaderChunkLoader);
6365
+ ShaderChunkLoader = __decorate([
6366
+ miniprogram.resourceLoader("ShaderChunk", [
6367
+ "glsl"
6368
+ ])
6369
+ ], ShaderChunkLoader);
6370
+
6371
+ var _ShaderLoader;
6372
+ var ShaderLoader = (_ShaderLoader = /*#__PURE__*/ function(Loader1) {
6373
+ _inherits(ShaderLoader1, Loader1);
6374
+ function ShaderLoader1() {
6375
+ return Loader1.apply(this, arguments);
6376
+ }
6377
+ var _proto = ShaderLoader1.prototype;
6378
+ _proto.load = function load(item, resourceManager) {
6379
+ var _this = this;
6380
+ var url = item.url;
6381
+ return this.request(url, resourceManager, _extends({}, item, {
6382
+ type: "text"
6383
+ })).then(function(code) {
6384
+ var builtinShader = _this._getBuiltinShader(code);
6385
+ if (builtinShader) {
6386
+ return miniprogram.Shader.find(builtinShader);
6387
+ }
6388
+ return ShaderChunkLoader._loadChunksInCode(code, url, resourceManager).then(function() {
6389
+ var shader = miniprogram.Shader.create(code);
6390
+ // @ts-ignore
6391
+ shader._registerPath(url);
6392
+ return shader;
6393
+ });
6394
+ });
6395
+ };
6396
+ _proto._getBuiltinShader = function _getBuiltinShader(code) {
6397
+ var match = code.match(ShaderLoader._builtinRegex);
6398
+ if (match && match[1]) return match[1];
6399
+ };
6400
+ return ShaderLoader1;
6401
+ }(miniprogram.Loader), function() {
6402
+ _ShaderLoader._builtinRegex = /^\s*\/\/\s*@builtin\s+(\w+)/;
6403
+ }(), _ShaderLoader);
6404
+ ShaderLoader = __decorate([
6405
+ miniprogram.resourceLoader(miniprogram.AssetType.Shader, [
6406
+ "gs",
6407
+ "gsl"
6408
+ ])
6409
+ ], ShaderLoader);
6410
+
6346
6411
  var SceneLoader = /*#__PURE__*/ function(Loader1) {
6347
6412
  _inherits(SceneLoader, Loader1);
6348
6413
  function SceneLoader() {
@@ -6353,7 +6418,7 @@ var SceneLoader = /*#__PURE__*/ function(Loader1) {
6353
6418
  var _this = this;
6354
6419
  var engine = resourceManager.engine;
6355
6420
  return new miniprogram.AssetPromise(function(resolve, reject) {
6356
- _this.request(item.url, _extends({}, item, {
6421
+ _this.request(item.url, resourceManager, _extends({}, item, {
6357
6422
  type: "json"
6358
6423
  })).then(function(data) {
6359
6424
  return SceneParser.parse(engine, data).then(function(scene) {