@galacean/engine-core 1.4.12 → 1.4.14

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
@@ -5805,6 +5805,7 @@ var Camera = /*#__PURE__*/ function(Component) {
5805
5805
  }
5806
5806
  this._renderPipeline.render(context, cubeFace, mipLevel, ignoreClearFlags);
5807
5807
  engine._renderCount++;
5808
+ context.camera = null;
5808
5809
  };
5809
5810
  _proto.setReplacementShader = function setReplacementShader(shader, replacementTag, failureStrategy) {
5810
5811
  if (failureStrategy === void 0) failureStrategy = ReplacementFailureStrategy.KeepOriginalShader;
@@ -8415,6 +8416,28 @@ ShaderPass._shaderPassCounter = 0;
8415
8416
  */ Shader.find = function find(name) {
8416
8417
  return Shader._shaderMap[name];
8417
8418
  };
8419
+ /**
8420
+ * @internal
8421
+ */ Shader._clear = function _clear(engine) {
8422
+ var shaderMap = Shader._shaderMap;
8423
+ for(var key in shaderMap){
8424
+ var shader = shaderMap[key];
8425
+ var subShaders = shader._subShaders;
8426
+ for(var i = 0, n = subShaders.length; i < n; i++){
8427
+ var passes = subShaders[i].passes;
8428
+ for(var j = 0, m = passes.length; j < m; j++){
8429
+ var pass = passes[j];
8430
+ var passShaderProgramPools = pass._shaderProgramPools;
8431
+ for(var k = passShaderProgramPools.length - 1; k >= 0; k--){
8432
+ var shaderProgramPool = passShaderProgramPools[k];
8433
+ if (shaderProgramPool.engine !== engine) continue;
8434
+ shaderProgramPool._destroy();
8435
+ passShaderProgramPools.splice(k, 1);
8436
+ }
8437
+ }
8438
+ }
8439
+ }
8440
+ };
8418
8441
  Shader._applyConstRenderStates = function _applyConstRenderStates(renderState, key, value) {
8419
8442
  switch(key){
8420
8443
  case RenderStateElementKey.BlendStateEnabled0:
@@ -8865,6 +8888,7 @@ BatchUtils._disableBatchTag = ShaderTagKey.getByName("spriteDisableBatching");
8865
8888
  program.uploadUnGroupTextures();
8866
8889
  (pass._renderState || blitMaterial.renderState)._applyStates(engine, false, pass._renderStateDataMap, blitMaterial.shaderData);
8867
8890
  rhi.drawPrimitive(blitMesh._primitive, blitMesh.subMesh, program);
8891
+ rendererShaderData.setTexture(Blitter._blitTextureProperty, null);
8868
8892
  };
8869
8893
  return Blitter;
8870
8894
  }();
@@ -10874,7 +10898,6 @@ __decorate([
10874
10898
  * @internal
10875
10899
  */ _proto._cloneTo = function _cloneTo(target, srcRoot, targetRoot) {
10876
10900
  Renderer.prototype._cloneTo.call(this, target, srcRoot, targetRoot);
10877
- target._assembler.resetData(target);
10878
10901
  target.sprite = this._sprite;
10879
10902
  target.drawMode = this._drawMode;
10880
10903
  };
@@ -11228,7 +11251,7 @@ __decorate([
11228
11251
  ignoreClone
11229
11252
  ], SpriteRenderer.prototype, "_drawMode", void 0);
11230
11253
  __decorate([
11231
- assignmentClone
11254
+ ignoreClone
11232
11255
  ], SpriteRenderer.prototype, "_assembler", void 0);
11233
11256
  __decorate([
11234
11257
  assignmentClone
@@ -17647,7 +17670,7 @@ var ComponentCloner = /*#__PURE__*/ function() {
17647
17670
  if (oldParent != null) {
17648
17671
  Entity._removeFromChildren(oldParent._children, this);
17649
17672
  this._parent = null;
17650
- this._dispatchModify(EntityModifyFlags.Child, oldParent);
17673
+ oldParent._dispatchModify(EntityModifyFlags.Child, oldParent);
17651
17674
  }
17652
17675
  };
17653
17676
  /**
@@ -17701,6 +17724,7 @@ var ComponentCloner = /*#__PURE__*/ function() {
17701
17724
  this._removeFromParent();
17702
17725
  this._parent = parent;
17703
17726
  if (parent) {
17727
+ this._isRoot = false;
17704
17728
  parent._addToChildrenList(siblingIndex, this);
17705
17729
  var oldScene = this._scene;
17706
17730
  var parentScene = parent._scene;
@@ -17812,7 +17836,6 @@ var ComponentCloner = /*#__PURE__*/ function() {
17812
17836
  }
17813
17837
  }
17814
17838
  }
17815
- this._dispatchModify(EntityModifyFlags.Child, this);
17816
17839
  };
17817
17840
  /**
17818
17841
  * @deprecated
@@ -17997,7 +18020,13 @@ var ComponentCloner = /*#__PURE__*/ function() {
17997
18020
  if (this._siblingIndex === -1) {
17998
18021
  throw "The entity " + this.name + " is not in the hierarchy";
17999
18022
  }
18000
- this._setSiblingIndex(this._isRoot ? this._scene._rootEntities : this._parent._children, value);
18023
+ if (this._isRoot) {
18024
+ this._setSiblingIndex(this._scene._rootEntities, value);
18025
+ } else {
18026
+ var parent = this._parent;
18027
+ this._setSiblingIndex(parent._children, value);
18028
+ parent._dispatchModify(EntityModifyFlags.Child, parent);
18029
+ }
18001
18030
  }
18002
18031
  }
18003
18032
  ]);
@@ -18477,6 +18506,11 @@ __decorate([
18477
18506
  var _proto = BasicResources.prototype;
18478
18507
  /**
18479
18508
  * @internal
18509
+ */ _proto._getBlinnPhongMaterial = function _getBlinnPhongMaterial() {
18510
+ return this._blinnPhongMaterial || (this._blinnPhongMaterial = new BlinnPhongMaterial(this.engine));
18511
+ };
18512
+ /**
18513
+ * @internal
18480
18514
  */ _proto._initialize = function _initialize() {
18481
18515
  var _this = this;
18482
18516
  return new Promise(function(resolve, reject) {
@@ -19789,7 +19823,6 @@ var MultiExecutor = /*#__PURE__*/ function() {
19789
19823
  };
19790
19824
  _proto._loadSingleItem = function _loadSingleItem(itemOrURL) {
19791
19825
  var _this = this;
19792
- var _this__virtualPathResourceMap_assetBaseURL;
19793
19826
  var item = this._assignDefaultOptions(typeof itemOrURL === "string" ? {
19794
19827
  url: itemOrURL
19795
19828
  } : itemOrURL);
@@ -19799,9 +19832,10 @@ var MultiExecutor = /*#__PURE__*/ function() {
19799
19832
  // Parse url
19800
19833
  var _this__parseURL = this._parseURL(url), assetBaseURL = _this__parseURL.assetBaseURL, queryPath = _this__parseURL.queryPath;
19801
19834
  var paths = queryPath ? this._parseQueryPath(queryPath) : [];
19802
- var _this__virtualPathResourceMap_assetBaseURL_path;
19803
19835
  // Get remote asset base url
19804
- var remoteAssetBaseURL = (_this__virtualPathResourceMap_assetBaseURL_path = (_this__virtualPathResourceMap_assetBaseURL = this._virtualPathResourceMap[assetBaseURL]) == null ? void 0 : _this__virtualPathResourceMap_assetBaseURL.path) != null ? _this__virtualPathResourceMap_assetBaseURL_path : assetBaseURL;
19836
+ var remoteConfig = this._virtualPathResourceMap[assetBaseURL];
19837
+ var _remoteConfig_path;
19838
+ var remoteAssetBaseURL = (_remoteConfig_path = remoteConfig == null ? void 0 : remoteConfig.path) != null ? _remoteConfig_path : assetBaseURL;
19805
19839
  // Check cache
19806
19840
  var cacheObject = this._assetUrlPool[remoteAssetBaseURL];
19807
19841
  if (cacheObject) {
@@ -19835,15 +19869,20 @@ var MultiExecutor = /*#__PURE__*/ function() {
19835
19869
  if (!loader) {
19836
19870
  throw "loader not found: " + item.type;
19837
19871
  }
19872
+ var subpackageName = remoteConfig == null ? void 0 : remoteConfig.subpackageName;
19838
19873
  // Check sub asset
19839
19874
  if (queryPath) {
19840
19875
  // Check whether load main asset
19841
- var mainPromise = loadingPromises[remoteAssetBaseURL] || this._loadMainAsset(loader, item, remoteAssetBaseURL, assetBaseURL);
19876
+ var mainPromise = loadingPromises[remoteAssetBaseURL] || this._loadSubpackageAndMainAsset(loader, item, remoteAssetBaseURL, assetBaseURL, subpackageName);
19842
19877
  mainPromise.catch(function(e) {
19843
19878
  _this._onSubAssetFail(remoteAssetBaseURL, queryPath, e);
19844
19879
  });
19845
19880
  return this._createSubAssetPromiseCallback(remoteAssetBaseURL, remoteAssetURL, queryPath);
19846
19881
  }
19882
+ return this._loadSubpackageAndMainAsset(loader, item, remoteAssetBaseURL, assetBaseURL, subpackageName);
19883
+ };
19884
+ // For adapter mini-game platform
19885
+ _proto._loadSubpackageAndMainAsset = function _loadSubpackageAndMainAsset(loader, item, remoteAssetBaseURL, assetBaseURL, subpackageName) {
19847
19886
  return this._loadMainAsset(loader, item, remoteAssetBaseURL, assetBaseURL);
19848
19887
  };
19849
19888
  _proto._loadMainAsset = function _loadMainAsset(loader, item, remoteAssetBaseURL, assetBaseURL) {
@@ -20977,16 +21016,24 @@ Collider = __decorate([
20977
21016
  }
20978
21017
  return shape.collider.entity.layer & layerMask && shape.isSceneQuery;
20979
21018
  };
21019
+ var outIDX;
21020
+ var outDistance;
21021
+ var outPosition;
21022
+ var outNormal;
20980
21023
  if (hitResult != undefined) {
20981
21024
  var result = this._nativePhysicsScene.raycast(ray, distance, onRaycast, function(idx, distance, position, normal) {
20982
- var hitShape = Engine._physicalObjectsMap[idx];
20983
- hitResult.entity = hitShape._collider.entity;
20984
- hitResult.shape = hitShape;
20985
- hitResult.distance = distance;
20986
- hitResult.normal.copyFrom(normal);
20987
- hitResult.point.copyFrom(position);
21025
+ outIDX = idx;
21026
+ outDistance = distance;
21027
+ outPosition = position;
21028
+ outNormal = normal;
20988
21029
  });
20989
21030
  if (result) {
21031
+ var hitShape = Engine._physicalObjectsMap[outIDX];
21032
+ hitResult.entity = hitShape._collider.entity;
21033
+ hitResult.shape = hitShape;
21034
+ hitResult.distance = outDistance;
21035
+ hitResult.point.copyFrom(outPosition);
21036
+ hitResult.normal.copyFrom(outNormal);
20990
21037
  return true;
20991
21038
  } else {
20992
21039
  hitResult.entity = null;
@@ -23300,7 +23347,7 @@ PointerEventEmitter._tempRay = new Ray();
23300
23347
  }
23301
23348
  pointer = pointerPool[j];
23302
23349
  if (!pointer) {
23303
- pointer = new Pointer(j);
23350
+ pointer = pointerPool[j] = new Pointer(j);
23304
23351
  engine._physicsInitialized && pointer._addEmitters(PhysicsPointerEventEmitter, eventPool);
23305
23352
  PointerManager._pointerEventEmitters.forEach(function(emitter) {
23306
23353
  pointer._addEmitters(emitter, eventPool);
@@ -24335,7 +24382,7 @@ var PostProcessUberPass = /*#__PURE__*/ function(PostProcessPass) {
24335
24382
  var thresholdKnee = thresholdLinear * 0.5; // Hardcoded soft knee
24336
24383
  var bloomParams = bloomShaderData.getVector4(BloomEffect._bloomParams);
24337
24384
  var scatterLerp = MathUtil.lerp(0.05, 0.95, scatter.value);
24338
- bloomParams.x = threshold.value;
24385
+ bloomParams.x = thresholdLinear;
24339
24386
  bloomParams.y = thresholdKnee;
24340
24387
  bloomParams.z = scatterLerp;
24341
24388
  var bloomIntensityParams = uberShaderData.getVector4(BloomEffect._bloomIntensityParams);
@@ -24668,15 +24715,16 @@ var UIUtils = /*#__PURE__*/ function() {
24668
24715
  Matrix.multiply(virtualCamera.projectionMatrix, virtualCamera.viewMatrix, virtualCamera.viewProjectionMatrix);
24669
24716
  renderContext.applyVirtualCamera(virtualCamera, false);
24670
24717
  renderContext.rendererUpdateFlag |= ContextRendererUpdateFlag.ProjectionMatrix;
24671
- uiRenderQueue.clear();
24672
24718
  uiCanvas._prepareRender(renderContext);
24673
24719
  uiRenderQueue.pushRenderElement(uiCanvas._renderElement);
24674
24720
  uiRenderQueue.batch(batcherManager);
24675
24721
  batcherManager.uploadBuffer();
24676
24722
  uiRenderQueue.render(renderContext, "Forward");
24723
+ uiRenderQueue.clear();
24677
24724
  engine._renderCount++;
24678
24725
  }
24679
24726
  }
24727
+ renderContext.camera = null;
24680
24728
  };
24681
24729
  return UIUtils;
24682
24730
  }();
@@ -24957,21 +25005,15 @@ ShaderPool.init();
24957
25005
  var _this_xrManager;
24958
25006
  this._sceneManager._destroyAllScene();
24959
25007
  this._resourceManager._destroy();
24960
- this._textDefaultFont = null;
24961
- this._fontMap = null;
24962
25008
  this.inputManager._destroy();
24963
25009
  this._batcherManager.destroy();
24964
25010
  (_this_xrManager = this.xrManager) == null ? void 0 : _this_xrManager._destroy();
24965
25011
  this.dispatch("shutdown", this);
24966
25012
  // Cancel animation
24967
25013
  this.pause();
25014
+ Shader._clear(this);
24968
25015
  this._hardwareRenderer.destroy();
24969
25016
  this.removeAllEventListeners();
24970
- this._animate = null;
24971
- this._sceneManager = null;
24972
- this._resourceManager = null;
24973
- this._canvas = null;
24974
- this._time = null;
24975
25017
  this._waitingDestroy = false;
24976
25018
  this._destroyed = true;
24977
25019
  };
@@ -25095,6 +25137,7 @@ ShaderPool.init();
25095
25137
  this._hardwareRenderer.resetState();
25096
25138
  this._lastRenderState = new RenderState();
25097
25139
  // Clear shader pools
25140
+ Shader._clear(this);
25098
25141
  this._shaderProgramPools.length = 0;
25099
25142
  var resourceManager = this.resourceManager;
25100
25143
  // Restore graphic resources
@@ -25793,24 +25836,23 @@ Sky._projectionMatrix = new Matrix(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, Sky._epsilon -
25793
25836
  };
25794
25837
  _proto.drawMask = function drawMask(context, pipelineStageTagValue, maskLayer) {
25795
25838
  var incrementMaskQueue = MaskManager.getMaskIncrementRenderQueue();
25796
- incrementMaskQueue.clear();
25797
25839
  var decrementMaskQueue = MaskManager.getMaskDecrementRenderQueue();
25798
- decrementMaskQueue.clear();
25799
25840
  this._buildMaskRenderElement(maskLayer, incrementMaskQueue, decrementMaskQueue);
25800
25841
  var batcherManager = context.camera.engine._batcherManager;
25801
25842
  incrementMaskQueue.batch(batcherManager);
25802
25843
  batcherManager.uploadBuffer();
25803
25844
  incrementMaskQueue.render(context, pipelineStageTagValue, RenderQueueMaskType.Increment);
25845
+ incrementMaskQueue.clear();
25804
25846
  decrementMaskQueue.batch(batcherManager);
25805
25847
  batcherManager.uploadBuffer();
25806
25848
  decrementMaskQueue.render(context, pipelineStageTagValue, RenderQueueMaskType.Decrement);
25849
+ decrementMaskQueue.clear();
25807
25850
  };
25808
25851
  _proto.clearMask = function clearMask(context, pipelineStageTagValue) {
25809
25852
  var preMaskLayer = this._preMaskLayer;
25810
25853
  if (preMaskLayer !== SpriteMaskLayer.Nothing) {
25811
25854
  if (this.hasStencilWritten) {
25812
25855
  var decrementMaskQueue = MaskManager.getMaskDecrementRenderQueue();
25813
- decrementMaskQueue.clear();
25814
25856
  var masks = this._allSpriteMasks;
25815
25857
  for(var i = 0, n = masks.length; i < n; i++){
25816
25858
  var mask = masks.get(i);
@@ -25820,6 +25862,7 @@ Sky._projectionMatrix = new Matrix(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, Sky._epsilon -
25820
25862
  decrementMaskQueue.batch(batcherManager);
25821
25863
  batcherManager.uploadBuffer();
25822
25864
  decrementMaskQueue.render(context, pipelineStageTagValue, RenderQueueMaskType.Decrement);
25865
+ decrementMaskQueue.clear();
25823
25866
  } else {
25824
25867
  var engine = context.camera.engine;
25825
25868
  engine._hardwareRenderer.clearRenderTarget(engine, CameraClearFlags.Stencil, null);
@@ -28055,11 +28098,13 @@ AnimationCurveOwner.registerAssembler(SkinnedMeshRenderer, "blendShapeWeights",
28055
28098
  * @param time - The time to sample an animation
28056
28099
  */ _proto._sampleAnimation = function _sampleAnimation(entity, time) {
28057
28100
  var _this = this, curveBindings = _this._curveBindings;
28101
+ var components = AnimationCurveOwner._components;
28058
28102
  for(var i = curveBindings.length - 1; i >= 0; i--){
28059
28103
  var curve = curveBindings[i];
28060
28104
  var targetEntity = entity.findByPath(curve.relativePath);
28061
28105
  if (targetEntity) {
28062
- var component = curve.typeIndex > 0 ? targetEntity.getComponents(curve.type, AnimationCurveOwner._components)[curve.typeIndex] : targetEntity.getComponent(curve.type);
28106
+ var component = curve.typeIndex > 0 ? targetEntity.getComponents(curve.type, components)[curve.typeIndex] : targetEntity.getComponent(curve.type);
28107
+ components.length = 0;
28063
28108
  if (!component) {
28064
28109
  continue;
28065
28110
  }
@@ -29692,13 +29737,15 @@ function _type_of(obj) {
29692
29737
  var curveLayerOwner = animatorStateData.curveLayerOwner;
29693
29738
  var _animatorState_clip = animatorState.clip, curves = _animatorState_clip._curveBindings;
29694
29739
  var layerCurveOwnerPool = animatorLayerData.curveOwnerPool;
29740
+ var components = AnimationCurveOwner._components;
29695
29741
  for(var i = curves.length - 1; i >= 0; i--){
29696
29742
  var curve = curves[i];
29697
29743
  var relativePath = curve.relativePath;
29698
29744
  var targetEntity = curve.relativePath === "" ? entity : entity.findByPath(curve.relativePath);
29699
29745
  if (targetEntity) {
29700
29746
  var _curveOwnerPool, _instanceId, _propertyOwners, _property, _layerCurveOwnerPool, _instanceId1, _layerPropertyOwners, _property1;
29701
- var component = curve.typeIndex > 0 ? targetEntity.getComponents(curve.type, AnimationCurveOwner._components)[curve.typeIndex] : targetEntity.getComponent(curve.type);
29747
+ var component = curve.typeIndex > 0 ? targetEntity.getComponents(curve.type, components)[curve.typeIndex] : targetEntity.getComponent(curve.type);
29748
+ components.length = 0;
29702
29749
  if (!component) {
29703
29750
  continue;
29704
29751
  }