Class that allows listening in on the various stages of SceneManager processing, so that custom behaviour can be implemented from outside.
More...
#include <OgreSceneManager.h>
Class that allows listening in on the various stages of SceneManager processing, so that custom behaviour can be implemented from outside.
Definition at line 222 of file OgreSceneManager.h.
Ogre::SceneManager::Listener::Listener |
( |
| ) |
|
|
inline |
virtual Ogre::SceneManager::Listener::~Listener |
( |
| ) |
|
|
inlinevirtual |
virtual void Ogre::SceneManager::Listener::postUpdateSceneGraph |
( |
SceneManager * |
source, |
|
|
Camera * |
camera |
|
) |
| |
|
inlinevirtual |
virtual void Ogre::SceneManager::Listener::preUpdateSceneGraph |
( |
SceneManager * |
source, |
|
|
Camera * |
camera |
|
) |
| |
|
inlinevirtual |
virtual void Ogre::SceneManager::Listener::sceneManagerDestroyed |
( |
SceneManager * |
source | ) |
|
|
inlinevirtual |
virtual void Ogre::SceneManager::Listener::shadowTextureCasterPreViewProj |
( |
Light * |
light, |
|
|
Camera * |
camera, |
|
|
size_t |
iteration |
|
) |
| |
|
inlinevirtual |
This event occurs just before the view & projection matrices are set for rendering into a shadow texture.
- 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 |
iteration | For lights that use multiple shadow textures, the iteration number |
Reimplemented in Ogre::RTShader::ShaderGenerator::SGSceneManagerListener.
Definition at line 303 of file OgreSceneManager.h.
virtual void Ogre::SceneManager::Listener::shadowTextureReceiverPreViewProj |
( |
Light * |
light, |
|
|
Frustum * |
frustum |
|
) |
| |
|
inlinevirtual |
This event occurs just before the view & projection matrices are set for re-rendering a shadow receiver.
- 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 |
Reimplemented in Ogre::RTShader::ShaderGenerator::SGSceneManagerListener.
Definition at line 320 of file OgreSceneManager.h.
virtual void Ogre::SceneManager::Listener::shadowTexturesUpdated |
( |
size_t |
numberOfShadowTextures | ) |
|
|
inlinevirtual |
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).
- Note
- This event will only be fired when texture shadows are in use.
- Parameters
-
numberOfShadowTextures | The number of shadow textures in use |
Reimplemented in Ogre::RTShader::ShaderGenerator::SGSceneManagerListener.
Definition at line 287 of file OgreSceneManager.h.
virtual bool Ogre::SceneManager::Listener::sortLightsAffectingFrustum |
( |
LightList & |
lightList | ) |
|
|
inlinevirtual |
Hook to allow the listener to override the ordering of lights for the entire frustum.
- See also
- MovableObject::queryLights), texture shadows adds another issue in that, given there is a finite number of shadow textures, we must choose which lights to render texture shadows from based on the entire frustum. These lights should always be listed first in every objects own list, followed by any other lights which will not cast texture shadows (either because they have shadow casting off, or there aren't enough shadow textures to service them).
- This hook allows you to override the detailed ordering of the lights per frustum. The default ordering is shadow casters first (which you must also respect if you override this method), and ordered by distance from the camera within those 2 groups. Obviously the closest lights with shadow casting enabled will be listed first. Only lights within the range of the frustum will be in the list.
- Parameters
-
lightList | The list of lights within range of the frustum which you may sort. |
- Returns
- true if you sorted the list, false otherwise.
Definition at line 346 of file OgreSceneManager.h.
The documentation for this class was generated from the following file: