#版本说明

##3.3版本(2022年4月)

版本3.3是一个增量错误修复和性能版本。

发布亮点:

  • ImGui:对许多面板进行更新和改进

  • ImGui:更好地将osgEarth ImGui面板集成到其他应用程序中

  • Vcpkg构建系统改进

  • 改进了法线贴图生成、纹理贴图、高程查询、拉伸几何图形创建和作业环境的性能

  • 新的 MapboxGLImageLayer 文本标签支持

  • 新的 ProjectionMatrix Helper类支持使用反向Z缓冲区的应用程序

  • 改进的OpenGL/GLSL版本检测

  • 重构 osgEarth::ShaderComp 命名空间到 osgEarth::VirtualProgram

  • TileRasterizer 实现无停顿的GPU映像回读

  • 已重命名 Layer::getEnabledLayer::getOpenAutomatically

  • 增列 kdtree 生成分页节点以实现更快的交叉口

  • 新的 CoverageLayer 用于一般用途的覆盖范围数据

  • SkyNode 具有模拟时间跟踪功能,用于可视化时间序列数据

  • 对用于无绑定渲染的NVIDIA特定GL扩展的实验性支持

  • 添加了比zlib更快的新blosc OSG压缩机。通过构建具有blosc支持并设置环境变量OSGEARTH_DEFAULT_COMPRESSER=blosc来启用

##3.2版本(2021年8月)

这主要是一个错误修复版本。

发布亮点:

  • 新的ImGui集成,包括新的 osgearth_imgui 命令行工具。

  • ObjectIDPicker, a more reliable replacement for RTTPicker

  • ContourMap 在地球文件中具有新的自定义颜色停靠点

  • 构建系统现在对一些内联依赖项使用Git子模块。

##3.1版本(2020年12月)

从本版本开始,osgEarth需要C++11。

GEOS:出于稳定性原因,我们从GEOS C++API过渡到C API。如果您看到GEOS编译/链接器错误,这可能是原因,您应该确保从现在开始链接到C库。(GEOS是启用某些特征处理操作的可选依赖项。)

发布亮点:

  • 新的 `TerrainConstraintLayer 用于遮罩和自定义地形细分。请看 ```constraints.earth` 用于示例应用程序。这取代并扩展了旧的 ```MaskLayer` `类型。

  • 新的 `LERCImageLayer `(ESRI格式)

  • 新的 `ArcGISTilePackageElevationLayer `

  • 新的 `ArcGISServerElevationLayer `

  • 新的 `DebugImageLayer ` `show_tessellation 用于显示地形网格的`属性;用于可视化使用新的 `TerrainConstraintLayer `

  • 地图范围的默认纹理压缩设置允许您在地球文件的Terrain Options部分启用自动纹理压缩

  • 适用于Linux版本的SONAME现在可以正确使用。这阻碍了一些包管理器的ABI稳定性。

  • `osgearth_conv 支持GeoCell索引 (``--index`` `),通过实现网格空间索引可以极大地提高大型平铺操作的性能。

  • 新的 `SelectExtentTool `用于在地图上绘制边界框并触发回调。

  • XYZ图层现在支持Y反转的{-y}表示法,这是Web制图URL中使用的常用表示法

  • 编写对以下内容的支持 `TMSElevationLayer `

  • 改进了整个过程中对任务取消的支持。当不再需要数据加载任务的结果时(因为摄像头移动了),我们想要缩短操作,就会取消任务。

  • 改进的多边形细分(修复了各种边情况)

  • 更快更好的矢量栅格化使用优秀的 `Blend2D `库(可选依赖)已过渡到GEOS C API以保持稳定

  • 改进了某些驱动程序的并行化

  • Tracy中的互斥争用分析-帮助我们识别和缓解争用以提高并行化

  • 在C++11线程原语上规范化,几乎完全消除了对OpenThread的依赖

  • 各种速度改进和错误修复

  • 简化的CMake配置流程

  • 支持GDAL 3.1(主要-参见SRS.cpp中的球形墨卡托说明)

  • 已刷新文档站点

  • Linux、Windows和MacOS上配置项的GitHub操作

