Second release of Python-Ogre

andy

19-11-2006 12:33:43

We are pleased to announce the second release of Python-Ogre, python bindings for Ogre (and other libraries) based upon Py++

This release adds support for CEGUI (Graphical user interface), OIS (input library), OgreRefApp (ODE Physics) and OgreNewt (Newton Physics)

It now also includes all the necessary windows binaries (dll's) and is built on a snapshot of the Ogre CVS source. Effectively we are supplying a pre release of the Ogre 1.4 SDK as part of the Python-Ogre binaries. This means you do NOT use the Ogre SDk 1.2.3 as we've bundled everything you need (apart from documentation which is still sorely missing :wink: )

There are a couple of known problems in some of the OgreNewt demos (windows errors when exiting, drag and dropping not working), however these are bugs in the python source, not the library wrappers (and we want to get this release out !) Check the FAQ for more info

Downloads can be found here

Full source is available via SVN access for Linux users and Windows users wanting to build from source

Note that it's still early in the development cycle for Python-Ogre, so please be kind :) when reporting bugs and we'll do our best to get them resolved as soon as possible.

Please copy the python-ogre-developers@googlegroups.com with any problems or comments.

Thanks

The Python-Ogre Development Team
(Lakin, Roman, Andy)

griminventions

19-11-2006 18:46:45

This release adds support for ... OgreNewt (Newton Physics)
:shock: You guys rock! :)
It now also includes all the necessary windows binaries (dll's) and is built on a snapshot of the Ogre CVS source.
You guys totally rock! Wow, superb work. So shiny... must... resist... and get other projects done first.....

Game_Ender

20-11-2006 10:28:16

Slightly off topic, but if I want to build Python-Ogre from source on windows. How would I build GCC-XML and can I get a pre-built binary for it?

roman.yakovenko

20-11-2006 11:11:19

How would I build GCC-XML and can I get a pre-built binary for it?

I think you should ask such questions on one of the mailing list (gccxml, python-ogre ... )

The answer is here:
http://www.gccxml.org/HTML/Install.html

drag

21-11-2006 12:19:24

I don't get what I am suppose to do to compile the stuff.

I tried everything in the readme in the source code, but there isn't any batch files to look at so I am guessing what to do.

But I have all the dependancies and such mentioned in the cvs stuff (even though I already have lots of it in binary form provided by my distro, just not in cvs/svn or whatnot) and it seems fine.

but when I go:
python setup.py build

it doesn't realy do anything. It just does the byte compile optimize thing and then when I go
python setup.py install

Then try to "import Ogre" it gives me "_ogre_" is missing or something like that.

I am using Linux-PPC and I am kinda lost on what I need to do next.

andy

21-11-2006 21:11:49

I'd been so focused on getting out the windows binary that I hadn't updated the building from source material - sorry...

Basically you run 'python generate_code' from within each of the code_generators/moduleName directories. This builds the source code into the 'generated/moduleName' directory

You then use bjam or scons (etc) to build each of the modules seperately

There are notes on the Python-Ogreweb site which will get updated further today

drag

22-11-2006 00:25:44

Thanks. I'll take a look at it.

I can understand you wanting to focus on Windows for the time being since that seems what most people here seem to be using.

What you need to do is in the python bindings for Windows rig up a hack so that every 20th frame flashes 'Use Debian, it'll get you laid' or something like that. ;-)

roman.yakovenko

22-11-2006 06:31:40

I can understand you wanting to focus on Windows for the time being since that seems what most people here seem to be using.

We don't focus on Windows only. The bindings should work on Linux too.
I believe that we will start to provide Linux binaries in a few month.

drag

22-11-2006 21:57:06

That's what I figured.

Although I care much less about the binaries then a easy build system. (I have systems other then x86, and have a few different distros)

(plus having a good build system will make adoption by distros to make this stuff directly aviable to end users much more likely)

I am not a programmer or anything, but I am trying to learn this python stuff. I think I am going to take a look at distutils and such and see if I can make something that works for it because editing that environment.py file is making me a bit nutty.

If that's ok and all that.


Also I got a question. It may sound ignorant but what is the advantage of using the Ogre ODE python bindings vs just regular ol' PyODE?

It seems to me that it makes more sense just to use they python wrapper around ODE rather then using the python wrapper around the ogre wrapper around ODE.

Or does that ogre stuff make it integrate much better into the code or something?

roman.yakovenko

23-11-2006 06:26:34

That's what I figured.

Although I care much less about the binaries then a easy build system. (I have systems other then x86, and have a few different distros)

(plus having a good build system will make adoption by distros to make this stuff directly aviable to end users much more likely)


We are at the beginning, so most of our efforts is put to create fully functional bindings. We are aware to the problem and will be glad to solve it. Thank you for help.


I am not a programmer or anything, but I am trying to learn this python stuff. I think I am going to take a look at distutils and such and see if I can make something that works for it because editing that environment.py file is making me a bit nutty. If that's ok and all that.


distutils is definitely the way to go. environment.py file will stay, but I think
it could be easy to add functionality that will allow to override values from
command line. This is what you want, right?

I think we should switch to the mailing list to discuss this.

jintal

24-11-2006 06:28:05

i currently have the released version of pyogre found in the pyogre wiki pages installed. and now i want to test if my scripts work with python-ogre. so i got the latest release for windows python 2.4 and the media files as suggested.

but when running the demos i get the error
The procedure entry point .............. could not be located in the dynamic link library OgreMain.dll.

i know this is due because the pyogre installed is using DLLs from the previous ogre release dagon, whilst python-ogre uses the dagon release.

but can you help me with solving this?

i have encountered this problem before with running the maya exporter then running my scripts, but i magically solved the problem cuz the maya exporter works with the previous ogre release DLLs.

andy

24-11-2006 07:35:41

The windows binary verison of Python-Ogre (V0.6) will ONLY work against the DLL's that are shipped with it.

So make sure you add the path to the DLLS directory (and ensure that the older dll's are NOT in the path).. Normally you should be able to do this:
path=c:\python-ogre\dlls;%path%
If you are still having problems do something like:
path=c:\python24;c:\python-ogre\dlls
Also read the FAQ's on the Python-Ogreweb site for a couple of pointers on converting pyogre to Python-Ogre (also check out the demo source as this is your best reference)

jintal

24-11-2006 07:43:24

The windows binary verison of Python-Ogre (V0.6) will ONLY work against the DLL's that are shipped with it.

these are the ones in the DLL directory, but i don't think the demo's are seeing them.

So make sure you add the path to the DLLS directory (and ensure that the older dll's are NOT in the path)

what do you mean by add the DLL directory in the 'path'?

the path in the plugins.cfg? (it's already there)
the path in the system environment variables? (tried that, the pyogre dlls aren't even here)

.. sorry, i'm a bit of a noob when it comes to these DLL things. :oops:

andy

24-11-2006 08:10:26

The dlls location needs to be in your DOS path (command prompt path) which is done by running path=<path_to_dlls>;%path% at the command prompt.

I added some additional notes to the FAQ which might help http://python-ogre.python-hosting.com/wiki/FAQindex

jintal

24-11-2006 08:49:05

thanks andy.

the path thing was the life-saver. works fine now! thanks!

oh and i was missing d3dx9_30.dll, so i just downloaded and added it to my DLL folder.

will test for differences in using pyogre and python-ogre later. and to check for compatibility :lol:

Istari

24-11-2006 11:35:39

The path can also be manipulated from within Python.
Just look at the __init__.py file for PyOgre to see how it allows you to store the .dll files in the same folder as the extension.import sys, os

if sys.platform == 'win32':
os.environ['PATH'] += ';' + __path__[0]

del sys, os

hmoraldo

24-11-2006 12:09:08

Interesting project, congratulations, and thank you!

Mishra

24-11-2006 15:42:32

Could it be hipotetically possible that you added support for physiX also???
i know that it will be 100 times harder to wrap than Newton´s "One Header File" but trust me, it will be worth the time :D (Now that it´s free even for comecial usage, it´s the best physic sim out there, IMHO...)

looking forward for a (most posibly not) positive responce:
Mishra

Pd: and yes, I know that OgreNewt is older and more mature than NxOgre, but...

OvermindDL1

24-11-2006 19:16:08

Free for commercial use? What alternate dimension is that in? Still looks like it is $50,000/title/platform. Only way you do not have to pay anything commercially is if you agree that your app will *only* function with a physics accelerator and that you are a developer of a large Ageia licensed company.

Mishra

24-11-2006 22:19:08

The AGEIA PhysX SDK is now free for use on PC under our new EULA--for both commercial and non-commercial use. All we ask is that you accurately filled in and maintain the *required fields in your registration details for this site ("My Support->My Setting" if you already have an account).



How do I become a licensed developer and what are the licensing terms?
Costs
At present, the following two options are all that are available. We will likely never provide any sort of royalty-based license. Open-source usage is limited only to the most middleware-friendly license model--in other words, we retain full ownership and rights to our own IP, and what you ship of ours will still be specified by contract.

Free: Commercial & non-commercial use on PC
Must keep registration information currect
Must agree to the EULA at the time of download (pops up, but is copied below)
Available for Windows & Linux (soon)
No PhysX HW support requirement
PS3 platform (through Sony pre-purchase)
All platforms through some of our middleware partnerships, such as UE3, Gamebryo 2.2, and others
$50k per platform:
Xbox 360
Fee may be waived at our discretion for multi-platform developers providing PC HW support
Fee may be waived at our discretion for some Tools & Middleware providers



I may be incorrect, (I ´m not a lawyer), but as far as i understand, the 50k allows you to develop on other platforms, like the Xbox
(correct me if im wrong)

drag

25-11-2006 09:21:51

I don't think that this is the right forums for it. Python isn't good for creating stuff that is mathmatically intensive. It's good for game logic and AI type stuff, but other stuff it isn't.

So if you want to have Physix support probably the best way to accomplish it is to contribute (or get somebody to) to contribute code to add support for it to Ogre itself or one of the Ogre add-on C++ libs.

Then after that any hardware specific things in python-ogre would be irrelevent as the library it has bindings to would take care of the details. It would just be python-ogre's job to simply provide good and efficient access to these libs. Dealing with hardware is not something you should do in Python.

So go ask the Ogre developers themselves on stuff like this. If Ogre or Newt or ODE gets support then Python-ogre stuff will get support for it pretty much automaticly.

Such is the magic of layers of abstraction in software design.

Not Python-ogre's job.


edit:
Also the stuff about it being open-source friendly looks like mostly bullshit. Just because they say so doesn't make it true.

andy

26-11-2006 11:51:21

Python-Ogre 0.65 is now available (in a Windows Binary form) for Python 2.5 users. A binary for Python 2.4 will be available in the next week (or so)

It has a number of small fixes related mainly to OgreNewt support.

As always, check out the web site

Thanks
Python-Ogre Development Team

Game_Ender

27-11-2006 01:13:42

So if you want to have Physix support probably the best way to accomplish it is to contribute (or get somebody to) to contribute code to add support for it to Ogre itself or one of the Ogre add-on C++ libs.

It would be easiest to just make a wrapper for NxOgre, just like there is one for OgreNewt.

cht666cht

27-11-2006 10:40:05

Hi, I am new to Ogre and I would like to use it with Python. Is all the functionality of Ogre available using Python-Ogre? can I use all the Scene Managers?
Thanks.

andy

27-11-2006 13:11:41

Yes - Python-Ogre gives you 100% access to the Ogre functionality :roll:

With the obvious exceptions of bugs (that we haven't fixed or currently don't know about) and current limitations of Boost::Python

Fundementally this is the advantage of using Py++; as the Python wrappers are built directly against the base library source - really cool :D

bharling

27-11-2006 14:42:32

Wow! Ogre 1.4 bindings is sooo cool :) congrats and thanks!

Sadly, I cant seem to get it to work (on my work system at least, haven't tried it elsewhere yet). I've set up the path as detailed, but am getting an error referring to FreeImage.dll (one of those 'The entry point xxx could not be located in the dynamic link library FreeImage.dll'). I have attempted to remove all other references to ogre dlls from the path (I've also got the c++ SDK installed), but no luck as yet, any help would be great (I'm Itching to start using the Octree scenemanager etc.).

That reminds me, does python-ogre include a binding of the paging landscape scenemanager?

cheers,

cht666cht

27-11-2006 15:10:44

Thanks Andy, I'm impatient to start using it :)

jintal

27-11-2006 17:19:53

That reminds me, does python-ogre include a binding of the paging landscape scenemanager?

isn't the paging landscape scenemanager an ogre-add on? if it is, then you'd have to wait for someone to wrap it, or contribute by doing it yourself :D if not, then don't mind my cents. :lol:

bharling

27-11-2006 18:48:12

isn't the paging landscape scenemanager an ogre-add on? if it is, then you'd have to wait for someone to wrap it, or contribute by doing it yourself

I'd love to, except I dont really know much about wrapping stuff for python ( and I dare to call myself a programmer :) ). Maybe I'll take a look at py++ myself then, as PLSM does not seem to be in python-ogre.

That said, isn't OgreNewt also an 'Add-on'? Thats certainly in python-ogre (And works a treat I might add, thanks again Andy ! ). As an update to my previous post, I've managed to get it working on my home PC under python2.4 (I'm reluctant to upgrade to 2.5 at the moment as it means re-installing my library of modules). Most of the demos work, although there seems to be troubles with the wx demos, and also the staticGeometry demo. everything else is fine, and nice framerate as well! (should the FPS be faster than pyOgre? - it seems to be on my RADEON 9600)

Little_Bob

28-11-2006 05:18:04

Im having a problem using python-ogre.

i followed all of the directions though i put the dll files in the ogre module
The path can also be manipulated from within Python.
Just look at the __init__.py file for PyOgre to see how it allows you to store the .dll files in the same folder as the extension. Code:
import sys, os

if sys.platform == 'win32':
os.environ['PATH'] += ';' + __path__[0]

del sys, os

but im getting a rather vague error no matter what i do.

  1. >>> import Ogre
    ******* ['C:\\PYTHON25\\lib\\site-packages\\Ogre'] C:\PYTHON25\lib\site-packages\Ogre

    Traceback (most recent call last):
    File "<pyshell#0>", line 1, in <module>
    import Ogre
    File "C:\PYTHON25\lib\site-packages\Ogre\__init__.py", line 8, in <module>
    from _ogre_ import *
    ImportError: DLL load failed: One of the library files needed to run this application cannot be found.
    [/list:u]

    thanks in advance for any help.

Little_Bob

28-11-2006 05:34:26

it turns out that i needed the

MSVCP71.DLL

the download did not come with this

andy

28-11-2006 11:33:03

it turns out that i needed the

MSVCP71.DLL


Thanks for letting us know the problem, the [b]FAQ[/b] has been updated to reflect this 'discovery' :)

dermont

28-11-2006 21:27:54

I'm currently working on the updates to pyCegui (CEGUI 0.50), test scripts and demos. It appears that your verion of pyOgre's DragnDropDemo demo doesn't work properly. I've submitted a patch (Ticket 22) for the updates to your version.

andy

28-11-2006 22:33:51

Patch applied, tested and SVN updated :)

If others have fixes, updates or new demos please either submit a ticket as "dermont" did on the Python-Ogre web site, or send an email to the python-ogre mailing list mailto://python-ogre-developers@googlegroups.com or http://groups.google.com/group/python-ogre-developers

Ideally you would attach a diff file to the email, however we will happily accept the new python demo files in their entirety.

Many Thanks..

jintal

03-12-2006 06:13:45

i ran the scripts that i made using pyogre against the new DLLs from python-ogre. i know that for sure some methods that were present in the pyogre version of ogre might not be compatible with the ogre version of python-ogre. but i did what was included in the FAQs page but get this error message:

* note, the dlls are being loaded correctly.

Loading library ../../DLLS\RenderSystem_GL.dll
Traceback (most recent call last):
File "D:\download\python\python-ogre\python-ogre-CVS-V0.6-PY2.4\python-ogre-2.
4\demos\game\pygametest.py", line 864, in ?
app = PyGameOGREApp()
File "D:\download\python\python-ogre\python-ogre-CVS-V0.6-PY2.4\python-ogre-2.
4\demos\game\pygametest.py", line 59, in __init__
self._initPyOgre()
File "D:\download\python\python-ogre\python-ogre-CVS-V0.6-PY2.4\python-ogre-2.
4\demos\game\pygametest.py", line 82, in _initPyOgre
self.root = ogre.Root("plugins.cfg")
File "C:\Python24\lib\site-packages\pyogre\ogre.py", line 18631, in __init__
this = _ogre.new_Root(*args)
pyogre.ogre.Exception: ..\src\OgreDynLib.cpp(82): ogre error 9: Could not load dynamic library ../../DLLS\RenderSystem_GL.dll. System Error: The specified procedure could not be found.


i replaced my old plugins.cfg with the one found in the demos of python-ogre. btw, the demos are running perfectly... except for my script.

andy

03-12-2006 07:32:04

Your test script is calling 'old' pyogre code - you can't mix Python-Ogre with pyogre..
File "D:\download\python\python-ogre\python-ogre-CVS-V0.6-PY2.4\python-ogre-2.4\demos\game\pygametest.py", line 59, in __init__
self._initPyOgre()

You are calling _initPyOgre which will break things.. This also implies you are 'importing' the pyogre module which is also bad.

If you like send me a copy of your program (via the python-ogre mailing list) and I'll assist in converting it

Cheers.............

saladin

04-12-2006 02:35:19

Hi,

I'm really excited about this project. Thanks for the hard work!

I was using the old pyogre for one of my projects and it gave me a lot of headache. Weir things seem to happen, for example, wxPyCrust sometimes hijacks and change the contents of my ogre overlayTextArea and changing texture of my character makes the camera jump randomly. Also it makes me feel like secondary citizen to be restricted to outdated functions of Ogre 1.1.

Anyway, I just installed python-ogre-0.6 for python 2.4. And followed every instruction. I made sure the DLLS directory is accessible from the demos directory, however running the program still generates 'Entry point not found' error.

Out of desperation I copied all the .dlls into my python2.4/DLLS folder. And now when running the demos it complaints about the 'sf' module doesn't have attribute 'Application'. And when digging into the SampleFramework, it seems to return this:
"Your version of Python-Ogre doesn't define it's own version and so is rather old!"
"It is suggested you visit http://python-ogre.python-hosting.com and upgrade"

I also tried running 'Import Ogre as ogre' in pyCrust console. And I got the following error:
'File "C:\Python24\Lib\site-packages\Ogre\__init__.py", line 1, in ?
from _ogre_ import *
ImportError: DLL load failed: The specified procedure could not be found.'

Can any one tell me what the problem is?

p.s.: if this helps... running the wxDemo gives me the ogre config dialog (hooay) and disappears as I click OK. Ogre.log gives no error but an abrupt halt.


15:24:31: Creating resource group General
15:24:31: Creating resource group Internal
15:24:31: Creating resource group Autodetect
15:24:31: Registering ResourceManager for type Material
15:24:31: Registering ResourceManager for type Mesh
15:24:31: Registering ResourceManager for type Skeleton
15:24:31: MovableObjectFactory for type 'ParticleSystem' registered.
15:24:31: OverlayElementFactory for type Panel registered.
15:24:31: OverlayElementFactory for type BorderPanel registered.
15:24:31: OverlayElementFactory for type TextArea registered.
15:24:31: Registering ResourceManager for type Font
15:24:31: ArchiveFactory for archive type FileSystem registered.
15:24:31: ArchiveFactory for archive type Zip registered.
15:24:31: FreeImage version: 3.9.0
15:24:31: This program uses FreeImage, a free, open source image library supporting all common bitmap formats. See http://freeimage.sourceforge.net for details
15:24:31: Supported formats: bmp,ico,jpg,jif,jpeg,jpe,jng,koa,iff,lbm,mng,pbm,pbm,pcd,pcx,pgm,pgm,png,ppm,ppm,ras,tga,targa,tif,tiff,wap,wbmp,wbm,psd,cut,xbm,xpm,gif,hdr,g3,sgi
15:24:31: DDS codec registering
15:24:31: Registering ResourceManager for type HighLevelGpuProgram
15:24:31: Registering ResourceManager for type Compositor
15:24:31: MovableObjectFactory for type 'Entity' registered.
15:24:31: MovableObjectFactory for type 'Light' registered.
15:24:31: MovableObjectFactory for type 'BillboardSet' registered.
15:24:31: MovableObjectFactory for type 'ManualObject' registered.
15:24:31: MovableObjectFactory for type 'BillboardChain' registered.
15:24:31: MovableObjectFactory for type 'RibbonTrail' registered.
15:24:31: Loading library ../../dlls\RenderSystem_GL.dll
15:24:32: OpenGL Rendering Subsystem created.
15:24:32: Loading library ../../dlls\RenderSystem_Direct3D9.dll
15:24:32: D3D9 : Direct3D9 Rendering Subsystem created.
15:24:32: D3D9: Driver Detection Starts
15:24:32: D3D9: Driver Detection Ends
15:24:32: Loading library ../../dlls\Plugin_ParticleFX.dll
15:24:32: Particle Emitter Type 'Point' registered
15:24:32: Particle Emitter Type 'Box' registered
15:24:32: Particle Emitter Type 'Ellipsoid' registered
15:24:32: Particle Emitter Type 'Cylinder' registered
15:24:32: Particle Emitter Type 'Ring' registered
15:24:32: Particle Emitter Type 'HollowEllipsoid' registered
15:24:32: Particle Affector Type 'LinearForce' registered
15:24:32: Particle Affector Type 'ColourFader' registered
15:24:32: Particle Affector Type 'ColourFader2' registered
15:24:32: Particle Affector Type 'ColourImage' registered
15:24:32: Particle Affector Type 'ColourInterpolator' registered
15:24:32: Particle Affector Type 'Scaler' registered
15:24:32: Particle Affector Type 'Rotator' registered
15:24:32: Particle Affector Type 'DirectionRandomiser' registered
15:24:32: Particle Affector Type 'DeflectorPlane' registered
15:24:32: Loading library ../../dlls\Plugin_BSPSceneManager.dll
15:24:32: Registering ResourceManager for type BspLevel
15:24:32: Loading library ../../dlls\Plugin_OctreeSceneManager.dll
15:24:32: Loading library ../../dlls\Plugin_CgProgramManager.dll
15:24:33: *-*-* OGRE Initialising
15:24:33: *-*-* Version 1.3.0 (Eihort)
15:24:33: Creating resource group Bootstrap
15:24:33: Added resource location '../media/packs/OgreCore.zip' of type 'Zip' to resource group 'Bootstrap'
15:24:33: Added resource location '../media' of type 'FileSystem' to resource group 'General'
15:24:33: Added resource location '../media/fonts' of type 'FileSystem' to resource group 'General'
15:24:33: Added resource location '../media/materials/programs' of type 'FileSystem' to resource group 'General'
15:24:33: Added resource location '../media/materials/scripts' of type 'FileSystem' to resource group 'General'
15:24:33: Added resource location '../media/materials/textures' of type 'FileSystem' to resource group 'General'
15:24:33: Added resource location '../media/models' of type 'FileSystem' to resource group 'General'
15:24:33: Added resource location '../media/overlays' of type 'FileSystem' to resource group 'General'
15:24:33: Added resource location '../media/particle' of type 'FileSystem' to resource group 'General'
15:24:33: Added resource location '../media/packs/cubemap.zip' of type 'Zip' to resource group 'General'
15:24:33: Added resource location '../media/packs/cubemapsJS.zip' of type 'Zip' to resource group 'General'
15:24:33: Added resource location '../media/packs/dragon.zip' of type 'Zip' to resource group 'General'
15:24:33: Added resource location '../media/packs/fresneldemo.zip' of type 'Zip' to resource group 'General'
15:24:33: Added resource location '../media/packs/ogretestmap.zip' of type 'Zip' to resource group 'General'
15:24:33: Added resource location '../media/packs/skybox.zip' of type 'Zip' to resource group 'General'
15:24:33: D3D9 : RenderSystem Option: Allow NVPerfHUD = No
15:24:33: D3D9 : RenderSystem Option: Anti aliasing = None
15:24:33: D3D9 : RenderSystem Option: Floating-point mode = Fastest
15:24:33: D3D9 : RenderSystem Option: Full Screen = No
15:24:33: D3D9 : RenderSystem Option: Rendering Device = ATI MOBILITY RADEON
15:24:33: D3D9 : RenderSystem Option: VSync = No
15:24:33: D3D9 : RenderSystem Option: Video Mode = 800 x 600 @ 32-bit colour
15:24:37: CPU Identifier & Features
15:24:37: -------------------------
15:24:37: * CPU ID: AuthenticAMD-X86
15:24:37: * SSE: yes
15:24:37: * SSE2: yes
15:24:37: * SSE3: yes
15:24:37: * MMX: yes
15:24:37: * MMXEXT: yes
15:24:37: * 3DNOW: yes
15:24:37: * 3DNOWEXT: yes
15:24:37: * CMOV: yes
15:24:37: * TSC: yes
15:24:37: * FPU: yes
15:24:37: * PRO: yes
15:24:37: * HT: no
15:24:37: -------------------------
15:24:37: *** Starting Win32GL Subsystem ***

Game_Ender

04-12-2006 04:48:56

What exactly did you do? There should be *very little* setup on windows. All you have to is place the Python-Ogre DLLS directory on your windows path. Then place the directory with the Ogre, OgreNewt, etc modules on your python path. After that you should be able run any Python-Ogre application just fine. I have done that in about 2 minutes using Movable Python on several computers.

andy

04-12-2006 05:53:50

You might also want to try some of the other demos to see if there is a problem (SmokeDemo.py for example)

And you need to be running this from the command prompt (don't use any of the Windows 'Python' shells as they haven't been tested and will probably cause path problems)

saladin

04-12-2006 12:07:35

What exactly did you do?

I extracted python-ogre-CVS-V0.6-PY2.4.zip to c:\python-ogre-2.4 folder and ran 'path = c:\python-ogre-2.4\DLLS;%path%' from a dos console. Afterwards I checked from within the demo folder to make sure all the dlls are accessible.

jintal

04-12-2006 18:02:32

Your test script is calling 'old' pyogre code - you can't mix Python-Ogre with pyogre..
File "D:\download\python\python-ogre\python-ogre-CVS-V0.6-PY2.4\python-ogre-2.4\demos\game\pygametest.py", line 59, in __init__
self._initPyOgre()

You are calling _initPyOgre which will break things.. This also implies you are 'importing' the pyogre module which is also bad.

If you like send me a copy of your program (via the python-ogre mailing list) and I'll assist in converting it

Cheers.............


oops forgot to tell you, that self._initPyOgre() is just a method from a pygame loader class.

i forgot also to change some stuff.. i'll base it more on the sample codes included in the python-ogre bundle. thanks! i think i AM calling pyogre. hehe!

saladin

06-12-2006 13:57:50

Hi guys. I managed to get python-ogre to run (hooay). Most demos work fine except few:

The NodeListenerDemo.py gives the following error:
Traceback (most recent call last):

File "C:\python-ogre-2.4\demos\ogre\NodeListenerDemo.py", line 161, in ?
application.go()
File "C:\Python24\Lib\site-packages\Ogre\sf_OIS.py", line 51, in go
if not self._setUp():
File "C:\Python24\Lib\site-packages\Ogre\sf_OIS.py", line 78, in _setUp
self._createScene()
File "C:\python-ogre-2.4\demos\ogre\NodeListenerDemo.py", line 40, in _createScene
self.myNodeListener = MyNodeListener()
TypeError: 'property' object is not callable


I looked into the code, MyNodeListener is a class which inherits ogre.Node.Listener. But the latter is a 'property' instead of a class. So it's probably not inheritable. And when digged deeper I found Ogre.Node has two properties listener and Listener. Maybe one of them should be a class?

And wxDemo.py gives the following error:

Traceback (most recent call last):
File "C:\python-ogre-2.4\demos\ogre\wxDemo.py", line 227, in ?
main()
File "C:\python-ogre-2.4\demos\ogre\wxDemo.py", line 221, in main
app.initializeOgre()
File "C:\python-ogre-2.4\demos\ogre\wxDemo.py", line 107, in initializeOgre
renderParameters = ogre.NameValuePairList()
AttributeError: 'module' object has no attribute 'NameValuePairList'


This makes no sense to me cuz NameValuePairList is clearly a member of Ogre module. Actually I was able to use it in the test code I wrote in pycrust:

>>import Ogre
>>x = Ogre.NamedValuePairList()
>>x["a"] = "b"
>>x["a"]
'b'

So I am really confused about this error.

And also there's a small error in OgreWindowWx.py, the viewport.backgroundColor = (0, 0, 0) should probably be changed to viewport.backgroundColour = (ogre.ColourValue(0, 0, 0))

Hope this helps.

Game_Ender

07-12-2006 21:07:00

What results do you get for the OgreNewt/OgreDemo06.py? I only get one floating box and its at the end of the chain of boxes. The group of boxes just goes right through the water likes its not even there.

saladin

12-12-2006 12:04:35

What results do you get for the OgreNewt/OgreDemo06.py? I only get one floating box and its at the end of the chain of boxes. The group of boxes just goes right through the water likes its not even there.

My ogreDemo06 seems to be an example about applying forces on objects in which I don't see any water. Is your OgreDemo06 a boyancy/damping demo?

andy

16-12-2006 14:07:31

The OgreNewt 06 demo was rather rough in the first release of Python-Ogre - it didn't do anything.

The current version has bouyancy enabled but is also not yet working - a bug that I'm tracking down for the next release...

Srekel

22-12-2006 09:00:18

Just tried Python-Ogre for the first time yesterday. Worked fine :) Though I couldn't get any of the wx demos working, is that a known problem or should I paste the error messages?

I made a small attempt to make somthing look like an avalanche, and here's the result:
http://srekel.nfshost.com/dump/AvalancheDemoBinary.zip
Not very amazing, I know. Had a bunch of problems understanding what parameters I needed for the particle systems.

As you can see, I even made an exe from it. Only problems I had was that I needed two or three MSVC*80 dll files, and then that I had to include the dx3d9_30.dll file as well (are you allowed to redistribute that btw?).

Oh, one problem I noticed was that the dlls wasn't found when I tried the demos. I didn't really look for the problem, so I just copied the dlls straight into the same folder. :)

andy

22-12-2006 10:34:07

It's great to see others creating demos etc using Python-Ogre -- it helps keep our enthusiam levels high when it comes to working on the core project :D

If you want to donate the source to the project I'll add it to the demos...

Cheers (and many thanks)

Andy

Srekel

22-12-2006 11:06:48

Haha, well, I could but it's really nothing. I just built on top of the ogredemo07.py demo so it's quite horrible :) All I've done, basically, is drop about ten balls per second (with a looping offset as you can see), made a simple mesh in Blender, and made a snow particle system and corresponding materials.

I'm pretty sure I'll start over though, cause I'm entering a "contest" (it's not serious or anything, just a simple forum contest to make the nicest christmas demo) and I think I'll go with the avalanche theme but make it a bit nicer. Like, with a real mountain and some christmas trees and a small village perhaps and stuff.


