@galacean/engine-core 1.5.5 → 1.5.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.
package/dist/module.js CHANGED
@@ -25652,6 +25652,7 @@ var unlitVs = "#define GLSLIFY 1\n#include <common>\n#include <common_vert>\n#in
25652
25652
  var UIUtils = /*#__PURE__*/ function() {
25653
25653
  function UIUtils() {}
25654
25654
  UIUtils.renderOverlay = function renderOverlay(engine, scene, uiCanvases) {
25655
+ engine._macroCollection.enable(UIUtils._shouldSRGBCorrect);
25655
25656
  var canvas = engine.canvas; engine._hardwareRenderer; var renderContext = engine._renderContext, batcherManager = engine._batcherManager;
25656
25657
  var uiRenderQueue = this._renderQueue || (this._renderQueue = new RenderQueue(RenderQueueType.Transparent));
25657
25658
  var virtualCamera = this._virtualCamera || (this._virtualCamera = new VirtualCamera());
@@ -25683,9 +25684,11 @@ var UIUtils = /*#__PURE__*/ function() {
25683
25684
  }
25684
25685
  }
25685
25686
  renderContext.camera = null;
25687
+ engine._macroCollection.disable(UIUtils._shouldSRGBCorrect);
25686
25688
  };
25687
25689
  return UIUtils;
25688
25690
  }();
