No matching function for overloaded Root_createRenderWindow

stodge

28-09-2005 02:47:42

I'm trying to create my own window without using the config menu, but I'm getting:

NotImplementedError: No matching function for overloaded "Root_createRenderWindow" in the sample framework at:

def createRenderWindow(*args):
"""
createRenderWindow(self, String name, unsigned int width, unsigned int height,
bool fullScreen, NameValuePairList miscParams=0) -> RenderWindow
createRenderWindow(self, String name, unsigned int width, unsigned int height,
bool fullScreen) -> RenderWindow
"""
return _ogre.Root_createRenderWindow(*args) <====== error



My code is:

def _configure(self):
"""This shows the config dialog and creates the renderWindow."""
drivers = self.root.getAvailableRenderers()
driver = drivers[0]
driver.setConfigOption("Full Screen","No")
driver.setConfigOption("Video Mode","800 x 600 @ 32-bit colour")
self.root.renderSystem = driver

self.renderWindow = self.root.initialise(False)
window = self.root.createRenderWindow("Test", 800, 600, False, 0)
return True

dermont

28-09-2005 09:55:28

Try removing the last parameter:


#window = self.root.createRenderWindow("Test", 800, 600, False, 0)
self.renderWindow = self.root.createRenderWindow("Test", 800, 600, False)


Or alternatively load the configuration direct from ogre.cfg:


def _configure(self):
carryOn = self.root.restoreConfig()
if carryOn:
self.renderWindow = self.root.initialise(True)
return carryOn

fog

28-09-2005 10:13:23

But especially never ever use _ogre directly. What you're trying to do is completely wrong because the Root_ functions expect a SWIG wrapped Ogre::Root pointer as first argument. Just call:

ogre.Root.getSingleton().createRenderWindow(...)

stodge

29-09-2005 01:29:19

Try removing the last parameter:


#window = self.root.createRenderWindow("Test", 800, 600, False, 0)
self.renderWindow = self.root.createRenderWindow("Test", 800, 600, False)


Or alternatively load the configuration direct from ogre.cfg:


def _configure(self):
carryOn = self.root.restoreConfig()
if carryOn:
self.renderWindow = self.root.initialise(True)
return carryOn


I'm trying to avoid the config menu as I wrote earlier.

Thanks

stodge

29-09-2005 01:30:42

But especially never ever use _ogre directly. What you're trying to do is completely wrong because the Root_ functions expect a SWIG wrapped Ogre::Root pointer as first argument. Just call:

ogre.Root.getSingleton().createRenderWindow(...)


That still doesn't work.

fog

29-09-2005 13:40:47

This is the code I use in Shy (and it works):

self.root = ogre.Root(ogre.getPluginPath())
self.root.renderSystem = self.root.getAvailableRenderers()[0]
self.root.initialise(False)
self.renderwindow = self.root.createRenderWindow(
"Shy render window", 400, 400, False)

stodge

30-09-2005 00:05:17

Cool - that worked, thanks!