Complete prebuilt SDK with samples PLEASE.

neoranga974

21-06-2010 06:35:10

Why not making a prebuilt SDK ?

Can someone make an win32/Ogre 1.7/Physx SDK 2.8.3/2.8.1 compatible nxOgre build, And post it here please.

Can't get nxOgre to compile properly except older versions that doesn't support cloth (wich i need).

For the sake of god and the save of my time.

betajaen

21-06-2010 09:48:40

I plan to release Detritus as a installable SDK in a few weeks.

What are the errors or problems do you get if you compile BloodyMess or Detritus?

neoranga974

23-06-2010 05:30:37

Sorry,

I just had some version incompatibility with the bloodyMess 1.5.5 if i remember well.

I downloaded latest nxOgre and critter on github and now it works fine with ogre 1.7.

Then i extracted the first tutorial's code and pasted it into a new empty ogre project, compiled and it worked fine.


After this i try the cloth/rigidbody tutorial (113) but it makes a runtime error in makeflag function at "mRenderSystem->createCloth(":


LogManager::getSingletonPtr()->logMessage("*** Cloth creation 2 ***");
// Make the cloth for the flag.
NxOgre::ClothDescription desc;
desc.mMesh = mFlagMesh;
desc.mThickness = 0.2;
desc.mFriction = 0.5;
desc.mFlags |= NxOgre::Enums::ClothFlags_BendingResistance;
desc.mFlags |= NxOgre::Enums::ClothFlags_TwoWayCollisions;
desc.mGlobalPose.set(pos);
desc.mGlobalPose.set(-NxOgre::Math::HalfPi, NxOgre::Enums::X);
LogManager::getSingletonPtr()->logMessage("*** Cloth creation 2.1 ***");
Cloth* cloth = mRenderSystem->createCloth(desc, flag_image);

LogManager::getSingletonPtr()->logMessage("*** Cloth creation 3 ***");
// Attach our flag to our flag pole, as the edge of the flag is inside the flag pole, the flag will stay attached.
cloth->attachToShape((*geom->getShapes().begin()), 0);
mCloths.push_back(cloth);
LogManager::getSingletonPtr()->logMessage("*** Cloth creation 4 ***");
return cloth;
}


Here is Ogre's log


08:04:53: Finished parsing scripts for resource group Popular
08:04:53: Texture: nxogre.floor.png: Loading 1 faces(PF_A8R8G8B8,512x512x1) with hardware generated mipmaps from Image. Internal format is PF_A8R8G8B8,512x512x1.
08:04:54: Texture: nxogre.floor.shadowalpha.png: Loading 1 faces(PF_R8G8B8,1024x1024x1) with hardware generated mipmaps from Image. Internal format is PF_X8R8G8B8,1024x1024x1.
08:04:55: Mesh: Loading cube.1m.mesh.
08:04:55: Texture: nxogre.cube.png: Loading 1 faces(PF_R8G8B8,512x512x1) with hardware generated mipmaps from Image. Internal format is PF_X8R8G8B8,512x512x1.
08:04:55: Mesh: Loading cube.mesh.
08:04:55: *** Cloth creation 1 ***
08:04:55: *** Cloth creation 2 ***
08:04:55: *** Cloth creation 2.1 ***
08:04:55: Texture: germany.png: Loading 1 faces(PF_A8R8G8B8,800x480x1) with 5 generated mipmaps from Image. Internal format is PF_A8R8G8B8,800x480x1.



I added some logMessage into CritterRenderSystem.cpp


NxOgre::Cloth* RenderSystem::createCloth(const NxOgre::ClothDescription& description, const Ogre::String& materialName)
{
Ogre::LogManager::getSingletonPtr()->logMessage("*** Cloth creation 2.1.1 ***");
Renderable* renderable = createRenderable(NxOgre::Enums::RenderableType_PhysXMesh);
Ogre::LogManager::getSingletonPtr()->logMessage("*** Cloth creation 2.1.2 ***");
mSceneManager->getRootSceneNode()->attachObject(renderable);
Ogre::LogManager::getSingletonPtr()->logMessage("*** Cloth creation 2.1.3 ***");
renderable->setMaterial(materialName);
Ogre::LogManager::getSingletonPtr()->logMessage("*** Cloth creation 2.1.4 ***");
return mScene->createCloth(description, renderable, NxOgre::Enums::Priority_MediumLow);
}


