#include <osgViewer/Viewer>//包含场景浏览器osgViewer::Viewer类头文件
#include <osg/Node>//节点
#include <osg/Geode>//叶节点
#include <osg/Group>//组节点
#include <osgDB/ReadFile>//包含读文件的头文件
#include <osgDB/WriteFile>//包含写文件的头文件
#include <osgUtil/Optimizer>//包含优化场景数据的头文件
int main()
{
//创建Viewer对象,场景浏览器
osg::ref_ptr<osgViewer::Viewer> viewer = new osgViewer::Viewer();
//osg默认是紫蓝色的背景,下面改变背景色为白色
//viewer->getCamera()->setClearColor(osg::Vec4(1, 1, 1, 0));
//创建场景组节点
osg::ref_ptr<osg::Group> root = new osg::Group();
//创建一个节点,读取牛的模型,实现压缩包文件的读取
osg::ref_ptr<osg::Node> node = osgDB::readNodeFile("cow.osg");
//添加到场景
root->addChild(node.get());
//优化场景数据
osgUtil::Optimizer optimizer ;
optimizer.optimize(root.get()) ;
//设置场景数据
viewer->setSceneData(root.get());
//以窗口显示
viewer->setUpViewInWindow(600, 100, 800, 600);
//初始化并创建窗口
viewer->realize();
//开始渲染
viewer->run();
return 0 ;
}
如下图所示: