First the necessaries:
Code: Select all
18/11/2010 15:25:36 (Std) ********************************************************************************
18/11/2010 15:25:36 (Std) * -------- START OF ESSENTIAL SECTION TO BE POSTED ON THE FORUM -------- *
18/11/2010 15:25:36 (Std) ********************************************************************************
18/11/2010 15:25:36 (Std) ---- Version 0.7.4 (Build: Nov 18 2010 Microsoft Windows MSVC++ 9.0 32 bit) ----
18/11/2010 15:25:36 (Std) ---- Renderer module is: CEGUI::OgreRenderer - Official OGRE based 2nd generation renderer module. ----
18/11/2010 15:25:36 (Std) ---- XML Parser module is: CEGUI::RapidXMLParser - Official RapidXML based parser module for CEGUI ----
18/11/2010 15:25:36 (Std) ---- Image Codec module is: OgreImageCodec - Integrated ImageCodec using the Ogre engine. ----
18/11/2010 15:25:36 (Std) ---- Scripting module is: None ----
18/11/2010 15:25:36 (Std) ********************************************************************************
18/11/2010 15:25:36 (Std) * -------- END OF ESSENTIAL SECTION TO BE POSTED ON THE FORUM -------- *
18/11/2010 15:25:36 (Std) ********************************************************************************
I'm working on an OpenGL QuadBuffered application and I'm getting odd rendering issues when interacting with CEGUI. I'm using the old-style CEGUIRQListener approach to control the rendering, i.e. a frameListener / renderqueue hook.
I'm getting the following issues with frame sequential renders...
The issues are:
* Visibility differences between sequential renders of gui widgets ( i.e. when clicking on an object one eye sees the highlighted button image and the other eye sees nothing )
* Frame lags when rolling over widgets ( one eyes rendering seems to freeze for one/two frames, only when moving over widgets, not whilst hovering.. )
I've rolled my own OGRE rendering loop which does the following:
Code: Select all
Root->_fireFrameStarted();
Root->_fireFrameRenderingQueued();
glDrawBuffer(GL_BACK_LEFT);
offsetCamera(left);
mainWindow->update(false);
glDrawBuffer(GL_BACK_RIGHT);
offsetCamera(right);
mainWindow->update();
Root->_fireFrameEnded();
This works fine without CEGUI being rendered but when I add my menus I get the above anomolies, my questions therefore are..
* No. 1 - Is there some internal widget state changes occuring during rendering which account for different image states between consecutive renders, and is there an alternative method to get around this?
* No. 2 - Any ideas for the frame freeze during hovers?
Thanks, Ian.