|
楼主 |
发表于 2012-12-23 21:18:46
|
显示全部楼层
smash 发表于 2012-12-23 20:54
最主要的是在readNodeFile的时候加上线程锁,两个线程同时读取模型的话,出错的概率非常大。
另外在读完 ...
我这里要是不读取文件NodeFile,只是添加一个物体节点,比如球:
void CdynamicMFCView::OnAdd()
{
// TODO: 在此添加命令处理程序代码
osg::ref_ptr<osg::MatrixTransform>mt= new osg::MatrixTransform;
mt->setMatrix(osg::Matrix::translate(osg::Vec3(n,0,0)));
osg::ref_ptr<osg::Geode> geode = new osg::Geode;
osg::ref_ptr<osg::Sphere> sphere = new osg::Sphere(osg::Vec3(0,0,0),0.5);
osg::ref_ptr<osg::ShapeDrawable> shape = new osg::ShapeDrawable(sphere.get());
shape->setColor(osg::Vec4(1,0,0,1.0));
geode->addDrawable(shape.get());
mt->addChild(geode.get());
n++;
mOSG->mRoot->addChild(mt.get());
}
也是同样的问题,这里也需要枷锁? |
|