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/

Reply via email to