new log


08:50:40: *** Cloth creation 2.1.3 ***
08:50:40: Texture: ogrelogo.png: Loading 1 faces(PF_R8G8B8,1024x1024x1) with hardware generated mipmaps from Image. Internal format is PF_X8R8G8B8,1024x1024x1.
08:50:40: *** Cloth creation 2.1.4 ***




Should i start a new thread for this ?

betajaen

23-06-2010 10:26:20

No, it's okay. I've enabled debugging in NxOgre now, I just need to know why it's crashing.

1. Would you make your application "console" based (so it prints things to the console). It's in the project settings, you probably have if your using a "void main" function instead of a "int winmain" function.

2. In NxOgreConfiguration.h, around line 16. You have a bunch of pre-compiler debug macros. Would you change the following three, so they are enabled.

#define NXOGRE_DEBUG_COOKING 1
#define NXOGRE_DEBUG_RESOURCES 1
#define NXOGRE_DEBUG_CLOTH 1


3. Recompile NxOgre, and Critter and your application in "debug" mode (not Final). Copy the new NxOgreDebug.dll over to your applications directory and run it again. On the moment it crashes NxOgre should be writing a lot of things to the error console. Would you copy and paste them for me and print them here.

betajaen

23-06-2010 10:50:55

I just ran the 113 sample and it came out fine. I even enabled the debugging parts like you will and this is what I got.


[NxOgre/Cooking] MeshGenerator -- makePlane
[NxOgre/Cooking] MeshGenerator:2 -- makePlane, verts: 924, tris: 1722, tex_coord
s = 924
[NxOgre/Cooking] ManualMesh -- end
[NxOgre/Resources] Opening 'file://flag.xcl' as read/write.
[NxOgre/Cooking] Attempting to cook to resource
[NxOgre/Cooking] [MeshData] Attempting to cook to resource
[NxOgre/Cooking] Cooking for Cloth is = Okay
[NxOgre/Cooking] Wrote Texture Coordinates, tex_coords = 924, verts = 924
[NxOgre/Cooking] Attempting to read mesh.
[NxOgre/Resources] Loaded texture coordinates found for this Cloth Mesh, count =
924
[NxOgre/Resources] Closing 'file://flag.xcl', Read 109647b and Wrote 109635b.
Texture: germany.png: Loading 1 faces(PF_A8R8G8B8,800x480x1) with 5 generated mi
pmaps from Image. Internal format is PF_A8R8G8B8,800x480x1.
Texture: uk.png: Loading 1 faces(PF_A8R8G8B8,800x400x1) with 5 generated mipmaps
from Image. Internal format is PF_A8R8G8B8,800x400x1.
Texture: wales.png: Loading 1 faces(PF_A8R8G8B8,800x480x1) with 5 generated mipm
aps from Image. Internal format is PF_A8R8G8B8,800x480x1.
Texture: usa.png: Loading 1 faces(PF_A8R8G8B8,800x421x1) with 5 generated mipmap
s from Image. Internal format is PF_A8R8G8B8,800x421x1.
Texture: guernsey.png: Loading 1 faces(PF_A8R8G8B8,800x533x1) with 5 generated m
ipmaps from Image. Internal format is PF_A8R8G8B8,800x533x1.
Texture: spot_shadow_fade.png: Loading 1 faces(PF_R8G8B8,128x128x1) with hardwa
re generated mipmaps from Image. Internal format is PF_X8R8G8B8,128x128x1.
Verts: 2048/1848
Tris: 8192/5166
Verts: 2048/1848
Tris: 8192/5166
Verts: 2048/1848
Tris: 8192/5166
Verts: 2048/1848
Tris: 8192/5166
Verts: 2048/1848
Tris: 8192/5166

neoranga974

23-06-2010 12:36:57

Here is what i get

Can't copy the console text after it crash so i made a screenshot.


[attachment=0]crash.PNG[/attachment]


I've set everything to "1" in NxOgreConfiguration.h but it seems only core is printed to the console