##3.0版本(2020年6月)

  • 层API大修-不再有“Options/Config”结构;不再有“drivers”

  • 命名空间大修-将Util/Features/Symbology/Annotation放入核心

  • ImGui集成-用户界面-最终替代“控件”

  • 合成高程/图像/土地覆盖层

  • 草地层(撒播子系统)

  • 电力线层

  • 风层-添加影响草层的风

  • 贴花层-向地形添加地理空间贴花

  • 用于快速渲染特征数据的模型化分幅

  • 地形引擎的任意区域失效与刷新

  • 地理编码器(OGR-可选版本)

  • 土地覆盖层-新的分形细化

  • 3D平铺层

  • glTF支持(部分,用于3D平铺)

  • 铯离子层

  • GDALDEM层-山坡阴影等。

  • 网络监视器工具

  • WEBP加载程序-快速压缩图像

  • 基本支持-图像压缩

  • DRACO支持(GLTF)-几何压缩

  • 支持大于2GB的ZIP文件(新的OSG ZIP插件)

  • Tracy集成-分析

  • 更好的错误报告基础架构

  • 修复和改进了大量的错误

  • 新的文档结构

##2.10版本(2018年11月)

  • REX地形引擎升级为默认。旧的MP引擎现在处于旧的支持模式。

  • 从SDK中删除了osgearthqt nodekit,以及所有qt示例

  • 清理内部序列化架构(即osgearth::config)

  • 与OSG 3.6.x版本/分支的兼容性

  • GL3和GLCORE配置文件支持

  • 虚拟程序性能改进

  • 新的LineDrawable和PointDrawable类用于跨GL配置文件支持

  • 在整个SDK中更好地进行/取消处理,包括功能子系统

  • ECI参考框架的原型支持

  • 在virtualprogram框架中支持“新”的osgtext实现

  • 用于聚类近邻对象的新clusternode实用程序类

  • 已删除的折旧:masknode、profiler、statesetlod、tilekeydatastore、wrapperlayer、markerresource、markersymbol、stencilvolumenode、tritonnode、annotationevents、polyhedrallineofsight、一些cullingtils对象

##版本2.9(2018年2月)

  • 新的“rex”地形引擎,支持随机访问块加载、地形变形、更快的添加/删除

  • 新的地图/图层架构开始标准化“一切都是图层”方法

  • 每层明暗器,来自地球文件的配置(仅限REX)

  • 实验屏幕空间GPU线

  • 更好地支持glcore、gl 3.3+和vaos

  • 将多个扩展/等转换为层(AnnotationLayer、mgr分划、FeatureModelLayer、SimpleOceanlayer)

  • 重新加工面膜,为REX提供支撑裙板。

  • 第一个LOD地形数据的同步预加载

  • geotransform节点,注释自我发现地形(不再需要在mapnode中传递)

  • 基于特征数据的地形展平实验层

  • 将单个文件/字符串中的多个明暗器与 [打破]

  • 新的viewfitter类适合查看一组点

  • 重构为Splatlayer、GroundCoverlayer

  • 改进的太阳位置星历计算器

  • 新的pagednode类,便于分页

  • 支持新的OSG 3.5.8文本实现

  • 支持GEOS 3.6+

  • 为分类数据添加了核心土地覆盖层/土地覆盖层类别

  • 为异步操作添加了未来/承诺构造

  • 重新编写经理、UTM和GARS分划

  • 很多错误修复

