further insurance that shadow split stay within bounds.

This commit is contained in:
Azaezel 2015-03-10 06:03:40 -05:00
parent 67e9119101
commit 6fa44a4e92

View file

@ -63,15 +63,15 @@ F32 PSSMLightShadowMap::smSmallestVisiblePixelSize = 25.0f;
PSSMLightShadowMap::PSSMLightShadowMap( LightInfo *light )
: LightShadowMap( light ),
mNumSplits( 0 )
mNumSplits( 1 )
{
mIsViewDependent = true;
}
void PSSMLightShadowMap::_setNumSplits( U32 numSplits, U32 texSize )
{
AssertFatal( numSplits > 0 && numSplits <= MAX_SPLITS,
"PSSMLightShadowMap::_setNumSplits() - Splits must be between 1 and 4!" );
AssertFatal(numSplits > 0 && numSplits <= MAX_SPLITS,
avar("PSSMLightShadowMap::_setNumSplits() - Splits must be between 1 and %d!", MAX_SPLITS));
releaseTextures();
@ -387,6 +387,9 @@ void PSSMLightShadowMap::setShaderParameters(GFXShaderConstBuffer* params, Light
{
PROFILE_SCOPE( PSSMLightShadowMap_setShaderParameters );
AssertFatal(mNumSplits > 0 && mNumSplits <= MAX_SPLITS,
avar("PSSMLightShadowMap::_setNumSplits() - Splits must be between 1 and %d!", MAX_SPLITS));
if ( lsc->mTapRotationTexSC->isValid() )
GFX->setTexture( lsc->mTapRotationTexSC->getSamplerRegister(),
SHADOWMGR->getTapRotationTex() );