Catches the remaining prepass to deferred changes on the engine side.

This commit is contained in:
Areloch 2017-05-14 18:28:17 -05:00
parent b0fe71fa2f
commit 9ce521d95f
10 changed files with 73 additions and 73 deletions

View file

@ -116,23 +116,23 @@ void AdvancedLightManager::activate( SceneManager *sceneManager )
mLightBinManager->assignName( "AL_LightBinMgr" );
// First look for the deferred bin...
RenderDeferredMgr *prePassBin = _findDeferredRenderBin();
RenderDeferredMgr *deferredBin = _findDeferredRenderBin();
// If we didn't find the deferred bin then add one.
if ( !prePassBin )
if ( !deferredBin )
{
prePassBin = new RenderDeferredMgr( true, blendTargetFormat );
prePassBin->assignName( "AL_DeferredBin" );
prePassBin->registerObject();
getSceneManager()->getDefaultRenderPass()->addManager( prePassBin );
mDeferredRenderBin = prePassBin;
deferredBin = new RenderDeferredMgr( true, blendTargetFormat );
deferredBin->assignName( "AL_DeferredBin" );
deferredBin->registerObject();
getSceneManager()->getDefaultRenderPass()->addManager( deferredBin );
mDeferredRenderBin = deferredBin;
}
// Tell the material manager that deferred is enabled.
MATMGR->setDeferredEnabled( true );
// Insert our light bin manager.
mLightBinManager->setRenderOrder( prePassBin->getRenderOrder() + 0.01f );
mLightBinManager->setRenderOrder( deferredBin->getRenderOrder() + 0.01f );
getSceneManager()->getDefaultRenderPass()->addManager( mLightBinManager );
AdvancedLightingFeatures::registerFeatures(mDeferredRenderBin->getTargetFormat(), mLightBinManager->getTargetFormat());