OGRE-Next: Ogre::FocusedShadowCameraSetup Class Reference

| OGRE-Next 3.0.0 Object-Oriented Graphics Rendering Engine

Loading...
Searching...
No Matches
Ogre::FocusedShadowCameraSetup Class Reference
Core | Component » Scene

Implements the uniform shadow mapping algorithm in focused mode. More...

`#include <OgreShadowCameraSetupFocused.h>`

Inheritance diagram for Ogre::FocusedShadowCameraSetup:
[legend]

## Public Member Functions
| FocusedShadowCameraSetup ()
| Default constructor.
| ~FocusedShadowCameraSetup () override
| Default destructor.
void | getShadowCamera (const SceneManager *sm, const Camera *cam, const Light *light, Camera *texCam, size_t iteration, const Vector2 &viewportRealSize) const override
| Returns a uniform shadow camera with a focused view.
Real | getXYPadding () const
| See FocusedShadowCameraSetup::setXYPadding.
void | setXYPadding (Real pad)
| setXYPadding FocusedShadowCameraSetup tries to make the shadow mapping camera fit the casters as tight as possible to minimize aliasing.
Public Member Functions inherited from Ogre::DefaultShadowCameraSetup
| DefaultShadowCameraSetup ()
| Default constructor.
| ~DefaultShadowCameraSetup () override
| Destructor.
Public Member Functions inherited from Ogre::ShadowCameraSetup
| ShadowCameraSetup ()
virtual | ~ShadowCameraSetup ()
| Need virtual destructor in case subclasses use it.
Real | getMaxDistance () const
Real | getMinDistance () const

## Additional Inherited Members
Static Public Member Functions inherited from Ogre::ShadowCameraSetup
static void | setUseEsm (bool useEsm)

## Detailed Description

Implements the uniform shadow mapping algorithm in focused mode.

Remarks
  Differs from the default shadow mapping projection in that it focuses the shadow map on the visible areas of the scene. This results in better shadow map texel usage, at the expense of some 'swimming' of the shadow texture on receivers as the basis is constantly being reevaluated.

Note
  Original implementation by Matthias Fink matth.nosp@m.ias..nosp@m.fink@.nosp@m.web..nosp@m.de, 2006.

## Constructor & Destructor Documentation

## ◆ FocusedShadowCameraSetup()

Ogre::FocusedShadowCameraSetup::FocusedShadowCameraSetup | ( |  | ) |

Default constructor.

Remarks
  Temporary frustum and camera set up here.

## ◆ ~FocusedShadowCameraSetup()

Ogre::FocusedShadowCameraSetup::~FocusedShadowCameraSetup | ( |  | ) |
| override

Default destructor.

Remarks
  Temporary frustum and camera destroyed here.

## Member Function Documentation

## ◆ getShadowCamera()

void Ogre::FocusedShadowCameraSetup::getShadowCamera | ( | const SceneManager * | sm,
|  | const Camera * | cam,
|  | const Light * | light,
|  | Camera * | texCam,
|  | size_t | iteration,
|  | const Vector2 & | viewportRealSize ) const
| overridevirtual

Returns a uniform shadow camera with a focused view.

Reimplemented from Ogre::DefaultShadowCameraSetup.

Reimplemented in Ogre::PSSMShadowCameraSetup.

## ◆ getXYPadding()

Real Ogre::FocusedShadowCameraSetup::getXYPadding | ( |  | ) | const
| inline

See FocusedShadowCameraSetup::setXYPadding.

## ◆ setXYPadding()

void Ogre::FocusedShadowCameraSetup::setXYPadding | ( | Real | pad | ) |
| inline

setXYPadding FocusedShadowCameraSetup tries to make the shadow mapping camera fit the casters as tight as possible to minimize aliasing.

But due to various math issues sometimes it ends up being too tight.

If you experience missing shadows or with gaps/holes you may need to increase the padding.

Most likely you want the reverse. In particular circumstances you want maximum quality thus you want to minimize this padding

Parameters

  pad | Value in range [0; inf) Negative values may cause glitches

The documentation for this class was generated from the following file:

- OgreShadowCameraSetupFocused.h