29#ifndef __ShadowCameraSetupPSSM_H__
30#define __ShadowCameraSetupPSSM_H__
A viewpoint from which the scene will be rendered.
Implements the Light Space Perspective Shadow Mapping Algorithm.
Representation of a dynamic light source in the scene.
virtual void getShadowCamera(const Ogre::SceneManager *sm, const Ogre::Camera *cam, const Ogre::Viewport *vp, const Ogre::Light *light, Ogre::Camera *texCam, size_t iteration) const
Returns a LiSPSM shadow camera with PSSM splits base on iteration.
void calculateSplitPoints(uint splitCount, Real nearDist, Real farDist, Real lambda=0.95)
Calculate a new splitting scheme.
void setOptimalAdjustFactor(size_t splitIndex, Real factor)
Set the LiSPSM optimal adjust factor for a given split (call after configuring splits).
void setSplitPadding(Real pad)
Set the padding factor to apply to the near & far distances when matching up splits to one another,...
Real getOptimalAdjustFactor() const
Overridden, recommended internal use only since depends on current iteration.
vector< Real >::type OptimalAdjustFactorList
Real getOptimalAdjustFactor(size_t splitIndex) const
Returns the optimal adjust factor for a given split.
const SplitPointList & getSplitPoints() const
Returns the calculated split points.
vector< Real >::type SplitPointList
void setSplitPoints(const SplitPointList &newSplitPoints)
Manually configure a new splitting scheme.
Real getSplitPadding() const
Get the padding factor to apply to the near & far distances when matching up splits to one another,...
PSSMShadowCameraSetup()
Constructor, defaults to 3 splits.
uint getSplitCount() const
Get the number of splits.
OptimalAdjustFactorList mOptimalAdjustFactors
SplitPointList mSplitPoints
Manages the organisation and rendering of a 'scene' i.e.
An abstraction of a viewport, i.e.
float Real
Software floating point type.