查看: 1095|回复: 4

osg基础问题

[复制链接]

该用户从未签到

发表于 2010-4-21 10:46:13 | 显示全部楼层 |阅读模式
我的代码如下:
  1. void OsgWidget::InitOsg(osg::Node* rootName)
  2. {
  3.    ......
  4. //////////////////////////////////////////////////////////////////////////
  5. rootNode = addNode(rootName);
  6. root = new osg::Group();
  7. root->addChild(rootNode);
  8. //////////////////////////////////////////////////////////////////////////
  9.     osgUtil::Optimizer optimizer;
  10.     optimizer.optimize(root);
  11.     _viewer.setSceneData(root);
  12.     _viewer.realize();
  13.     ......
  14. }
复制代码
  1. osg::Node* OsgWidget::addNode(osg::Node* lastNode)
  2. {
  3. osg::Group* secondNode = new osg::Group;
  4. osgManipulator::Selection* selection = new osgManipulator::Selection;
  5. selection->addChild(lastNode);
  6. secondNode->addChild(selection);
  7. return secondNode;
  8. }
复制代码
为什么会在红色显示的optimizer.optimize(root)处中断呢?

该用户从未签到

 楼主| 发表于 2010-4-21 11:00:19 | 显示全部楼层
当我把优化场景那两句注释掉之后就能正确运行了,请问是什么原因呢?

该用户从未签到

发表于 2010-4-21 13:20:32 | 显示全部楼层
这可能跟您的场景数据有关,不知道您使用的模型是不是有什么特殊的地方。

该用户从未签到

 楼主| 发表于 2010-4-21 14:29:19 | 显示全部楼层
本帖最后由 ccy_ccy2001 于 2010-4-21 14:30 编辑
这可能跟您的场景数据有关,不知道您使用的模型是不是有什么特殊的地方。
array 发表于 2010-4-21 13:20

我的rootName为NULL,当rootName不为空的时候不会中断,当rootName为空时候注释掉优化语句也不会中断。请问这是什么原因呢?

该用户从未签到

发表于 2010-4-21 16:29:04 | 显示全部楼层
看样子您的整个场景树就是空的?请至少在其中保留一些可以简化的数据
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

联系我们

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