PSSMLightShadowMap
Engine/source/lighting/shadowMap/pssmLightShadowMap.h
Private Types
Parent
Public Static Attributes
Used to scale TSShapeInstance::smDetailAdjust to have objects lod quicker when in the PSSM shadow.
Like TSShapeInstance::smSmallestVisiblePixelSize this is used to define the smallest LOD to render.
Protected Static Attributes
Protected Attributes
Public Functions
PSSMLightShadowMap(LightInfo * light)
_render(RenderPassManager * renderPass, const SceneRenderState * diffuseState)
setShaderParameters(GFXShaderConstBuffer * params, LightingShaderConstants * lsc)
Protected Functions
Detailed Description
Private Types
typedef LightShadowMap Parent
Public Static Attributes
F32 smDetailAdjustScale
Used to scale TSShapeInstance::smDetailAdjust to have objects lod quicker when in the PSSM shadow.
F32 smSmallestVisiblePixelSize
Like TSShapeInstance::smSmallestVisiblePixelSize this is used to define the smallest LOD to render.
Protected Static Attributes
const S32 MAX_SPLITS
Protected Attributes
Point4F mFarPlaneScalePSSM
F32 mLogWeight
U32 mNumSplits
Point3F mOffsetProj [MAX_SPLITS]
Point3F mScaleProj [MAX_SPLITS]
F32 mSplitDist [MAX_SPLITS+1]
RectI mViewports [MAX_SPLITS]
Public Functions
PSSMLightShadowMap(LightInfo * light)
_render(RenderPassManager * renderPass, const SceneRenderState * diffuseState)
Reimplemented from: LightShadowMap
getShadowType()
Reimplemented from: LightShadowMap
setShaderParameters(GFXShaderConstBuffer * params, LightingShaderConstants * lsc)
Reimplemented from: LightShadowMap
Protected Functions
_calcClipSpaceAABB(const Frustum & f, const MatrixF & transform, F32 farDist)
_calcPlanesCullForShadowCasters(Vector< Vector< PlaneF > > & out, const Frustum & viewFrustum, const Point3F & _ligthDir)
_calcSplitPos(const Frustum & currFrustum)
_roundProjection(const MatrixF & lightMat, const MatrixF & cropMatrix, Point3F & offset, U32 splitNum)
_setNumSplits(U32 numSplits, U32 texSize)