Hi Brian,

The rgb loader is automatically loaded by osgDB when it loads cow.osg
as the model contains an reference to an external image that the .osg
can't load itself - it needs the rgb plugin to do this.

This stuff really shouldn't hang, its been in place in the OSG for the
last 7 years with very few changes, osgDB/.osg/.rgb are all well
established, tested and debugged and are known to work on a wide range
of platforms.  If things are crashing then it may well be an
indication that the compiling/libs that the OSG is relying upon is the
weak bit in the chain.

The OpenGL error suggests that the OSG is trying to use an extension
of state that the OpenGL driver can't handle.  The OSG does do
extension checking, and in the case of cow.osg there are no advanced
bit of OpenGL being exercised so its surprising that the error would
come up.  Again its an area of the OSG so well used across so many
platforms I wouldn't expect to find bugs on the OSG side either.

To keep simply I'd recommend just running the osgviewer with
--SingleThreaded to make sure that it doesn't try to go multi-threaded
as just a way of avoiding one possible complication in set up and
execution.  You can also use the OSG_THREADING env var set to
SingleThreaded to force single threading too.

Finally with testing the reading and writing of files in isolation try :

 osgconv cow.osg test.osg

Robert.





On 5/30/07, Brian Keener <[EMAIL PROTECTED]> wrote:
I guess I don't fully understand the operation of osgviewer.  I got to
experimenting with a theory on the hangs on Cygwin and decided to try several
different type files since I had noticed in the past when cygosgdb_rgb.dll was
used programs closed normally but using osgviewer with cow.osg caused a hang.
Because of this I decided to try osgviewer with a file type other than an osg.

When I try something simple like osgviewer ./sw.jpg and sw.jpg is in my current
directory I get a "No data loaded" like the following:

[EMAIL PROTECTED] /usr/tmp
$ osgviewer ./sw.jpg
CullSettings::readEnvironmentalVariables()
DriveManipulator::_height set to ==1.5
CullSettings::readEnvironmentalVariables()
CullSettings::readEnvironmentalVariables()
itr='/usr/local/bin'
FindFileInPath() : trying /usr/local/bin/cygosgdb_jpeg.dll ...
FindFileInPath() : USING /usr/local/bin/cygosgdb_jpeg.dll
Opened DynamicLibrary cygosgdb_jpeg.dll
osgviewer: No data loaded
Viewer::~Viewer():: start destructor getThreads = 0
Viewer::~Viewer() end destrcutor getThreads = 0
Destructing osg::View
Done destructing osg::View
Closing DynamicLibrary cygosgdb_jpeg.dll

[EMAIL PROTECTED] /usr/tmp
$

but if I use the option --image before the file name the program executes and
display and terminates normally.

OpenGL extension 'GL_EXT_secondary_color' is supported.
OpenGL extension 'GL_EXT_fog_coord' is supported.
Viewer::~Viewer():: start destructor getThreads = 0
close(1)0x100baa00
Releasing GL objects for Camera=0x100b5d00 _state=0x100bae50
Closing still viable window 0 _state->getContextID()=0
Doing Flush
Done Flush 100
GraphicsContext::decrementContextIDUsageCount(0) to 0
Viewer::~Viewer() end destrcutor getThreads = 0
Destructing osg::View
Done destructing osg::View
close(1)0x100baa00
close(0)0x100baa00
Closing DynamicLibrary cygosgdb_jpeg.dll

[EMAIL PROTECTED] /usr/tmp
$

I tried this with .jpg and .gif and .rgb and they all ran and completed
normally but for some reason osgviewer for the cow.osg file 1) does not require
the --image before the image name and 2) reports "No data loaded" if you do use
the --image and 3) the application does not terminate but hangs on exit if it
displayys an image (terminates normal if it doesn't load an image) and I have
to kill the process with Windows Task Manager:

Warning: detected OpenGL error 'invalid enumerant' after RenderBin::draw(,)
Viewer::~Viewer():: start destructor getThreads = 0
close(1)0x100cbb68
Releasing GL objects for Camera=0x100b5d00 _state=0x100c9830
Closing still viable window 0 _state->getContextID()=0
Doing Flush
Done Flush 100
GraphicsContext::decrementContextIDUsageCount(0) to 0
Viewer::~Viewer() end destrcutor getThreads = 0
Destructing osg::View
Done destructing osg::View
close(1)0x100cbb68
close(0)0x100cbb68
Closing DynamicLibrary cygosgdb_osg.dll


Any thoughts.

bk



_______________________________________________
osg-users mailing list
osg-users@openscenegraph.net
http://openscenegraph.net/mailman/listinfo/osg-users
http://www.openscenegraph.org/

_______________________________________________
osg-users mailing list
osg-users@openscenegraph.net
http://openscenegraph.net/mailman/listinfo/osg-users
http://www.openscenegraph.org/

Reply via email to