##2.8版本(2016年9月)

  • 除非明确设置max_polygon_tiling_angle,否则将禁用BuildGeometryFilter中的要素细分平铺。裁剪法规造成了问题,特别是在两极周围。需要在未来拿出一个更通用的解决方案。

  • 在具有FogEffect的虚拟程序中更好地支持OSG::FOG。实现了多种雾化模式。

  • 始终在MPGeometry中应用最小范围和最大范围,以防止均匀泄漏。

  • 多极体质心夹紧的适当支撑。

  • 在运行时创建时对TileSources和层调用open()的新要求。这使您可以显式获取图层的状态并向用户报告错误。

  • 固定到EGM96垂直基准网格。

  • build ou osgearth_examples用于禁用构建示例的cmake选项。

  • 增加了对高度场的最近采样支持

  • 用于从相交添加属性的新功能连接

  • Osgearth_变形演示

  • 分散过滤对点集的支持。只需在PointSet中的每个点放置模型即可。

  • 返回空样式时丢弃javascript样式选择器中的功能时的性能优化

  • 功能几何缓存支持

  • 新的最小到期帧和最小到期时间选项到地形。

  • rex引擎的正确createtile实现。

  • RockSDB缓存插件。

  • 新的osgEarth_server应用程序(基于POCO网络库)。将在GPU上渲染的osgEarth瓷砖提供给您最喜欢的Web地图工具,如LEAFLET、OpenLayers和Cs!

  • Packager现在支持写入mbtiles

  • 新的osgEarth_Skyview示例,用于绘制“由内而外”的地球。原来osgEarth是一个很棒的光球观察者!

  • 试验性的WinInet支持以取代cURL。新的osgEarth_http测试应用程序。

  • 已将duktape升级到1.4.0版

  • 内存使用测试支持(osgearth_-viewer—监视器启用)

  • 新的osgearth pv实用程序应用程序。

  • 更好地支持FeatureAsterSource(和Agglite驱动程序)中的预编译数据集(如tfs和mapnik vector tiles)

  • 地球机械手中节点系留的更好支持

  • Doxygen 支持

  • 新的openstreetmap vector tiles演示(openstreetmap_buildings.earth和openstreetmap_full.earth)

  • 支持mapnik矢量图块数据集

  • 修复了FeatureModelgraph中Y Tilekey的不正确反转,并更新了所有驱动程序。

  • CURLOPT_ENCODING支持。如果您已经针对zlib构建了cURL,那么将为gzip和deflate添加适当的HTTP报头,并自动解压缩。

  • 新Osgearth_Splat示例

  • 新osgearthsplat nodekit

  • 基于nltemplate的新“template”插件,允许您编写模板化的地球文件

  • 支持XI:在地球文件中包含

  • OpenScenegraph的最低版本为3.4.0

  • 已删除MiniZip依赖项

  • 新Triton和银色Nodekits

  • 新功能生成功能的提升驱动程序

  • 用于将栅格转换为特征的新栅格到特征驱动程序

  • 330兼容GLSL的默认明暗器版本

  • 法向映射集成到MP中,删除了法向映射扩展。

  • Travisci和Coverity支持

##2.7版(2015年7月)

  • 用于挑选和选择的新ObjectIndex系统

  • 新的基于RTT的选择器,适用于所有几何体,包括GPU修改的几何体。

  • 扩展.扩展osgearth功能的模块化代码

  • 新程序纹理展开扩展

  • 升级了shaderloader以更好地模块化虚拟程序代码

  • MP地形引擎的新“高程平滑”特性

  • 对默认mapnodeOptions的新支持

  • 对数深度缓冲区允许扩展近平面和远平面

  • 更好的Triton和镀银支持

  • 高程合成引擎和高程查询实用程序的检修

  • 新的栅格特征驱动程序允许您从栅格数据生成特征

  • 图像层的衰减和最小/最大范围

  • 新的基于阴影的大地分划

  • 新的昼夜滤色器

  • 视点:巩固视点和束缚

  • 新的CoverageSymbol,用于将功能转换为覆盖数据;Agglite驱动程序支持

  • 新的功能集群和实例算法,以获得更好的性能和可扩展性

  • 用于创建单工噪声采样器的噪声扩展

  • 新的Terrainshader扩展允许您从地球文件中插入任意的着色代码

  • virtualprogram:使用glsl pragma指定所有VP注入标准

  • 带自动边缘归一化的法向映射扩展

  • 用于简单细节凹凸的凹凸贴图扩展

  • 基于glowcode分析结果的性能改进

