查看: 1219|回复: 8

osg入门问题请教

[复制链接]

该用户从未签到

发表于 2014-7-28 10:48:43 | 显示全部楼层 |阅读模式
我用vs2008、osg3.0,就是简单地将两个节点添加到场景中,结果只能显示一个,修改两个节点的先后顺序,也不行,单独显示一个节点,这两个都能显示,源代码如下:osgViewer::Viewer viewer;  
        osg::Group *ptrRoot = new osg::Group();

    //ptrRoot->addChild(osgDB::readNodeFile("avatar.osg"));
        ptrRoot->addChild(osgDB::readNodeFile("glider.osg"));
        ptrRoot->addChild(osgDB::readNodeFile("avatar.osg"));
        //ptrRoot->addChild(osgDB::readNodeFile("osgcool.osg"));
        viewer.setSceneData(ptrRoot);  
        viewer.realize();

        return viewer.run();

该用户从未签到

发表于 2014-7-30 11:50:47 | 显示全部楼层
本帖最后由 雨飘飞 于 2014-7-30 12:24 编辑

我也很想知道原因。不过高手们都在忙,没空回答。
不过你可以仔细看看,可能是一个模型把另一个模型给挡住了,

该用户从未签到

 楼主| 发表于 2014-7-28 10:49:11 | 显示全部楼层
请高手指点迷津,万分感谢

该用户从未签到

 楼主| 发表于 2014-7-31 12:02:21 | 显示全部楼层
恩,应该是,谢谢

该用户从未签到

发表于 2014-8-14 10:47:35 | 显示全部楼层
位置岔开,估计是遮挡了

该用户从未签到

发表于 2014-8-14 16:35:11 | 显示全部楼层
一个模型大,一个模型小,一个在另一个内部

该用户从未签到

发表于 2014-8-17 23:27:02 | 显示全部楼层
使用矩阵,将模型位置分开,应该就可以了

该用户从未签到

发表于 2014-8-22 17:23:27 | 显示全部楼层
加第二个时这样移动一下(如果还看不到就把那个2设置的再大点):
osg::ref_ptr < osg::MatrixTransform> trans = new osg::MatrixTransform ;
trans ->setMatrix(osg::Matrix::translate(0, 0, 2)) ;
trans ->addChild(osgDB::readNodeFile("avatar.osg")) ;

该用户从未签到

发表于 2016-5-17 17:46:10 | 显示全部楼层
楼主后来问题解决了吗
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

联系我们

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