aboutsummaryrefslogtreecommitdiff
path: root/src/libjin/graphics/particles
diff options
context:
space:
mode:
Diffstat (limited to 'src/libjin/graphics/particles')
-rw-r--r--src/libjin/graphics/particles/je_particle.cpp2
-rw-r--r--src/libjin/graphics/particles/je_particle_emitter.cpp12
-rw-r--r--src/libjin/graphics/particles/je_particle_system.cpp3
3 files changed, 9 insertions, 8 deletions
diff --git a/src/libjin/graphics/particles/je_particle.cpp b/src/libjin/graphics/particles/je_particle.cpp
index 53f4570..20e4b9e 100644
--- a/src/libjin/graphics/particles/je_particle.cpp
+++ b/src/libjin/graphics/particles/je_particle.cpp
@@ -37,7 +37,7 @@ namespace JinEngine
void Particle::update(float dt)
{
float t = life / lifeTime;
- // Lerp color
+ // Lerp color.
color.r = lerp<int>(colorStart.r, colorEnd.r, t);
color.g = lerp<int>(colorStart.g, colorEnd.g, t);
color.b = lerp<int>(colorStart.b, colorEnd.b, t);
diff --git a/src/libjin/graphics/particles/je_particle_emitter.cpp b/src/libjin/graphics/particles/je_particle_emitter.cpp
index d8fb78d..35d654e 100644
--- a/src/libjin/graphics/particles/je_particle_emitter.cpp
+++ b/src/libjin/graphics/particles/je_particle_emitter.cpp
@@ -57,9 +57,7 @@ namespace JinEngine
p->transform.setPosition(x, y);
}
else
- {
p->transform.setPosition(mDef.positionDef.position.position);
- }
// Init speed.
float r = 0;
if (mDef.directionDef.enableRandom)
@@ -72,27 +70,27 @@ namespace JinEngine
else
f = mDef.forceDef.force.force;
p->speed.set(f*cos(r), f*sin(r));
- // Init life time
+ // Init life time.
if (mPDef.lifeTimeDef.enableRandom)
p->lifeTime = rng.randf(mPDef.lifeTimeDef.life.random.floor, mPDef.lifeTimeDef.life.random.floor, ACCURACY_4);
else
p->lifeTime = mPDef.lifeTimeDef.life.life;
- // Init linear accelaration
+ // Init linear accelaration.
p->linearAcceleration = mPDef.linearAccelarationDef.linearAccelaration;
- // Init angular accelaration
+ // Init angular accelaration.
p->radialAcceleration = mPDef.radialAccelarationDef.radialAccelaration;
// Init Angular speed.
if (mPDef.angularSpeedDef.enableRandom)
p->angularSpeed = rng.randf(mPDef.angularSpeedDef.angularSpeed.random.floor, mPDef.angularSpeedDef.angularSpeed.random.ceil, ACCURACY_4);
else
p->angularSpeed = mPDef.angularSpeedDef.angularSpeed.angularSpeed;
- // Scale over time
+ // Scale over time.
if (mPDef.sizeOverTimeDef.enable)
{
p->scaleBegin = mPDef.sizeOverTimeDef.start;
p->scaleEnd = mPDef.sizeOverTimeDef.end;
}
- // Color over time
+ // Color over time.
if (mPDef.colorOverTimeDef.enable)
{
p->colorStart = mPDef.colorOverTimeDef.colorStart;
diff --git a/src/libjin/graphics/particles/je_particle_system.cpp b/src/libjin/graphics/particles/je_particle_system.cpp
index a81a3c9..942da99 100644
--- a/src/libjin/graphics/particles/je_particle_system.cpp
+++ b/src/libjin/graphics/particles/je_particle_system.cpp
@@ -38,8 +38,11 @@ namespace JinEngine
void ParticleSystem::render(float x, float y, float sx /* = 1 */, float sy /* = 1 */, float r /* = 0 */, float ax /* = 0 */, float ay /* = 0 */)
{
+ gl.push();
+ gl.translate(x, y);
for (Particle* p : mAliveParticles)
p->render();
+ gl.pop();
}
void ParticleSystem::setGraphic(const Graphic* graphic)