I have two questions though, not sure if they fit here but maybe someone knows the answers.

1) Is there some special you need to do to get nice shading? The "mountain slope" shading looks very flat, not like it has gouraud (?) shading, which it should have since I haven't specified it and it should be the default according to the manual.

2) Is there a way to make the physical world larger? The balls have a cube of perhaps 100x100x100 units that they can be inside, if they're outside they simply stop being affected by the physics. I'm using OgreNewt of course, like the demos.

Btw, I think taht if you remove the "binary" part from the url, you'll get the source. But it's not the latest version I think.

jintal

27-12-2006 02:45:57

since it's Christmas, i want a gift: python-ogre windows binaries version 0.65 for python 2.4 :lol: :lol:

just wondering when this can be available. no rush though! :oops:

andy

27-12-2006 06:13:25

I guess I could ask if there is a reason you don't want to upgrade to Python 2.5 :D

How about a Python-Ogre 0.70 release before the new year - and yes, I'll make it available for "old" versions of python as well :wink:

The next release is getting close, we've (Roman and others :) ) done lots of work on properties, with a heavy focus on maintainability and consistancy (and it might require some conversion work from pyogre code) - plus we should have doc strings on most functions and properties which means the PyDoc will be usable as a reference source.

There are also examples (Grass.py etc) that use CTypes to create raw C++ type data buffers (for vertecies etc) and pass these to the underlying Ogre library. Basically there are numerous Ogre functions that require Void *'s to raw data buffers that now should work fine..

