Adjusts the lightbin manager to be a regular bin, and shifts ownership of both lighting targets to the deferred manager. Probes now render ahead of lights to make the additive order jive.

Also reordered the probe targets used so they match lights for consistency.
This commit is contained in:
Areloch 2018-10-24 23:43:12 -05:00
parent 1b8549b146
commit e72f04648a
9 changed files with 108 additions and 48 deletions

View file

@ -115,22 +115,22 @@ void AdvancedLightManager::activate( SceneManager *sceneManager )
true,
false );
mLightBinManager = new AdvancedLightBinManager( this, SHADOWMGR, blendTargetFormat );
mLightBinManager->assignName( "AL_LightBinMgr" );
// First look for the deferred bin...
RenderDeferredMgr *deferredBin = _findDeferredRenderBin();
// If we didn't find the deferred bin then add one.
if ( !deferredBin )
if (!deferredBin)
{
deferredBin = new RenderDeferredMgr( true, blendTargetFormat );
deferredBin->assignName( "AL_DeferredBin" );
deferredBin = new RenderDeferredMgr(true, blendTargetFormat);
deferredBin->assignName("AL_DeferredBin");
deferredBin->registerObject();
getSceneManager()->getDefaultRenderPass()->addManager( deferredBin );
getSceneManager()->getDefaultRenderPass()->addManager(deferredBin);
mDeferredRenderBin = deferredBin;
}
mLightBinManager = new AdvancedLightBinManager( this, SHADOWMGR, blendTargetFormat );
mLightBinManager->assignName( "AL_LightBinMgr" );
// Tell the material manager that deferred is enabled.
MATMGR->setDeferredEnabled( true );
@ -138,7 +138,7 @@ void AdvancedLightManager::activate( SceneManager *sceneManager )
mLightBinManager->setRenderOrder( deferredBin->getRenderOrder() + 0.01f );
getSceneManager()->getDefaultRenderPass()->addManager( mLightBinManager );
AdvancedLightingFeatures::registerFeatures(mDeferredRenderBin->getTargetFormat(), mLightBinManager->getTargetFormat());
AdvancedLightingFeatures::registerFeatures(mDeferredRenderBin->getTargetFormat(), blendTargetFormat);
// Last thing... let everyone know we're active.
smActivateSignal.trigger( getId(), true );