osg:Group类是OSG的组节点,它允许用户程序为其添加任意数量的子节点,子节点也可以继续发子节点;osg::Group作为一个基类,派生出了很多节点类,如osg:LOD、 osg::Switch、osg::Transform、osg:PositionAttitudeTransform、 osg:PagedLOD、 osg::Impostor og::AutoTransform等;
osg::Group类是从osg::Referenced 类派生出来的,不会产生内存的泄漏;
osg::Group类作为OSG的核心部分,可以使用户程序通过Group来有效地组织场景图中的数据;
osg:Group类的强大之处在于管理子节点的接口,同时,osg:Group类还从osg::Node类继承了用于管理父节点的接口,OSG允许节点有多个父节点;
加载场景的基本代码,
#include <osg/Geode>
#include <osg/Group>
#include <osg/ref_ptr>
#include <osgViewer/Viewer>
#include <osgDB/Readfile>
int main()
{
osg::ref_ptr<osgViewer::Viewer> viewer = new osgViewer::Viewer();
//创建场景组节点
osg::ref_ptr<osg::Group> root = new osg::Group();
//创建一个节点,读取牛的模型
osg::ref_ptr<osg::Node> node = osgDB::readNodeFile("cow.osg");
root->ad