|
OGRE
1.9.0
|
Implements the uniform shadow mapping algorithm in focused mode. More...
#include <OgreShadowCameraSetupFocused.h>

Classes | |
| class | PointListBody |
| Internal class holding a point list representation of a convex body. More... | |
Public Member Functions | |
| FocusedShadowCameraSetup (void) | |
| Default constructor. | |
| virtual | ~FocusedShadowCameraSetup (void) |
| Default destructor. | |
| virtual void | getShadowCamera (const SceneManager *sm, const Camera *cam, const Viewport *vp, const Light *light, Camera *texCam, size_t iteration) const |
| Returns a uniform shadow camera with a focused view. | |
| bool | getUseAggressiveFocusRegion () const |
| void | operator delete (void *ptr) |
| void | operator delete (void *ptr) |
| void | operator delete (void *ptr, const char *, int, const char *) |
| void | operator delete (void *ptr, const char *, int, const char *) |
| void | operator delete (void *ptr, void *) |
| void | operator delete (void *ptr, void *) |
| void | operator delete[] (void *ptr) |
| void | operator delete[] (void *ptr) |
| void | operator delete[] (void *ptr, const char *, int, const char *) |
| void | operator delete[] (void *ptr, const char *, int, const char *) |
| void * | operator new (size_t sz) |
| void * | operator new (size_t sz) |
| void * | operator new (size_t sz, const char *file, int line, const char *func) |
| operator new, with debug line info | |
| void * | operator new (size_t sz, const char *file, int line, const char *func) |
| operator new, with debug line info | |
| void * | operator new (size_t sz, void *ptr) |
| placement operator new | |
| void * | operator new (size_t sz, void *ptr) |
| placement operator new | |
| void * | operator new[] (size_t sz) |
| void * | operator new[] (size_t sz) |
| void * | operator new[] (size_t sz, const char *file, int line, const char *func) |
| array operator new, with debug line info | |
| void * | operator new[] (size_t sz, const char *file, int line, const char *func) |
| array operator new, with debug line info | |
| void | setUseAggressiveFocusRegion (bool aggressive) |
| Sets whether or not to use the more aggressive approach to deciding on the focus region or not. | |
Protected Member Functions | |
| Matrix4 | buildViewMatrix (const Vector3 &pos, const Vector3 &dir, const Vector3 &up) const |
| Builds a view matrix. | |
| void | calculateB (const SceneManager &sm, const Camera &cam, const Light &light, const AxisAlignedBox &sceneBB, const AxisAlignedBox &receiverBB, PointListBody *out_bodyB) const |
| Calculates the intersection bodyB. | |
| void | calculateLVS (const SceneManager &sm, const Camera &cam, const Light &light, const AxisAlignedBox &sceneBB, PointListBody *out_LVS) const |
| Calculates the bodyLVS. | |
| void | calculateShadowMappingMatrix (const SceneManager &sm, const Camera &cam, const Light &light, Matrix4 *out_view, Matrix4 *out_proj, Camera *out_cam) const |
| Calculates the standard shadow mapping matrix. | |
| Vector3 | getLSProjViewDir (const Matrix4 &lightSpace, const Camera &cam, const PointListBody &bodyLVS) const |
| Returns the projection view direction. | |
| Vector3 | getNearCameraPoint_ws (const Matrix4 &viewMatrix, const PointListBody &bodyLVS) const |
| Returns a valid near-point seen by the camera. | |
| Matrix4 | transformToUnitCube (const Matrix4 &m, const PointListBody &body) const |
| Transforms a given body to the unit cube (-1,-1,-1) / (+1,+1,+1) with a specific shadow matrix enabled. | |
Protected Attributes | |
| ConvexBody | mBodyB |
| Camera * | mLightFrustumCamera |
| Temporary preallocated camera to set up a light frustum for clipping in FocusedShadowCameraSetup::calculateB. | |
| bool | mLightFrustumCameraCalculated |
| PointListBody | mPointListBodyB |
| PointListBody | mPointListBodyLVS |
| Frustum * | mTempFrustum |
| Temporary preallocated frustum to set up a projection matrix in calculateShadowMappingMatrix(). | |
| bool | mUseAggressiveRegion |
| Use tighter focus region? | |
Static Protected Attributes | |
| static const Matrix4 | msLightSpaceToNormal |
| static const Matrix4 | msNormalToLightSpace |
| Transform to or from light space as defined by Wimmer et al. | |
Implements the uniform shadow mapping algorithm in focused mode.
Definition at line 58 of file OgreShadowCameraSetupFocused.h.
| Ogre::FocusedShadowCameraSetup::FocusedShadowCameraSetup | ( | void | ) |
Default constructor.
|
virtual |
Default destructor.
|
protected |
Builds a view matrix.
|
protected |
Calculates the intersection bodyB.
| sm | Scene manager. |
| cam | Currently active camera. |
| light | Currently active light. |
| sceneBB | Scene bounding box for clipping operations. |
| receiverBB | Bounding information for just the receivers. |
| out_bodyB | Final intersection bodyB point list. |
|
protected |
Calculates the bodyLVS.
| cam | Current viewer camera. |
| light | Current light. |
| sceneBB | Holds all potential occluders / receivers as one single bounding box of the currently active scene node. |
| out_LVS | Intersection body LVS (world coordinates). |
|
protected |
Calculates the standard shadow mapping matrix.
| sm | Scene manager. |
| cam | Currently active camera. |
| light | Currently active light. |
| out_view | Calculated uniform view shadow mapping matrix (may be NULL). |
| out_proj | Calculated uniform projection shadow mapping matrix (may be NULL). |
| out_cam | Calculated uniform shadow camera (may be NULL). |
|
protected |
Returns the projection view direction.
| lightSpace | Matrix of the light space transformation. |
| cam | Current viewer camera. |
| bodyLVS | Intersection body LVS (relevant space in front of the camera). |
|
protected |
Returns a valid near-point seen by the camera.
| viewMatrix | View matrix of the current camera. |
| bodyLVS | Intersection body LVS (relevant space in front of the camera). |
|
virtual |
Returns a uniform shadow camera with a focused view.
Implements Ogre::ShadowCameraSetup.
Reimplemented in Ogre::LiSPSMShadowCameraSetup, and Ogre::PSSMShadowCameraSetup.
| bool Ogre::FocusedShadowCameraSetup::getUseAggressiveFocusRegion | ( | ) | const |
Definition at line 305 of file OgreShadowCameraSetupFocused.h.
References mUseAggressiveRegion.
|
inherited |
Definition at line 96 of file OgreMemoryAllocatedObject.h.
|
inherited |
Definition at line 96 of file OgreMemoryAllocatedObject.h.
|
inherited |
Definition at line 108 of file OgreMemoryAllocatedObject.h.
|
inherited |
Definition at line 108 of file OgreMemoryAllocatedObject.h.
|
inherited |
Definition at line 102 of file OgreMemoryAllocatedObject.h.
|
inherited |
Definition at line 102 of file OgreMemoryAllocatedObject.h.
|
inherited |
Definition at line 113 of file OgreMemoryAllocatedObject.h.
|
inherited |
Definition at line 113 of file OgreMemoryAllocatedObject.h.
|
inherited |
Definition at line 119 of file OgreMemoryAllocatedObject.h.
|
inherited |
Definition at line 119 of file OgreMemoryAllocatedObject.h.
|
inherited |
Definition at line 73 of file OgreMemoryAllocatedObject.h.
|
inherited |
Definition at line 73 of file OgreMemoryAllocatedObject.h.
|
inherited |
operator new, with debug line info
Definition at line 68 of file OgreMemoryAllocatedObject.h.
|
inherited |
operator new, with debug line info
Definition at line 68 of file OgreMemoryAllocatedObject.h.
|
inherited |
placement operator new
Definition at line 79 of file OgreMemoryAllocatedObject.h.
|
inherited |
placement operator new
Definition at line 79 of file OgreMemoryAllocatedObject.h.
|
inherited |
Definition at line 91 of file OgreMemoryAllocatedObject.h.
|
inherited |
Definition at line 91 of file OgreMemoryAllocatedObject.h.
|
inherited |
array operator new, with debug line info
Definition at line 86 of file OgreMemoryAllocatedObject.h.
|
inherited |
array operator new, with debug line info
Definition at line 86 of file OgreMemoryAllocatedObject.h.
| void Ogre::FocusedShadowCameraSetup::setUseAggressiveFocusRegion | ( | bool | aggressive | ) |
Sets whether or not to use the more aggressive approach to deciding on the focus region or not.
| aggressive | True to use the more aggressive approach, false otherwise. |
Definition at line 303 of file OgreShadowCameraSetupFocused.h.
References mUseAggressiveRegion.
|
protected |
Transforms a given body to the unit cube (-1,-1,-1) / (+1,+1,+1) with a specific shadow matrix enabled.
| m | Transformation matrix applied on the point list body. |
| body | Contains the points of the extends of all valid scene elements which are mapped to the unit cube. |
|
mutableprotected |
Definition at line 145 of file OgreShadowCameraSetupFocused.h.
|
protected |
Temporary preallocated camera to set up a light frustum for clipping in FocusedShadowCameraSetup::calculateB.
Definition at line 78 of file OgreShadowCameraSetupFocused.h.
|
mutableprotected |
Definition at line 79 of file OgreShadowCameraSetupFocused.h.
|
mutableprotected |
Definition at line 146 of file OgreShadowCameraSetupFocused.h.
|
mutableprotected |
Definition at line 147 of file OgreShadowCameraSetupFocused.h.
|
staticprotected |
Definition at line 69 of file OgreShadowCameraSetupFocused.h.
|
staticprotected |
Transform to or from light space as defined by Wimmer et al.
Definition at line 68 of file OgreShadowCameraSetupFocused.h.
|
protected |
Temporary preallocated frustum to set up a projection matrix in calculateShadowMappingMatrix().
Definition at line 74 of file OgreShadowCameraSetupFocused.h.
|
protected |
Use tighter focus region?
Definition at line 82 of file OgreShadowCameraSetupFocused.h.
Referenced by getUseAggressiveFocusRegion(), and setUseAggressiveFocusRegion().
1.13.2