Corrected the terrain issue caused by unwanted early-outing due to prior changes.

This commit is contained in:
Areloch 2015-07-29 10:14:19 -05:00
parent 3a18819e1e
commit a5b48225c7

View file

@ -202,20 +202,20 @@ void RenderPrePassMgr::addElement( RenderInst *inst )
if ( isMeshInst || isDecalMeshInst ) if ( isMeshInst || isDecalMeshInst )
matInst = static_cast<MeshRenderInst*>(inst)->matInst; matInst = static_cast<MeshRenderInst*>(inst)->matInst;
// Skip decals if they don't have normal maps. if (matInst)
if (!matInst || isDecalMeshInst && !matInst->hasNormalMap())
return;
// If its a custom material and it refracts... skip it.
if ( matInst->isCustomMaterial() &&
static_cast<CustomMaterial*>( matInst->getMaterial() )->mRefract )
return;
// Make sure we got a prepass material.
if ( matInst )
{ {
matInst = getPrePassMaterial( matInst ); // Skip decals if they don't have normal maps.
if ( !matInst || !matInst->isValid() ) if (isDecalMeshInst && !matInst->hasNormalMap())
return;
// If its a custom material and it refracts... skip it.
if (matInst->isCustomMaterial() &&
static_cast<CustomMaterial*>(matInst->getMaterial())->mRefract)
return;
// Make sure we got a prepass material.
matInst = getPrePassMaterial(matInst);
if (!matInst || !matInst->isValid())
return; return;
} }
@ -240,7 +240,7 @@ void RenderPrePassMgr::addElement( RenderInst *inst )
elem.key = *((U32*)&invSortDistSq); elem.key = *((U32*)&invSortDistSq);
// Next sort by pre-pass material if its a mesh... use the original sort key. // Next sort by pre-pass material if its a mesh... use the original sort key.
if ( isMeshInst ) if (isMeshInst && matInst)
elem.key2 = matInst->getStateHint(); elem.key2 = matInst->getStateHint();
else else
elem.key2 = originalKey; elem.key2 = originalKey;