|
楼主 |
发表于 2010-12-22 09:50:25
|
显示全部楼层
if (m_bPeng)
{
//看新值与旧值之间的连线是否与模型有交点!
osg::Vec3 newPos = m_vPosition + delta;
osgUtil::IntersectVisitor iv;
osg::ref_ptr<osg:ineSegment> line = new osg::LineSegment(newPos,
m_vPosition);
osg::ref_ptr<osg::LineSegment> lineZ = new osg::LineSegment(newPos + osg::Vec3(0.0f, 0.0f, m_fMoveSpeed/1000),
newPos - osg::Vec3(0.0f, 0.0f, m_fMoveSpeed/1000));
iv.addLineSegment(lineZ.get());
iv.addLineSegment (line.get()) ;
m_node ->accept(iv);
if (!iv.hits())
{
m_vPosition += delta;
}
}
else
m_vPosition += delta;
}
这是一段很常见的代码,在一个小场景中运行没有问题,当时speed是10,后来换了大场景后,speed改为2500,就出现了上面的警告。不知道怎么回事,还望各位多指点。 |
|