Ok, just change that line for: viewer->setThreadingModel(osgViewer::Viewer::ThreadPerContext);
This is what I meant in the first place. Hope it works. 2008/3/18, Wiedemann, Rudolf, OPS3 <[EMAIL PROTECTED]>: > > Hi Nicolas, > > I'm using the svn version of OSG (revision 7946). > When I add > viewer->setThreadingModel( osgViewer::ViewerBase::SingleThreaded ); > to the example code below, some more of the frames are rendered, but not > all. > > Rudi > > ------------------------------ > *Von:* [EMAIL PROTECTED] [mailto: > [EMAIL PROTECTED] *Im Auftrag von *nicolas peña > *Gesendet:* Montag, 17. März 2008 21:24 > *An:* OpenSceneGraph Users > *Betreff:* Re: [osg-users] More than one viewer > > What version of OSG are you using? > What threading model? I had similar issues and setting the threading > model to one thread per context solved them. > > Cheers, > Nicolas. > > 2008/3/17, Wiedemann, Rudolf, OPS3 <[EMAIL PROTECTED]>: > > > > Hi, > > > > I want to create a viewer, render some frames, then destroy the viewer > > and create a second one etc (see code below/ zip-file). > > The first viewer renders corectly, the second sometimes, too. But then I > > get only black images. > > Does someone has an idea what's going wrong? > > > > Thanks in advance! > > Rudi > > > > #include <iostream> > > > > #include <osg/Referenced> > > #include <osgDB/ReadFile> > > #include <osgDB/WriteFile> > > #include <osgViewer/Viewer> > > > > void render( unsigned int x, unsigned int y, unsigned int width, > > unsigned int height, double posx ) > > { > > osg::ref_ptr< osgViewer::Viewer > viewer = new osgViewer::Viewer; > > viewer->setUpViewInWindow( x, y, width, height ); > > viewer->setSceneData( osgDB::readNodeFile( "cow.osg" ) ); > > viewer->getCamera()->setViewMatrixAsLookAt( osg::Vec3d( posx, -15.0, > > 0.0 ), > > osg::Vec3d( 0.0, 0.0, > > 0.0 ), > > osg::Vec3d( 0.0, 0.0, > > 1.0 ) ); > > viewer->frame(); > > > > sleep( 1 ); > > viewer = 0; > > } > > > > int main( int argc, char * argv[] ) > > { > > double posx = 0.0; > > osg::ref_ptr< osgViewer::Viewer > viewer; > > for( unsigned int i = 0; i < 4; i++ ) > > { > > std::cout << "creating viewer #1" << std::endl; > > render( 10, 20, 500, 250, posx ); > > > > std::cout << "creating viewer #2" << std::endl; > > render( 600, 50, 112, 80, -posx ); > > > > posx += 5.0; > > } > > > > return 0; > > } > > > > _______________________________________________ > > osg-users mailing list > > osg-users@lists.openscenegraph.org > > > > http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org > > > > > > > > _______________________________________________ > osg-users mailing list > osg-users@lists.openscenegraph.org > http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org > >
_______________________________________________ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org