Python-Ogre 1.6.0 Available

andy

14-11-2008 12:26:59

It's release time again with Python-Ogre 1.6.0 available [b]here[/b]

Sorry about the size of this release (it's hitting 100Meg) -- however there are a 'number' of modules and their supporting media files included :) I will look to split this for the next release.

Modules included are:
* OGRE ( ogre.renderer.OGRE ) 1.6.0
* OIS ( ogre.io.OIS ) 1.2
* CEGUI ( ogre.gui.CEGUI ) 0.6.1
* QuickGUI ( ogre.gui.QuickGUI ) r80
* betagui ( ogre.gui.betagui ) 2.0
* OgreAL ( ogre.sound.OgreAL ) r115
* ODE ( ogre.physics.ODE ) 0.10.1
* OgreRefApp ( ogre.physics.OgreRefApp ) 1.6.0
* OgreOde ( ogre.physics.OgreOde ) r2497
* OgreNewt ( ogre.physics.OgreNewt ) r2429
* Opcode ( ogre.physics.Opcode ) 1.3
* bullet ( ogre.physics.bullet ) 2.70
* PhysX ( ogre.physics.PhysX ) 2.8.1
* NxOgre ( ogre.physics.NxOgre ) 0.22T5
* OgreBulletC ( ogre.physics.OgreBulletC ) r2493
* OgreBulletD ( ogre.physics.OgreBulletD ) r2493
* theora ( ogre.addons.theora ) r2455
* plib ( ogre.addons.plib ) 1.8.4
* ogreforests ( ogre.addons.ogreforests ) r2504
* et ( ogre.addons.et ) 2.3.1
* caelum ( ogre.addons.caelum ) r331
* noise ( ogre.addons.noise ) r2486
* particleuniverse ( ogre.addons.particleuniverse ) 0.81
* cadunetree ( ogre.addons.cadunetree ) 0.6
* ogrepcz ( ogre.renderer.ogrepcz ) 1.6.0
* hydrax ( ogre.addons.hydrax ) 0.4
* hikari ( ogre.gui.hikari ) r23

Known problems:
* QuickGui demo need to be fixed as the underlying API has changed
* NxOgre needs a demo (need to convert the latest "Cake")
* [FIXED - see Dermont's post below] CEGUI Tree demo has an issue with the media files

Also included in this release are the source 'lib' and 'header' files for those folks who need to link C++ programs with Python-Ogre. they can be found in the SourceLibs directory

Please use the [b]SourceForge Tracker [/b] to report any issues etc and we'll get to them asap.

Regards
Andy

SiWi

14-11-2008 14:38:26

Congrats! :D

bharling

14-11-2008 16:01:20

Fantastic! and it just coincides with a nice free weekend with nothing else to do but mess with new python-ogre

Andy, I've said it before, but we definitely all owe you a beer

dermont

14-11-2008 16:22:38


CEGUI Tree demo has an issue with the media files


Not so sure this is an issue with media files. Last time I checked this worked fine on Linux.

I think the crash on Windows may occur with the TreeItem's image going out of scope, similar to the problem with TreeItem's addItem.

You could create a List to store the images or try something like this to see if it resolves the problem.


Index: Demo_CEGUI_Treev061.py
===================================================================
--- Demo_CEGUI_Treev061.py (revision 792)
+++ Demo_CEGUI_Treev061.py (working copy)
@@ -229,7 +229,6 @@
"GreenCandy"]
iconArray = [ drives.getImage(image) for image in iconImages ]
self.iconArray = iconArray
-
## tree variables and events
IMAGES_FILE_NAME = SCHEME_DICT['IMAGES_FILE_NAME']
BRUSH_NAME = SCHEME_DICT['BRUSH_NAME']
@@ -252,7 +251,8 @@
def addListToTree(resourceList, parentItem, iconName):
for r in resourceList:
meshCtrlItem = CEGUI.TreeItem(r)
- meshCtrlItem.setIcon(drives.getImage(iconName))
+ image = iconArray[ iconImages.index(iconName) ]
+ meshCtrlItem.setIcon( image )
meshCtrlItem.setSelectionBrushImage(IMAGES_FILE_NAME, BRUSH_NAME)
meshCtrlItem.AutoDeleted = False
meshCtrlItem.setFont("BlueHighway-12")
@@ -262,12 +262,14 @@
## helper to create TreeCtrl item
def createListItem(text, parentItem, iconName):
meshCtrlItem = CEGUI.TreeItem(text)
- meshCtrlItem.setIcon(drives.getImage(iconName))
+ image = iconArray[ iconImages.index(iconName) ]
+ meshCtrlItem.setIcon( image )
meshCtrlItem.setSelectionBrushImage(IMAGES_FILE_NAME, BRUSH_NAME)
meshCtrlItem.AutoDeleted = False
meshCtrlItem.setFont("BlueHighway-12")
parentItem.addItem(meshCtrlItem)
self.ListItems.append(meshCtrlItem)
return meshCtrlItem

# create root Item
@@ -282,6 +284,7 @@
newTreeCtrlEntryLvl1,"Lime")
matScriptCtrlItem = createListItem("scripts",
matCtrlItem,"Lime")
+
matProgramCtrlItem = createListItem("programs",
matCtrlItem,"Lime")


