diff --git a/src/graphics/gpuparticles.cpp b/src/graphics/gpuparticles.cpp index 7074c34ab..617041711 100644 --- a/src/graphics/gpuparticles.cpp +++ b/src/graphics/gpuparticles.cpp @@ -176,13 +176,14 @@ void bindUniformToTextureUnit(GLuint location, GLuint texid, unsigned textureUni } GPUParticle::GPUParticle(scene::ISceneManager* mgr, ITexture *tex) - : scene::ISceneNode(0, mgr, -1) { + : scene::ISceneNode(mgr->getRootSceneNode(), mgr, -1) { initGL(); fakemat.Lighting = false; fakemat.ZWriteEnable = false; fakemat.MaterialType = irr_driver->getShader(ES_RAIN); fakemat.Thickness = 200; - fakemat.setTexture(0, tex); + fakemat.setTexture(0, tex); + setAutomaticCulling(0); } void GPUParticle::render() { diff --git a/src/graphics/particle_emitter.cpp b/src/graphics/particle_emitter.cpp index 28c72fc42..3cc1392ba 100644 --- a/src/graphics/particle_emitter.cpp +++ b/src/graphics/particle_emitter.cpp @@ -454,7 +454,6 @@ void ParticleEmitter::setParticleType(const ParticleKind* type) lifeTimeMin, lifeTimeMax, m_particle_type->getAngleSpread()); PE->setPosition(m_node->getPosition()); - irr_driver->addPerCameraNode(PE, irr_driver->getSceneManager()->getActiveCamera(), NULL); #endif break; }