@galacean/engine-loader 0.0.0-experimental-double11.6 → 0.0.0-experimental-double11.7

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.
@@ -2554,6 +2554,10 @@ function transcode(buffer, targetFormat, KTX2File) {
2554
2554
  cleanup();
2555
2555
  throw new Error("Invalid or unsupported .ktx2 file");
2556
2556
  }
2557
+ if (!ktx2File.startTranscoding()) {
2558
+ cleanup();
2559
+ throw new Error("KTX2 startTranscoding failed");
2560
+ }
2557
2561
  var width = ktx2File.getWidth();
2558
2562
  var height = ktx2File.getHeight();
2559
2563
  var layerCount = ktx2File.getLayers() || 1;
@@ -5520,32 +5524,28 @@ var SceneLoader = /*#__PURE__*/ function(Loader1) {
5520
5524
  // parse ambient light
5521
5525
  var ambient = data.scene.ambient;
5522
5526
  var useCustomAmbient = ambient.specularMode === "Custom";
5527
+ var useSH = ambient.diffuseMode === miniprogram.DiffuseMode.SphericalHarmonics;
5528
+ scene.ambientLight.diffuseIntensity = ambient.diffuseIntensity;
5529
+ scene.ambientLight.specularIntensity = ambient.specularIntensity;
5530
+ scene.ambientLight.diffuseMode = ambient.diffuseMode;
5531
+ scene.ambientLight.diffuseSolidColor.copyFrom(ambient.diffuseSolidColor);
5532
+ scene.ambientLight.specularTextureDecodeRGBM = true;
5523
5533
  if (useCustomAmbient && ambient.customAmbientLight) {
5524
- // @ts-ignore
5525
- // prettier-ignore
5526
- var customAmbientPromise = resourceManager.getResourceByRef(ambient.customAmbientLight).then(function(ambientLight) {
5527
- scene.ambientLight = ambientLight;
5528
- scene.ambientLight.diffuseIntensity = ambient.diffuseIntensity;
5529
- scene.ambientLight.specularIntensity = ambient.specularIntensity;
5530
- scene.ambientLight.diffuseMode = ambient.diffuseMode;
5531
- scene.ambientLight.diffuseSolidColor.copyFrom(ambient.diffuseSolidColor);
5532
- });
5533
- promises.push(customAmbientPromise);
5534
- } else if (!useCustomAmbient && ambient.ambientLight) {
5535
- // @ts-ignore
5536
- // prettier-ignore
5537
- var ambientLightPromise = resourceManager.getResourceByRef(ambient.ambientLight).then(function(ambientLight) {
5538
- scene.ambientLight = ambientLight;
5539
- scene.ambientLight.diffuseIntensity = ambient.diffuseIntensity;
5540
- scene.ambientLight.specularIntensity = ambient.specularIntensity;
5541
- scene.ambientLight.diffuseMode = ambient.diffuseMode;
5542
- scene.ambientLight.diffuseSolidColor.copyFrom(ambient.diffuseSolidColor);
5543
- });
5544
- promises.push(ambientLightPromise);
5545
- } else {
5546
- scene.ambientLight.diffuseIntensity = ambient.diffuseIntensity;
5547
- scene.ambientLight.specularIntensity = ambient.specularIntensity;
5548
- scene.ambientLight.diffuseSolidColor.copyFrom(ambient.diffuseSolidColor);
5534
+ promises.push(// @ts-ignore
5535
+ resourceManager.getResourceByRef(ambient.customAmbientLight).then(function(ambientLight) {
5536
+ scene.ambientLight.specularTexture = ambientLight.specularTexture;
5537
+ }));
5538
+ }
5539
+ if (ambient.ambientLight && (!useCustomAmbient || useSH)) {
5540
+ promises.push(// @ts-ignore
5541
+ resourceManager.getResourceByRef(ambient.ambientLight).then(function(ambientLight) {
5542
+ if (!useCustomAmbient) {
5543
+ scene.ambientLight.specularTexture = ambientLight.specularTexture;
5544
+ }
5545
+ if (useSH) {
5546
+ scene.ambientLight.diffuseSphericalHarmonics = ambientLight.diffuseSphericalHarmonics;
5547
+ }
5548
+ }));
5549
5549
  }
5550
5550
  var background = data.scene.background;
5551
5551
  scene.background.mode = background.mode;
@@ -5602,13 +5602,13 @@ SceneLoader = __decorate([
5602
5602
  "scene"
5603
5603
  ], true)
5604
5604
  ], SceneLoader);
