//多视景器系统,打开了3个窗口,每个窗口对应一个视图对象viewer,并使用多视景器系统来管理这3个视图。
#include "stdafx.h"
#include<osg/Group>
#include<osgDB/ReadFile>
#include<osgViewer/CompositeViewer>
int main(int argc, char**argv)
{
osg::ref_ptr<osgViewer::View> view1 = new osgViewer::View;
view1->setUpViewInWindow(0, 50, 320, 240);
view1->setSceneData(osgDB::readNodeFile("cow.osg"));
osg::ref_ptr<osgViewer::View> view2 = new osgViewer::View;
view2->setUpViewInWindow(320, 50, 320, 240);
view2->setSceneData(osgDB::readNodeFile("cessna.osg"));
osg::ref_ptr<osgViewer::View> view3 = new osgViewer::View;
view3->setUpViewInWindow(640, 50, 320, 240);
view3->setSceneData(osgDB::readNodeFile("axes.osgt"));
osgViewer::CompositeViewer compositeViewer;
compositeViewer.addView(view1.get());
compositeViewer.addView(view2.get());
compositeViewer.addView(view3.get());
return compositeViewer.run();
}
osgViewer::CompositeViewer 多视景器类,是多个视图类的几何,派生自VieweBase基类。
addView(View* view);//增加一个视图
view1->setUpViewInWindow()//快速构建视图的窗口设备,在指定的屏幕上创建一个指定位置和尺寸的窗口。