Skip to content

Releases: maptalks/maptalks-gl-layers

V0.32.0 Released

04 Feb 09:49
Compare
Choose a tag to compare

新功能

  • VectorTileLayer.options.features 支持设置为 transient,在tileload事件中获取到瓦片的features后,图层中的features会被删除以节省内存, maptalks/issues#559
  • GroupGLLayer 增加 queryTerrainAtPoint(containerPoint) 方法,用于以容器坐标查询地形上的坐标与高程
  • Geo3DTilesLayer.options 增加 alwaysShowTopTiles 设置(默认为true),保证永远显示最上层的瓦片, maptalks/issues#588
  • GeoJSONVectorTileLayer中数据量很大时,dataload事件中extent由前1000个数据改为间隔读取,保证extent更贴近实际情况
  • 地形增加对雨雪效果的支持, maptalks/issues#506
  • 三维测量增加对GLTFMarker的支持, maptalks/issues#591

性能提升

  • 通过改进ArrayPool,将VectorTileLayer在worker中的处理数据性能提升了约300%
  • 通过消除不必要的Object.defineProperty和uniform重复检查,明显提升webgl渲染的整体性能, maptalks/issues#352

Bug修改

  • 修正terrain的maxAvailableZoom不正确时,会无限请求地形瓦片的问题, maptalks/issues#584, maptalks/issues#593
  • 解决Geo3DTilesLayer中obb类型的瓦片与相机视锥的相交算法, maptalks/issues#594
  • 升级fusion.gl,解决webgl上下文状态切换错误造成的绘制问题, maptalks/issues#586
  • 解决GLTFLayer会在后处理时重复绘制造成性能急剧下降的问题
  • 解决MultiPolygon数据方向不合规时的绘制, maptalks/issues#600
  • 解决ColorMask没有正确响应鼠标事件的问题, maptalks/issues#597
  • 解决151版Three因为改变了webgl2上下文判断方法,造成无法在GroupGLLayer中正常工作的问题, maptalks/issues#601

New features

  • VectorTileLayer.options.features support set to transient, after getting the features of the tile in the tileload event, the features in the layer will be deleted to save memory, maptalks/issues#559
  • GroupGLLayer add identifyTerrainAtPoint(containerPoint) method to query the coordinates and elevation on the terrain in container coordinates
  • Geo3DTilesLayer.options add alwaysShowTopTiles setting (default is true) to ensure that the top tiles are always shown, maptalks/issues#588
  • When there is a large amount of data in GeoJSONVectorTileLayer, the extension in the dataload event is changed from the first 1000 data to be read at intervals, to make sure the extension is closer to the actual situation.
  • Add support for rain and snow effect in terrain, maptalks/issues#506.
  • Added support for GLTFMarker for 3D measurements, maptalks/issues#591.

Performance improvements

  • Improved VectorTileLayer's data processing performance in worker by about 300% by improving ArrayPool.
  • Significantly improved the overall performance of webgl rendering by eliminating unnecessary Object.defineProperty and uniform duplicate checks, maptalks/issues#352

Bug fixes

  • Fix an issue where terrain tiles would be requested indefinitely if the maxAvailableZoom of terrain was incorrect, maptalks/issues#584, maptalks/issues#593
  • Solve the intersection algorithm between obb type tiles and camera view cone in Geo3DTilesLayer, maptalks/issues#594
  • Upgrade fusion.gl to fix a drawing problem caused by incorrect webgl context state switching, maptalks/issues#586
  • Solve the problem that GLTFLayer will be drawn repeatedly during post-processing, causing a sharp performance degradation.
  • Fix a drawing problem when MultiPolygon data orientation is not correct, maptalks/issues#600
  • Solve the problem that ColorMask does not respond to mouse events correctly, maptalks/issues#597
  • Fix a bug in version 151 of Three that prevents it from working properly in GroupGLLayer due to a change in the webgl2 context determination method. maptalks/issues#601

V0.31.9 Released

19 Jan 04:00
Compare
Choose a tag to compare

Bug修改

  • 解决MultiGLTFMarker相关的bug

Bug fixes

  • Resolving MultiGLTFMarker-related bugs

V0.31.8 Released

18 Jan 08:39
Compare
Choose a tag to compare

Bug修改

  • Geo3DTilesLayer.options.loadingLimit 设为10,解决并发请求过多时,fetch请求偶尔会失败的问题

Bug fixes

  • Geo3DTilesLayer.options.loadingLimit is set to 10 to solve the problem that fetch requests occasionally fail when there are too many concurrent requests.

V0.31.7 Released

18 Jan 07:51
Compare
Choose a tag to compare

Bug修改

  • 解决fusion.gl对WebGL 1的一个不兼容bug
  • 通过减少不必要的Object.defineProperty提升uniform取值性能
  • 通过减少uniformMatrix4fv,提升uniform更新性能
  • 解决更新mask defines可能的null pointer异常

Bug fixes

  • Fix an incompatibility bug in fusion.gl with WebGL 1.
  • Improve uniform fetching performance by reducing unnecessary Object.defineProperty.
  • Improve uniform update performance by reducing uniformMatrix4fv.
  • Resolve a possible null pointer exception for updating mask defines.

