OGRE  13.6
Object-Oriented Graphics Rendering Engine
Ogre::RenderQueueListener Class Reference

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:

Public Member Functions

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

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.

Constructor & Destructor Documentation

◆ ~RenderQueueListener()

virtual Ogre::RenderQueueListener::~RenderQueueListener ( )
inlinevirtual

Member Function Documentation

◆ preRenderQueues()

virtual void Ogre::RenderQueueListener::preRenderQueues ( )
inlinevirtual

Event raised before all render queues are processed.

◆ postRenderQueues()

virtual void Ogre::RenderQueueListener::postRenderQueues ( )
inlinevirtual

Event raised after all render queues are processed.

◆ renderQueueStarted()

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

Event raised before a queue group is rendered.

This method is called by the SceneManager before each queue group is rendered.

Parameters
queueGroupIdThe id of the queue group which is about to be rendered
invocationName of the illumination stage which is causing this to be called
skipThisInvocationA 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::OverlaySystem.

◆ renderQueueEnded()

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

Event raised after a queue group is rendered.

This method is called by the SceneManager after each queue group is rendered.

Parameters
queueGroupIdThe id of the queue group which has just been rendered
invocationName of the illumination stage which is causing this to be called
repeatThisInvocationA 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.

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