查看: 1239|回复: 3

关于场景导出的问题

[复制链接]

该用户从未签到

发表于 2015-4-1 10:17:07 | 显示全部楼层 |阅读模式
我写了一个类,就是按空格键的时候保存当前场景。
class SaveCurrentScene :public osgGA::GUIEventHandler
{
public:
        SaveCurrentScene(std::string filename) :
                _filename(filename)
        {

        }
        virtual bool handle(const osgGA::GUIEventAdapter& ea,
                osgGA::GUIActionAdapter& aa)
        {
                osgViewer::Viewer* viewer = dynamic_cast<osgViewer::Viewer*>(&aa);
                if (!viewer)
                        return false;
                switch (ea.getEventType())
                {
                case osgGA::GUIEventAdapter::KEYDOWN:
                        if (ea.getKey()==osgGA::GUIEventAdapter::KEY_Space)
                        {
                                bool isWriteSuccess;
                                isWriteSuccess = osgDB::writeNodeFile(*(viewer->getSceneData()), _filename);
                                if (isWriteSuccess)
                                        std::cout << "current scene writes to file successfully!" << std::endl;
                                else
                                        std::cout << "current scene writes to file unsuccessfully!" << std::endl;
                                return true;
                        }
                        break;
                default:
                        break;
                }
                return false;
        }
private:
        std::string _filename;
};
但是现在有个问题就是,导出后的场景纹理贴图丢失了。

这是要导出的场景

这是要导出的场景

这是导出后的场景

这是导出后的场景

该用户从未签到

发表于 2015-4-1 11:14:32 | 显示全部楼层
_filename换不同格式试试,比如ive

该用户从未签到

 楼主| 发表于 2015-4-1 13:18:38 | 显示全部楼层
anlingbin 发表于 2015-4-1 11:14
_filename换不同格式试试,比如ive

导出为.ive还是不行,纹理不显示

该用户从未签到

发表于 2015-4-2 15:56:40 | 显示全部楼层
你看看ReaderWriterIVE.cpp,里面有怎么设置导出纹理的

        ReaderWriterIVE()
        {
            supportsExtension("ive","OpenSceneGraph native binary format");

            supportsOption("compressed","Export option, use zlib compression to compress the data in the .ive ");
            supportsOption("noTexturesInIVEFile","Export option");
            supportsOption("includeImageFileInIVEFile","Export option");
            supportsOption("compressImageData","Export option");
            supportsOption("inlineExternalReferencesInIVEFile","Export option");
            supportsOption("noWriteExternalReferenceFiles","Export option");
            supportsOption("useOriginalExternalReferences","Export option");
            supportsOption("TerrainMaximumErrorToSizeRatio=value","Export option that controls error matric used to determine terrain HeightField storage precision.");
            supportsOption("noLoadExternalReferenceFiles","Import option");
            supportsOption("OutputTextureFiles","Write out the texture images to file");
        }
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

联系我们

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