V0.31.6 Released

12 Jan 07:43
Compare
Choose a tag to compare

新功能

  • Geo3DTilesLayer增加了toJSON和fromJSON方法,用于图层序列化, maptalks/issues#579
  • VectorTileLayer.options和text/icon插件的sceneConfig中增加 collisionBufferSize 设置,用于增大或缩小碰撞检测盒, maptalks/issues#580

调整

  • Geo3DTilesLayer改为所有图层共享同一个全局LRUCache,避免图层数量过多时内存占用上升导致的崩溃,缓存大小仍由图层options中的maxGPUMemory来指定。
  • 得益于核心库rc.29中新增的worker idle消息机制,做了以下调整:
    • VectorTileLayer不再默认限制每帧的瓦片请求数
    • Geo3DTilesLayer不再默认限制每帧的瓦片请求数

Bug修改

  • 解决Geo3DTilesLayer对oriented bounding box类型瓦片是否在相机视野范围内的算法错误,解决obb类型3dtiles数据源会不停加载瓦片的问题, maptalks/issues#575
  • 解决VectorTileLayer上,text和icon插件如果开启collision,无法用highlight(visible:false)隐藏指定文字的问题, maptalks/issues#576

New features

  • Geo3DTilesLayer adds toJSON and fromJSON methods for layer serialization, maptalks/issues#579
  • VectorTileLayer.options and text/icon plugin's sceneConfig add collisionBufferSize setting for increasing or decreasing the collision detection box, maptalks/issues#580

Adjust

  • Geo3DTilesLayer is changed to share the same global LRUCache for all layers, to avoid the crash caused by the rising memory usage when the number of layers is too high, the cache size is still specified by maxGPUMemory in the layer options.
  • Thanks to the new worker idle message mechanism in core library rc.29, the following adjustments have been made:
    • VectorTileLayer no longer limits the number of tile requests per frame by default.
    • Geo3DTilesLayer no longer limits the number of tile requests per frame by default.

Bug fixes

  • Resolve Geo3DTilesLayer's algorithm error on whether oriented bounding box type tiles are within the camera's field of view, and resolve the issue that obb type 3dtiles datasource would keep loading tiles, maptalks/issues#575
  • Fix an issue where text and icon plugins on VectorTileLayer cannot hide the specified text with highlight (visible:false) if collision is turned on. maptalks/issues#576

V0.31.5 Released

04 Jan 08:54
Compare
Choose a tag to compare

Bug修改

  • 解决隐藏的marker造成PointLayer碰撞检测卡顿的bug, maptalks/issues#572
  • GeoJSONVectorTileLayer默认关闭tile stencil,解决该图层上先画的polygon会阻止后面polygon绘制的问题, maptalks/issues#566

Bug Fixes

  • Solve the bug that the hidden marker causes the collision detection of PointLayer to be stuck, maptalks/issues#572
  • GeoJSONVectorTileLayer turn off tile stencil by default, to solve the problem that the polygon drawn first on this layer will block the drawing of the polygon after it, maptalks/issues#566

V0.31.4 Released

03 Jan 09:08
Compare
Choose a tag to compare

Bug修改

  • 解决vt图层,text插件无法正常cancelHighlight的问题, maptalks/issues#562
  • 解决VectorPack中,elements类型错误指定为Float32Array造成的数据量超过65536后,报错的问题,maptalks/issues#573

Bug Fixes

  • Solve the problem that vt layer, text plugin can't cancel Highlight properly, maptalks/issues#562
  • Solve the problem of VectorPack, the elements type is wrongly specified as Float32Array, the data amount exceeds 65536, maptalks/issues#573

V0.31.3 Released

29 Dec 15:55
Compare
Choose a tag to compare

Bug修改

  • 三维量算垂直高度的文字标签安排到更合理的位置
  • 解决FBORayPicking中,depthShader version被强制设为300,造成的vt和其他version为100 shader运行错误的bug, maptalks/issues#567, maptalks/issues#571

Bug fixes

  • Arrange the text labels for 3D vertical height measurement to a more reasonable position.
  • Solve the bug that in FBORayPicking, the depthShader version is forced to be set to 300, which causes vt and other version 100 shaders to run incorrectly, maptalks/issues#567, maptalks/issues#571.

V0.31.2 Released

29 Dec 15:53
Compare
Choose a tag to compare

Bug修改

  • 解决三维量算中计算结果出现NaN的问题

Bug fixes

  • :: Solve the problem of NaN appearing in the calculation result of 3D measurement.

V0.31.1 Released

28 Dec 12:04
Compare
Choose a tag to compare

Bug修改


Bug fixes

  • Solve the problem that symbol.animationNodes of GLTFMarker doesn't work, maptalks/issues#560
  • Solve the problem that GLTFMarker.getGLTFJSON() method doesn't return the full gltf json, maptalks/issues#561
  • Solve the problem that the height is always 0 for 3D measure, and adjust the position of the label, maptalks/issues#557