查看: 1022|回复: 1

动态数据的问题

[复制链接]

该用户从未签到

发表于 2011-5-5 10:32:03 | 显示全部楼层 |阅读模式
virtual void operator()(osg::Node*node,osg::NodeVisitor*nv)
{
    osg::ref_ptr<osg::MatrixTransform>mt=dynamic_cast<osg::MatrixTransform*>(node);
    osg::Matrix m;
    m.makeRotate(angle,osg::Vec3(0.0,1.0,0.0));
    mt->setMatrix(m);
    angle+=0.01  
    traverse(node,nv);
}
这里通过回调实现物体的旋转,angle值每更新一次增加0.01,现在是有一组数据,想用这组数据来代替angle的值,应该怎么弄?下面是我写的一段代码,但是无法运行

virtual void operator()(osg::Node*node,osg::NodeVisitor*nv)
{
  osg::ref_ptr<osg::MatrixTransform>mt=dynamic_cast<osg::MatrixTransform*>(node);
  osg::Matrix m;
  m.makeRotate(angle,osg::Vec3(0.0,1.0,0.0));
  mt->setMatrix(m);
  readtxt();//这个函数是读取数组中的数据,m行一列的

  angle=a[0]; //angle每次取一个数据
    traverse(node,nv);
}
调试后的问题出现在
traverse(node,nv);
堆栈信息:
无标题-1.jpg

该用户从未签到

发表于 2011-5-6 08:41:16 | 显示全部楼层
您在Release下进行调试?还是您把Release的OSG库作为Debug工程的依赖库了?这两种作法都得不到正确的堆栈位置。我想这里的错误只可能出现在readtxt()当中
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

联系我们

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