Render overlay on top of cegui window

For help with general CEGUI usage:
- Questions about the usage of CEGUI and its features, if not explained in the documentation.
- Problems with the CMAKE configuration or problems occuring during the build process/compilation.
- Errors or unexpected behaviour.

Moderators: CEGUI MVP, CEGUI Team

1337
Just popping in
Just popping in
Posts: 9
Joined: Tue Nov 04, 2008 22:54

Re: Render overlay on top of cegui window

Postby 1337 » Mon May 09, 2011 03:57

I'm running out of ideas... So I would like to actually show what I see. Because it's really strange.
At the moment, my code is using a RenderQueueListener and I'm hooked into the Overlay ID on renderQueueStarted().

This is what I expect (image taken with Ogre 1.6 and CEGUI 0.6.2):
Image

This is what I get witout doing anything apart from showing the console:
Image

And this is what it looks like after focusing the first button:
Image

I also checked to see what happens if I hook into renderQueueEnded --> as expected, I cannot see anything at all.

Any ideas how this could happen?

User avatar
CrazyEddie
CEGUI Project Lead
Posts: 6760
Joined: Wed Jan 12, 2005 12:06
Location: England
Contact:

Re: Render overlay on top of cegui window

Postby CrazyEddie » Mon May 09, 2011 06:59

Hi,

Reset the scissor test area?

CE.

1337
Just popping in
Just popping in
Posts: 9
Joined: Tue Nov 04, 2008 22:54

Re: Render overlay on top of cegui window

Postby 1337 » Mon May 09, 2011 16:37

That was exactly the kind of answer I was hoping for by posting these pictures! I have (or rather had) no idea what the scissor test was, but I managed to solve the problem.
Thank you very much, I would have never, ever figured it out on my own!

As for the solution, I made a little hack:

Code: Select all

        void renderQueueStarted(Ogre::uint8 id, const Ogre::String& invocation, bool& skipThisQueue)
        {
            if (id == Ogre::RENDER_QUEUE_OVERLAY && invocation.empty())
            {
                CEGUI::System::getSingleton().renderGUI();
                Ogre::Root::getSingleton().getRenderSystem()->setScissorTest(false);
            }
        }


I would suggest to add this to the OgreRenderer as I might not be the only one who still needs the RenderQueue listening.


Return to “Help”

Who is online

Users browsing this forum: No registered users and 9 guests