查看: 927|回复: 2

请教关于Geometry如何添加到Node中

[复制链接]

该用户从未签到

发表于 2013-11-18 20:25:05 | 显示全部楼层 |阅读模式
请教一下各位,我事先定义了一个osg::ref_ptr<osg::Geometry> geom ,顶点等都设定好后,再次定义一个osg::ref_ptr<osg::Node> node。
那么我想把geom添加到node上面,然后通过viewer显示出来。请问该怎么样把geom添加到node上呢?

该用户从未签到

发表于 2013-11-19 08:54:09 | 显示全部楼层
osg::ref_ptr<osg::Geode>pGeode = new osg::Geode;
pGeode->addDrawable(geometry);
osg::Node* node = dynamic_cast<osg::Node*>(pGeode);
你在这里问这个问题,也只有我这么好心了,哈哈

该用户从未签到

发表于 2013-11-20 16:06:21 | 显示全部楼层
osg:: Geode本身就是osg:: Node ,根本不用动态映射;
相反,如果osg:: Node本身是其它性质的节点(如osg:: Group),你用动态映射反尔会跳出异常!
   我们常常用
1. osg:: ref_ptr<osg::Node> pNode=psgDB:: readNodeFile("cow.osg");//实现读取模型;
2.  osg:: ref_ptr<osg:: Geometry> geom;//用绘图实现几何体绘制
     //几何体添加到几何节点下
     osg::ref_ptr<osg::Geode> pGeode = new osg::Geode;
     pGeode ->addDrawable(geom) ;

3.场景节点一般用osg:: Group;  
   osg::ref_ptr<osg:: Group> root= new osg::Group;
   //用osg:: Group的addChild()方法去联系想要添加的任何几何对象
   root->addChild(pGeode );//添加绘图的几何节点
    root->addChild(pNode);//添加读取的外部模型节点

最重要的是要看懂osg:: Node类结构关系图
http://trac.openscenegraph.org/d ... nceDocs/a00521.html


您需要登录后才可以回帖 登录 | 注册

本版积分规则

OSG中国官方论坛-有您OSG在中国才更好

网站简介:osgChina是国内首个三维相关技术开源社区,旨在为国内更多的技术开发人员提供最前沿的技术资讯,为更多的三维从业者提供一个学习、交流的技术平台。

联系我们

  • 工作时间:09:00--18:00
  • 反馈邮箱:1315785073@qq.com
快速回复 返回顶部 返回列表