what if "world" is not created properly?

buckEd

09-11-2008 19:00:36

In order not to flood other threads with foolish questions I just decided to create a new one.

I created a small sandbox-type application in order to do some first tests with NxOgre and see what it is capable of.
For the sake of not spending to much time on getting everything running I just used ExampleApplication as a base.
I set up all the includes, additional dependences etc.

Now in createScene I just do
mWorld = new World("log: yes, time-controller: ogre");
mScene = mWorld->createScene("Eddie", "renderer: ogre, controller: accumulator, gravity: yes, floor: yes");


where mWorld and mScene are both membervariables of my SampleApplication class, which is derived from ExampleApplication.

But something must be wrong with the creation of mWorld. After having had several crashes I placed a breakpoint. That revealed, that the following members of mWorld are somehow invalid :
mDriver, mNbFrames and mDebugRenderer.

mDriver sounded suspicious. One might think I do not have the Physx System Software installed, bit I checked that several times. It is there and all the physx samples run without problems. The same goes for cake.

So my question:
What might be the reason for NxOgre::World not to be created as it should? Might it be linked with the creation of any Ogre classes like e.g SceneManager?
Is it a problem with dependences (whereas I checked to have all headers, libs, and dlls which come with PhysX and NxOgre to be included in my Projects configuration properties)?

mcaden

10-11-2008 15:11:41

I haven't run into this problem before but maybe we can give it a shot.

Which version of NxOgre and which version of the PhysX SDK are you using?

Are you certain both your libs and your DLLs are the same version?

I'm certain you don't need a SceneManager to make the world but I haven't tried it with a Scene. I'm pretty sure you need Root though (if I remember correctly by the time you get to createScene() with the example framework Root should already be there so it's probably not your issue).

buckEd

10-11-2008 17:01:33

I fisrt thought it was version 1.0 '21.

But then I realised that it actually was '22 which I used accidently.
(must have messed that up changing from one version to the other all the time)

However:

NxOgre 1.0 '22
PhysX 2.8.1
SystemSoftware 8.06.12

Now I replaced it with the '21 version again and it runs.

I don't know if it has to do with the version of the PhysX SDK. I assume it's the drivers then. However systemsoftware 8.09.04 didn't work for me. I couldn't even run the PhysX sampled with it. So I went with the older version.

So the bottomline is: No crash with '21 whereas '22 crashes

[/EDIT] I know as it is in some way related to '22 I shouldn't have posted it here. But it is also a general question. So what I want to know is what might be the reasons when this usually happens?[EDIT]

mcaden

10-11-2008 23:53:32

I'm using '22T2 and it works just fine.

I honestly am not sure what would cause world to behave like that.

1.5 is coming out soon which should be hand and shoulders above 1.0'21/22.

buckEd

12-11-2008 08:48:41

1.5 is coming out soon which should be hand and shoulders above 1.0'21/22.

Yeah. Especially since I just used it in order to get a besic idea on how to get it running and integrated into my own application. Like where does it fit into my idea of an engine and what tasks it can perform for me.
I guess it's still long way to go until I can actually do anything serious with physics anyway.

Who knows, maybe 1.5 will already be out by the time I get to that specific point :)

reptor

12-11-2008 11:59:31

The system software 8.09.04 installer has a bug which causes a "nvcuda.dll" error (that's probably what you got as well).

See "ATI incompatible?" http://www.ogre3d.org/phpBB2addons/viewtopic.php?t=8423

I solved it by installing an older version of the system software.