@galacean/engine-core 1.1.0-beta.5 → 1.1.0-beta.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 +230 -219
- package/dist/main.js.map +1 -1
- package/dist/miniprogram.js +230 -219
- package/dist/module.js +219 -220
- package/dist/module.js.map +1 -1
- package/package.json +3 -3
- package/types/Background.d.ts +6 -0
- package/types/particle/ParticleGenerator.d.ts +0 -2
- package/types/particle/index.d.ts +10 -0
- package/types/particle/modules/ParticleGeneratorModule.d.ts +0 -1
package/dist/main.js
CHANGED
|
@@ -15746,8 +15746,8 @@ exports.Joint = __decorate([
|
|
|
15746
15746
|
continue;
|
|
15747
15747
|
}
|
|
15748
15748
|
var cameras = scene._activeCameras;
|
|
15749
|
-
for(var j =
|
|
15750
|
-
var camera = cameras[
|
|
15749
|
+
for(var j = cameras.length - 1; j >= 0; j--){
|
|
15750
|
+
var camera = cameras[j];
|
|
15751
15751
|
if (!camera.enabled || camera.renderTarget) {
|
|
15752
15752
|
continue;
|
|
15753
15753
|
}
|
|
@@ -17062,24 +17062,23 @@ ShaderPool.init();
|
|
|
17062
17062
|
/**
|
|
17063
17063
|
* @internal
|
|
17064
17064
|
*/ _proto.destroy = function destroy() {
|
|
17065
|
+
this.texture = null;
|
|
17065
17066
|
this._mesh._addReferCount(-1);
|
|
17066
17067
|
this._mesh = null;
|
|
17067
17068
|
this._material._addReferCount(-1);
|
|
17068
17069
|
this._material = null;
|
|
17069
|
-
this.texture = null;
|
|
17070
17070
|
this.solidColor = null;
|
|
17071
17071
|
this.sky.destroy();
|
|
17072
17072
|
};
|
|
17073
17073
|
/**
|
|
17074
17074
|
* @internal
|
|
17075
17075
|
*/ _proto._resizeBackgroundTexture = function _resizeBackgroundTexture() {
|
|
17076
|
+
var _this = this, texture = _this._texture, mesh = _this._mesh;
|
|
17076
17077
|
if (!this._texture) {
|
|
17077
17078
|
return;
|
|
17078
17079
|
}
|
|
17079
|
-
var
|
|
17080
|
-
var
|
|
17081
|
-
var _this = this, _backgroundTextureMesh = _this._mesh;
|
|
17082
|
-
var positions = _backgroundTextureMesh.getPositions();
|
|
17080
|
+
var _this__engine_canvas = this._engine.canvas, width = _this__engine_canvas.width, height = _this__engine_canvas.height;
|
|
17081
|
+
var positions = mesh.getPositions();
|
|
17083
17082
|
switch(this._textureFillMode){
|
|
17084
17083
|
case exports.BackgroundTextureFillMode.Fill:
|
|
17085
17084
|
positions[0].set(-1, -1, 1);
|
|
@@ -17088,22 +17087,22 @@ ShaderPool.init();
|
|
|
17088
17087
|
positions[3].set(1, 1, 1);
|
|
17089
17088
|
break;
|
|
17090
17089
|
case exports.BackgroundTextureFillMode.AspectFitWidth:
|
|
17091
|
-
var fitWidthScale =
|
|
17090
|
+
var fitWidthScale = texture.height * width / texture.width / height;
|
|
17092
17091
|
positions[0].set(-1, -fitWidthScale, 1);
|
|
17093
17092
|
positions[1].set(1, -fitWidthScale, 1);
|
|
17094
17093
|
positions[2].set(-1, fitWidthScale, 1);
|
|
17095
17094
|
positions[3].set(1, fitWidthScale, 1);
|
|
17096
17095
|
break;
|
|
17097
17096
|
case exports.BackgroundTextureFillMode.AspectFitHeight:
|
|
17098
|
-
var fitHeightScale =
|
|
17097
|
+
var fitHeightScale = texture.width * height / texture.height / width;
|
|
17099
17098
|
positions[0].set(-fitHeightScale, -1, 1);
|
|
17100
17099
|
positions[1].set(fitHeightScale, -1, 1);
|
|
17101
17100
|
positions[2].set(-fitHeightScale, 1, 1);
|
|
17102
17101
|
positions[3].set(fitHeightScale, 1, 1);
|
|
17103
17102
|
break;
|
|
17104
17103
|
}
|
|
17105
|
-
|
|
17106
|
-
|
|
17104
|
+
mesh.setPositions(positions);
|
|
17105
|
+
mesh.uploadData(false);
|
|
17107
17106
|
};
|
|
17108
17107
|
_proto._initMesh = function _initMesh(engine) {
|
|
17109
17108
|
this._mesh = this._createPlane(engine);
|
|
@@ -17154,13 +17153,13 @@ ShaderPool.init();
|
|
|
17154
17153
|
(_this__texture = this._texture) == null ? void 0 : _this__texture._addReferCount(-1);
|
|
17155
17154
|
this._texture = value;
|
|
17156
17155
|
this._material.shaderData.setTexture("material_BaseTexture", value);
|
|
17156
|
+
this._resizeBackgroundTexture();
|
|
17157
17157
|
}
|
|
17158
17158
|
}
|
|
17159
17159
|
},
|
|
17160
17160
|
{
|
|
17161
17161
|
key: "textureFillMode",
|
|
17162
17162
|
get: /**
|
|
17163
|
-
* @internal
|
|
17164
17163
|
* Background texture fill mode.
|
|
17165
17164
|
* @remarks When `mode` is `BackgroundMode.Texture`, the property will take effects.
|
|
17166
17165
|
* @defaultValue `BackgroundTextureFillMode.FitHeight`
|
|
@@ -17311,7 +17310,7 @@ ShaderPool.init();
|
|
|
17311
17310
|
var _this = this, pendingDestroyScripts = _this._disposeDestroyScripts, disposeDestroyScripts = _this._pendingDestroyScripts;
|
|
17312
17311
|
this._disposeDestroyScripts = disposeDestroyScripts;
|
|
17313
17312
|
this._pendingDestroyScripts = pendingDestroyScripts;
|
|
17314
|
-
length = disposeDestroyScripts.length;
|
|
17313
|
+
var length = disposeDestroyScripts.length;
|
|
17315
17314
|
if (length > 0) {
|
|
17316
17315
|
for(var i = length - 1; i >= 0; i--){
|
|
17317
17316
|
disposeDestroyScripts[i].onDestroy();
|
|
@@ -27031,64 +27030,203 @@ exports.SunMode = void 0;
|
|
|
27031
27030
|
SkyProceduralMaterial._sunSimpleMacro = ShaderMacro.getByName("MATERIAL_SUN_SIMPLE");
|
|
27032
27031
|
})();
|
|
27033
27032
|
|
|
27033
|
+
var SubPrimitive = function SubPrimitive() {
|
|
27034
|
+
};
|
|
27035
|
+
|
|
27034
27036
|
/**
|
|
27035
|
-
*
|
|
27036
|
-
*/
|
|
27037
|
-
|
|
27038
|
-
|
|
27037
|
+
* The rendering mode for particle renderer.
|
|
27038
|
+
*/ exports.ParticleRenderMode = void 0;
|
|
27039
|
+
(function(ParticleRenderMode) {
|
|
27040
|
+
ParticleRenderMode[ParticleRenderMode[/** Render particles as billboards facing the active camera. */ "Billboard"] = 0] = "Billboard";
|
|
27041
|
+
ParticleRenderMode[ParticleRenderMode[/** Stretch particles in the direction of motion. */ "StretchBillboard"] = 1] = "StretchBillboard";
|
|
27042
|
+
ParticleRenderMode[ParticleRenderMode[/** Render particles as billboards always facing up along the y-Axis. */ "HorizontalBillboard"] = 2] = "HorizontalBillboard";
|
|
27043
|
+
ParticleRenderMode[ParticleRenderMode[/** Render particles as billboards always facing the player, but not pitching along the x-Axis. */ "VerticalBillboard"] = 3] = "VerticalBillboard";
|
|
27044
|
+
ParticleRenderMode[ParticleRenderMode[/** Render particles as meshes. */ "Mesh"] = 4] = "Mesh";
|
|
27045
|
+
ParticleRenderMode[ParticleRenderMode[/** Do not render particles. */ "None"] = 5] = "None";
|
|
27046
|
+
})(exports.ParticleRenderMode || (exports.ParticleRenderMode = {}));
|
|
27047
|
+
|
|
27048
|
+
exports.ParticleStopMode = void 0;
|
|
27049
|
+
(function(ParticleStopMode) {
|
|
27050
|
+
ParticleStopMode[ParticleStopMode[/** Stop emitting new particles and clear existing particles immediately. */ "StopEmittingAndClear"] = 0] = "StopEmittingAndClear";
|
|
27051
|
+
ParticleStopMode[ParticleStopMode[/** Stop emitting new particles, but keep existing particles until they expire. */ "StopEmitting"] = 1] = "StopEmitting";
|
|
27052
|
+
})(exports.ParticleStopMode || (exports.ParticleStopMode = {}));
|
|
27053
|
+
|
|
27054
|
+
/**
|
|
27055
|
+
* Particle Renderer Component.
|
|
27056
|
+
*/ var ParticleRenderer = /*#__PURE__*/ function(Renderer1) {
|
|
27057
|
+
_inherits(ParticleRenderer, Renderer1);
|
|
27058
|
+
function ParticleRenderer(entity) {
|
|
27039
27059
|
var _this;
|
|
27040
|
-
_this =
|
|
27041
|
-
|
|
27042
|
-
|
|
27043
|
-
|
|
27044
|
-
_this.
|
|
27060
|
+
_this = Renderer1.call(this, entity) || this;
|
|
27061
|
+
/** Particle generator. */ _this.generator = new ParticleGenerator(_assert_this_initialized(_this));
|
|
27062
|
+
/** Specifies how much particles stretch depending on their velocity. */ _this.velocityScale = 0;
|
|
27063
|
+
/** How much are the particles stretched in their direction of motion, defined as the length of the particle compared to its width. */ _this.lengthScale = 2;
|
|
27064
|
+
/** The pivot of particle. */ _this.pivot = new engineMath.Vector3();
|
|
27065
|
+
_this._currentRenderModeMacro = ParticleRenderer._billboardModeMacro;
|
|
27066
|
+
_this.shaderData.enableMacro(ParticleRenderer._billboardModeMacro);
|
|
27067
|
+
_this._supportInstancedArrays = _this.engine._hardwareRenderer.canIUse(exports.GLCapabilityType.instancedArrays);
|
|
27045
27068
|
return _this;
|
|
27046
27069
|
}
|
|
27047
|
-
var _proto =
|
|
27070
|
+
var _proto = ParticleRenderer.prototype;
|
|
27048
27071
|
/**
|
|
27049
|
-
* @
|
|
27050
|
-
*/ _proto.
|
|
27051
|
-
|
|
27052
|
-
|
|
27053
|
-
|
|
27072
|
+
* @internal
|
|
27073
|
+
*/ _proto._onEnable = function _onEnable() {
|
|
27074
|
+
if (this.generator.main.playOnEnabled) {
|
|
27075
|
+
this.generator.play(false);
|
|
27076
|
+
}
|
|
27054
27077
|
};
|
|
27055
|
-
|
|
27078
|
+
/**
|
|
27079
|
+
* @internal
|
|
27080
|
+
*/ _proto._onDisable = function _onDisable() {
|
|
27081
|
+
this.generator.stop(false, exports.ParticleStopMode.StopEmittingAndClear);
|
|
27082
|
+
};
|
|
27083
|
+
/**
|
|
27084
|
+
* @internal
|
|
27085
|
+
*/ _proto._prepareRender = function _prepareRender(context) {
|
|
27086
|
+
if (!this._supportInstancedArrays) {
|
|
27087
|
+
return;
|
|
27088
|
+
}
|
|
27089
|
+
var generator = this.generator;
|
|
27090
|
+
generator._update(this.engine.time.deltaTime);
|
|
27091
|
+
// No particles to render
|
|
27092
|
+
if (generator._firstActiveElement === generator._firstFreeElement) {
|
|
27093
|
+
return;
|
|
27094
|
+
}
|
|
27095
|
+
Renderer1.prototype._prepareRender.call(this, context);
|
|
27096
|
+
};
|
|
27097
|
+
/**
|
|
27098
|
+
* @internal
|
|
27099
|
+
*/ _proto._updateBounds = function _updateBounds(worldBounds) {
|
|
27100
|
+
worldBounds.min.set(-Number.MAX_VALUE, -Number.MAX_VALUE, -Number.MAX_VALUE);
|
|
27101
|
+
worldBounds.max.set(Number.MAX_VALUE, Number.MAX_VALUE, Number.MAX_VALUE);
|
|
27102
|
+
};
|
|
27103
|
+
/**
|
|
27104
|
+
* @internal
|
|
27105
|
+
*/ _proto._updateShaderData = function _updateShaderData(context) {
|
|
27106
|
+
var shaderData = this.shaderData;
|
|
27107
|
+
shaderData.setFloat(ParticleRenderer._lengthScale, this.lengthScale);
|
|
27108
|
+
shaderData.setFloat(ParticleRenderer._speedScale, this.velocityScale);
|
|
27109
|
+
shaderData.setFloat(ParticleRenderer._currentTime, this.generator._playTime);
|
|
27110
|
+
shaderData.setVector3(ParticleRenderer._pivotOffsetProperty, this.pivot);
|
|
27111
|
+
this.generator._updateShaderData(shaderData);
|
|
27112
|
+
};
|
|
27113
|
+
_proto._render = function _render(context) {
|
|
27114
|
+
var generator = this.generator;
|
|
27115
|
+
var primitive = generator._primitive;
|
|
27116
|
+
if (generator._firstActiveElement < generator._firstFreeElement) {
|
|
27117
|
+
primitive.instanceCount = generator._firstFreeElement - generator._firstActiveElement;
|
|
27118
|
+
} else {
|
|
27119
|
+
var instanceCount = generator._currentParticleCount - generator._firstActiveElement;
|
|
27120
|
+
if (generator._firstFreeElement > 0) {
|
|
27121
|
+
instanceCount += generator._firstFreeElement;
|
|
27122
|
+
}
|
|
27123
|
+
primitive.instanceCount = instanceCount;
|
|
27124
|
+
}
|
|
27125
|
+
var material = this.getMaterial();
|
|
27126
|
+
var renderData = this._engine._renderDataPool.getFromPool();
|
|
27127
|
+
renderData.setX(this, material, generator._primitive, generator._subPrimitive);
|
|
27128
|
+
context.camera._renderPipeline.pushRenderData(context, renderData);
|
|
27129
|
+
};
|
|
27130
|
+
_proto._onDestroy = function _onDestroy() {
|
|
27131
|
+
this.generator._destroy();
|
|
27132
|
+
};
|
|
27133
|
+
_create_class(ParticleRenderer, [
|
|
27056
27134
|
{
|
|
27057
|
-
key: "
|
|
27135
|
+
key: "renderMode",
|
|
27058
27136
|
get: /**
|
|
27059
|
-
*
|
|
27137
|
+
* Specifies how particles are rendered.
|
|
27060
27138
|
*/ function get() {
|
|
27061
|
-
return this.
|
|
27139
|
+
return this._renderMode;
|
|
27062
27140
|
},
|
|
27063
27141
|
set: function set(value) {
|
|
27064
|
-
|
|
27065
|
-
|
|
27066
|
-
|
|
27142
|
+
if (this._renderMode !== value) {
|
|
27143
|
+
var lastRenderMode = this._renderMode;
|
|
27144
|
+
this._renderMode = value;
|
|
27145
|
+
var renderModeMacro = null;
|
|
27146
|
+
var shaderData = this.shaderData;
|
|
27147
|
+
switch(value){
|
|
27148
|
+
case exports.ParticleRenderMode.Billboard:
|
|
27149
|
+
renderModeMacro = ParticleRenderer._billboardModeMacro;
|
|
27150
|
+
break;
|
|
27151
|
+
case exports.ParticleRenderMode.StretchBillboard:
|
|
27152
|
+
renderModeMacro = ParticleRenderer._stretchedBillboardModeMacro;
|
|
27153
|
+
break;
|
|
27154
|
+
case exports.ParticleRenderMode.HorizontalBillboard:
|
|
27155
|
+
throw "Not implemented";
|
|
27156
|
+
case exports.ParticleRenderMode.VerticalBillboard:
|
|
27157
|
+
throw "Not implemented";
|
|
27158
|
+
case exports.ParticleRenderMode.Mesh:
|
|
27159
|
+
throw "Not implemented";
|
|
27160
|
+
}
|
|
27161
|
+
if (this._currentRenderModeMacro !== renderModeMacro) {
|
|
27162
|
+
this._currentRenderModeMacro && shaderData.disableMacro(this._currentRenderModeMacro);
|
|
27163
|
+
renderModeMacro && shaderData.enableMacro(renderModeMacro);
|
|
27164
|
+
this._currentRenderModeMacro = renderModeMacro;
|
|
27165
|
+
}
|
|
27166
|
+
// @ts-ignore
|
|
27167
|
+
if (lastRenderMode !== exports.ParticleRenderMode.Mesh !== (value === exports.ParticleRenderMode.Mesh)) {
|
|
27168
|
+
this.generator._reorganizeGeometryBuffers();
|
|
27169
|
+
}
|
|
27067
27170
|
}
|
|
27068
27171
|
}
|
|
27069
27172
|
},
|
|
27070
27173
|
{
|
|
27071
|
-
key: "
|
|
27174
|
+
key: "mesh",
|
|
27072
27175
|
get: /**
|
|
27073
|
-
*
|
|
27176
|
+
* The mesh of particle.
|
|
27177
|
+
* @remarks Valid when `renderMode` is `Mesh`.
|
|
27074
27178
|
*/ function get() {
|
|
27075
|
-
return this.
|
|
27179
|
+
return this._mesh;
|
|
27076
27180
|
},
|
|
27077
27181
|
set: function set(value) {
|
|
27078
|
-
this.
|
|
27079
|
-
if (value) {
|
|
27080
|
-
|
|
27081
|
-
|
|
27082
|
-
|
|
27182
|
+
var lastMesh = this._mesh;
|
|
27183
|
+
if (lastMesh !== value) {
|
|
27184
|
+
var _lastMesh, _value;
|
|
27185
|
+
this._mesh = value;
|
|
27186
|
+
(_lastMesh = lastMesh) == null ? void 0 : _lastMesh._addReferCount(-1);
|
|
27187
|
+
(_value = value) == null ? void 0 : _value._addReferCount(1);
|
|
27188
|
+
if (this.renderMode === exports.ParticleRenderMode.Mesh) {
|
|
27189
|
+
this.generator._reorganizeGeometryBuffers();
|
|
27190
|
+
}
|
|
27083
27191
|
}
|
|
27084
27192
|
}
|
|
27085
27193
|
}
|
|
27086
27194
|
]);
|
|
27087
|
-
return
|
|
27088
|
-
}(
|
|
27089
|
-
|
|
27090
|
-
|
|
27091
|
-
};
|
|
27195
|
+
return ParticleRenderer;
|
|
27196
|
+
}(exports.Renderer);
|
|
27197
|
+
(function() {
|
|
27198
|
+
ParticleRenderer._billboardModeMacro = ShaderMacro.getByName("RENDERER_MODE_SPHERE_BILLBOARD");
|
|
27199
|
+
})();
|
|
27200
|
+
(function() {
|
|
27201
|
+
ParticleRenderer._stretchedBillboardModeMacro = ShaderMacro.getByName("RENDERER_MODE_STRETCHED_BILLBOARD");
|
|
27202
|
+
})();
|
|
27203
|
+
(function() {
|
|
27204
|
+
ParticleRenderer._horizontalBillboardModeMacro = ShaderMacro.getByName("RENDERER_MODE_HORIZONTAL_BILLBOARD");
|
|
27205
|
+
})();
|
|
27206
|
+
(function() {
|
|
27207
|
+
ParticleRenderer._verticalBillboardModeMacro = ShaderMacro.getByName("RENDERER_MODE_VERTICAL_BILLBOARD");
|
|
27208
|
+
})();
|
|
27209
|
+
(function() {
|
|
27210
|
+
ParticleRenderer._renderModeMeshMacro = ShaderMacro.getByName("RENDERER_MODE_MESH");
|
|
27211
|
+
})();
|
|
27212
|
+
(function() {
|
|
27213
|
+
ParticleRenderer._pivotOffsetProperty = ShaderProperty.getByName("renderer_PivotOffset");
|
|
27214
|
+
})();
|
|
27215
|
+
(function() {
|
|
27216
|
+
ParticleRenderer._lengthScale = ShaderProperty.getByName("renderer_StretchedBillboardLengthScale");
|
|
27217
|
+
})();
|
|
27218
|
+
(function() {
|
|
27219
|
+
ParticleRenderer._speedScale = ShaderProperty.getByName("renderer_StretchedBillboardSpeedScale");
|
|
27220
|
+
})();
|
|
27221
|
+
(function() {
|
|
27222
|
+
ParticleRenderer._currentTime = ShaderProperty.getByName("renderer_CurrentTime");
|
|
27223
|
+
})();
|
|
27224
|
+
__decorate([
|
|
27225
|
+
deepClone
|
|
27226
|
+
], ParticleRenderer.prototype, "generator", void 0);
|
|
27227
|
+
__decorate([
|
|
27228
|
+
shallowClone
|
|
27229
|
+
], ParticleRenderer.prototype, "pivot", void 0);
|
|
27092
27230
|
|
|
27093
27231
|
/**
|
|
27094
27232
|
* Particle curve mode.
|
|
@@ -27110,18 +27248,6 @@ var SubPrimitive = function SubPrimitive() {
|
|
|
27110
27248
|
ParticleGradientMode[ParticleGradientMode[/* Random value between two color gradients. */ "TwoGradients"] = 3] = "TwoGradients";
|
|
27111
27249
|
})(exports.ParticleGradientMode || (exports.ParticleGradientMode = {}));
|
|
27112
27250
|
|
|
27113
|
-
/**
|
|
27114
|
-
* The rendering mode for particle renderer.
|
|
27115
|
-
*/ exports.ParticleRenderMode = void 0;
|
|
27116
|
-
(function(ParticleRenderMode) {
|
|
27117
|
-
ParticleRenderMode[ParticleRenderMode[/** Render particles as billboards facing the active camera. */ "Billboard"] = 0] = "Billboard";
|
|
27118
|
-
ParticleRenderMode[ParticleRenderMode[/** Stretch particles in the direction of motion. */ "StretchBillboard"] = 1] = "StretchBillboard";
|
|
27119
|
-
ParticleRenderMode[ParticleRenderMode[/** Render particles as billboards always facing up along the y-Axis. */ "HorizontalBillboard"] = 2] = "HorizontalBillboard";
|
|
27120
|
-
ParticleRenderMode[ParticleRenderMode[/** Render particles as billboards always facing the player, but not pitching along the x-Axis. */ "VerticalBillboard"] = 3] = "VerticalBillboard";
|
|
27121
|
-
ParticleRenderMode[ParticleRenderMode[/** Render particles as meshes. */ "Mesh"] = 4] = "Mesh";
|
|
27122
|
-
ParticleRenderMode[ParticleRenderMode[/** Do not render particles. */ "None"] = 5] = "None";
|
|
27123
|
-
})(exports.ParticleRenderMode || (exports.ParticleRenderMode = {}));
|
|
27124
|
-
|
|
27125
27251
|
/**
|
|
27126
27252
|
* The space to simulate particles in.
|
|
27127
27253
|
*/ exports.ParticleSimulationSpace = void 0;
|
|
@@ -27130,12 +27256,6 @@ var SubPrimitive = function SubPrimitive() {
|
|
|
27130
27256
|
ParticleSimulationSpace[ParticleSimulationSpace[/** Simulate particles in world space. */ "World"] = 1] = "World";
|
|
27131
27257
|
})(exports.ParticleSimulationSpace || (exports.ParticleSimulationSpace = {}));
|
|
27132
27258
|
|
|
27133
|
-
exports.ParticleStopMode = void 0;
|
|
27134
|
-
(function(ParticleStopMode) {
|
|
27135
|
-
ParticleStopMode[ParticleStopMode[/** Stop emitting new particles and clear existing particles immediately. */ "StopEmittingAndClear"] = 0] = "StopEmittingAndClear";
|
|
27136
|
-
ParticleStopMode[ParticleStopMode[/** Stop emitting new particles, but keep existing particles until they expire. */ "StopEmitting"] = 1] = "StopEmitting";
|
|
27137
|
-
})(exports.ParticleStopMode || (exports.ParticleStopMode = {}));
|
|
27138
|
-
|
|
27139
27259
|
/**
|
|
27140
27260
|
* @internal
|
|
27141
27261
|
*/ var ParticleRandomSubSeeds;
|
|
@@ -29086,181 +29206,60 @@ __decorate([
|
|
|
29086
29206
|
], ParticleGenerator.prototype, "_instanceVertices", void 0);
|
|
29087
29207
|
|
|
29088
29208
|
/**
|
|
29089
|
-
* Particle
|
|
29090
|
-
*/ var
|
|
29091
|
-
_inherits(
|
|
29092
|
-
function
|
|
29209
|
+
* Particle Material.
|
|
29210
|
+
*/ var ParticleMaterial = /*#__PURE__*/ function(BaseMaterial1) {
|
|
29211
|
+
_inherits(ParticleMaterial, BaseMaterial1);
|
|
29212
|
+
function ParticleMaterial(engine) {
|
|
29093
29213
|
var _this;
|
|
29094
|
-
_this =
|
|
29095
|
-
|
|
29096
|
-
|
|
29097
|
-
|
|
29098
|
-
|
|
29099
|
-
_this._currentRenderModeMacro = ParticleRenderer._billboardModeMacro;
|
|
29100
|
-
_this.shaderData.enableMacro(ParticleRenderer._billboardModeMacro);
|
|
29101
|
-
_this._supportInstancedArrays = _this.engine._hardwareRenderer.canIUse(exports.GLCapabilityType.instancedArrays);
|
|
29214
|
+
_this = BaseMaterial1.call(this, engine, Shader.find("particle-shader")) || this;
|
|
29215
|
+
var shaderData = _this.shaderData;
|
|
29216
|
+
shaderData.enableMacro("MATERIAL_OMIT_NORMAL");
|
|
29217
|
+
shaderData.setColor(BaseMaterial._baseColorProp, new engineMath.Color(1, 1, 1, 1));
|
|
29218
|
+
_this.isTransparent = true;
|
|
29102
29219
|
return _this;
|
|
29103
29220
|
}
|
|
29104
|
-
var _proto =
|
|
29105
|
-
/**
|
|
29106
|
-
* @internal
|
|
29107
|
-
*/ _proto._onEnable = function _onEnable() {
|
|
29108
|
-
if (this.generator.main.playOnEnabled) {
|
|
29109
|
-
this.generator.play(false);
|
|
29110
|
-
}
|
|
29111
|
-
};
|
|
29112
|
-
/**
|
|
29113
|
-
* @internal
|
|
29114
|
-
*/ _proto._onDisable = function _onDisable() {
|
|
29115
|
-
this.generator.stop(false, exports.ParticleStopMode.StopEmittingAndClear);
|
|
29116
|
-
};
|
|
29117
|
-
/**
|
|
29118
|
-
* @internal
|
|
29119
|
-
*/ _proto._prepareRender = function _prepareRender(context) {
|
|
29120
|
-
if (!this._supportInstancedArrays) {
|
|
29121
|
-
return;
|
|
29122
|
-
}
|
|
29123
|
-
var generator = this.generator;
|
|
29124
|
-
generator._update(this.engine.time.deltaTime);
|
|
29125
|
-
// No particles to render
|
|
29126
|
-
if (generator._firstActiveElement === generator._firstFreeElement) {
|
|
29127
|
-
return;
|
|
29128
|
-
}
|
|
29129
|
-
Renderer1.prototype._prepareRender.call(this, context);
|
|
29130
|
-
};
|
|
29131
|
-
/**
|
|
29132
|
-
* @internal
|
|
29133
|
-
*/ _proto._updateBounds = function _updateBounds(worldBounds) {
|
|
29134
|
-
worldBounds.min.set(-Number.MAX_VALUE, -Number.MAX_VALUE, -Number.MAX_VALUE);
|
|
29135
|
-
worldBounds.max.set(Number.MAX_VALUE, Number.MAX_VALUE, Number.MAX_VALUE);
|
|
29136
|
-
};
|
|
29221
|
+
var _proto = ParticleMaterial.prototype;
|
|
29137
29222
|
/**
|
|
29138
|
-
* @
|
|
29139
|
-
*/ _proto.
|
|
29140
|
-
var
|
|
29141
|
-
|
|
29142
|
-
|
|
29143
|
-
shaderData.setFloat(ParticleRenderer._currentTime, this.generator._playTime);
|
|
29144
|
-
shaderData.setVector3(ParticleRenderer._pivotOffsetProperty, this.pivot);
|
|
29145
|
-
this.generator._updateShaderData(shaderData);
|
|
29146
|
-
};
|
|
29147
|
-
_proto._render = function _render(context) {
|
|
29148
|
-
var generator = this.generator;
|
|
29149
|
-
var primitive = generator._primitive;
|
|
29150
|
-
if (generator._firstActiveElement < generator._firstFreeElement) {
|
|
29151
|
-
primitive.instanceCount = generator._firstFreeElement - generator._firstActiveElement;
|
|
29152
|
-
} else {
|
|
29153
|
-
var instanceCount = generator._currentParticleCount - generator._firstActiveElement;
|
|
29154
|
-
if (generator._firstFreeElement > 0) {
|
|
29155
|
-
instanceCount += generator._firstFreeElement;
|
|
29156
|
-
}
|
|
29157
|
-
primitive.instanceCount = instanceCount;
|
|
29158
|
-
}
|
|
29159
|
-
var material = this.getMaterial();
|
|
29160
|
-
var renderData = this._engine._renderDataPool.getFromPool();
|
|
29161
|
-
renderData.setX(this, material, generator._primitive, generator._subPrimitive);
|
|
29162
|
-
context.camera._renderPipeline.pushRenderData(context, renderData);
|
|
29163
|
-
};
|
|
29164
|
-
_proto._onDestroy = function _onDestroy() {
|
|
29165
|
-
this.generator._destroy();
|
|
29223
|
+
* @inheritdoc
|
|
29224
|
+
*/ _proto.clone = function clone() {
|
|
29225
|
+
var dest = new ParticleMaterial(this._engine);
|
|
29226
|
+
this.cloneTo(dest);
|
|
29227
|
+
return dest;
|
|
29166
29228
|
};
|
|
29167
|
-
_create_class(
|
|
29229
|
+
_create_class(ParticleMaterial, [
|
|
29168
29230
|
{
|
|
29169
|
-
key: "
|
|
29231
|
+
key: "baseColor",
|
|
29170
29232
|
get: /**
|
|
29171
|
-
*
|
|
29233
|
+
* Base color.
|
|
29172
29234
|
*/ function get() {
|
|
29173
|
-
return this.
|
|
29235
|
+
return this.shaderData.getColor(BaseMaterial._baseColorProp);
|
|
29174
29236
|
},
|
|
29175
29237
|
set: function set(value) {
|
|
29176
|
-
|
|
29177
|
-
|
|
29178
|
-
|
|
29179
|
-
var renderModeMacro = null;
|
|
29180
|
-
var shaderData = this.shaderData;
|
|
29181
|
-
switch(value){
|
|
29182
|
-
case exports.ParticleRenderMode.Billboard:
|
|
29183
|
-
renderModeMacro = ParticleRenderer._billboardModeMacro;
|
|
29184
|
-
break;
|
|
29185
|
-
case exports.ParticleRenderMode.StretchBillboard:
|
|
29186
|
-
renderModeMacro = ParticleRenderer._stretchedBillboardModeMacro;
|
|
29187
|
-
break;
|
|
29188
|
-
case exports.ParticleRenderMode.HorizontalBillboard:
|
|
29189
|
-
throw "Not implemented";
|
|
29190
|
-
case exports.ParticleRenderMode.VerticalBillboard:
|
|
29191
|
-
throw "Not implemented";
|
|
29192
|
-
case exports.ParticleRenderMode.Mesh:
|
|
29193
|
-
throw "Not implemented";
|
|
29194
|
-
}
|
|
29195
|
-
if (this._currentRenderModeMacro !== renderModeMacro) {
|
|
29196
|
-
this._currentRenderModeMacro && shaderData.disableMacro(this._currentRenderModeMacro);
|
|
29197
|
-
renderModeMacro && shaderData.enableMacro(renderModeMacro);
|
|
29198
|
-
this._currentRenderModeMacro = renderModeMacro;
|
|
29199
|
-
}
|
|
29200
|
-
// @ts-ignore
|
|
29201
|
-
if (lastRenderMode !== exports.ParticleRenderMode.Mesh !== (value === exports.ParticleRenderMode.Mesh)) {
|
|
29202
|
-
this.generator._reorganizeGeometryBuffers();
|
|
29203
|
-
}
|
|
29238
|
+
var baseColor = this.shaderData.getColor(BaseMaterial._baseColorProp);
|
|
29239
|
+
if (value !== baseColor) {
|
|
29240
|
+
baseColor.copyFrom(value);
|
|
29204
29241
|
}
|
|
29205
29242
|
}
|
|
29206
29243
|
},
|
|
29207
29244
|
{
|
|
29208
|
-
key: "
|
|
29245
|
+
key: "baseTexture",
|
|
29209
29246
|
get: /**
|
|
29210
|
-
*
|
|
29211
|
-
* @remarks Valid when `renderMode` is `Mesh`.
|
|
29247
|
+
* Base texture.
|
|
29212
29248
|
*/ function get() {
|
|
29213
|
-
return this.
|
|
29249
|
+
return this.shaderData.getTexture(BaseMaterial._baseTextureProp);
|
|
29214
29250
|
},
|
|
29215
29251
|
set: function set(value) {
|
|
29216
|
-
|
|
29217
|
-
if (
|
|
29218
|
-
|
|
29219
|
-
|
|
29220
|
-
(
|
|
29221
|
-
(_value = value) == null ? void 0 : _value._addReferCount(1);
|
|
29222
|
-
if (this.renderMode === exports.ParticleRenderMode.Mesh) {
|
|
29223
|
-
this.generator._reorganizeGeometryBuffers();
|
|
29224
|
-
}
|
|
29252
|
+
this.shaderData.setTexture(BaseMaterial._baseTextureProp, value);
|
|
29253
|
+
if (value) {
|
|
29254
|
+
this.shaderData.enableMacro(BaseMaterial._baseTextureMacro);
|
|
29255
|
+
} else {
|
|
29256
|
+
this.shaderData.disableMacro(BaseMaterial._baseTextureMacro);
|
|
29225
29257
|
}
|
|
29226
29258
|
}
|
|
29227
29259
|
}
|
|
29228
29260
|
]);
|
|
29229
|
-
return
|
|
29230
|
-
}(
|
|
29231
|
-
(function() {
|
|
29232
|
-
ParticleRenderer._billboardModeMacro = ShaderMacro.getByName("RENDERER_MODE_SPHERE_BILLBOARD");
|
|
29233
|
-
})();
|
|
29234
|
-
(function() {
|
|
29235
|
-
ParticleRenderer._stretchedBillboardModeMacro = ShaderMacro.getByName("RENDERER_MODE_STRETCHED_BILLBOARD");
|
|
29236
|
-
})();
|
|
29237
|
-
(function() {
|
|
29238
|
-
ParticleRenderer._horizontalBillboardModeMacro = ShaderMacro.getByName("RENDERER_MODE_HORIZONTAL_BILLBOARD");
|
|
29239
|
-
})();
|
|
29240
|
-
(function() {
|
|
29241
|
-
ParticleRenderer._verticalBillboardModeMacro = ShaderMacro.getByName("RENDERER_MODE_VERTICAL_BILLBOARD");
|
|
29242
|
-
})();
|
|
29243
|
-
(function() {
|
|
29244
|
-
ParticleRenderer._renderModeMeshMacro = ShaderMacro.getByName("RENDERER_MODE_MESH");
|
|
29245
|
-
})();
|
|
29246
|
-
(function() {
|
|
29247
|
-
ParticleRenderer._pivotOffsetProperty = ShaderProperty.getByName("renderer_PivotOffset");
|
|
29248
|
-
})();
|
|
29249
|
-
(function() {
|
|
29250
|
-
ParticleRenderer._lengthScale = ShaderProperty.getByName("renderer_StretchedBillboardLengthScale");
|
|
29251
|
-
})();
|
|
29252
|
-
(function() {
|
|
29253
|
-
ParticleRenderer._speedScale = ShaderProperty.getByName("renderer_StretchedBillboardSpeedScale");
|
|
29254
|
-
})();
|
|
29255
|
-
(function() {
|
|
29256
|
-
ParticleRenderer._currentTime = ShaderProperty.getByName("renderer_CurrentTime");
|
|
29257
|
-
})();
|
|
29258
|
-
__decorate([
|
|
29259
|
-
deepClone
|
|
29260
|
-
], ParticleRenderer.prototype, "generator", void 0);
|
|
29261
|
-
__decorate([
|
|
29262
|
-
shallowClone
|
|
29263
|
-
], ParticleRenderer.prototype, "pivot", void 0);
|
|
29261
|
+
return ParticleMaterial;
|
|
29262
|
+
}(BaseMaterial);
|
|
29264
29263
|
|
|
29265
29264
|
/**
|
|
29266
29265
|
* A burst is a particle emission event, where a number of particles are all emitted at the same time
|
|
@@ -29932,6 +29931,7 @@ exports.CharacterController = CharacterController;
|
|
|
29932
29931
|
exports.CircleShape = CircleShape;
|
|
29933
29932
|
exports.CloneManager = CloneManager;
|
|
29934
29933
|
exports.ColliderShape = ColliderShape;
|
|
29934
|
+
exports.ColorOverLifetimeModule = ColorOverLifetimeModule;
|
|
29935
29935
|
exports.Component = Component;
|
|
29936
29936
|
exports.ConeShape = ConeShape;
|
|
29937
29937
|
exports.ContentRestorer = ContentRestorer;
|
|
@@ -29940,12 +29940,15 @@ exports.CurveKey = CurveKey;
|
|
|
29940
29940
|
exports.DepthState = DepthState;
|
|
29941
29941
|
exports.DirectLight = DirectLight;
|
|
29942
29942
|
exports.DynamicCollider = DynamicCollider;
|
|
29943
|
+
exports.EmissionModule = EmissionModule;
|
|
29943
29944
|
exports.Engine = Engine;
|
|
29944
29945
|
exports.EngineObject = EngineObject;
|
|
29945
29946
|
exports.Entity = Entity;
|
|
29946
29947
|
exports.EventDispatcher = EventDispatcher;
|
|
29947
29948
|
exports.FixedJoint = FixedJoint;
|
|
29948
29949
|
exports.Font = Font;
|
|
29950
|
+
exports.GradientAlphaKey = GradientAlphaKey;
|
|
29951
|
+
exports.GradientColorKey = GradientColorKey;
|
|
29949
29952
|
exports.HemisphereShape = HemisphereShape;
|
|
29950
29953
|
exports.HingeJoint = HingeJoint;
|
|
29951
29954
|
exports.HitResult = HitResult;
|
|
@@ -29957,6 +29960,7 @@ exports.Keyframe = Keyframe;
|
|
|
29957
29960
|
exports.Light = Light;
|
|
29958
29961
|
exports.Loader = Loader;
|
|
29959
29962
|
exports.Logger = Logger;
|
|
29963
|
+
exports.MainModule = MainModule;
|
|
29960
29964
|
exports.Material = Material;
|
|
29961
29965
|
exports.Mesh = Mesh;
|
|
29962
29966
|
exports.MeshRenderer = MeshRenderer;
|
|
@@ -29965,7 +29969,10 @@ exports.PBRBaseMaterial = PBRBaseMaterial;
|
|
|
29965
29969
|
exports.PBRMaterial = PBRMaterial;
|
|
29966
29970
|
exports.PBRSpecularMaterial = PBRSpecularMaterial;
|
|
29967
29971
|
exports.ParticleCompositeCurve = ParticleCompositeCurve;
|
|
29972
|
+
exports.ParticleCompositeGradient = ParticleCompositeGradient;
|
|
29968
29973
|
exports.ParticleCurve = ParticleCurve;
|
|
29974
|
+
exports.ParticleGenerator = ParticleGenerator;
|
|
29975
|
+
exports.ParticleGradient = ParticleGradient;
|
|
29969
29976
|
exports.ParticleMaterial = ParticleMaterial;
|
|
29970
29977
|
exports.ParticleRenderer = ParticleRenderer;
|
|
29971
29978
|
exports.PhysicsMaterial = PhysicsMaterial;
|
|
@@ -29984,6 +29991,7 @@ exports.RenderState = RenderState;
|
|
|
29984
29991
|
exports.RenderTarget = RenderTarget;
|
|
29985
29992
|
exports.RenderTargetBlendState = RenderTargetBlendState;
|
|
29986
29993
|
exports.ResourceManager = ResourceManager;
|
|
29994
|
+
exports.RotationOverLifetimeModule = RotationOverLifetimeModule;
|
|
29987
29995
|
exports.Scene = Scene;
|
|
29988
29996
|
exports.SceneManager = SceneManager;
|
|
29989
29997
|
exports.Script = Script;
|
|
@@ -29995,6 +30003,7 @@ exports.ShaderMacroCollection = ShaderMacroCollection;
|
|
|
29995
30003
|
exports.ShaderPass = ShaderPass;
|
|
29996
30004
|
exports.ShaderProperty = ShaderProperty;
|
|
29997
30005
|
exports.ShaderTagKey = ShaderTagKey;
|
|
30006
|
+
exports.SizeOverLifetimeModule = SizeOverLifetimeModule;
|
|
29998
30007
|
exports.Skin = Skin;
|
|
29999
30008
|
exports.SkinnedMeshRenderer = SkinnedMeshRenderer;
|
|
30000
30009
|
exports.Sky = Sky;
|
|
@@ -30020,12 +30029,14 @@ exports.Texture = Texture;
|
|
|
30020
30029
|
exports.Texture2D = Texture2D;
|
|
30021
30030
|
exports.Texture2DArray = Texture2DArray;
|
|
30022
30031
|
exports.TextureCube = TextureCube;
|
|
30032
|
+
exports.TextureSheetAnimationModule = TextureSheetAnimationModule;
|
|
30023
30033
|
exports.Time = Time;
|
|
30024
30034
|
exports.TrailMaterial = TrailMaterial;
|
|
30025
30035
|
exports.TrailRenderer = TrailRenderer;
|
|
30026
30036
|
exports.Transform = Transform;
|
|
30027
30037
|
exports.UnlitMaterial = UnlitMaterial;
|
|
30028
30038
|
exports.Utils = Utils;
|
|
30039
|
+
exports.VelocityOverLifetimeModule = VelocityOverLifetimeModule;
|
|
30029
30040
|
exports.VertexBufferBinding = VertexBufferBinding;
|
|
30030
30041
|
exports.VertexElement = VertexElement;
|
|
30031
30042
|
exports.assignmentClone = assignmentClone;
|