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

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/main.js CHANGED
@@ -2441,6 +2441,28 @@ var AbstractTranscoder = /*#__PURE__*/ function() {
2441
2441
  /** @internal */ function TranscodeWorkerCode$1() {
2442
2442
  self.onmessage = function onmessage(event) {
2443
2443
  var message = event.data;
2444
+ var _init = function _init() {
2445
+ var initPromise;
2446
+ return function(wasmBinary) {
2447
+ if (!initPromise) {
2448
+ initPromise = new Promise(function(resolve, reject) {
2449
+ var BasisModule = {
2450
+ wasmBinary: wasmBinary,
2451
+ onRuntimeInitialized: function() {
2452
+ return resolve(BasisModule);
2453
+ },
2454
+ onAbort: reject
2455
+ };
2456
+ self["BASIS"](BasisModule);
2457
+ }).then(function(BasisModule) {
2458
+ BasisModule.initializeBasis();
2459
+ return BasisModule.KTX2File;
2460
+ });
2461
+ }
2462
+ return initPromise;
2463
+ };
2464
+ };
2465
+ var init = _init();
2444
2466
  switch(message.type){
2445
2467
  case "init":
2446
2468
  init(message.transcoderWasm).then(function() {
@@ -2553,6 +2575,10 @@ function transcode(buffer, targetFormat, KTX2File) {
2553
2575
  cleanup();
2554
2576
  throw new Error("Invalid or unsupported .ktx2 file");
2555
2577
  }
2578
+ if (!ktx2File.startTranscoding()) {
2579
+ cleanup();
2580
+ throw new Error("KTX2 startTranscoding failed");
2581
+ }
2556
2582
  var width = ktx2File.getWidth();
2557
2583
  var height = ktx2File.getHeight();
2558
2584
  var layerCount = ktx2File.getLayers() || 1;
@@ -5519,32 +5545,28 @@ var SceneLoader = /*#__PURE__*/ function(Loader1) {
5519
5545
  // parse ambient light
5520
5546
  var ambient = data.scene.ambient;
5521
5547
  var useCustomAmbient = ambient.specularMode === "Custom";
5548
+ var useSH = ambient.diffuseMode === engineCore.DiffuseMode.SphericalHarmonics;
5549
+ scene.ambientLight.diffuseIntensity = ambient.diffuseIntensity;
5550
+ scene.ambientLight.specularIntensity = ambient.specularIntensity;
5551
+ scene.ambientLight.diffuseMode = ambient.diffuseMode;
5552
+ scene.ambientLight.diffuseSolidColor.copyFrom(ambient.diffuseSolidColor);
5553
+ scene.ambientLight.specularTextureDecodeRGBM = true;
5522
5554
  if (useCustomAmbient && ambient.customAmbientLight) {
5523
- // @ts-ignore
5524
- // prettier-ignore
5525
- var customAmbientPromise = resourceManager.getResourceByRef(ambient.customAmbientLight).then(function(ambientLight) {
5526
- scene.ambientLight = ambientLight;
5527
- scene.ambientLight.diffuseIntensity = ambient.diffuseIntensity;
5528
- scene.ambientLight.specularIntensity = ambient.specularIntensity;
5529
- scene.ambientLight.diffuseMode = ambient.diffuseMode;
5530
- scene.ambientLight.diffuseSolidColor.copyFrom(ambient.diffuseSolidColor);
5531
- });
5532
- promises.push(customAmbientPromise);
5533
- } else if (!useCustomAmbient && ambient.ambientLight) {
5534
- // @ts-ignore
5535
- // prettier-ignore
5536
- var ambientLightPromise = resourceManager.getResourceByRef(ambient.ambientLight).then(function(ambientLight) {
5537
- scene.ambientLight = ambientLight;
5538
- scene.ambientLight.diffuseIntensity = ambient.diffuseIntensity;
5539
- scene.ambientLight.specularIntensity = ambient.specularIntensity;
5540
- scene.ambientLight.diffuseMode = ambient.diffuseMode;
5541
- scene.ambientLight.diffuseSolidColor.copyFrom(ambient.diffuseSolidColor);
5542
- });
5543
- promises.push(ambientLightPromise);
5544
- } else {
5545
- scene.ambientLight.diffuseIntensity = ambient.diffuseIntensity;
5546
- scene.ambientLight.specularIntensity = ambient.specularIntensity;
5547
- scene.ambientLight.diffuseSolidColor.copyFrom(ambient.diffuseSolidColor);
5555
+ promises.push(// @ts-ignore
5556
+ resourceManager.getResourceByRef(ambient.customAmbientLight).then(function(ambientLight) {
5557
+ scene.ambientLight.specularTexture = ambientLight.specularTexture;
5558
+ }));
5559
+ }
5560
+ if (ambient.ambientLight && (!useCustomAmbient || useSH)) {
5561
+ promises.push(// @ts-ignore
5562
+ resourceManager.getResourceByRef(ambient.ambientLight).then(function(ambientLight) {
5563
+ if (!useCustomAmbient) {
5564
+ scene.ambientLight.specularTexture = ambientLight.specularTexture;
5565
+ }
5566
+ if (useSH) {
5567
+ scene.ambientLight.diffuseSphericalHarmonics = ambientLight.diffuseSphericalHarmonics;
5568
+ }
5569
+ }));
5548
5570
  }
5549
5571
  var background = data.scene.background;
5550
5572
  scene.background.mode = background.mode;
@@ -5601,13 +5623,13 @@ SceneLoader = __decorate([
5601
5623
  "scene"
5602
5624
  ], true)
5603
5625
  ], SceneLoader);
5604
- ReflectionParser.registerCustomParseComponent("TextRenderer", /*#__PURE__*/ _async_to_generator(function(instance, item, engine) {
5626
+ ReflectionParser.registerCustomParseComponent("TextRenderer", /*#__PURE__*/ _async_to_generator(function(instance, item) {
5605
5627
  var props;
5606
5628
  return __generator(this, function(_state) {
5607
5629
  props = item.props;
5608
5630
  if (!props.font) {
5609
5631
  // @ts-ignore
5610
- instance.font = engineCore.Font.createFromOS(engine, props.fontFamily || "Arial");
5632
+ instance.font = engineCore.Font.createFromOS(instance.engine, props.fontFamily || "Arial");
5611
5633
  }
5612
5634
  return [
5613
5635
  2,