5605
- ReflectionParser.registerCustomParseComponent("TextRenderer", /*#__PURE__*/ _async_to_generator(function(instance, item, engine) {
5605
+ ReflectionParser.registerCustomParseComponent("TextRenderer", /*#__PURE__*/ _async_to_generator(function(instance, item) {
5606
5606
  var props;
5607
5607
  return __generator(this, function(_state) {
5608
5608
  props = item.props;
5609
5609
  if (!props.font) {
5610
5610
  // @ts-ignore
5611
- instance.font = miniprogram.Font.createFromOS(engine, props.fontFamily || "Arial");
5611
+ instance.font = miniprogram.Font.createFromOS(instance.engine, props.fontFamily || "Arial");
5612
5612
  }
5613
5613
  return [
5614
5614
  2,
package/dist/module.js CHANGED
@@ -2549,6 +2549,10 @@ function transcode(buffer, targetFormat, KTX2File) {
2549
2549
  cleanup();
2550
2550
  throw new Error("Invalid or unsupported .ktx2 file");
2551
2551
  }
2552
+ if (!ktx2File.startTranscoding()) {
2553
+ cleanup();
2554
+ throw new Error("KTX2 startTranscoding failed");
2555
+ }
2552
2556
  var width = ktx2File.getWidth();
2553
2557
  var height = ktx2File.getHeight();
2554
2558
  var layerCount = ktx2File.getLayers() || 1;
@@ -5515,32 +5519,28 @@ var SceneLoader = /*#__PURE__*/ function(Loader1) {
5515
5519
  // parse ambient light
5516
5520
  var ambient = data.scene.ambient;
5517
5521
  var useCustomAmbient = ambient.specularMode === "Custom";
5522
+ var useSH = ambient.diffuseMode === DiffuseMode.SphericalHarmonics;
5523
+ scene.ambientLight.diffuseIntensity = ambient.diffuseIntensity;
5524
+ scene.ambientLight.specularIntensity = ambient.specularIntensity;
5525
+ scene.ambientLight.diffuseMode = ambient.diffuseMode;
5526
+ scene.ambientLight.diffuseSolidColor.copyFrom(ambient.diffuseSolidColor);
5527
+ scene.ambientLight.specularTextureDecodeRGBM = true;
5518
5528
  if (useCustomAmbient && ambient.customAmbientLight) {
5519
- // @ts-ignore
5520
- // prettier-ignore
5521
- var customAmbientPromise = resourceManager.getResourceByRef(ambient.customAmbientLight).then(function(ambientLight) {
5522
- scene.ambientLight = ambientLight;
5523
- scene.ambientLight.diffuseIntensity = ambient.diffuseIntensity;
5524
- scene.ambientLight.specularIntensity = ambient.specularIntensity;
5525
- scene.ambientLight.diffuseMode = ambient.diffuseMode;
5526
- scene.ambientLight.diffuseSolidColor.copyFrom(ambient.diffuseSolidColor);
5527
- });
5528
- promises.push(customAmbientPromise);
5529
- } else if (!useCustomAmbient && ambient.ambientLight) {
5530
- // @ts-ignore
5531
- // prettier-ignore
5532
- var ambientLightPromise = resourceManager.getResourceByRef(ambient.ambientLight).then(function(ambientLight) {
5533
- scene.ambientLight = ambientLight;
5534
- scene.ambientLight.diffuseIntensity = ambient.diffuseIntensity;
5535
- scene.ambientLight.specularIntensity = ambient.specularIntensity;
5536
- scene.ambientLight.diffuseMode = ambient.diffuseMode;
5537
- scene.ambientLight.diffuseSolidColor.copyFrom(ambient.diffuseSolidColor);
5538
- });
5539
- promises.push(ambientLightPromise);
5540
- } else {
5541
- scene.ambientLight.diffuseIntensity = ambient.diffuseIntensity;
5542
- scene.ambientLight.specularIntensity = ambient.specularIntensity;
5543
- scene.ambientLight.diffuseSolidColor.copyFrom(ambient.diffuseSolidColor);
5529
+ promises.push(// @ts-ignore
5530
+ resourceManager.getResourceByRef(ambient.customAmbientLight).then(function(ambientLight) {
5531
+ scene.ambientLight.specularTexture = ambientLight.specularTexture;
5532
+ }));
5533
+ }
5534
+ if (ambient.ambientLight && (!useCustomAmbient || useSH)) {
5535
+ promises.push(// @ts-ignore
5536
+ resourceManager.getResourceByRef(ambient.ambientLight).then(function(ambientLight) {
5537
+ if (!useCustomAmbient) {
5538
+ scene.ambientLight.specularTexture = ambientLight.specularTexture;
5539
+ }
5540
+ if (useSH) {
5541
+ scene.ambientLight.diffuseSphericalHarmonics = ambientLight.diffuseSphericalHarmonics;
5542
+ }
5543
+ }));
5544
5544
  }
5545
5545
  var background = data.scene.background;
5546
5546
  scene.background.mode = background.mode;
@@ -5597,13 +5597,13 @@ SceneLoader = __decorate([
5597
5597
  "scene"
5598
5598
  ], true)
5599
5599
  ], SceneLoader);
5600
- ReflectionParser.registerCustomParseComponent("TextRenderer", /*#__PURE__*/ _async_to_generator(function(instance, item, engine) {
5600
+ ReflectionParser.registerCustomParseComponent("TextRenderer", /*#__PURE__*/ _async_to_generator(function(instance, item) {
5601
5601
  var props;
5602
5602
  return __generator(this, function(_state) {
5603
5603
  props = item.props;
5604
5604
  if (!props.font) {
5605
5605
  // @ts-ignore
5606
- instance.font = Font.createFromOS(engine, props.fontFamily || "Arial");
5606
+ instance.font = Font.createFromOS(instance.engine, props.fontFamily || "Arial");
5607
5607
  }
5608
5608
  return [
5609
5609
  2,