##2.6版本(2014年10月)

维修放行。发行说明待定。

##2.5版本(2013年11月)

地形引擎

Terrain Engine(“MP”)经历了许多性能更新。我们专注于几何优化和GL状态优化,绕过一些OSG机制,直接到GL以尽可能快地完成任务。

MP有一个新的可选“增量更新”功能。默认情况下,当您更改地图模型(添加/删除图层等)时,OSGearth将完全重建地形。启用增量更新后,它将只重建可见的分片。当前不可见的图块(如低层的图块)在实际可见之前不会更新。

高速缓存

缓存有一些改进。缓存种子器(osgearth_cache)现在是多线程的(就像tms packager实用程序一样)。文件系统缓存还支持缓存项(包括映射图块)的过期策略。

JavaScript

我们更新了osgearth以使用最新的GoogleV8javascript解释器API。我们现在还支持javascriptcore作为OSX/IOS设备的JS解释器(V8不可用)。

地形效应

新的TerraIneffect API使向地形添加自定义明暗器变得容易。Osgerath内置了几个功能,包括NormalMap、Detailtexture、Lodbinging和Contourmap。

新驱动程序

有一个新的必应地图驱动程序。必应需要一个API密钥,您可以在必应网站上获取该密钥。

我们还添加了一个新的libnoise驱动程序。它生成参数化噪波,您可以将其用作地形高程数据,或将分形细节添加到现有地形,或生成噪波图案以进行细节纹理处理。

其他商品

  • 共享层允许从自定义明暗器访问多个采样器

  • 新的“自动缩放”渲染箱将几何体缩放到屏幕,而不使用自动转换节点。

  • placenodes和labelnodes现在支持局部遮挡剔除。

  • 控件实用程序库现在在iOS/gles上工作。

##2.4版本(2013年4月)

  • 新的“MP”地形引擎,性能更好,支持无限图像层(现在是默认设置)

  • 明暗器组合-重新构建框架以更灵活地控制顶点明暗器

  • 地面机械手-支持移动(多点触摸)操作

  • 特征几何图形的GPU夹持(可夹持模式)

  • TMSBackfiller工具从高分辨率数据生成低分辨率LOD

  • 遮蔽层的海洋表面支撑

  • 绘图控件的新呈现符号

  • 功能层的淡入控制

  • 覆盖装饰-改善悬垂;消除抖动

  • 在FeatureSourceIndexNode中添加了功能缓存

  • shaderGenerator-添加了对更多纹理类型的支持

  • 悬垂-将悬垂/夹紧控制移动到符号(高度符号)

  • 线条-在“笔划宽度”中添加单位,例如“25米”,也可以是“笔划最小像素”

  • 使用GPU自动缩放的多边形化线操作符

  • 新的文档站点(存储在repo中)位于 [http://osgearth.readthedocs.org] (http://osgearth.readthedocs.org/))

  • decluttering-新的“max_objects”属性以限制可绘制文件的数量

  • 新建ElevationLod节点

  • Skynode-添加了自动环境光计算

  • 新的数据扫描程序-通过递归文件搜索生成ImageLayers

  • qt:用于复合查看器的新视图小部件

  • map:使用beginupdate/endupdate构造进行批更新

  • GLSL颜色过滤器:将自定义GLSL代码直接嵌入地球文件(glsl_filter.earth)

  • Agglite:支持“笔划宽度”,单位和最小像素用于栅格化。

  • 地形选项:使用<elevation_tile_size>

  • 更好的iOS支持

  • 新的“BYO”地形引擎允许您将外部模型作为地形加载。

  • 新的“First_Lod”属性允许您强制最低Lod开始于

  • 更好地支持平铺数据层

  • 许多错误修复和性能改进

  • 存储在osgearth repo中的新文档站点(docs.osgearth.org)