如下代码:
#include "stdafx.h"
#include <osgDB/Registry>
#include <osgDB/ReadFile>
#include <osgDB/ReaderWriter>
#include <osgDB/WriteFile>
#include <osg/Node>
#include <osgViewer/Viewer>
int _tmain(int argc, _TCHAR* argv[])
{
osgViewer::Viewer viewer ;
//读取模型
osg::Node* node = osgDB::readNodeFile("fountain.osgt") ;
//隐藏结点
node ->asGroup() ->getChild(0) ->setNodeMask(0) ;
viewer.setSceneData(node) ;
//输出结点到free.osg中
osgDB::writeNodeFile(*(viewer.getSceneData()), "free.osg", osgDB::Registry::instance() ->getOptions());
viewer.realize();
viewer.run();
return 0;
}
运行结果如下:
然后就会在代码处输出一个free.osg文件,如下图所示,当使用free.osg时,只会显示和上图中一样的效果,而不必去隐藏什么。