[OGRE2]SceneManager::fireRenderQueueEnded function is never called

Anything and everything that's related to OGRE or the wider graphics field that doesn't fit into the other forums.
Post Reply
a_programmer
Gnoblar
Posts: 6
Joined: Sun Nov 24, 2019 6:34 pm

[OGRE2]SceneManager::fireRenderQueueEnded function is never called

Post by a_programmer »

I tried to handle RenderQueueListener::renderQueueEnded with the RenderQueueListener.
But SceneManager::fireRenderQueueEnded function is never called.
With RenderQueueListener::renderQueueStarted all is well.

Code: Select all

bool SceneManager::fireRenderQueueEnded(uint8 id, const String& invocation)
{
    RenderQueueListenerList::iterator i, iend;
    bool repeat = false;

    iend = mRenderQueueListeners.end();
    for (i = mRenderQueueListeners.begin(); i != iend; ++i)
    {
        (*i)->renderQueueEnded(id, invocation, repeat);
    }
    return repeat;
}

User avatar
dark_sylinc
OGRE Team Member
OGRE Team Member
Posts: 4629
Joined: Sat Jul 21, 2007 4:55 pm
Location: Buenos Aires, Argentina
x 979
Contact:

Re: [OGRE2]SceneManager::fireRenderQueueEnded function is never called

Post by dark_sylinc »

Hi!

renderQueueStarted/Ended listeners are legacy listeners that don't make much more sense anymore in Ogre 2.x

renderQueueStarted was left because v1::OverlaySystem needed it and we haven't replaced it yet; so renderQueueStarted is just doing whatever v1::OverlaySystem needs.

I suspect what you need can either be solved with CompositorWorkspaceListener or FrameListener.

See Samples/2.0/ApiUsage/PlanarReflections for an example of CompositorWorkspaceListener

Cheers
Matias

Post Reply