We'll proably move the accompaning library dll's into the python lib directories (lib/site-packages/....) and remove the need for users to modify their 'PATH'..

If anyone has additional demos or tutorials they'd like to donate to the project please send them our way (either via email/PM or open a new ticket on http://python-ogre.python-hosting.com and attach the file)

Cheers
Andy

Srekel

27-12-2006 11:42:41

Sounds good. :)

Especially about putting the dlls in the site-packages dir, makes it a lot easier to get started with Python-Ogre (or if you want to send a demo to someone, you can just ask them to get Python and P-O, and that'll be enough instead of having to either change the PATH (which I'm not even sure what the best way to do that is) or to copy the dlls into the folder from where you're running the app.

Another thing that would be nice (but not really necessary for this release I guess) is if you would be able to make a classic Python Win32-installer instead of having to type python setup.py install in a command prompt. ( a "install.bat" bat file that did that would be nice though, and not too much work to make. :)

jintal

27-12-2006 12:33:41

I guess I could ask if there is a reason you don't want to upgrade to Python 2.5 :D

To be honest with you, more than a year ago i had a reason for not switching to 2.5. but now, i forgot what reason that is, but i'm still loyally using 2.4 :oops: :oops: hahaha! after this 1 last project, i'm upgrading to 2.5 hehe!

0.7? looks promising! am excited about the PATH and pyDoc perks :P can't wait! but will eagerly, patiently, franticly wait for this great xmas present! :wink: