【osgEarth】Mac系统下开发osgEarth注意事项

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


编译osgEarth

提示:对应的OSG库也需要编译OpenGL3版本的:

编译最新的osgEarth库(>=3.0版本)需要编译OpenGL3可编程渲染管线。
https://gist.github.com/gwaldron/a56b0e77e7fa8587b698717d21f9366d
本文以OSG3.6.5和OSGEarth3.4为例介绍一些注意事项


提示:以下是本篇文章正文内容,下面案例可供参考

一、如何接入全球影像服务?

OpenStreetMap影像地址
https://b.tile.openstreetmap.org/0/0/0.png
在这里插入图片描述

Google影像地址
https://mt.google.com/vt/lyrs=y&x=0&y=0&z=0
在这里插入图片描述
加载谷歌地图的时候不同lyrs表示的地图类型如下

  • m 标准路线图
  • r 某种改变的路线图(路线不明显)
  • s 影像卫星图
  • y 带标签的卫星图
  • h 标签层 (路名、地名等)
  • t 地形图
  • p 带标签的地形图

二、使用插件注意事项

因为Mac系统下默认的图片解析库是ImageIO,但ImageIO库的使用有很多问题

1. ImageIO插件读TIF不能生成地形,读TIF要使用TIFF插件或GDAL插件

使用HTTPClient读TIF生成地形用TIFF插件:

auto registry = osgDB::Registry::instance();
registry->addFileExtensionAlias("tif", "tiff");

使用osgDB::readImage读tif生成地形使用gdal插件:

auto registry = osgDB::Registry::instance();
registry->addFileExtensionAlias("tif", "gdal");

2.ImageIO读jpeg有误,pixelFormat读成了GL_BGRA而不是RGBA:

使用osgDB::writeImageFile写jpeg时要切换jpeg插件

auto registry = osgDB::Registry::instance();
registry->addFileExtensionAlias("jpeg", "jpeg");

三、调整看见瓦片的更新速度

MapNode::Options options;
options.terrain()->minTileRangeFactor() = 9.0;
MapNode* mapNode = new MapNode( map , options);

四、天空盒

osgEarth::SimpleSky::SimpleSkyOptions simpleSkyOptions;
simpleSkyOptions.moonImageURI() = URI("data/moon_1024x512.jpg");
auto skyNode = SkyNode::create(simpleSkyOptions);
mapNode->addChild(
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值