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