查看: 883|回复: 0

关于模型保存时出现纹理丢失问题

[复制链接]

该用户从未签到

发表于 2016-6-1 10:01:22 | 显示全部楼层 |阅读模式
将模型导入系统进行渲染,再执行场景保存操作,出现纹理丢失的问题,参照论坛中的锐神给的思路及威哥给的提示,在模型加载时添加上下面这一句
osgUtil::Optimizer::TextureVisitor mTexture(true,false,  false,false,  false,1.0);
                mModel->accept(mTexture);
再次感谢威哥等的帮助!
完整模型加载函数如下:
void ViewRender::importSingleData( std::string filename )
        {
                //取得文件父路径
                std::string m_filePath=osgDB::getFilePath(filename);
                osgDB::FilePathList m_filePathList=osgDB::Registry::instance()->getDataFilePathList();
                m_filePathList.push_back(m_filePath);//设置文件路径
                osgDB::Registry::instance()->setDataFilePathList(m_filePathList);

                mModel = osgDB::readNodeFile(filename);  
                mModel->setName(filename);

                osgUtil::Optimizer optimizer;  
                optimizer.optimize(mModel.get());  
                optimizer.reset();  
                osgUtil::Optimizer::TextureVisitor tv(true,false,  false,false,  false,1.0);
                mModel->accept(tv);
                //添加孩子  
                mRoot->addChild(mModel.get());
               
        }
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

联系我们

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