[2.1] fireRenderQueueEnded never called Topic is solved

Problems building or running the engine, queries about how to use features etc.
Post Reply
gabbsson
Halfling
Posts: 61
Joined: Wed Aug 08, 2018 9:03 am
x 9

[2.1] fireRenderQueueEnded never called

Post by gabbsson » Fri Dec 14, 2018 11:07 am

Hey!

I get the feeling there is something I have misunderstood or missed here.

Quick context: my custom RenderQueueListener is supposed to toggle overlays on and off (as mentioned in my previous post for more context).

To only show overlays that belong to a specific scenemanager I toggle them on in the renderQueueStarted and then I want to toggle them off in renderQueueEnded to never have to handle more than the relevant overlay. In other words only one scenemanager-overlay is visible at any given time while going through the renderqueues. But renderQueueEnded never seems to be called.

I handled this by toggling ALL overlays off in renderQueueStarted, then activating the overlays I want. But after adding overlays that belong to specific renderwindows this hacky solution will no longer cut it. I only want to modify the relevant overlay for the scenemanager.

Do I have to tell the scenemanager to call it after finishing a renderqueue or why is it not being called by default?

Edit: I both searched through the source to see where fireRenderQueueEnded was being used and only found it in BSPSceneManager and by simply placing a breakpoint and noticing it never got hit.
0 x

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

Re: [2.1] fireRenderQueueEnded never called

Post by dark_sylinc » Fri Dec 14, 2018 4:43 pm

renderQueueStarted & co. are remnants from old listeners from 1.x; some of them may work, some of them may not; some need maintenance others need being removed.

Rely on CompositorWorkspaceListener which gives you the same information and maps much better to 2.1's semantics: renderQueueStarted & fireRenderQueueEnded are very similar to the new passPreExecute & passPosExecute.

Cheers
Matias
0 x

gabbsson
Halfling
Posts: 61
Joined: Wed Aug 08, 2018 9:03 am
x 9

Re: [2.1] fireRenderQueueEnded never called

Post by gabbsson » Fri Dec 14, 2018 5:02 pm

The only real reason I was thinking it would be better to use a RenderQueueListener was it should be called less calls? (once per SceneManager instead of once per CompositorWorkspace).

But that is good to know. I'll switch over, shouldn't be a problem.

Thanks again for the quick answers!
0 x

Post Reply