Is Ogre 1.06 + PyOgre the most stable build?

macada

16-05-2006 16:43:00

I'd like to start a PyOgre project under Linux. Would it it be best to build the current PyOgre using Ogre 1.06?

Thanks.

dermont

19-05-2006 09:00:22

Yes

macada

19-05-2006 13:54:01

Thank you, Dermont. You seem to be life support at the moment.

I sure hope this gets rolling again. I got pretty psyched when I saw Fog's project mixing PyOgre and PyGTK. What a perfect mix for tool building.

willism

19-05-2006 13:56:54

I got pyogre 1.0.6 running on Ubuntu Linux (Dapper Drake). It wasn't too hard, since the latest Ubuntu has packages for OGRE 1.0.6 libs and development files, as well as the CEGUI stuff. On thing that I had to do to get the SWIG build to work was remove the dependency on the CEGUI OpenGL renderer.

In the original setup.py:

ext_cegui = pyogre_Extension("pyogre._cegui", ["pyogre/cegui/cegui.i"],
pkg_config_module='CEGUI CEGUI-OPENGL CEGUI-OGRE',
pkg_config_generate='CEGUI-OGRE-PYTHON',
swig_includes=["-Ipyogre/ogre"])


My modified setup.py:

ext_cegui = pyogre_Extension("pyogre._cegui", ["pyogre/cegui/cegui.i"],
pkg_config_module='CEGUI CEGUI-OGRE',
pkg_config_generate='CEGUI-OGRE-PYTHON',
swig_includes=["-Ipyogre/ogre"])


The CEGUI stuff still works for me, I'm guessing that it's just using OGRE as a renderer instead of raw OpenGL.

dermont

21-05-2006 13:29:53

@willism

The cegui wrappers combines two renderers, Ogre's CEGUIRenderer and CEGUI's OpenGL renderer. There's nothing to stop you removing the dependency for either by modifying the setup.py as you did.

For completeness you should should also comment out the appropriate parts in cegui.i to disable building against the approriate renderer, i.e.

- disable OpenGL

//%include CEGUIOpenGLRenderer.i


- disable OgreCEGUI

//#define _OgreExport
//#define OGRE_AUTO_SHARED_MUTEX
//%include ogre_attributes.i
//%include ogre_typemaps.i
//%import "OgreRenderTarget.i"
//%import OgreRenderWindow.i
//%import OgreSceneManager.i

//%include CEGUIOgreRenderer.i


The above really needs to be broken down into 3 seperate modules.

futnuh

23-05-2006 02:41:02

We are using Dagon pyOgre (CVS + Dermont's patches) heavily and it is very stable. I have no qualms about using it for production work. I'll post some stills from our stereo medviz demo tomorrow. I wonder should I post them here, or over in the Ogre screenshots forum along with a note that this is all being done in pyOgre ;-)

Edit: Just reread the original post. Note that we are running under XP.

SuperElectric

31-05-2006 23:17:12

Willism, if you get a chance, could you post a short Dapper Drake howto on the "How to install PyOgre on Linux" wiki (link)? It sounds like PyOgre installation has gotten alot easier since Breezy, and I wouldn't want anybody running Dapper to follow the baroque Breezy instructions when they don't need to.

-- Matt

willism

02-06-2006 15:30:53

Ok, I wrote down what I did to get PyOgre working on Ubuntu Dapper Drake (as best as I can remember). It's on the "How to build PyOgre on Linux" Wiki page:

http://www.ogre3d.org/wiki/index.php/How_to_build_PyOgre_on_linux

Could somebody else test out my instructions to make sure that I didn't forget anything?

Chozabu

21-06-2006 06:53:10

heya, just tried out your dapper instructions, and the ogre stuff works great, but stuff fails for me when cegui is imported


Traceback (most recent call last):
File "TabControlDemo.py", line 7, in ?
from pyogre import ogre,cegui
File "/usr/lib/python2.4/site-packages/pyogre/cegui.py", line 4, in ?
import _cegui
ImportError: /usr/lib/python2.4/site-packages/pyogre/_cegui.so: undefined symbol: _ZTIN5CEGUI14OpenGLRendererE


i think someone mentioned the same prob around here somewhere, but i guess i missed the solution :roll: (new swig or cegui was it?)

oh, i havnt checked to see if dermont's extra info above helps, but ill try n get round to it later!

willism

21-06-2006 14:15:29

I think you do need to comment out the "%include CEGUIOpenGLRenderer.i" line in cegui.i; I forgot to put that part on the wiki page (however, I just updated it). Try it and make sure that it works.

Chozabu

22-06-2006 02:45:01

Righto, ill give it a go now :)

Chozabu

22-06-2006 04:00:28

great!
for the most part it works

after compiling with edited cegui.i it still didnt run MenuDemo.py
re-did removing dirextx and cg lines from plugins.cfg, still no luck
however, most of the other cegui demos do work!
i have my doubts changing the plugins.cfg did anything, but is it to be expected that MenuDemo and one or two others dont run? if not should i post logs?

dermont

24-06-2006 10:51:58

No need for the logs, its a known problem and the way pycegui is compiled on linux, see this thread:

http://www.ogre3d.org/phpBB2addons/viewtopic.php?t=1334

You should be able to resolve this by linking against the FalgardBase i.e. updating CEGUI-OGRE-PYTHON.pc.in and recompiling pycegui:


#Libs: -L${libdir} -lCEGUITaharezLook
Libs: -L${libdir} -lCEGUIFalagardBase


You then need to update the WindowsLook and TaharezLook demos with either:

# load WindowsLook Cegui Scheme cegui.SchemeManager.getSingleton().loadScheme("WindowsLookSkin.scheme") cegui.SchemeManager.getSingleton().loadScheme("TaharezLookSkin.scheme")


The MenuDemo.py and RenderToTextureDemo.py demos have been updated for the LookSkins and pyOgre1.2.0:
http://svn.berlios.de/wsvn/pyogre/branc ... rev=0&sc=0
http://svn.berlios.de/wsvn/pyogre/branc ... rev=0&sc=0

For 1.0.6 it should be as simple as replacing:

#self.guiRenderer = cegui.OgreCEGUIRenderer(self.renderWindow,ogre.RENDER_QUEUE_OVERLAY, False, self.sceneManager)
self.guiRenderer = cegui.OgreCEGUIRenderer(self.renderWindow)


All this should really be backported to the current trunk.