Quadrofonic

14-11-2008 21:04:17

Excellent! Just in time to retool nXtank and begin the Beta phase of our design.

Once again we wish to extend our gratitude to the Python-Ogre team for all the hard work they put into the toolset that made our project a success.

http://nXtank.com

SiWi

23-11-2008 11:46:30

Could it be that some of the media is missing in this release?
robot.mesh and ninja.mesh are missing their material scripts for example?

andy

23-11-2008 12:03:16

Do any of the demos show the problem ?? As far as I know the media is a superset of the official Ogre SDK (could have made an error of course)

Andy

SiWi

24-11-2008 14:18:40

Some of the demos show an error, but not media specific...
ogrehead.mesh loading fine in the demos for example, but not for me(only head without texture), although I'm running my app from the demos folder with the same ressource file. :?
EDIT: Actually the material files belonging to the Models are not in the Media/Materials/Scripts folder, but still are found by the demos. :?
Has there been a change in the folder structure?

dingo

24-11-2008 15:43:38

First of all, I wanted to thank for this fantastic piece of software. I'm using python-ogre for 3d data visualization and I'm very happy with it. I could not think of a better tool for my needs. Cool!

Unfortunately, the latest version (1.6.0-r789) does not work on my computer (I was eager to try hydrax): The demos are crashing the python interpreter (with OpenGL and Direct3D) and my own app does the same.
I'm running python-ogre on windows vista with python 2.5.2.

Any idea?

andy

25-11-2008 00:38:44

What error are you seeing? Is there anything of use in the ogre.log file?

Only other thing would be to do a complete clean and reinstall -- so remove the \python25\lib\site-packages\ogre tree as well as \pythonogre\build

Then from \pythonogre run python setup.py install

I will try it on a Vista machine myself late in the week..

Andy...

dingo

25-11-2008 11:55:48

Thank you for your help.

I've now removed PythonOgre and python completely and reinstalled everything, but python is still crashing (Windows Pop up saying that python.exe ist not responding anymore).

Last three lines from Ogre.log for Demo_SykDome.py:

12:50:23: Texture: GreenSkin.jpg: Loading 1 faces(PF_R8G8B8,256x256x1) with hardware generated mipmaps from Image. Internal format is PF_X8R8G8B8,256x256x1.
12:50:23: Texture: spheremap.png: Loading 1 faces(PF_R8G8B8,256x256x1) with hardware generated mipmaps from Image. Internal format is PF_X8R8G8B8,256x256x1.
12:50:23: Texture: dirt01.jpg: Loading 1 faces(PF_R8G8B8,96x96x1) with 5 generated mipmaps from Image. Internal format is PF_X8R8G8B8,96x96x1.