25691
+ UIUtils._shouldSRGBCorrect = ShaderMacro.getByName("ENGINE_SHOULD_SRGB_CORRECT");
25689
25692
  var OverlayCamera = function OverlayCamera() {
25690
25693
  // @ts-ignore
25691
25694
  this.instanceId = ++EngineObject._instanceIdCounter;
@@ -32986,6 +32989,170 @@ __decorate([
32986
32989
  ignoreClone
32987
32990
  ], EmissionModule.prototype, "_burstRand", void 0);
32988
32991
 
32992
+ /**
32993
+ * Force over lifetime module.
32994
+ */ var ForceOverLifetimeModule = /*#__PURE__*/ function(ParticleGeneratorModule) {
32995
+ _inherits(ForceOverLifetimeModule, ParticleGeneratorModule);
32996
+ function ForceOverLifetimeModule(generator) {
32997
+ var _this;
32998
+ _this = ParticleGeneratorModule.call(this, generator) || this, /** @internal */ _this._forceRand = new Rand(0, ParticleRandomSubSeeds.ForceOverLifetime), _this._forceMinConstant = new Vector3(), _this._forceMaxConstant = new Vector3(), _this._space = ParticleSimulationSpace.Local;
32999
+ _this.forceX = new ParticleCompositeCurve(0);
33000
+ _this.forceY = new ParticleCompositeCurve(0);
33001
+ _this.forceZ = new ParticleCompositeCurve(0);
33002
+ return _this;
33003
+ }
33004
+ var _proto = ForceOverLifetimeModule.prototype;
33005
+ /**
33006
+ * @internal
33007
+ */ _proto._updateShaderData = function _updateShaderData(shaderData) {
33008
+ var forceModeMacro = null;
33009
+ var isRandomModeMacro = null;
33010
+ if (this.enabled) {
33011
+ var forceX = this._forceX;
33012
+ var forceY = this._forceY;
33013
+ var forceZ = this._forceZ;
33014
+ var isRandomCurveMode = forceX.mode === ParticleCurveMode.TwoCurves && forceY.mode === ParticleCurveMode.TwoCurves && forceZ.mode === ParticleCurveMode.TwoCurves;
33015
+ if (isRandomCurveMode || forceX.mode === ParticleCurveMode.Curve && forceY.mode === ParticleCurveMode.Curve && forceZ.mode === ParticleCurveMode.Curve) {
33016
+ shaderData.setFloatArray(ForceOverLifetimeModule._maxGradientXProperty, forceX.curveMax._getTypeArray());
33017
+ shaderData.setFloatArray(ForceOverLifetimeModule._maxGradientYProperty, forceY.curveMax._getTypeArray());
33018
+ shaderData.setFloatArray(ForceOverLifetimeModule._maxGradientZProperty, forceZ.curveMax._getTypeArray());
33019
+ forceModeMacro = ForceOverLifetimeModule._curveModeMacro;
33020
+ if (isRandomCurveMode) {
33021
+ shaderData.setFloatArray(ForceOverLifetimeModule._minGradientXProperty, forceX.curveMin._getTypeArray());
33022
+ shaderData.setFloatArray(ForceOverLifetimeModule._minGradientYProperty, forceY.curveMin._getTypeArray());
33023
+ shaderData.setFloatArray(ForceOverLifetimeModule._minGradientZProperty, forceZ.curveMin._getTypeArray());
33024
+ isRandomModeMacro = ForceOverLifetimeModule._isRandomMacro;
33025
+ }
33026
+ } else {
33027
+ var constantMax = this._forceMaxConstant;
33028
+ constantMax.set(forceX.constantMax, forceY.constantMax, forceZ.constantMax);
33029
+ shaderData.setVector3(ForceOverLifetimeModule._maxConstantProperty, constantMax);
33030
+ forceModeMacro = ForceOverLifetimeModule._constantModeMacro;
33031
+ if (forceX.mode === ParticleCurveMode.TwoConstants && forceY.mode === ParticleCurveMode.TwoConstants && forceZ.mode === ParticleCurveMode.TwoConstants) {
33032
+ var constantMin = this._forceMinConstant;
33033
+ constantMin.set(forceX.constantMin, forceY.constantMin, forceZ.constantMin);
33034
+ shaderData.setVector3(ForceOverLifetimeModule._minConstantProperty, constantMin);
33035
+ isRandomModeMacro = ForceOverLifetimeModule._isRandomMacro;
33036
+ }
33037
+ }
33038
+ shaderData.setInt(ForceOverLifetimeModule._spaceProperty, this._space);
33039
+ }
33040
+ this._forceMacro = this._enableMacro(shaderData, this._forceMacro, forceModeMacro);
33041
+ this._randomModeMacro = this._enableMacro(shaderData, this._randomModeMacro, isRandomModeMacro);
33042
+ };
33043
+ /**
33044
+ * @internal
33045
+ */ _proto._resetRandomSeed = function _resetRandomSeed(seed) {
33046
+ this._forceRand.reset(seed, ParticleRandomSubSeeds.ForceOverLifetime);
33047
+ };
33048
+ /**
33049
+ * @internal
33050
+ */ _proto._isRandomMode = function _isRandomMode() {
33051
+ var modeX = this.forceX.mode;
33052
+ var modeY = this.forceY.mode;
33053
+ var modeZ = this.forceZ.mode;
33054
+ return modeX === ParticleCurveMode.TwoCurves && modeY === ParticleCurveMode.TwoCurves && modeZ === ParticleCurveMode.TwoCurves || modeX === ParticleCurveMode.TwoConstants && modeY === ParticleCurveMode.TwoConstants && modeZ === ParticleCurveMode.TwoConstants;
33055
+ };
33056
+ _create_class(ForceOverLifetimeModule, [
33057
+ {
33058
+ key: "forceX",
33059
+ get: /**
33060
+ * Force over lifetime for x axis.
33061
+ */ function get() {
33062
+ return this._forceX;
33063
+ },
33064
+ set: function set(value) {
33065
+ var lastValue = this._forceX;
33066
+ if (value !== lastValue) {
33067
+ this._forceX = value;
33068
+ this._onCompositeCurveChange(lastValue, value);
33069
+ }
33070
+ }
33071
+ },
33072
+ {
33073
+ key: "forceY",
33074
+ get: /**
33075
+ * Force over lifetime for y axis.
33076
+ */ function get() {
33077
+ return this._forceY;
33078
+ },
33079
+ set: function set(value) {
33080
+ var lastValue = this._forceY;
33081
+ if (value !== lastValue) {
33082
+ this._forceY = value;
33083
+ this._onCompositeCurveChange(lastValue, value);
33084
+ }
33085
+ }
33086
+ },
33087
+ {
33088
+ key: "forceZ",
33089
+ get: /**
33090
+ * Force over lifetime for z axis.
33091
+ */ function get() {
33092
+ return this._forceZ;
33093
+ },
33094
+ set: function set(value) {
33095
+ var lastValue = this._forceZ;
33096
+ if (value !== lastValue) {
33097
+ this._forceZ = value;
33098
+ this._onCompositeCurveChange(lastValue, value);
33099
+ }
33100
+ }
33101
+ },
33102
+ {
33103
+ key: "space",
33104
+ get: /**
33105
+ * Force space.
33106
+ */ function get() {
33107
+ return this._space;
33108
+ },
33109
+ set: function set(value) {
33110
+ if (value !== this._space) {
33111
+ this._space = value;
33112
+ this._generator._renderer._onGeneratorParamsChanged();
33113
+ }
33114
+ }
33115
+ }
33116
+ ]);
33117
+ return ForceOverLifetimeModule;
33118
+ }(ParticleGeneratorModule);
33119
+ ForceOverLifetimeModule._constantModeMacro = ShaderMacro.getByName("RENDERER_FOL_CONSTANT_MODE");
33120
+ ForceOverLifetimeModule._curveModeMacro = ShaderMacro.getByName("RENDERER_FOL_CURVE_MODE");
33121
+ ForceOverLifetimeModule._isRandomMacro = ShaderMacro.getByName("RENDERER_FOL_IS_RANDOM_TWO");
33122
+ ForceOverLifetimeModule._minConstantProperty = ShaderProperty.getByName("renderer_FOLMinConst");
33123
+ ForceOverLifetimeModule._maxConstantProperty = ShaderProperty.getByName("renderer_FOLMaxConst");
33124
+ ForceOverLifetimeModule._minGradientXProperty = ShaderProperty.getByName("renderer_FOLMinGradientX");
33125
+ ForceOverLifetimeModule._minGradientYProperty = ShaderProperty.getByName("renderer_FOLMinGradientY");
33126
+ ForceOverLifetimeModule._minGradientZProperty = ShaderProperty.getByName("renderer_FOLMinGradientZ");
33127
+ ForceOverLifetimeModule._maxGradientXProperty = ShaderProperty.getByName("renderer_FOLMaxGradientX");
33128
+ ForceOverLifetimeModule._maxGradientYProperty = ShaderProperty.getByName("renderer_FOLMaxGradientY");
33129
+ ForceOverLifetimeModule._maxGradientZProperty = ShaderProperty.getByName("renderer_FOLMaxGradientZ");
33130
+ ForceOverLifetimeModule._spaceProperty = ShaderProperty.getByName("renderer_FOLSpace");
33131
+ __decorate([
33132
+ ignoreClone
33133
+ ], ForceOverLifetimeModule.prototype, "_forceRand", void 0);
33134
+ __decorate([
33135
+ ignoreClone
33136
+ ], ForceOverLifetimeModule.prototype, "_forceMinConstant", void 0);
33137
+ __decorate([
33138
+ ignoreClone
33139
+ ], ForceOverLifetimeModule.prototype, "_forceMaxConstant", void 0);
33140
+ __decorate([
33141
+ ignoreClone
33142
+ ], ForceOverLifetimeModule.prototype, "_forceMacro", void 0);
33143
+ __decorate([
33144
+ ignoreClone
33145
+ ], ForceOverLifetimeModule.prototype, "_randomModeMacro", void 0);
33146
+ __decorate([
33147
+ deepClone
33148
+ ], ForceOverLifetimeModule.prototype, "_forceX", void 0);
33149
+ __decorate([
33150
+ deepClone
33151
+ ], ForceOverLifetimeModule.prototype, "_forceY", void 0);
33152
+ __decorate([
33153
+ deepClone
33154
+ ], ForceOverLifetimeModule.prototype, "_forceZ", void 0);
33155
+
32989
33156
  /**
32990
33157
  * Control how Particle Generator apply transform scale.
32991
33158
  */ var ParticleScaleMode = /*#__PURE__*/ function(ParticleScaleMode) {
@@ -34009,170 +34176,6 @@ __decorate([
34009
34176
  deepClone
34010
34177
  ], VelocityOverLifetimeModule.prototype, "_velocityZ", void 0);
34011
34178
 
34012
- /**
34013
- * Force over lifetime module.
34014
- */ var ForceOverLifetimeModule = /*#__PURE__*/ function(ParticleGeneratorModule) {
34015
- _inherits(ForceOverLifetimeModule, ParticleGeneratorModule);
34016
- function ForceOverLifetimeModule(generator) {
34017
- var _this;
34018
- _this = ParticleGeneratorModule.call(this, generator) || this, /** @internal */ _this._forceRand = new Rand(0, ParticleRandomSubSeeds.ForceOverLifetime), _this._forceMinConstant = new Vector3(), _this._forceMaxConstant = new Vector3(), _this._space = ParticleSimulationSpace.Local;
34019
- _this.forceX = new ParticleCompositeCurve(0);
34020
- _this.forceY = new ParticleCompositeCurve(0);
34021
- _this.forceZ = new ParticleCompositeCurve(0);
34022
- return _this;
34023
- }
34024
- var _proto = ForceOverLifetimeModule.prototype;
34025
- /**
34026
- * @internal
34027
- */ _proto._updateShaderData = function _updateShaderData(shaderData) {
34028
- var forceModeMacro = null;
34029
- var isRandomModeMacro = null;
34030
- if (this.enabled) {
34031
- var forceX = this._forceX;
34032
- var forceY = this._forceY;
34033
- var forceZ = this._forceZ;
34034
- var isRandomCurveMode = forceX.mode === ParticleCurveMode.TwoCurves && forceY.mode === ParticleCurveMode.TwoCurves && forceZ.mode === ParticleCurveMode.TwoCurves;
34035
- if (isRandomCurveMode || forceX.mode === ParticleCurveMode.Curve && forceY.mode === ParticleCurveMode.Curve && forceZ.mode === ParticleCurveMode.Curve) {
34036
- shaderData.setFloatArray(ForceOverLifetimeModule._maxGradientXProperty, forceX.curveMax._getTypeArray());
34037
- shaderData.setFloatArray(ForceOverLifetimeModule._maxGradientYProperty, forceY.curveMax._getTypeArray());
34038
- shaderData.setFloatArray(ForceOverLifetimeModule._maxGradientZProperty, forceZ.curveMax._getTypeArray());
34039
- forceModeMacro = ForceOverLifetimeModule._curveModeMacro;
34040
- if (isRandomCurveMode) {
34041
- shaderData.setFloatArray(ForceOverLifetimeModule._minGradientXProperty, forceX.curveMin._getTypeArray());
34042
- shaderData.setFloatArray(ForceOverLifetimeModule._minGradientYProperty, forceY.curveMin._getTypeArray());
34043
- shaderData.setFloatArray(ForceOverLifetimeModule._minGradientZProperty, forceZ.curveMin._getTypeArray());
34044
- isRandomModeMacro = ForceOverLifetimeModule._isRandomMacro;
34045
- }
34046
- } else {
34047
- var constantMax = this._forceMaxConstant;
34048
- constantMax.set(forceX.constantMax, forceY.constantMax, forceZ.constantMax);
34049
- shaderData.setVector3(ForceOverLifetimeModule._maxConstantProperty, constantMax);
34050
- forceModeMacro = ForceOverLifetimeModule._constantModeMacro;
34051
- if (forceX.mode === ParticleCurveMode.TwoConstants && forceY.mode === ParticleCurveMode.TwoConstants && forceZ.mode === ParticleCurveMode.TwoConstants) {
34052
- var constantMin = this._forceMinConstant;
34053
- constantMin.set(forceX.constantMin, forceY.constantMin, forceZ.constantMin);
34054
- shaderData.setVector3(ForceOverLifetimeModule._minConstantProperty, constantMin);
34055
- isRandomModeMacro = ForceOverLifetimeModule._isRandomMacro;
34056
- }
34057
- }
34058
- shaderData.setInt(ForceOverLifetimeModule._spaceProperty, this._space);
34059
- }
34060
- this._forceMacro = this._enableMacro(shaderData, this._forceMacro, forceModeMacro);
34061
- this._randomModeMacro = this._enableMacro(shaderData, this._randomModeMacro, isRandomModeMacro);
34062
- };
34063
- /**
34064
- * @internal
34065
- */ _proto._resetRandomSeed = function _resetRandomSeed(seed) {
34066
- this._forceRand.reset(seed, ParticleRandomSubSeeds.ForceOverLifetime);
34067
- };
34068
- /**
34069
- * @internal
34070
- */ _proto._isRandomMode = function _isRandomMode() {
34071
- var modeX = this.forceX.mode;
34072
- var modeY = this.forceY.mode;
34073
- var modeZ = this.forceZ.mode;
34074
- return modeX === ParticleCurveMode.TwoCurves && modeY === ParticleCurveMode.TwoCurves && modeZ === ParticleCurveMode.TwoCurves || modeX === ParticleCurveMode.TwoConstants && modeY === ParticleCurveMode.TwoConstants && modeZ === ParticleCurveMode.TwoConstants;
34075
- };
34076
- _create_class(ForceOverLifetimeModule, [
34077
- {
34078
- key: "forceX",
34079
- get: /**
34080
- * Force over lifetime for x axis.
34081
- */ function get() {
34082
- return this._forceX;
34083
- },
34084
- set: function set(value) {
34085
- var lastValue = this._forceX;
34086
- if (value !== lastValue) {
34087
- this._forceX = value;
34088
- this._onCompositeCurveChange(lastValue, value);
34089
- }
34090
- }
34091
- },
34092
- {
34093
- key: "forceY",
34094
- get: /**
34095
- * Force over lifetime for y axis.
34096
- */ function get() {
34097
- return this._forceY;
34098
- },
34099
- set: function set(value) {
34100
- var lastValue = this._forceY;
34101
- if (value !== lastValue) {
34102
- this._forceY = value;
34103
- this._onCompositeCurveChange(lastValue, value);
34104
- }
34105
- }
34106
- },
34107
- {
34108
- key: "forceZ",
34109
- get: /**
34110
- * Force over lifetime for z axis.
34111
- */ function get() {
34112
- return this._forceZ;
34113
- },
34114
- set: function set(value) {
34115
- var lastValue = this._forceZ;
34116
- if (value !== lastValue) {
34117
- this._forceZ = value;
34118
- this._onCompositeCurveChange(lastValue, value);
34119
- }
34120
- }
34121
- },
34122
- {
34123
- key: "space",
34124
- get: /**
34125
- * Force space.
34126
- */ function get() {
34127
- return this._space;
34128
- },
34129
- set: function set(value) {
34130
- if (value !== this._space) {
34131
- this._space = value;
34132
- this._generator._renderer._onGeneratorParamsChanged();
34133
- }
34134
- }
34135
- }
34136
- ]);
34137
- return ForceOverLifetimeModule;
34138
- }(ParticleGeneratorModule);
34139
- ForceOverLifetimeModule._constantModeMacro = ShaderMacro.getByName("RENDERER_FOL_CONSTANT_MODE");
34140
- ForceOverLifetimeModule._curveModeMacro = ShaderMacro.getByName("RENDERER_FOL_CURVE_MODE");
34141
- ForceOverLifetimeModule._isRandomMacro = ShaderMacro.getByName("RENDERER_FOL_IS_RANDOM_TWO");
34142
- ForceOverLifetimeModule._minConstantProperty = ShaderProperty.getByName("renderer_FOLMinConst");
34143
- ForceOverLifetimeModule._maxConstantProperty = ShaderProperty.getByName("renderer_FOLMaxConst");
34144
- ForceOverLifetimeModule._minGradientXProperty = ShaderProperty.getByName("renderer_FOLMinGradientX");
34145
- ForceOverLifetimeModule._minGradientYProperty = ShaderProperty.getByName("renderer_FOLMinGradientY");
34146
- ForceOverLifetimeModule._minGradientZProperty = ShaderProperty.getByName("renderer_FOLMinGradientZ");
34147
- ForceOverLifetimeModule._maxGradientXProperty = ShaderProperty.getByName("renderer_FOLMaxGradientX");
34148
- ForceOverLifetimeModule._maxGradientYProperty = ShaderProperty.getByName("renderer_FOLMaxGradientY");
34149
- ForceOverLifetimeModule._maxGradientZProperty = ShaderProperty.getByName("renderer_FOLMaxGradientZ");
34150
- ForceOverLifetimeModule._spaceProperty = ShaderProperty.getByName("renderer_FOLSpace");
34151
- __decorate([
34152
- ignoreClone
34153
- ], ForceOverLifetimeModule.prototype, "_forceRand", void 0);
34154
- __decorate([
34155
- ignoreClone
34156
- ], ForceOverLifetimeModule.prototype, "_forceMinConstant", void 0);
34157
- __decorate([
34158
- ignoreClone
34159
- ], ForceOverLifetimeModule.prototype, "_forceMaxConstant", void 0);
34160
- __decorate([
34161
- ignoreClone
34162
- ], ForceOverLifetimeModule.prototype, "_forceMacro", void 0);
34163
- __decorate([
34164
- ignoreClone
34165
- ], ForceOverLifetimeModule.prototype, "_randomModeMacro", void 0);
34166
- __decorate([
34167
- deepClone
34168
- ], ForceOverLifetimeModule.prototype, "_forceX", void 0);
34169
- __decorate([
34170
- deepClone
34171
- ], ForceOverLifetimeModule.prototype, "_forceY", void 0);
34172
- __decorate([
34173
- deepClone
34174
- ], ForceOverLifetimeModule.prototype, "_forceZ", void 0);
34175
-
34176
34179
  /**
34177
34180
  * Particle Generator.
34178
34181
  */ var ParticleGenerator = /*#__PURE__*/ function() {
@@ -34950,7 +34953,6 @@ __decorate([
34950
34953
  };
34951
34954
  _proto._addGravityToBounds = function _addGravityToBounds(maxLifetime, origin, out) {
34952
34955
  var originMin = origin.min, originMax = origin.max;
34953
- var min = out.min, max = out.max;
34954
34956
  var modifierMinMax = ParticleGenerator._tempVector20;
34955
34957
  // Gravity modifier impact
34956
34958
  this._getExtremeValueFromZero(this.main.gravityModifier, modifierMinMax);
@@ -34964,10 +34966,9 @@ __decorate([
34964
34966
  var gravityEffectMaxY = y * maxGravityEffect;
34965
34967
  var gravityEffectMinZ = z * minGravityEffect;
34966
34968
  var gravityEffectMaxZ = z * maxGravityEffect;
34967
- min.set(Math.min(gravityEffectMinX, gravityEffectMaxX), Math.min(gravityEffectMinY, gravityEffectMaxY), Math.min(gravityEffectMinZ, gravityEffectMaxZ));
34968
- max.set(Math.max(gravityEffectMinX, gravityEffectMaxX), Math.max(gravityEffectMinY, gravityEffectMaxY), Math.max(gravityEffectMinZ, gravityEffectMaxZ));
34969
- min.add(originMin);
34970
- max.add(originMax);
34969
+ // `origin` and `out` maybe is same reference
34970
+ out.min.set(Math.min(gravityEffectMinX, gravityEffectMaxX) + originMin.x, Math.min(gravityEffectMinY, gravityEffectMaxY) + originMin.y, Math.min(gravityEffectMinZ, gravityEffectMaxZ) + originMin.z);
34971
+ out.max.set(Math.max(gravityEffectMinX, gravityEffectMaxX) + originMax.x, Math.max(gravityEffectMinY, gravityEffectMaxY) + originMax.y, Math.max(gravityEffectMinZ, gravityEffectMaxZ) + originMax.z);
34971
34972
  };
34972
34973
  _proto._getExtremeValueFromZero = function _getExtremeValueFromZero(curve, out) {
34973
34974
  curve._getMinMax(out);