// Enable Memory Debugging.
#define NXOGRE_DEBUG_MEMORY 1
// File to write to.
#define NXOGRE_DEBUG_MEMORY_FILE nxogre.allocations.html
// Debug cooking processes
#define NXOGRE_DEBUG_COOKING 1
// Debug reading and writing to resources.
#define NXOGRE_DEBUG_RESOURCES 1
// Debug NxOgre Core. Constructor/Destruction of key classes.
#define NXOGRE_DEBUG_CORE 1
// Debug buffer<T> class.
#define NXOGRE_DEBUG_BUFFER 1
// Debug Meshes
#define NXOGRE_DEBUG_MESHES 1
// Debug HeightFields
#define NXOGRE_DEBUG_HEIGHTFIELDS 0
// Debug Cloth
#define NXOGRE_DEBUG_CLOTH 1
// Debug FlatYAML
#define NXOGRE_DEBUG_FLATYAML 0


Thanks for the support.

betajaen

23-06-2010 13:10:34

Hmmm.

What happens when you run the 113 tutorial itself, when you compile it and run it via the SampleBrowser?

neoranga974

23-06-2010 14:18:30

I can compile tutorial NxOgre101, then i move NxOgre.zip in media/packs and NxOgre1001.dll in sampleBrowser.exe directory.

After loading ressources, it just crash, not even a runtime error.

The 113 sample doesnt compile. Linker error

sorry it's in french :


Création de la bibliothèque NxOgre113\Final\NxOgre113.lib et de l'objet NxOgre113\Final\NxOgre113.exp
113.obj : error LNK2019: symbole externe non résolu "__declspec(dllimport) void __cdecl NxOgre::GC::gc_debugger_pop_ptr(void *,char const *,unsigned int)" (__imp_?gc_debugger_pop_ptr@GC@NxOgre@@YAXPAXPBDI@Z) référencé dans la fonction "void __cdecl NxOgre::GC::safe_delete<unsigned int>(unsigned int *,char const *,int)" (??$safe_delete@I@GC@NxOgre@@YAXPAIPBDH@Z)
113.obj : error LNK2019: symbole externe non résolu "__declspec(dllimport) void __cdecl NxOgre::GC::gc_debugger_push_ptr(void *,unsigned int,char const *,char const *,unsigned int)" (__imp_?gc_debugger_push_ptr@GC@NxOgre@@YAXPAXIPBD1I@Z) référencé dans la fonction "unsigned int * __cdecl NxOgre::GC::safe_new0<unsigned int>(char const *,int)" (??$safe_new0@I@GC@NxOgre@@YAPAIPBDH@Z)
NxOgre113\Final\NxOgre113.dll : fatal error LNK1120: 2 externes non résolus
Le journal de génération a été enregistré à l'emplacement "file://c:\Documents and Settings\Renaud\Mes documents\My Completed Downloads\10-06-22\betajaen-nxogretutorials-8b867c7\betajaen-nxogretutorials-8b867c7\build\vc9\NxOgre113\Final\BuildLog.htm"
NxOgre113 - 3 erreur(s), 0 avertissement(s)


This is why i was praying for a complete sdk without having to download each part (nxOgre/renderSystem/samples) and having version compatibility problems

I also tried to compile the sampleBrowser coming with ogre 1.7 , but i get a post generation error LOL !

betajaen

23-06-2010 15:14:27

Very very odd.

Let's make sure this is clear:

http://github.com/betajaen/nxogre/zipball/detritus
http://github.com/betajaen/critter/zipball/master
http://github.com/betajaen/nxogretutori ... all/master

You've downloaded all those. Made the PHYSX_DIR, NXOGRE_DIR and OGRE_HOME environmental variables. Compiled NxOgre, then Critter, then a batch build for the NxOgreTutorials. You'll get one error in the tutorials if you haven't enabled CharacterController but that isn't important. Then go to the Ogre directory, bin, debug/release, then SampleBrowser_d.exe, choose 101.

[Edit]

Just for you. I'll start releasing compiled libs and dlls for NxOgre and Critter as zip files until I want to do the Release Candidate version as a installer.

lonestarr

20-07-2010 23:16:24

If you have any prebuilt Cloth sample that works (in release mode), please make it available so that I can test it on my computers.

In particular, I'd like to know if the problem I have comes from my nx/ogre (compilation pb) or from my computer (driver pb).

Thanks in advance,

-lonestarr