29 #ifndef __ShadowCameraSetupFocused_H__
30 #define __ShadowCameraSetupFocused_H__
103 void build(
const ConvexBody& body,
bool filterDuplicates =
true);
114 void buildAndIncludeDirection(
const ConvexBody& body,
123 void addPoint(
const Vector3& point);
131 const Vector3& getPoint(
size_t cnt)
const;
135 size_t getPointCount(
void)
const;
bool mUseAggressiveRegion
Use tighter focus region?
A viewpoint from which the scene will be rendered.
Class encapsulating a standard 4x4 homogeneous matrix.
float Real
Software floating point type.
A frustum represents a pyramid, capped at the near and far end which is used to represent either a vi...
Manages the organisation and rendering of a 'scene' i.e.
Holds a solid representation of a convex body.
bool mLightFrustumCameraCalculated
A 3D box aligned with the x/y/z axes.
Camera * mLightFrustumCamera
Temporary preallocated camera to set up a light frustum for clipping in ::calculateB.
static const Matrix4 msLightSpaceToNormal
Representation of a dynamic light source in the scene.
PointListBody mPointListBodyB
vector< Vector3 >::type VertexList
This class allows you to plug in new ways to define the camera setup when rendering and projecting sh...
static const Matrix4 msNormalToLightSpace
Transform to or from light space as defined by Wimmer et al.
Standard 3-dimensional vector.
PointListBody mPointListBodyLVS
Internal class holding a point list representation of a convex body.
An abstraction of a viewport, i.e.
Frustum * mTempFrustum
Temporary preallocated frustum to set up a projection matrix in ::calculateShadowMappingMatrix() ...
void setUseAggressiveFocusRegion(bool aggressive)
Sets whether or not to use the more aggressive approach to deciding on the focus region or not...
Polygon::VertexList mBodyPoints
Implements the uniform shadow mapping algorithm in focused mode.
bool getUseAggressiveFocusRegion() const