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