The following is a modification of the osgwindows example. Instead of one
scene, I am loading multiple views in multiple scenes. However, the problem
I am facing is that whenever one of the windows are moved or re sized, all
the other windows' rendering freezes while the move/resize is in progress.
It resumes after that.

Clearly there is some event handling that I need to be doing differently.
Can someone please point me in the right direction?

osgViewer::View* createView( int x, int y, int w, int h,

osg::Node* scene )

{

osg::ref_ptr<osgViewer::View> view = new osgViewer::View;

view->setSceneData( scene );

view->setUpViewInWindow( x, y, w, h );

return view.release();

}


int main(int argc, char * argv[])

{

osg::ref_ptr<osg::Node> model1 = osgDB::readNodeFile("fire.osg");

osg::ref_ptr<osg::Node> model2 = osgDB::readNodeFile("fire.osg");

osg::ref_ptr<osg::Node> model3 = osgDB::readNodeFile("fire.osg");


osgViewer::View* view1 = createView(50, 50, 320, 240, model1);

osgViewer::View* view2 = createView(370, 50, 320, 240, model2);

osgViewer::View* view3 = createView(185, 310, 320, 240, model3);


osgViewer::CompositeViewer viewer;

viewer.addView( view1 );

viewer.addView( view2 );

viewer.addView( view3 );

return viewer.run();

}
_______________________________________________
osg-users mailing list
[email protected]
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

Reply via email to