mirror of
https://github.com/TorqueGameEngines/Torque3D.git
synced 2026-04-22 21:05:39 +00:00
Catches the remaining prepass to deferred changes on the engine side.
This commit is contained in:
parent
b0fe71fa2f
commit
9ce521d95f
10 changed files with 73 additions and 73 deletions
|
|
@ -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());
|
||||
|
|
|
|||
|
|
@ -748,16 +748,16 @@ void DeferredMinnaertHLSL::processPix( Vector<ShaderComponent*> &componentList,
|
|||
deferredBuffer->sampler = true;
|
||||
deferredBuffer->constNum = Var::getTexUnitNum(); // used as texture unit num here
|
||||
|
||||
Var* prePassTex = NULL;
|
||||
Var* deferredTex = NULL;
|
||||
if (mIsDirect3D11)
|
||||
{
|
||||
deferredBuffer->setType("SamplerState");
|
||||
prePassTex = new Var;
|
||||
prePassTex->setName("prePassTex");
|
||||
prePassTex->setType("Texture2D");
|
||||
prePassTex->uniform = true;
|
||||
prePassTex->texture = true;
|
||||
prePassTex->constNum = deferredBuffer->constNum;
|
||||
deferredTex = new Var;
|
||||
deferredTex->setName("deferredTex");
|
||||
deferredTex->setType("Texture2D");
|
||||
deferredTex->uniform = true;
|
||||
deferredTex->texture = true;
|
||||
deferredTex->constNum = deferredBuffer->constNum;
|
||||
}
|
||||
|
||||
// Texture coord
|
||||
|
|
@ -774,7 +774,7 @@ void DeferredMinnaertHLSL::processPix( Vector<ShaderComponent*> &componentList,
|
|||
Var *d_NL_Att = (Var*)LangElement::find( "d_NL_Att" );
|
||||
|
||||
if (mIsDirect3D11)
|
||||
meta->addStatement(new GenOp(avar(" float4 normalDepth = %s(@, ,@, @);\r\n", unconditionDeferredMethod.c_str()), deferredBuffer, prePassTex, uvScene));
|
||||
meta->addStatement(new GenOp(avar(" float4 normalDepth = %s(@, ,@, @);\r\n", unconditionDeferredMethod.c_str()), deferredBuffer, deferredTex, uvScene));
|
||||
else
|
||||
meta->addStatement(new GenOp(avar(" float4 normalDepth = %s(@, @);\r\n", unconditionDeferredMethod.c_str()), deferredBuffer, uvScene));
|
||||
|
||||
|
|
|
|||
|
|
@ -185,12 +185,12 @@ void BasicLightManager::activate( SceneManager *sceneManager )
|
|||
FEATUREMGR->unregisterFeature( MFT_SubSurface );
|
||||
|
||||
// First look for the deferred bin...
|
||||
RenderDeferredMgr *prePassBin = _findDeferredRenderBin();
|
||||
RenderDeferredMgr *deferredBin = _findDeferredRenderBin();
|
||||
|
||||
/*
|
||||
// If you would like to use forward shading, and have a linear depth pre-pass
|
||||
// than un-comment this code block.
|
||||
if ( !prePassBin )
|
||||
if ( !deferredBin )
|
||||
{
|
||||
Vector<GFXFormat> formats;
|
||||
formats.push_back( GFXFormatR32F );
|
||||
|
|
@ -204,12 +204,12 @@ void BasicLightManager::activate( SceneManager *sceneManager )
|
|||
// Uncomment this for a no-color-write z-fill pass.
|
||||
//linearDepthFormat = GFXFormat_COUNT;
|
||||
|
||||
prePassBin = new RenderDeferredMgr( linearDepthFormat != GFXFormat_COUNT, linearDepthFormat );
|
||||
prePassBin->registerObject();
|
||||
rpm->addManager( prePassBin );
|
||||
deferredBin = new RenderDeferredMgr( linearDepthFormat != GFXFormat_COUNT, linearDepthFormat );
|
||||
deferredBin->registerObject();
|
||||
rpm->addManager( deferredBin );
|
||||
}
|
||||
*/
|
||||
mDeferredRenderBin = prePassBin;
|
||||
mDeferredRenderBin = deferredBin;
|
||||
|
||||
// If there is a deferred bin
|
||||
MATMGR->setDeferredEnabled( mDeferredRenderBin.isValid() );
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue