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