Hi Robert,

Thank you for joining in. Please read below...

> I can't look into problems I can't reproduce so... any chance of publishing the models that causes the problem?

What I could do is find a public domain 3DS model that exhibits the problem on our setup and give you a pointer to it or upload it at a place you would specify.

So far, many 3DS model we would use caused the problem. It looked more like if the first geometry to be loaded in OSG is a 3DS, then it triggers the bug. I indeed saw occasions where we had many separate 3DS files loaded but if the first geometry loaded was an FLT, other 3DS files after would load and render fine. That is puzzling me a bit I admit.

> Also try loading the same model on different apps, such as osgviewer, does the problem exist there?
>
>Robert.

Here is the summary of what we found and what I read from others.

- The problem appeared between v1.0 (1.0 rc4 was not reported to have that problem) and v1.1

- The problem is not visible using only OSG (osgViewer can load and render any 3DS we threw at it fine... although I did saw a crash of osgViewer after leaving it running for a while with a 3DS. I will try to see if it happens again and if I can reproduce it. If it crashes in the NVIDIA driver, that could provide us a lead as to where to investigate)

- The problem has been reported by users using both OSG and VRJuggler in their application... multiple contexts?... see next.

- It sounds related to graphics contexts as on multi-pipes / windows application, one pipe / window seems to render the geometry fine while the others do not render anything. On a side note, I also noticed that when the problem occurs in an OSG / VRJuggler application, all OpenGL calls are affected. That is, neither of the OSG specific geometry nor the geometry drawn by VRJuggler shows up in the window context that is corrupted. This leads me to think that what is sent to the NVIDIA driver causes it to go in a state where it refuses to draw anything it receives in that frame or context.

- It sounds like it is related to display list processing (using the osgUtil::GLObjectsVisitor::COMPILE_STATE_ATTRIBUTES flag has an impact on the symptoms while it didn't solve it entirely under Windows for us -> NVIDIA drivers v78.01)

- The cause (When I say cause, I mean what triggers the possible bug in the NVIDIA driver) of the problem may well be in osgUtil and / or the lib3d plug-in (could the changes at v1.1 caused a change in the vertex format stored from 3DS files into memory by OSG? See big endian changes and long int vs int use in windows changes. These changes were windows or platform specific I believe).

- The problem seems to affect only Windows platforms, not linuxes / UNIX

- It seems to crash or cause problems in the NVIDIA driver itself (I could see an occurrence of crashing in the NVIDIA windows driver but can't reproduce it using OSG debug DLLs)

- The main symptom we observed is that 3DS files trigger the problem while the same geometry in an OpenFlight file doesn't. It does load the geometry and the application continues to run. The scene graph is also running as the app, cull, draw loop is still alive. The problem seems more a geometry format corruption or something that would trigger an internal bug in the windows NVIDIA driver. Like if the received vertices format made the driver crash. Also, as I noted above, it seems that if the _first_ geometry loaded is from a 3DS file, it bugs. If the first geometry loaded is not a 3DS, then we could load 3DS afterward and it would still work. I haven't fully confirmed / tested this thought.

- Others reported problems with JPG textures that seem related to the same cause / problem


Well, that summarizes pretty much what I know of the problem so far. I will help as much as I can but I confess I am not the best expert in the OSG code internals. If you can suggest things to try and possible ways to test this, I will do my best to check it on my windows system. I would definitely look at mods that occurred at 1.1 that relates to 3DS files as most people reporting such problems seemed to use 3DS files, even in the JPG texture crash cases.

Thank you for your support Robert and all others.
Regards,

--
=====================================
Marc Bernatchez
Candidat au Ph.D.
Ecole Polytechnique de Montreal
Montreal, QC, CANADA
=====================================
Virtual Reality web site, VResources:
http://vresources.org
=====================================
_______________________________________________
osg-users mailing list
[email protected]
http://openscenegraph.net/mailman/listinfo/osg-users
http://www.openscenegraph.org/

Reply via email to