diff --git a/src/modules/graphics/ParticleSystem.cpp b/src/modules/graphics/ParticleSystem.cpp index 9c69133ad..b6f7c23b8 100644 --- a/src/modules/graphics/ParticleSystem.cpp +++ b/src/modules/graphics/ParticleSystem.cpp @@ -1048,7 +1048,7 @@ void ParticleSystem::update(float dt) prevPosition = position; } -bool ParticleSystem::prepareDraw(Graphics *gfx, const Matrix4 &m) +bool ParticleSystem::prepareDraw(Graphics *gfx) { uint32 pCount = getCount(); @@ -1057,8 +1057,6 @@ bool ParticleSystem::prepareDraw(Graphics *gfx, const Matrix4 &m) gfx->flushStreamDraws(); - Graphics::TempTransform transform(gfx, m); - const vertex::XYf_STf *textureVerts = texture->getQuad()->getVertices(); Vertex *pVerts = (Vertex *) buffer->map(); Particle *p = pHead; diff --git a/src/modules/graphics/ParticleSystem.h b/src/modules/graphics/ParticleSystem.h index a60edf1fe..9278c9ca2 100644 --- a/src/modules/graphics/ParticleSystem.h +++ b/src/modules/graphics/ParticleSystem.h @@ -612,7 +612,7 @@ protected: int quadIndex; }; - bool prepareDraw(Graphics *gfx, const Matrix4 &m); + bool prepareDraw(Graphics *gfx); // Pointer to the beginning of the allocated memory. Particle *pMem; diff --git a/src/modules/graphics/opengl/ParticleSystem.cpp b/src/modules/graphics/opengl/ParticleSystem.cpp index dfa07b2c0..6f402b6f2 100644 --- a/src/modules/graphics/opengl/ParticleSystem.cpp +++ b/src/modules/graphics/opengl/ParticleSystem.cpp @@ -54,9 +54,11 @@ void ParticleSystem::draw(Graphics *gfx, const Matrix4 &m) { using namespace vertex; - if (!prepareDraw(gfx, m)) + if (!prepareDraw(gfx)) return; + Graphics::TempTransform transform(gfx, m); + if (Shader::current && texture.get()) Shader::current->checkMainTexture(texture);