Ogre::RenderQueueListener Class Reference
[RenderSystem]

Abstract interface which classes must implement if they wish to receive events from the render queue. More...

#include <OgreRenderQueueListener.h>

Inheritance diagram for Ogre::RenderQueueListener:
Inheritance graph
[legend]

List of all members.

Public Member Functions

virtual ~RenderQueueListener ()
virtual void preRenderQueues ()
 Event raised before all render queues are processed.
virtual void postRenderQueues ()
 Event raised after all render queues are processed.
virtual void renderQueueStarted (uint8 queueGroupId, const String &invocation, bool &skipThisInvocation)
 Event raised before a queue group is rendered.
virtual void renderQueueEnded (uint8 queueGroupId, const String &invocation, bool &repeatThisInvocation)
 Event raised after a queue group is rendered.

Detailed Description

Abstract interface which classes must implement if they wish to receive events from the render queue.

Remarks:
The OGRE render queue is divided into several queue groups, as defined by uint8. A class may implement this interface, and register itself as a listener by calling SceneManager::addRenderQueueListener. After doing so, the class will receive an event before and after each queue group is sent to the rendering system.
The event listeners have an option to make a queue either be skipped, or to repeat. Note that if multiple listeners are registered, the one registered last has the final say, although options set by previous listeners will not be changed if the latest does not express a preference.

Definition at line 56 of file OgreRenderQueueListener.h.


Constructor & Destructor Documentation

virtual Ogre::RenderQueueListener::~RenderQueueListener (  )  [virtual]

Definition at line 59 of file OgreRenderQueueListener.h.


Member Function Documentation

virtual void Ogre::RenderQueueListener::postRenderQueues (  )  [virtual]

Event raised after all render queues are processed.

Definition at line 66 of file OgreRenderQueueListener.h.

virtual void Ogre::RenderQueueListener::preRenderQueues (  )  [virtual]

Event raised before all render queues are processed.

Definition at line 63 of file OgreRenderQueueListener.h.

virtual void Ogre::RenderQueueListener::renderQueueEnded ( uint8  queueGroupId,
const String invocation,
bool &  repeatThisInvocation 
) [virtual]

Event raised after a queue group is rendered.

Remarks:
This method is called by the SceneManager after each queue group is rendered.
Parameters:
queueGroupId The id of the queue group which has just been rendered
invocation Name of the invocation which is causing this to be called (
See also:
RenderQueueInvocation)
Parameters:
repeatThisInvocation A boolean passed by reference which is by default set to false. If the event sets this to true, the queue which has just been rendered will be repeated, and the renderQueueStarted and renderQueueEnded events will also be fired for it again.

Reimplemented in Ogre::CompositorChain::RQListener.

Definition at line 96 of file OgreRenderQueueListener.h.

virtual void Ogre::RenderQueueListener::renderQueueStarted ( uint8  queueGroupId,
const String invocation,
bool &  skipThisInvocation 
) [virtual]

Event raised before a queue group is rendered.

Remarks:
This method is called by the SceneManager before each queue group is rendered.
Parameters:
queueGroupId The id of the queue group which is about to be rendered
invocation Name of the invocation which is causing this to be called (
See also:
RenderQueueInvocation)
Parameters:
skipThisInvocation A boolean passed by reference which is by default set to false. If the event sets this to true, the queue will be skipped and not rendered. Note that in this case the renderQueueEnded event will not be raised for this queue group.

Reimplemented in Ogre::CompositorChain::RQListener.

Definition at line 80 of file OgreRenderQueueListener.h.


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

Copyright © 2012 Torus Knot Software Ltd
Creative Commons License
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.
Last modified Fri May 25 23:39:11 2012