How to change MyGUI renderqueue Group?

jsding

14-12-2011 06:53:32

Hi,

I want render MyGUI behind my main screen.

Simple changed

OgreRenderManager::renderQueueStarted
if (Ogre::RENDER_QUEUE_OVERLAY != queueGroupId)
return;

seems not work? Does MyGui support this?

Thanks very much.

jsding

20-12-2011 07:47:37

no response. :( . top it :D

Altren

20-12-2011 20:06:51

Whait is "MainScreen"?

If you need different render queue try replacing RENDER_QUEUE_OVERLAY with something else.
Try to remove next lines
Ogre::Viewport* viewport = mSceneManager->getCurrentViewport();
if (nullptr == viewport
|| !viewport->getOverlaysEnabled())
return;

Try to debug your app and check which render layer used for MyGUI.

jsding

21-12-2011 06:07:36

Hi, Altren,

I really remove the lines you point. But still shown on top of my Ogre Screen.

finally, I create a new widget type that i can send RenderOperation to it directly, it works. So i can embed Ogre ManualObject into MyGUI widget freely(Without RTT).
Still, If MyGUI has a interface class to convert MyGUI Widget to Ogre MovableObject, that will be really great! we can transform mygui widget in X-Y-Z space freely.

Whait is "MainScreen"?

If you need different render queue try replacing RENDER_QUEUE_OVERLAY with something else.
Try to remove next lines
Ogre::Viewport* viewport = mSceneManager->getCurrentViewport();
if (nullptr == viewport
|| !viewport->getOverlaysEnabled())
return;

Try to debug your app and check which render layer used for MyGUI.

Altren

21-12-2011 08:27:56

Could you tell how you did that? I think that might be useful for other users.
What about using MyGUI Widget as Ogre MovableObject, well, right now it is not hard to convert 3d coordinates to 2d screen position and place widget there. And what about true 3d gui widget - better use RTT gui layer and attach that texture wherever you want.

jsding

22-12-2011 07:33:19

I create a new skin, and copy manualobject's vertexdata to mRenderItem at "doRender" method.

I thought RTT is not a good method, I need create one scenemanager for each widget. better blend the guiwidgets' renderOperation to the Ogre scene.

Could you tell how you did that? I think that might be useful for other users.
What about using MyGUI Widget as Ogre MovableObject, well, right now it is not hard to convert 3d coordinates to 2d screen position and place widget there. And what about true 3d gui widget - better use RTT gui layer and attach that texture wherever you want.