dermont

26-11-2008 11:59:26

The ogreode patch contains the following:

void setWorld(OgreOde::World * world);// {_world = world;};
void setSpace(OgreOde::Space * space);// {_space = space;};


Not too sure is this intended as a workaround for unresolved externals on setSpace/setWorld whilst linking with Visual Studio 2008. If so you can update the OgreOde_Loader project defines to uppercase OGREODEEXPORT_LOADER to resolve the issue.

davedes

27-11-2008 22:41:23

Are there no demos for using Opcode? I have no idea where to start, and I can't seem to find any C++ code either.

andy

28-11-2008 12:37:54

There are demos in the demo/opcode directory of the SVN -- seems like I missed them from the binary release :oops: -- sorry about that and they'll be there in the next version..

Andy :

davedes

28-11-2008 18:12:53

Cool, thanks. Just picked them up from the SVN. :)

dermont

03-12-2008 15:23:46

Please update the OgreOde Demo_Scenes.py demo in svn to build the static geometry. It's always been like this. Currently running the demo all that can be seen is a dark screen.

Index: Demo_Scenes.py
===================================================================
--- Demo_Scenes.py (revision 825)
+++ Demo_Scenes.py (working copy)
@@ -112,7 +112,7 @@
sceneManager.setShadowTextureSettings(512, 2)

## Add some default lighting to the scene
- sceneManager.setAmbientLight( (.8, .8, .8) )
+ sceneManager.setAmbientLight( (.25, .25, .25) )
light = sceneManager.createLight('MainLight')
light.setPosition (0, 0, 1)
light.CastShadows=True
@@ -205,7 +205,7 @@
entity.setUserObject(self._plane)
entity.setCastShadows(False)
s.addEntity(entity, ogre.Vector3(x,0,z))
-
+ s.build()
## Load up our UI and display it
pOver = ogre.OverlayManager.getSingleton().getByName("OgreOdeDemos/Overlay")
pOver.show()

andy

04-12-2008 00:19:53

Thanks -- that looks so much better :)

alextreme

10-12-2008 17:16:29

Hi all,

Python-ogre 1.6 works fine, love the new overlay for the demo's :)

However I did run into problems with the caelum and hydrax demos (or using these modules in my own program). The regular ogre demos work fine, but these two fail more-or-less silently. I've uploaded the output here:

http://alextreme.org/ogre/demo_caelum_stderr.log
http://alextreme.org/ogre/demo_hydrax_stderr.log

The last lines:

fatal error C9999: *** exception during compilation ***
Cg compiler terminated due to fatal error

The Caelum output complains about worldViewProj in the program and material scripts, but removing these doesn't help. I've got cg 2.0 installed, but I'm thinking something else might be the problem.

This is all under Linux (Debian), with the previous python-ogre demo of Caelum running just fine. I've re-compiled 1.6 from scratch, as I thought my old install might be the problem, no dice. Is this a known issue?

the stack upon error:


