# Ogre::ShadowListener Class Reference

Interface definition for classes which can listen in on the process of rendering shadows, in order to implement custom behaviour. More...

`#include <OgreSceneManager.h>`

List of all members.

## Public Member Functions

| ShadowListener ()
virtual | ~ShadowListener ()
virtual void | shadowTexturesUpdated (size_t numberOfShadowTextures)=0
| Event raised after all shadow textures have been rendered into for all queues / targets but before any other geometry has been rendered (including main scene geometry and any additional shadow receiver passes).
virtual void | shadowTextureCasterPreViewProj (Light *light, Camera *camera)=0
| This event occurs just before the view & projection matrices are set for rendering into a shadow texture.
virtual void | shadowTextureReceiverPreViewProj (Light *light, Frustum *frustum)=0
| This event occurs just before the view & projection matrices are set for re-rendering a shadow receiver.

## Detailed Description

Interface definition for classes which can listen in on the process of rendering shadows, in order to implement custom behaviour.

Definition at line 65 of file OgreSceneManager.h.

## Constructor & Destructor Documentation

Ogre::ShadowListener::ShadowListener | ( |  | ) |

| Definition at line 68 of file OgreSceneManager.h.

virtual Ogre::ShadowListener::~ShadowListener | ( |  | ) | `[virtual]`

| Definition at line 69 of file OgreSceneManager.h.

## Member Function Documentation

virtual void Ogre::ShadowListener::shadowTextureCasterPreViewProj | ( | Light * | light,
|  | Camera * | camera
| ) | `[pure virtual]`

This event occurs just before the view & projection matrices are set for rendering into a shadow texture.

Remarks:
  You can use this event hook to perform some custom processing, such as altering the camera being used for rendering the light's view, including setting custom view & projection matrices if you want to perform an advanced shadow technique.

Note:
  This event will only be fired when texture shadows are in use.

Parameters:

  | light | Pointer to the light for which shadows are being rendered
  | camera | Pointer to the camera being used to render

virtual void Ogre::ShadowListener::shadowTextureReceiverPreViewProj | ( | Light * | light,
|  | Frustum * | frustum
| ) | `[pure virtual]`

This event occurs just before the view & projection matrices are set for re-rendering a shadow receiver.

Remarks:
  You can use this event hook to perform some custom processing, such as altering the projection frustum being used for rendering the shadow onto the receiver to perform an advanced shadow technique.

Note:
  This event will only be fired when texture shadows are in use.

Parameters:

  | light | Pointer to the light for which shadows are being rendered
  | frustum | Pointer to the projection frustum being used to project the shadow texture

virtual void Ogre::ShadowListener::shadowTexturesUpdated | ( | size_t | numberOfShadowTextures | ) | `[pure virtual]`

Event raised after all shadow textures have been rendered into for all queues / targets but before any other geometry has been rendered (including main scene geometry and any additional shadow receiver passes).

Remarks:
  This callback is useful for those that wish to perform some additional processing on shadow textures before they are used to render shadows. For example you could perform some filtering by rendering the existing shadow textures into another alternative shadow texture with a shader.]

Note:
  This event will only be fired when texture shadows are in use.

Parameters:

  | numberOfShadowTextures | The number of shadow textures in use

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

- OgreSceneManager.h

Copyright © 2000-2005 by The OGRE Team
This work is licensed under a Creative Commons Attribution-ShareAlike 2.5 License.
Last modified Sun Sep 17 15:42:24 2006