查看: 2422|回复: 3

OSG地形显示

[复制链接]

该用户从未签到

发表于 2014-3-4 16:21:41 | 显示全部楼层 |阅读模式
本帖最后由 瑶天天 于 2014-3-4 16:30 编辑

想用OSG直接读取DEM,如tif文件,显示地形
通过查找资料,个人理解是主要设置好osgTerrain::TerrainTile:
osg::ref_ptr<osgTerrain::HeightFieldLayer> hfl = new osgTerrain::HeightFieldLayer;
        hfl->setHeightField(gdal_hf);
        hfl->setLocator(locator.get());
        hfl->setMagFilter(osg::Texture:INEAR);
        hfl->setMinFilter(osg::Texture::LINEAR);
        terrainTile->setElevationLayer(hfl);
其中locator相关信息和gdal_hf(即heightfield)由gdal读取相关数据,调试时至少范围数据正常
最后将此terrainTile加入osgViewer:
osg::ref_ptr<osg::Group> scene = new osg::Group;
        scene->addChild(terrainTile.get());
        osgViewer::Viewer viewer;
        viewer.setSceneData(scene.get());
可是显示却如下所示:
所用数据为osgEarth自带高程数据mt_everest_90m.tif

获取hf数据尝试过直接用osgDB读取tif为image,然后使用osgEarth的ImageToHeightFieldConverter(参考osgEarth读取高程数据建立hf的源代码),显示结果也如此

请问这是什么原因?是我地形显示的思路就错了吗?谢谢
QQ截图20140304160322.png
QQ截图20140304160343.png

该用户从未签到

发表于 2014-4-14 13:04:09 | 显示全部楼层
或者说水平面尺寸和高度的比例

该用户从未签到

发表于 2014-4-14 13:03:30 | 显示全部楼层
你看一下,是不是高程的面积和高度比例没设置对

该用户从未签到

发表于 2014-9-9 14:08:20 | 显示全部楼层
感谢分享 很有参考价值
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

联系我们

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