The interesting thing is that I can use pIDirect3DDevice9 and do all sorts of directx drawing on my own with no issues. I assume I could pass this to CEGUI and let it draw as well. The only thing I can think of is that I am missing some other rendering code.
One thing to keep in mind is that the game already creates all the DX init code as well as draw its own stuff. I then hook into endscene() or even present() and do my own drawing which is where CEGUI is coming in.
I am getting no runtime errors or crashes.
Note: I tried using MyGUI as well and had the same problem. Neither will render but both seem to compile and run fine.
My init code looks like:
Code: Select all
CEGUI::Direct3D9Renderer& myRenderer = CEGUI::Direct3D9Renderer::create( pIDirect3DDevice9 );
CEGUI::System::create(myRenderer);
// load scheme and set up defaults
// initialise the required dirs for the DefaultResourceProvider
CEGUI::DefaultResourceProvider* rp =
static_cast<CEGUI::DefaultResourceProvider*>
(CEGUI::System::getSingleton().getResourceProvider());
const char* dataPathPrefix = "./datafiles";
char resourcePath[260];
// for each resource type, set a resource group directory
sprintf(resourcePath, "%s/%s", dataPathPrefix, "schemes/");
rp->setResourceGroupDirectory("schemes", resourcePath);
sprintf(resourcePath, "%s/%s", dataPathPrefix, "imagesets/");
rp->setResourceGroupDirectory("imagesets", resourcePath);
sprintf(resourcePath, "%s/%s", dataPathPrefix, "fonts/");
rp->setResourceGroupDirectory("fonts", resourcePath);
sprintf(resourcePath, "%s/%s", dataPathPrefix, "layouts/");
rp->setResourceGroupDirectory("layouts", resourcePath);
sprintf(resourcePath, "%s/%s", dataPathPrefix, "looknfeel/");
rp->setResourceGroupDirectory("looknfeels", resourcePath);
sprintf(resourcePath, "%s/%s", dataPathPrefix, "lua_scripts/");
rp->setResourceGroupDirectory("lua_scripts", resourcePath);
sprintf(resourcePath, "%s/%s", dataPathPrefix, "xml_schemas/");
rp->setResourceGroupDirectory("schemas", resourcePath);
// set the default resource groups to be used
CEGUI::Imageset::setDefaultResourceGroup("imagesets");
CEGUI::Font::setDefaultResourceGroup("fonts");
CEGUI::Scheme::setDefaultResourceGroup("schemes");
CEGUI::WidgetLookManager::setDefaultResourceGroup("looknfeels");
CEGUI::WindowManager::setDefaultResourceGroup("layouts");
CEGUI::ScriptModule::setDefaultResourceGroup("lua_scripts");
// setup default group for validation schemas
CEGUI::XMLParser* parser = CEGUI::System::getSingleton().getXMLParser();
if (parser->isPropertyPresent("SchemaDefaultResourceGroup"))
parser->setProperty("SchemaDefaultResourceGroup", "schemas");
CEGUI::SchemeManager::getSingleton().create("TaharezLook.scheme");
I am calling this every frame:
Code: Select all
CEGUI::System::getSingleton().renderGUI();
This is called when I press a button. The log is saying that this is being entered.
Code: Select all
CEGUI::WindowManager& wmgr = CEGUI::WindowManager::getSingleton();
CEGUI::Window* myRoot = wmgr.createWindow( "DefaultWindow", "root" );
CEGUI::System::getSingleton().setGUISheet( myRoot );
CEGUI::Window* fWnd = wmgr.loadWindowLayout("TreeDemoTaharez.layout");
myRoot->addChildWindow( fWnd );
// position a quarter of the way in from the top-left of parent.
/*fWnd->setPosition( CEGUI::UVector2( CEGUI::UDim( 0.25f, 0 ), CEGUI::UDim( 0.25f, 0 ) ) );
// set size to be half the size of the parent
fWnd->setSize( CEGUI::UVector2( CEGUI::UDim( 0.5f, 0 ), CEGUI::UDim( 0.5f, 0 ) ) );
fWnd->setText( "Hello World!" );*/
created1 =true;
Utils::Log("Window Created\n");
This is my CEGUI log.
Code: Select all
----------------------------------------------------------------------------------------------------------------------------------
loging report for : 04/13/2010 14:43:20
----------------------------------------------------------------------------------------------------------------------------------
14:43:20 | Platform | Info | * Initialise: DirectXRenderManager | ..\..\..\..\..\MyGUI3.0\Platforms\DirectX\DirectXPlatform\src\MyGUI_DirectXRenderManager.cpp | 25
14:43:20 | Platform | Info | DirectXRenderManager successfully initialized | ..\..\..\..\..\MyGUI3.0\Platforms\DirectX\DirectXPlatform\src\MyGUI_DirectXRenderManager.cpp | 41
14:43:20 | Platform | Info | * Initialise: DirectXDataManager | ..\..\..\..\..\MyGUI3.0\Platforms\DirectX\DirectXPlatform\src\MyGUI_DirectXDataManager.cpp | 68
14:43:20 | Platform | Info | DirectXDataManager successfully initialized | ..\..\..\..\..\MyGUI3.0\Platforms\DirectX\DirectXPlatform\src\MyGUI_DirectXDataManager.cpp | 70
14:43:20 | Core | Info | * Initialise: Gui | ..\..\..\MyGUI3.0\MyGUIEngine\src\MyGUI_Gui.cpp | 82
14:43:20 | Core | Info | * MyGUI version 3.0.1 | ..\..\..\MyGUI3.0\MyGUIEngine\src\MyGUI_Gui.cpp | 86
14:43:20 | Core | Info | * Initialise: ResourceManager | ..\..\..\MyGUI3.0\MyGUIEngine\src\MyGUI_ResourceManager.cpp | 43
14:43:20 | Core | Info | ResourceManager successfully initialized | ..\..\..\MyGUI3.0\MyGUIEngine\src\MyGUI_ResourceManager.cpp | 51
14:43:20 | Core | Info | * Initialise: LayerManager | ..\..\..\MyGUI3.0\MyGUIEngine\src\MyGUI_LayerManager.cpp | 44
14:43:20 | Core | Info | LayerManager successfully initialized | ..\..\..\MyGUI3.0\MyGUIEngine\src\MyGUI_LayerManager.cpp | 52
14:43:20 | Core | Info | * Initialise: WidgetManager | ..\..\..\MyGUI3.0\MyGUIEngine\src\MyGUI_WidgetManager.cpp | 66
14:43:20 | Core | Info | WidgetManager successfully initialized | ..\..\..\MyGUI3.0\MyGUIEngine\src\MyGUI_WidgetManager.cpp | 105
14:43:20 | Core | Info | * Initialise: InputManager | ..\..\..\MyGUI3.0\MyGUIEngine\src\MyGUI_InputManager.cpp | 41
14:43:20 | Core | Info | InputManager successfully initialized | ..\..\..\MyGUI3.0\MyGUIEngine\src\MyGUI_InputManager.cpp | 58
14:43:20 | Core | Info | * Initialise: SubWidgetManager | ..\..\..\MyGUI3.0\MyGUIEngine\src\MyGUI_SubWidgetManager.cpp | 44
14:43:20 | Core | Info | SubWidgetManager successfully initialized | ..\..\..\MyGUI3.0\MyGUIEngine\src\MyGUI_SubWidgetManager.cpp | 64
14:43:20 | Core | Info | * Initialise: SkinManager | ..\..\..\MyGUI3.0\MyGUIEngine\src\MyGUI_SkinManager.cpp | 46
14:43:20 | Core | Info | SkinManager successfully initialized | ..\..\..\MyGUI3.0\MyGUIEngine\src\MyGUI_SkinManager.cpp | 54
14:43:20 | Core | Info | * Initialise: FontManager | ..\..\..\MyGUI3.0\MyGUIEngine\src\MyGUI_FontManager.cpp | 43
14:43:20 | Core | Info | FontManager successfully initialized | ..\..\..\MyGUI3.0\MyGUIEngine\src\MyGUI_FontManager.cpp | 52
14:43:20 | Core | Info | * Initialise: ControllerManager | ..\..\..\MyGUI3.0\MyGUIEngine\src\MyGUI_ControllerManager.cpp | 41
14:43:20 | Core | Info | ControllerManager successfully initialized | ..\..\..\MyGUI3.0\MyGUIEngine\src\MyGUI_ControllerManager.cpp | 51
14:43:20 | Core | Info | * Initialise: PointerManager | ..\..\..\MyGUI3.0\MyGUIEngine\src\MyGUI_PointerManager.cpp | 51
14:43:20 | Core | Info | PointerManager successfully initialized | ..\..\..\MyGUI3.0\MyGUIEngine\src\MyGUI_PointerManager.cpp | 69
14:43:20 | Core | Info | * Initialise: ClipboardManager | ..\..\..\MyGUI3.0\MyGUIEngine\src\MyGUI_ClipboardManager.cpp | 82
14:43:20 | Core | Info | ClipboardManager successfully initialized | ..\..\..\MyGUI3.0\MyGUIEngine\src\MyGUI_ClipboardManager.cpp | 96
14:43:20 | Core | Info | * Initialise: LayoutManager | ..\..\..\MyGUI3.0\MyGUIEngine\src\MyGUI_LayoutManager.cpp | 42
14:43:20 | Core | Info | LayoutManager successfully initialized | ..\..\..\MyGUI3.0\MyGUIEngine\src\MyGUI_LayoutManager.cpp | 48
14:43:20 | Core | Info | * Initialise: DynLibManager | ..\..\..\MyGUI3.0\MyGUIEngine\src\MyGUI_DynLibManager.cpp | 34
14:43:20 | Core | Info | DynLibManager successfully initialized | ..\..\..\MyGUI3.0\MyGUIEngine\src\MyGUI_DynLibManager.cpp | 36
14:43:20 | Core | Info | * Initialise: PluginManager | ..\..\..\MyGUI3.0\MyGUIEngine\src\MyGUI_PluginManager.cpp | 36
14:43:20 | Core | Info | PluginManager successfully initialized | ..\..\..\MyGUI3.0\MyGUIEngine\src\MyGUI_PluginManager.cpp | 40
14:43:20 | Core | Info | * Initialise: LanguageManager | ..\..\..\MyGUI3.0\MyGUIEngine\src\MyGUI_LanguageManager.cpp | 40
14:43:20 | Core | Info | LanguageManager successfully initialized | ..\..\..\MyGUI3.0\MyGUIEngine\src\MyGUI_LanguageManager.cpp | 44
14:43:20 | Core | Info | * Initialise: FactoryManager | ..\..\..\MyGUI3.0\MyGUIEngine\src\MyGUI_FactoryManager.cpp | 34
14:43:20 | Core | Info | FactoryManager successfully initialized | ..\..\..\MyGUI3.0\MyGUIEngine\src\MyGUI_FactoryManager.cpp | 37
14:43:20 | Core | Info | Load ini file 'core_theme.xml' | ..\..\..\MyGUI3.0\MyGUIEngine\src\MyGUI_ResourceManager.cpp | 152
14:43:20 | Core | Info | Load ini file 'core_language.xml' | ..\..\..\MyGUI3.0\MyGUIEngine\src\MyGUI_ResourceManager.cpp | 152
14:43:20 | Core | Info | Load ini file 'core_font.xml' | ..\..\..\MyGUI3.0\MyGUIEngine\src\MyGUI_ResourceManager.cpp | 152
14:43:20 | Core | Info | ResourceTrueTypeFont 'font_DejaVuSans.17' using texture size 512 x 256 | ..\..\..\MyGUI3.0\MyGUIEngine\src\MyGUI_ResourceTrueTypeFont.cpp | 203
14:43:20 | Core | Info | ResourceTrueTypeFont 'font_DejaVuSans.17' using real height 17 pixels | ..\..\..\MyGUI3.0\MyGUIEngine\src\MyGUI_ResourceTrueTypeFont.cpp | 204
14:43:20 | Core | Info | ResourceTrueTypeFont 'font_DejaVuSans.14' using texture size 256 x 256 | ..\..\..\MyGUI3.0\MyGUIEngine\src\MyGUI_ResourceTrueTypeFont.cpp | 203
14:43:20 | Core | Info | ResourceTrueTypeFont 'font_DejaVuSans.14' using real height 14 pixels | ..\..\..\MyGUI3.0\MyGUIEngine\src\MyGUI_ResourceTrueTypeFont.cpp | 204
14:43:20 | Core | Info | Load ini file 'core_resource.xml' | ..\..\..\MyGUI3.0\MyGUIEngine\src\MyGUI_ResourceManager.cpp | 152
14:43:20 | Core | Info | Load ini file 'core_skin.xml' | ..\..\..\MyGUI3.0\MyGUIEngine\src\MyGUI_ResourceManager.cpp | 152
14:43:20 | Core | Info | Load ini file 'core_pointer.xml' | ..\..\..\MyGUI3.0\MyGUIEngine\src\MyGUI_ResourceManager.cpp | 152
14:43:20 | Core | Info | Load ini file 'core_layer.xml' | ..\..\..\MyGUI3.0\MyGUIEngine\src\MyGUI_ResourceManager.cpp | 152
14:43:20 | Core | Info | Load ini file 'core_settings.xml' | ..\..\..\MyGUI3.0\MyGUIEngine\src\MyGUI_ResourceManager.cpp | 152
14:43:20 | Core | Info | Gui successfully initialized | ..\..\..\MyGUI3.0\MyGUIEngine\src\MyGUI_Gui.cpp | 129