查看: 1248|回复: 2

关于minLevel 和maxLevel的疑惑

[复制链接]

该用户从未签到

发表于 2014-1-5 10:05:35 | 显示全部楼层 |阅读模式
        各位大侠!我加载osg_package切好的dem和影像数据怎么很慢呢?我也设置了最大最小level,真心不知道问题出在哪里,下面是我的部分代码,请指教

        osgEarth:rivers::TMSOptions tmsOpt;//加载dem
        tmsOpt.url()=osgEarth::URI("http://202.114.123.30:8020//Edvis_-1/Layer_0/tms.xml");
        std::string DemtmslayerName="TmsDem";
        osgEarth::ElevationLayerOptions tmslayerOpt(DemtmslayerName,tmsOpt);
        tmslayerOpt.maxLevel()=10;
        tmslayerOpt.minLevel()=5;
        osg::ref_ptr<osgEarth::ElevationLayer>  TmsDemLayer = new osgEarth::ElevationLayer(tmslayerOpt);
        m_pMap->addElevationLayer(TmsDemLayer.get());

osgEarth::Drivers::TMSOptions ImagetmsOpt;//加载影像
        ImagetmsOpt.url()=osgEarth::URI("http://202.114.123.30:8020/Edvis_-1/Layer_4/tms.xml");
        //ImagetmsOpt.url()=osgEarth::URI("http://demo.pelicanmapping.com/rmweb/data/bluemarble-tms/tms.xml");
        std::string ImagetmslayerName="ImageDem";
        osgEarth::ImageLayerOptions ImagetmslayerOpt(ImagetmslayerName,ImagetmsOpt);
        ImagetmslayerOpt.maxLevel()=10;
        ImagetmslayerOpt.minLevel()=0;
        ImagetmslayerOpt.edgeBufferRatio()=3.0;
        ImagetmslayerOpt.lodBlending()=true;
        osg::ref_ptr<osgEarth::ImageLayer>  TmsImageLayer = new osgEarth::ImageLayer(ImagetmslayerOpt);
        m_pMap->addImageLayer(TmsImageLayer.get());

该用户从未签到

 楼主| 发表于 2014-1-5 10:07:37 | 显示全部楼层
帧速很低,是不是我的理解有错呢?设置了最大最小级别之后,osg就会自动根据相机的高度换算出应该加载的相应的lod级别和通过裁剪掉不在视野范围内的数据来加快渲染速度呢?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

联系我们

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