Hi Stephen, There won't be much I can do to help in debug apps, the best I can do is point you a directions that I'd investigate.
First up, cross platform development often throws up problems you don't see when just developing on a single platform - something can appear to be rock solid until you move - when you finally isolate the problem it is indeed a bug in the original code that should have crashed in the first place, but due to mix of compilers/OpenGL drivers the errors never had a detrimental effect. So don't assume you code doesn't have a bug. Second thing to consider is that uninitialized variables are great source for differences in cross platform behavior. Try debug vs release build as another way of sniffing out such problems as debug build under Windows sets uninitialized memory to a specific no zero value. It could be the other platform initializes everything to zero. Next up is freeing of memory that later get used - if one platform cleans up quickly and the other not then its a way to get divergent behavior. Next time is OpenGL driver bugs - yep they vary from driver to driver, from hardware to hardware, from OS to OS. Try out as many different combinations for running your app as possible and try to glean some pattern from it - it might give you a clue to whats up. Good luck, Robert. On 12/4/06, Stephen Northcott <[EMAIL PROTECTED]> wrote:
Hi Robert - I am hoping you can help on this!! Thanks, I have a quite large and complex OSG app which is cross platform... The core of it is to visualize pipeline wall topography data for pipelines several miles in length! You may remember some questions I fired your way about this not so long ago.. This 'core' code generates my pipeline vertices, geometry, colour and normal information dynamically for each view of the scene for sections of the pipe close to our viewpoint.. The more distant pipe sections are visualized using point sprites 'chunks' switched in and out and scaled. All versions are running from the same version of OSG, a stable version of one of the nightly builds from November. The 'core' code runs fine in OS X, but has one issue when running as a plain Win32 console app, or as an MFC window.... i.e. On any PC platform. The 'core' code running on OS X renders perfect pipelines with all colour and normals working perfectly, with no OpenGL errors. It's as solid as solid can be!! There is nothing system specific in this core. It's pure c++ and only depends upon the most basic build of OSG. i.e. Just the standard libraries built when OSG is built without OSGTerrain etc. Exactly the same 'core' code running on a PC as a Win32 app, or multiple versions running as windows inside an MFC wrapper will crash with an indexing error when the main update loop inside OSG tries to access the normal data. This is a fairly nice crash as it is very consistent, and is handled as an exception, so I have been able to replicate it and trace it through... The data for the PC or OS X version is all generated on each machine, so there is no possibility of there being some weird 'endian' bug, as I have already considered that... If I simply comment out the code to add the normals to the geometry on the PC version it works fine, but without any valid normal info! Not much good! It's very strange because I have dry run through the code, and stepped through it, and found that on the PC and OS X it behaves exactly the same way, and the index values when it stores the normals correspond to what I would expect. Can you suggest any other way I can try to get to the bottom of this bug... I have not included any code, but can do so if you like.. I just didn't want to hit the list with a really big email before asking this as a general question.. Kind regards, Stephen. _______________________________________________ osg-users mailing list [email protected] http://openscenegraph.net/mailman/listinfo/osg-users http://www.openscenegraph.org/
_______________________________________________ osg-users mailing list [email protected] http://openscenegraph.net/mailman/listinfo/osg-users http://www.openscenegraph.org/
