Consegui dar os primeiros passos para a utilização da biblioteca CEGUI na OGRE... consegui fazer o meu Hello World...
Vou compartilhar aki com vcs..
Código:
#include "CEGUI.h"
#include "OgreCEGUIRenderer.h"
#include "ExampleApplication.h"
//Teste - OK -----------------------------------------------
class GuiFrameListener : public ExampleFrameListener
{
private:
CEGUI::Renderer* mGUIRenderer;
public:
GuiFrameListener(RenderWindow* win, Camera* cam, CEGUI::Renderer* renderer)
: ExampleFrameListener(win, cam, false, false),
mGUIRenderer(renderer)
{
}
};
//----------------------------------------------------
class TutorialApplication : public ExampleApplication
{
private:
CEGUI::OgreCEGUIRenderer* myRenderer;
CEGUI::System* mySystem;
CEGUI::Window* mEditorGuiSheet;
protected:
void createScene()
{
mSceneMgr->setAmbientLight(ColourValue(0,0,0));
myRenderer = new CEGUI::OgreCEGUIRenderer(mWindow,Ogre::RENDER_QUEUE_OVERLAY,false,3000,mSceneMgr);
//Mudancas-------------------------------------------------------
mySystem = new CEGUI::System(myRenderer);
CEGUI::Logger::getSingleton().setLoggingLevel(CEGUI::Informative);
//---------------------------------------------------------------
CEGUI::SchemeManager::getSingleton().loadScheme((CEGUI::utf8*)"TaharezLookSkin.scheme");
CEGUI::WindowManager& wgmr = CEGUI::WindowManager::getSingleton();
mEditorGuiSheet = wgmr.createWindow("DefaultWindow", "root");
CEGUI::System::getSingleton().setGUISheet(mEditorGuiSheet);
CEGUI::FrameWindow* fWnd = (CEGUI::FrameWindow*) wgmr.createWindow("TaharezLook/FrameWindow", "testWindow");
mEditorGuiSheet->addChildWindow(fWnd);
fWnd->setPosition(CEGUI::Point( 0.25f, 0.25f ) );
fWnd->setSize(CEGUI::Size( 0.5f, 0.5f ) );
fWnd->setText("Hello World");
fWnd->setCaptionColour(CEGUI::colour(1,1,1));
}
void createFrameListener(void)
{
mFrameListener = new GuiFrameListener(mWindow, mCamera, myRenderer);
mRoot->addFrameListener(mFrameListener);
}
};
#if OGRE_PLATFORM == OGRE_PLATFORM_WIN32
#define WIN32_LEAN_AND_MEAN
#include "windows.h"
INT WINAPI WinMain( HINSTANCE hInst, HINSTANCE, LPSTR strCmdLine, INT )
#else
int main(int argc, char **argv)
#endif
{
// Create application object
TutorialApplication app;
try {
app.go();
} catch( Exception& e ) {
#if OGRE_PLATFORM == OGRE_PLATFORM_WIN32
MessageBox( NULL, e.getFullDescription().c_str(), "An exception has occured!", MB_OK | MB_ICONERROR | MB_TASKMODAL);
#else
fprintf(stderr, "An exception has occured: %s\n",
e.getFullDescription().c_str());
#endif
}
return 0;
}
Em resumo é uma janela... com o titulo Hello World.. hehehe
Eh soh o inicio..
Abraços!