0xffffe410 in __kernel_vsyscall ()
#0 0xffffe410 in __kernel_vsyscall ()
#1 0xb7e37eb5 in raise () from /lib/i686/cmov/libc.so.6
#2 0xb7e39831 in abort () from /lib/i686/cmov/libc.so.6
#3 0xb3ce2d93 in nedalloc::nedpfree () from /home/alex/source/ogre/root/usr/lib/libOgreMain-1.6.0.so
#4 0xb3ce2ee6 in nedalloc::nedfree () from /home/alex/source/ogre/root/usr/lib/libOgreMain-1.6.0.so
#5 0xb3ce2f0d in Ogre::NedAllocImpl::deallocBytes () from /home/alex/source/ogre/root/usr/lib/libOgreMain-1.6.0.so
#6 0xb3b8408d in Ogre::NedAllocPolicy::deallocateBytes () from /home/alex/source/ogre/root/usr/lib/libOgreMain-1.6.0.so
#7 0xb3c84407 in Ogre::ManualObject::resetTempAreas () from /home/alex/source/ogre/root/usr/lib/libOgreMain-1.6.0.so
#8 0xb3c89748 in Ogre::ManualObject::clear () from /home/alex/source/ogre/root/usr/lib/libOgreMain-1.6.0.so
#9 0xb281ddfd in Caelum::PointStarfield::ensureGeometry ()
from /home/alex/source/ogre/root/usr/lib/python2.5/site-packages/ogre/addons/caelum/_caelum_.so
#10 0xb281e2a0 in Caelum::PointStarfield::_update ()
from /home/alex/source/ogre/root/usr/lib/python2.5/site-packages/ogre/addons/caelum/_caelum_.so
#11 0xb27a8421 in Caelum::CaelumSystem::updateSubcomponents ()
from /home/alex/source/ogre/root/usr/lib/python2.5/site-packages/ogre/addons/caelum/_caelum_.so
#12 0xb27a9ada in Caelum::CaelumSystem::frameStarted ()
from /home/alex/source/ogre/root/usr/lib/python2.5/site-packages/ogre/addons/caelum/_caelum_.so
#13 0xb3deb266 in Ogre::Root::_fireFrameStarted () from /home/alex/source/ogre/root/usr/lib/libOgreMain-1.6.0.so
#14 0xb3dedb51 in Ogre::Root::_fireFrameStarted () from /home/alex/source/ogre/root/usr/lib/libOgreMain-1.6.0.so
#15 0xb3dedd7b in Ogre::Root::renderOneFrame () from /home/alex/source/ogre/root/usr/lib/libOgreMain-1.6.0.so


Any ideas are appreciated :)

saladin

18-12-2008 00:47:03

I'm really happy about the release of python-ogre 1.6. Good job!

There are a few issues which stopped me from switching to it for my commercial projects. The vector constructor still doesn't take lists and tuples as arguments; Constants like ColourValue.Red are properties so I can't assign them as values to other ColourValues;

Are these issues going to be solved or do I have to regard them as porting changes?

Is the current python-ogre release stable/active enough to be used for commercial projects?

Cheers.

andy

18-12-2008 01:23:42

I certainly believe the stability is good -- not getting reports of 'strange' bugs etc and it is being used commercially..

There will be a further release when Ogre 1.6.1 is available as there are a couple of minor Ogre bugs (plus the OIS issue with sliders)...

The color value properties is a porting one and you do things like ColourValue().Red instead of ColourValue.Red... This was a necessary change to solve strange, hard to find problems and is documented in the changelog..

Do you know what version of PythonOgre did take lists for vector constructors so I can go back and look at the changes as it's not something I specifically removed...

Andy

saladin

18-12-2008 02:03:34



Do you know what version of PythonOgre did take lists for vector constructors so I can go back and look at the changes as it's not something I specifically removed...

Andy


It's PythonOgre 1.1 based ogre 1.4.

Cheers.

EDIT: not only vectors but also quaternions. You can do q = ogre.Quaternion([x,y,z,w]).

skorpio

07-01-2009 04:52:15

Hello,

The Demo_GranTourism.py has a bug on line 140 or so

if (self.Keyboard.isKeyDown(OIS.KC_E)):
#self.world.getSingleton ().setShowDebugObjects(not self.world.getSingleton ().getShowDebugObjects())
self.world.setShowDebugGeometries(not self.world.getShowDebugGeometries())
self.TimeUntilNextToggle = 0.5

when pressing the E key, it crashes. It can be fixed with this line:

self.world.setShowDebugGeometries(not self.world.getShowDebugGeometries())

Thanks,