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/