|
先打开osgb文件:osg::ref_ptr<osg::Node> root = osgDB::readNodeFiles(filePath);
(中间本来有其他操作,我暂时屏蔽了)
然后把它另存为指定目录下的osgb文件:string newFile = "C:\\Users\\administer\\Desktop\\OSGB\\Tile_+000_+000\\Tile_+000_+0001.osgb";
osgDB::writeNodeFile(*root, newFile);
我用osgviewer看这个新的osgb的时候打不开,显示如下:
InputIterator::checkStream() : _in->rdstate() 3, 2
_in->tellg() = -1
但是我把它存成osg文件,即string newFile = "C:\\Users\\administer\\Desktop\\OSGB\\Tile_+000_+000\\Tile_+000_+0001.osg";然后再用osgconv转成osgb就可以看,而且是正确的,所以为什么直接存成osgb文件不能看呢?求大神们解答
|
|