Skip to content

Commit 6accb89

Browse files
committed
The emitter can now set the blend mode and render target directly, also includes scrollFactor now
1 parent 6770113 commit 6accb89

1 file changed

Lines changed: 14 additions & 6 deletions

File tree

v3/src/renderer/webgl/renderers/particlerenderer/ParticleRenderer.js

Lines changed: 14 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -173,6 +173,16 @@ var ParticleRenderer = new Class({
173173
var particles = emitter.alive;
174174
var length = particles.length;
175175

176+
if (length === 0)
177+
{
178+
return;
179+
}
180+
181+
if (emitter.blendMode !== this.manager.blendMode)
182+
{
183+
this.manager.setBlendMode(emitter.blendMode);
184+
}
185+
176186
var data = this.vertexDataBuffer;
177187
var vbF32 = data.floatView;
178188
var vbU32 = data.uintView;
@@ -201,9 +211,7 @@ var ParticleRenderer = new Class({
201211
var cameraScrollX = camera.scrollX * emitter.scrollFactorX;
202212
var cameraScrollY = camera.scrollY * emitter.scrollFactorY;
203213

204-
if (length === 0) return;
205-
206-
this.manager.setRenderer(this, emitter.frame.source.glTexture, emitter.renderTarget);
214+
this.manager.setRenderer(this, emitter.frame.source.glTexture, renderTarget);
207215

208216
for (var batchIndex = 0; batchIndex < batchCount; ++batchIndex)
209217
{
@@ -223,10 +231,10 @@ var ParticleRenderer = new Class({
223231

224232
var xw = x + frame.width;
225233
var yh = y + frame.height;
226-
234+
227235
tempMatrix.applyITRS(
228-
particle.x - cameraScrollX,
229-
particle.y - cameraScrollY,
236+
particle.x - cameraScrollX * particle.scrollFactorX,
237+
particle.y - cameraScrollY * particle.scrollFactorY,
230238
particle.rotation,
231239
particle.scaleX,
232240
particle.scaleY

0 commit comments

Comments
 (0)