OSG中以 树的形式添加模型(当做节点)

引用于:OSG程序设计 下载链接:https://download.csdn.net/download/u013372493/10795669

在 OSG 当中模型是使用 osg::Group 和 osg::Node 来装载在一起的,比如同时需要加入两个模型,模型 A 了
模型 B,AB 各自是一个 NODE,那么可以使用以下语句来做到,首先使用一个 Group,然后 Group ->addChild(A),
同样,之后要 Group->addChild(B)。然后再把 Group 添加到 viewer 当中就可以了。如图 3.1 所示 AB 之间的
关系。在这里要申明的是 NODE 是 Group 的父类,在类中都有相应的方法可以转到对方,故 Node 与 Group
是通用的,Node 也可以被当作 Group 来用。

话不多说 直接上代码:

 

#include <osgDB/ReadFile>
#include <osgViewer/Viewer>
#include <osg/Node>
void main()
{
   osgViewer::Viewer viewer;
   osg::Group * root = new osg::Group() ;
   root ->addChild(osgDB::readNodeFile("glider.osg")) ;
   root ->addChild(osgDB::readNodeFile("osgcool.osg")) ;
   viewer.setSceneData(root);
  viewer.realize();

}

Logo

欢迎加入 MCP 技术社区!与志同道合者携手前行,一同解锁 MCP 技术的无限可能!

更多推荐