About trimesh collision, and ODE/OgreODE Versions...

Manley-Rowe

16-06-2008 09:30:13

A couple of things…

I was using OgreODE source snapshot from old CVS (January 21, 2008) plus ODE source 0.9 from Sourceforge, but time to time in my aplication I am getting the nasty random error:

ODE INTERNAL ERROR 1: assertion "bNormalizationResult"


I think that this could be due to instability in trimesh collisions…
Reading ODE documentation and developers change log I notice that in recent revisions of ODE was improved the trimesh collision with a new type, and was improved too the calculations of null check assertions.

I want to move to the newest ODE version in order to check this improvements but trying to compile last SVN ODE with last SVN OGREODE, as it is showed in the wiki tutorial I am suffering from some strange things…

First of all the next code line change does not work for me ( I must keep the old line to compile ok…)

dGeomTriMeshDataBuildSimple(_data,(const dReal*)_vertices, (int)vertex_count, (dTriIndex*)_indices, (int)index_count);

If I use this line i get this compilation error

can´t convert parameter 4 de 'OgreOde::dTriIndex *' a 'const dTriIndex *'

Trying to run OGREODE applications under the above situation (without line change) gets another ODE internal error about collider arrays not initialized


All of this using OGRE Eihort 1.4.6

Any idea….I have a project deadline in about a month…an now is too late to switch to another Physics engine….please help

(My project is a simple modification of GranTurismoOgre, with 3 cars and my own trimesh)

P.S. Compiling new ODE version wich configuration is the appropriate ?? (single precision release dll/ double precision release dll, single precision release lib or double precision release d ll)
I am using single precision release lib

P.S.S When creating a trimesh for ogreode, are there any special characteristics on the trimesh to be take in account ?? :(

rewb0rn

16-06-2008 10:59:45

3. I don't know of any special characteristics.
2. You should compile the lib and the dll of the version you would like to use (single precision is faster but not as precise as double). Note that you should take care that you get the lib compiled under lib config and the dll compiled under dll config. E.g. there is a dll created under the lib config but afaik its not sufficent.
1. The tutorial uses Ogre Shoggoth, maybe you should switch, too. At least thats the reason why you dont have to change that one line mentioned in the tutorial.

I can't help furthermore because I havn't built OgreOde since I wrote the tutorial. You may ask anyway ;)

Manley-Rowe

16-06-2008 11:25:11

Ok thanks a lot for the fast answer...

I will try Shoggoth...

Manley-Rowe

16-06-2008 15:46:42

Current SVN trunk is codenamed Cthugha...and compiling OgreODE against it does not work at all...it does not accept anyone of the wiki tutorial changes...(or i´m doing some kind of error)


16:37:10: *-*-* OGRE Initialising
16:37:10: *-*-* Version 1.7.0RC1 (Cthugha)


I suppose that i´m too much nervous at this time (bad pressure handling)... :)

rewb0rn

16-06-2008 16:22:25

shoggoth will still be available in svn, unfortunately i dont know how to access it, but e.g. you can ask in the irc channel: #ogre3d at irc://freenode