Merge pull request #1928 from lukaspj/particle-manager-lmactivate-cleanup

Cleanup when deactivating light manager instead of reinitializing
This commit is contained in:
Areloch 2017-01-25 21:23:36 -06:00 committed by GitHub
commit ac19e0e84c

View file

@ -588,6 +588,8 @@ bool RenderParticleMgr::_initShader()
} }
void RenderParticleMgr::_onLMActivate( const char*, bool activate ) void RenderParticleMgr::_onLMActivate( const char*, bool activate )
{
if ( activate )
{ {
RenderPassManager *rpm = getRenderPass(); RenderPassManager *rpm = getRenderPass();
if ( !rpm ) if ( !rpm )
@ -621,12 +623,18 @@ void RenderParticleMgr::_onLMActivate( const char*, bool activate )
mEdgeTarget = NamedTexTarget::find( "edge" ); mEdgeTarget = NamedTexTarget::find( "edge" );
// Setup the shader // Setup the shader
if ( activate )
_initShader(); _initShader();
if ( mScreenQuadVertBuff.isNull() ) if ( mScreenQuadVertBuff.isNull() )
_initGFXResources(); _initGFXResources();
} }
else
{
mStencilClearSB = NULL;
mScreenQuadPrimBuff = NULL;
mScreenQuadVertBuff = NULL;
}
}
GFXStateBlockRef RenderParticleMgr::_getOffscreenStateBlock(ParticleRenderInst *ri) GFXStateBlockRef RenderParticleMgr::_getOffscreenStateBlock(ParticleRenderInst *ri)
{ {