//--------------------------------------------------------------------- void PSSMShadowCameraSetup::setSplitPoints(const SplitPointList& newSplitPoints) { if (newSplitPoints.size() < 3) // 3, not 2 since splits + 1 points OGRE_EXCEPT(Exception::ERR_INVALIDPARAMS, "Cannot specify less than 2 splits", "PSSMShadowCameraSetup::setSplitPoints"); mSplitCount = newSplitPoints.size() - 1; mSplitPoints = newSplitPoints; mOptimalAdjustFactors.resize(mSplitCount); }
//----------------------------------------------------------------------- void IntegratedPSSM3::setSplitPoints(const SplitPointList& newSplitPoints) { if (newSplitPoints.size() != 4) { OGRE_EXCEPT(Exception::ERR_DUPLICATE_ITEM, "IntegratedPSSM3 sub render state supports only 4 split points", "IntegratedPSSM3::setSplitPoints"); } mShadowTextureParamsList.resize(newSplitPoints.size() - 1); for (unsigned int i=1; i < newSplitPoints.size(); ++i) { ShadowTextureParams& curParams = mShadowTextureParamsList[i-1]; curParams.mMaxRange = newSplitPoints[i]; } }