查看: 1607|回复: 6

asGroup()->addChild(...)

[复制链接]

该用户从未签到

发表于 2013-4-9 15:24:17 | 显示全部楼层 |阅读模式
#include <osgDB/ReadFile>
#include <osgViewer/Viewer>
#include <osg/Node>
void main()
{

        osgViewer::Viewer viewer;
        osg::Group*root=new osg::Group();
        osg::Node *glider=osgDB::readNodeFile("glider.osg");
        glider->asGroup()->addChild(osgDB::readNodeFile("cow.osg"));
        root->addChild(glider);
        root->addChild(osgDB::readNodeFile("osgcool.osgt"));
       
        viewer.setSceneData(root);
        viewer.realize();
        viewer.run();
}


例子程序运行到glider->asGroup()->addChild(osgDB::readNodeFile("cow.osg"));的时候出现内存访问冲突,这是什么原因啊?是不是因为在glider.osg上添加模型有什么特殊的要求呢?

该用户从未签到

发表于 2013-4-9 15:34:09 | 显示全部楼层
检查asGroup() 转换是否有效

该用户从未签到

发表于 2013-4-9 16:57:35 | 显示全部楼层
我觉得你的glider应该是空的

该用户从未签到

发表于 2013-4-12 10:25:57 | 显示全部楼层
glider本身是一个Geode节点,asGroup()会返回NULL

该用户从未签到

发表于 2014-10-21 18:14:47 | 显示全部楼层
array 发表于 2013-4-12 10:25
glider本身是一个Geode节点,asGroup()会返回NULL

那请问应该怎么解决呢?

该用户从未签到

发表于 2015-5-25 17:28:25 | 显示全部楼层
array 发表于 2013-4-12 10:25
glider本身是一个Geode节点,asGroup()会返回NULL

的确是这个问题,请问现在如何做才能在飞机上加东西呢?

该用户从未签到

发表于 2015-5-29 16:23:29 | 显示全部楼层
wjz2047 发表于 2015-5-25 17:28
的确是这个问题,请问现在如何做才能在飞机上加东西呢?

再发现你就不回答了,你可真闲
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

联系我们

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