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
> [email protected]
> http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
>
>
>
_______________________________________________
osg-users mailing list
[email protected]
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org