@antv/l7-layers 2.9.27-alpha.2 → 2.9.27-alpha.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/es/Geometry/index.js +6 -2
- package/es/Geometry/models/billboard.js +3 -7
- package/es/Geometry/models/plane.js +5 -7
- package/es/Geometry/models/sprite.js +4 -7
- package/es/canvas/index.d.ts +4 -0
- package/es/canvas/index.js +38 -2
- package/es/citybuliding/building.js +6 -2
- package/es/citybuliding/models/build.js +2 -3
- package/es/core/BaseLayer.d.ts +20 -12
- package/es/core/BaseLayer.js +61 -85
- package/es/core/BaseModel.d.ts +2 -2
- package/es/core/BaseModel.js +22 -19
- package/es/core/interface.d.ts +20 -1
- package/es/core/triangulation.d.ts +6 -0
- package/es/core/triangulation.js +64 -2
- package/es/earth/index.js +3 -1
- package/es/earth/models/atmosphere.js +4 -7
- package/es/earth/models/base.js +12 -18
- package/es/earth/models/bloomsphere.js +4 -8
- package/es/earth/shaders/atmosphere_frag.glsl +1 -1
- package/es/earth/shaders/bloomsphere_frag.glsl +1 -1
- package/es/heatmap/index.d.ts +2 -2
- package/es/heatmap/index.js +7 -5
- package/es/heatmap/models/grid.js +1 -3
- package/es/heatmap/models/grid3d.js +4 -11
- package/es/heatmap/models/heatmap.js +8 -9
- package/es/heatmap/models/hexagon.js +2 -6
- package/es/heatmap/triangulation.js +0 -1
- package/es/image/index.d.ts +1 -1
- package/es/image/index.js +10 -3
- package/es/image/models/dataImage.d.ts +1 -1
- package/es/image/models/dataImage.js +14 -39
- package/es/image/models/image.js +5 -10
- package/es/image/models/index.d.ts +1 -1
- package/es/image/models/index.js +3 -1
- package/es/image/models/tileDataImage.d.ts +19 -0
- package/es/image/models/tileDataImage.js +174 -0
- package/es/line/index.d.ts +1 -0
- package/es/line/index.js +8 -2
- package/es/line/models/arc.js +10 -10
- package/es/line/models/arc_3d.js +8 -10
- package/es/line/models/earthArc_3d.js +8 -10
- package/es/line/models/great_circle.js +7 -7
- package/es/line/models/half.js +3 -4
- package/es/line/models/line.js +10 -9
- package/es/line/models/linearline.js +3 -4
- package/es/line/models/simpleLine.js +5 -4
- package/es/line/models/simpleTileLine.d.ts +9 -0
- package/es/line/models/simpleTileLine.js +100 -0
- package/es/line/models/tile.d.ts +1 -4
- package/es/line/models/tile.js +50 -223
- package/es/line/models/wall.js +11 -47
- package/es/line/shaders/dash/arc_dash_vert.glsl +2 -0
- package/es/line/shaders/dash/line_dash_frag.glsl +1 -1
- package/es/line/shaders/line_arc2d_vert.glsl +2 -2
- package/es/line/shaders/line_arc_3d_frag.glsl +10 -10
- package/es/line/shaders/line_arc_3d_vert.glsl +5 -6
- package/es/line/shaders/line_arc_frag.glsl +9 -10
- package/es/line/shaders/line_arc_great_circle_frag.glsl +6 -6
- package/es/line/shaders/line_arc_great_circle_vert.glsl +2 -3
- package/es/line/shaders/line_arc_vert.glsl +6 -4
- package/es/line/shaders/line_bezier_vert.glsl +2 -2
- package/es/line/shaders/line_frag.glsl +5 -6
- package/es/line/shaders/line_vert.glsl +1 -1
- package/es/line/shaders/linear/arc3d_linear_frag.glsl +6 -7
- package/es/line/shaders/linear/arc3d_linear_vert.glsl +11 -12
- package/es/line/shaders/linear/arc_linear_frag.glsl +1 -1
- package/es/line/shaders/tile/line_tile_map_vert.glsl +25 -0
- package/es/line/shaders/tile/line_tile_vert.glsl +19 -177
- package/es/line/shaders/tile/simpleline_map_vert.glsl +15 -0
- package/es/line/shaders/tile/simpleline_vert.glsl +21 -0
- package/es/line/shaders/{wall_frag.glsl → wall/wall_frag.glsl} +21 -25
- package/es/line/shaders/wall/wall_vert.glsl +77 -0
- package/es/mask/index.d.ts +1 -0
- package/es/mask/index.js +80 -5
- package/es/mask/models/fill.d.ts +2 -1
- package/es/mask/models/fill.js +13 -10
- package/es/mask/shaders/mask_vert.glsl +0 -6
- package/es/plugins/DataMappingPlugin.d.ts +4 -3
- package/es/plugins/DataMappingPlugin.js +129 -58
- package/es/plugins/DataSourcePlugin.js +3 -2
- package/es/plugins/FeatureScalePlugin.d.ts +0 -2
- package/es/plugins/FeatureScalePlugin.js +8 -51
- package/es/plugins/LayerAnimateStylePlugin.d.ts +0 -2
- package/es/plugins/LayerAnimateStylePlugin.js +7 -27
- package/es/plugins/LayerModelPlugin.js +2 -6
- package/es/plugins/LightingPlugin.js +1 -7
- package/es/plugins/MultiPassRendererPlugin.d.ts +0 -1
- package/es/plugins/MultiPassRendererPlugin.js +4 -16
- package/es/plugins/PixelPickingPlugin.d.ts +1 -1
- package/es/plugins/PixelPickingPlugin.js +8 -28
- package/es/plugins/RegisterStyleAttributePlugin.d.ts +4 -0
- package/es/plugins/RegisterStyleAttributePlugin.js +56 -5
- package/es/plugins/UpdateStyleAttributePlugin.js +2 -9
- package/es/point/index.js +9 -6
- package/es/point/models/earthExtrude.d.ts +1 -1
- package/es/point/models/earthExtrude.js +9 -14
- package/es/point/models/earthFill.js +2 -2
- package/es/point/models/extrude.d.ts +1 -1
- package/es/point/models/extrude.js +9 -12
- package/es/point/models/fill.d.ts +1 -1
- package/es/point/models/fill.js +8 -9
- package/es/point/models/fillmage.js +5 -6
- package/es/point/models/image.js +3 -3
- package/es/point/models/index.d.ts +1 -1
- package/es/point/models/index.js +3 -3
- package/es/point/models/normal.d.ts +0 -1
- package/es/point/models/normal.js +9 -62
- package/es/point/models/radar.js +5 -70
- package/es/point/models/simplePoint.d.ts +0 -1
- package/es/point/models/simplePoint.js +2 -11
- package/es/point/models/text.js +7 -10
- package/es/point/models/tile.d.ts +0 -7
- package/es/point/models/tile.js +24 -158
- package/es/point/models/tileText.d.ts +0 -4
- package/es/point/models/tileText.js +99 -188
- package/es/point/shaders/animate/wave_frag.glsl +4 -4
- package/es/point/shaders/earth/fill_vert.glsl +0 -1
- package/es/point/shaders/fill_vert.glsl +0 -1
- package/es/point/shaders/normal_frag.glsl +1 -10
- package/es/point/shaders/normal_vert.glsl +5 -60
- package/es/point/shaders/radar/radar_frag.glsl +4 -15
- package/es/point/shaders/radar/radar_vert.glsl +4 -54
- package/es/point/shaders/tile/fill_tile_frag.glsl +10 -17
- package/es/point/shaders/tile/fill_tile_vert.glsl +20 -123
- package/es/point/shaders/tile/text_frag.glsl +33 -0
- package/es/point/shaders/tile/text_map_frag.glsl +31 -0
- package/es/point/shaders/tile/text_map_vert.glsl +38 -0
- package/es/point/shaders/tile/text_vert.glsl +48 -0
- package/es/polygon/index.js +6 -2
- package/es/polygon/models/extrude.js +4 -8
- package/es/polygon/models/fill.js +3 -4
- package/es/polygon/models/ocean.d.ts +0 -2
- package/es/polygon/models/ocean.js +13 -47
- package/es/polygon/models/tile.d.ts +1 -4
- package/es/polygon/models/tile.js +25 -57
- package/es/polygon/models/water.d.ts +0 -2
- package/es/polygon/models/water.js +13 -47
- package/es/polygon/shaders/polygon_frag.glsl +2 -2
- package/es/polygon/shaders/polygon_vert.glsl +2 -2
- package/es/polygon/shaders/tile/polygon_tile_map_vert.glsl +16 -0
- package/es/polygon/shaders/tile/polygon_tile_vert.glsl +20 -60
- package/es/polygon/shaders/water/polygon_ocean_frag.glsl +1 -2
- package/es/polygon/shaders/water/polygon_ocean_vert.glsl +0 -31
- package/es/polygon/shaders/water/polygon_water_frag.glsl +1 -3
- package/es/polygon/shaders/water/polygon_water_vert.glsl +0 -29
- package/es/raster/buffers/triangulation.js +1 -4
- package/es/raster/index.js +6 -2
- package/es/raster/models/raster.d.ts +1 -1
- package/es/raster/models/raster.js +6 -5
- package/es/shader/minify_frag.glsl +7 -0
- package/es/shader/minify_picking_frag.glsl +10 -0
- package/es/tile/manager/baseMapTileLayerManager.d.ts +29 -0
- package/es/tile/manager/baseMapTileLayerManager.js +207 -0
- package/es/tile/manager/tileLayerManager.d.ts +2 -2
- package/es/tile/manager/tileLayerManager.js +12 -2
- package/es/tile/manager/tilePickerManager.d.ts +2 -3
- package/es/tile/manager/tilePickerManager.js +1 -2
- package/es/tile/models/tileModel.d.ts +1 -0
- package/es/tile/models/tileModel.js +18 -2
- package/es/tile/tileFactory/base.d.ts +1 -1
- package/es/tile/tileFactory/base.js +58 -33
- package/es/tile/tileFactory/line.js +3 -0
- package/es/tile/tileFactory/point.js +3 -0
- package/es/tile/tileFactory/polygon.js +3 -0
- package/es/tile/tileFactory/raster.js +3 -0
- package/es/tile/tileFactory/rasterData.js +3 -0
- package/es/tile/tileFactory/rasterDataLayer.js +6 -2
- package/es/tile/tileFactory/test.js +26 -5
- package/es/tile/tileFactory/vectorLayer.d.ts +4 -1
- package/es/tile/tileFactory/vectorLayer.js +110 -7
- package/es/tile/tileLayer/baseMapTileLayer.d.ts +29 -0
- package/es/tile/tileLayer/baseMapTileLayer.js +188 -0
- package/es/tile/tileLayer/baseTileLayer.d.ts +4 -4
- package/es/tile/tileLayer/baseTileLayer.js +46 -75
- package/es/tile/tileTest.d.ts +1 -0
- package/es/tile/tileTest.js +3 -2
- package/es/tile/tmsMapTileLayer.d.ts +9 -0
- package/es/tile/tmsMapTileLayer.js +119 -0
- package/es/tile/tmsTileLayer.d.ts +2 -0
- package/es/tile/tmsTileLayer.js +24 -2
- package/es/tile/utils.d.ts +4 -0
- package/es/tile/utils.js +30 -0
- package/es/utils/dataMappingStyle.js +3 -0
- package/es/utils/layerData.js +2 -2
- package/es/utils/updateShape.js +2 -2
- package/es/wind/index.js +6 -2
- package/es/wind/models/wind.js +8 -8
- package/es/wind/shaders/wind_vert.glsl +1 -1
- package/lib/Geometry/index.js +6 -2
- package/lib/Geometry/models/billboard.js +3 -7
- package/lib/Geometry/models/plane.js +5 -7
- package/lib/Geometry/models/sprite.js +4 -7
- package/lib/canvas/index.js +37 -2
- package/lib/citybuliding/building.js +6 -2
- package/lib/citybuliding/models/build.js +2 -3
- package/lib/core/BaseLayer.js +61 -85
- package/lib/core/BaseModel.js +22 -19
- package/lib/core/triangulation.js +66 -2
- package/lib/earth/index.js +3 -1
- package/lib/earth/models/atmosphere.js +4 -7
- package/lib/earth/models/base.js +12 -18
- package/lib/earth/models/bloomsphere.js +4 -8
- package/lib/earth/shaders/atmosphere_frag.glsl +1 -1
- package/lib/earth/shaders/bloomsphere_frag.glsl +1 -1
- package/lib/heatmap/index.js +7 -5
- package/lib/heatmap/models/grid.js +1 -3
- package/lib/heatmap/models/grid3d.js +4 -11
- package/lib/heatmap/models/heatmap.js +8 -9
- package/lib/heatmap/models/hexagon.js +2 -6
- package/lib/heatmap/triangulation.js +0 -1
- package/lib/image/index.js +10 -3
- package/lib/image/models/dataImage.js +13 -38
- package/lib/image/models/image.js +5 -10
- package/lib/image/models/index.js +4 -1
- package/lib/image/models/tileDataImage.js +188 -0
- package/lib/line/index.js +7 -2
- package/lib/line/models/arc.js +10 -10
- package/lib/line/models/arc_3d.js +8 -10
- package/lib/line/models/earthArc_3d.js +8 -10
- package/lib/line/models/great_circle.js +7 -7
- package/lib/line/models/half.js +3 -4
- package/lib/line/models/line.js +10 -9
- package/lib/line/models/linearline.js +3 -4
- package/lib/line/models/simpleLine.js +5 -4
- package/lib/line/models/simpleTileLine.js +115 -0
- package/lib/line/models/tile.js +50 -224
- package/lib/line/models/wall.js +11 -47
- package/lib/line/shaders/dash/arc_dash_vert.glsl +2 -0
- package/lib/line/shaders/dash/line_dash_frag.glsl +1 -1
- package/lib/line/shaders/line_arc2d_vert.glsl +2 -2
- package/lib/line/shaders/line_arc_3d_frag.glsl +10 -10
- package/lib/line/shaders/line_arc_3d_vert.glsl +5 -6
- package/lib/line/shaders/line_arc_frag.glsl +9 -10
- package/lib/line/shaders/line_arc_great_circle_frag.glsl +6 -6
- package/lib/line/shaders/line_arc_great_circle_vert.glsl +2 -3
- package/lib/line/shaders/line_arc_vert.glsl +6 -4
- package/lib/line/shaders/line_bezier_vert.glsl +2 -2
- package/lib/line/shaders/line_frag.glsl +5 -6
- package/lib/line/shaders/line_vert.glsl +1 -1
- package/lib/line/shaders/linear/arc3d_linear_frag.glsl +6 -7
- package/lib/line/shaders/linear/arc3d_linear_vert.glsl +11 -12
- package/lib/line/shaders/linear/arc_linear_frag.glsl +1 -1
- package/lib/line/shaders/tile/line_tile_map_vert.glsl +25 -0
- package/lib/line/shaders/tile/line_tile_vert.glsl +19 -177
- package/lib/line/shaders/tile/simpleline_map_vert.glsl +15 -0
- package/lib/line/shaders/tile/simpleline_vert.glsl +21 -0
- package/lib/line/shaders/{wall_frag.glsl → wall/wall_frag.glsl} +21 -25
- package/lib/line/shaders/wall/wall_vert.glsl +77 -0
- package/lib/mask/index.js +82 -5
- package/lib/mask/models/fill.js +14 -10
- package/lib/mask/shaders/mask_vert.glsl +0 -6
- package/lib/plugins/DataMappingPlugin.js +127 -57
- package/lib/plugins/DataSourcePlugin.js +3 -2
- package/lib/plugins/FeatureScalePlugin.js +6 -50
- package/lib/plugins/LayerAnimateStylePlugin.js +6 -29
- package/lib/plugins/LayerModelPlugin.js +2 -6
- package/lib/plugins/LightingPlugin.js +1 -7
- package/lib/plugins/MultiPassRendererPlugin.js +3 -19
- package/lib/plugins/PixelPickingPlugin.js +8 -28
- package/lib/plugins/RegisterStyleAttributePlugin.js +56 -5
- package/lib/plugins/UpdateStyleAttributePlugin.js +2 -9
- package/lib/point/index.js +9 -6
- package/lib/point/models/earthExtrude.js +9 -14
- package/lib/point/models/earthFill.js +2 -2
- package/lib/point/models/extrude.js +9 -12
- package/lib/point/models/fill.js +8 -9
- package/lib/point/models/fillmage.js +5 -6
- package/lib/point/models/image.js +3 -3
- package/lib/point/models/index.js +1 -1
- package/lib/point/models/normal.js +8 -61
- package/lib/point/models/radar.js +5 -70
- package/lib/point/models/simplePoint.js +1 -10
- package/lib/point/models/text.js +7 -10
- package/lib/point/models/tile.js +23 -159
- package/lib/point/models/tileText.js +98 -187
- package/lib/point/shaders/animate/wave_frag.glsl +4 -4
- package/lib/point/shaders/earth/fill_vert.glsl +0 -1
- package/lib/point/shaders/fill_vert.glsl +0 -1
- package/lib/point/shaders/normal_frag.glsl +1 -10
- package/lib/point/shaders/normal_vert.glsl +5 -60
- package/lib/point/shaders/radar/radar_frag.glsl +4 -15
- package/lib/point/shaders/radar/radar_vert.glsl +4 -54
- package/lib/point/shaders/tile/fill_tile_frag.glsl +10 -17
- package/lib/point/shaders/tile/fill_tile_vert.glsl +20 -123
- package/lib/point/shaders/tile/text_frag.glsl +33 -0
- package/lib/point/shaders/tile/text_map_frag.glsl +31 -0
- package/lib/point/shaders/tile/text_map_vert.glsl +38 -0
- package/lib/point/shaders/tile/text_vert.glsl +48 -0
- package/lib/polygon/index.js +6 -2
- package/lib/polygon/models/extrude.js +4 -8
- package/lib/polygon/models/fill.js +3 -4
- package/lib/polygon/models/ocean.js +14 -47
- package/lib/polygon/models/tile.js +24 -57
- package/lib/polygon/models/water.js +14 -47
- package/lib/polygon/shaders/polygon_frag.glsl +2 -2
- package/lib/polygon/shaders/polygon_vert.glsl +2 -2
- package/lib/polygon/shaders/tile/polygon_tile_map_vert.glsl +16 -0
- package/lib/polygon/shaders/tile/polygon_tile_vert.glsl +20 -60
- package/lib/polygon/shaders/water/polygon_ocean_frag.glsl +1 -2
- package/lib/polygon/shaders/water/polygon_ocean_vert.glsl +0 -31
- package/lib/polygon/shaders/water/polygon_water_frag.glsl +1 -3
- package/lib/polygon/shaders/water/polygon_water_vert.glsl +0 -29
- package/lib/raster/buffers/triangulation.js +1 -4
- package/lib/raster/index.js +6 -2
- package/lib/raster/models/raster.js +6 -5
- package/lib/shader/minify_frag.glsl +7 -0
- package/lib/shader/minify_picking_frag.glsl +10 -0
- package/lib/tile/manager/baseMapTileLayerManager.js +222 -0
- package/lib/tile/manager/tileLayerManager.js +12 -2
- package/lib/tile/manager/tilePickerManager.js +1 -2
- package/lib/tile/models/tileModel.js +19 -2
- package/lib/tile/tileFactory/base.js +60 -33
- package/lib/tile/tileFactory/line.js +3 -0
- package/lib/tile/tileFactory/point.js +3 -0
- package/lib/tile/tileFactory/polygon.js +3 -0
- package/lib/tile/tileFactory/raster.js +3 -0
- package/lib/tile/tileFactory/rasterData.js +3 -0
- package/lib/tile/tileFactory/rasterDataLayer.js +6 -2
- package/lib/tile/tileFactory/test.js +26 -5
- package/lib/tile/tileFactory/vectorLayer.js +112 -8
- package/lib/tile/tileLayer/baseMapTileLayer.js +195 -0
- package/lib/tile/tileLayer/baseTileLayer.js +46 -75
- package/lib/tile/tileTest.js +3 -2
- package/lib/tile/tmsMapTileLayer.js +136 -0
- package/lib/tile/tmsTileLayer.js +25 -2
- package/lib/tile/utils.js +38 -0
- package/lib/utils/dataMappingStyle.js +3 -0
- package/lib/utils/layerData.js +2 -2
- package/lib/utils/updateShape.js +2 -2
- package/lib/wind/index.js +6 -2
- package/lib/wind/models/wind.js +7 -7
- package/lib/wind/shaders/wind_vert.glsl +1 -1
- package/package.json +8 -7
- package/es/line/shaders/tile/line_tile_frag.glsl +0 -79
- package/es/line/shaders/wall_vert.glsl +0 -111
- package/es/mask/shaders/mask_frag.glsl +0 -7
- package/es/polygon/shaders/tile/polygon_tile_frag.glsl +0 -12
- package/lib/line/shaders/tile/line_tile_frag.glsl +0 -79
- package/lib/line/shaders/wall_vert.glsl +0 -111
- package/lib/mask/shaders/mask_frag.glsl +0 -7
- package/lib/polygon/shaders/tile/polygon_tile_frag.glsl +0 -12
|
@@ -50,11 +50,17 @@ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflec
|
|
|
50
50
|
|
|
51
51
|
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
|
52
52
|
|
|
53
|
-
/* babel-plugin-inline-import '../shaders/text_frag.glsl' */
|
|
54
|
-
var
|
|
53
|
+
/* babel-plugin-inline-import '../shaders/tile/text_frag.glsl' */
|
|
54
|
+
var text_frag = "#define SDF_PX 8.0\n#define EDGE_GAMMA 0.105\n#define FONT_SIZE 48.0\nuniform sampler2D u_sdf_map;\nuniform float u_gamma_scale : 0.5;\n// uniform float u_font_size : 24.0;\nuniform float u_opacity : 1.0;\nuniform vec4 u_stroke_color : [0, 0, 0, 1];\nuniform float u_stroke_width : 2.0;\nuniform float u_halo_blur : 0.5;\nuniform float u_DevicePixelRatio;\n\nvarying vec4 v_color;\nvarying vec2 v_uv;\nvarying float v_gamma_scale;\nvarying float v_fontScale;\n\n#pragma include \"picking\"\nvoid main() {\n // get sdf from atlas\n float dist = texture2D(u_sdf_map, v_uv).a;\n\n lowp float buff = (6.0 - u_stroke_width / v_fontScale) / SDF_PX;\n highp float gamma = (u_halo_blur * 1.19 / SDF_PX + EDGE_GAMMA) / (v_fontScale * u_gamma_scale) / 1.0;\n\n highp float gamma_scaled = gamma * v_gamma_scale;\n\n highp float alpha = smoothstep(buff - gamma_scaled, buff + gamma_scaled, dist);\n \n gl_FragColor = mix(vec4(v_color.rgb, v_color.a * u_opacity), vec4(u_stroke_color.rgb, u_stroke_color.a * u_opacity), smoothstep(0., 0.5, 1. - dist));\n gl_FragColor.a= gl_FragColor.a * alpha;\n gl_FragColor = filterColor(gl_FragColor);\n}\n";
|
|
55
55
|
|
|
56
|
-
/* babel-plugin-inline-import '../shaders/text_vert.glsl' */
|
|
57
|
-
var
|
|
56
|
+
/* babel-plugin-inline-import '../shaders/tile/text_vert.glsl' */
|
|
57
|
+
var text_vert = "#define SDF_PX 8.0\n#define EDGE_GAMMA 0.105\n#define FONT_SIZE 24.0\nattribute vec3 a_Position;\nattribute vec2 a_tex;\nattribute vec2 a_textOffsets;\nattribute vec4 a_Color;\nattribute float a_Size;\n\nuniform vec2 u_sdf_map_size;\nuniform mat4 u_ModelMatrix;\nuniform mat4 u_Mvp;\n\nvarying vec2 v_uv;\nvarying float v_gamma_scale;\nvarying vec4 v_color;\nvarying float v_fontScale;\n\nuniform float u_opacity : 1;\nuniform float u_stroke_width : 2;\nuniform vec4 u_stroke_color : [0.0, 0.0, 0.0, 0.0];\n\n#pragma include \"projection\"\n#pragma include \"picking\"\n\nvoid main() {\n v_color = a_Color;\n v_uv = a_tex / u_sdf_map_size;\n\n // \u6587\u672C\u7F29\u653E\u6BD4\u4F8B\n float fontScale = a_Size / FONT_SIZE;\n v_fontScale = fontScale;\n\n vec4 project_pos = project_position(vec4(a_Position, 1.0));\n\n vec4 projected_position;\n if(u_CoordinateSystem == COORDINATE_SYSTEM_P20_2) { // gaode2.x\n projected_position = u_Mvp * (vec4(a_Position.xyz, 1.0));\n } else { // else\n projected_position = project_common_position_to_clipspace(vec4(project_pos.xyz, 1.0));\n }\n\n gl_Position = vec4(\n projected_position.xy / projected_position.w + a_textOffsets * fontScale / u_ViewportSize * 2.0 * u_DevicePixelRatio, 0.0, 1.0);\n v_gamma_scale = gl_Position.w;\n setPickingColor(a_PickingColor);\n\n}\n";
|
|
58
|
+
|
|
59
|
+
/* babel-plugin-inline-import '../shaders/tile/text_map_frag.glsl' */
|
|
60
|
+
var text_map_frag = "#define SDF_PX 8.0\n#define EDGE_GAMMA 0.105\n#define FONT_SIZE 48.0\nuniform sampler2D u_sdf_map;\nuniform float u_gamma_scale : 0.5;\n\nuniform float u_opacity : 1.0;\nuniform vec4 u_stroke_color : [0, 0, 0, 1];\nuniform float u_stroke_width : 2.0;\nuniform float u_halo_blur : 0.5;\nuniform float u_DevicePixelRatio;\n\nvarying vec2 v_uv;\nvarying float v_gamma_scale;\nvarying float v_fontScale;\nuniform vec4 u_color;\n\nvoid main() {\n // get sdf from atlas\n float dist = texture2D(u_sdf_map, v_uv).a;\n\n lowp float buff = (6.0 - u_stroke_width / v_fontScale) / SDF_PX;\n highp float gamma = (u_halo_blur * 1.19 / SDF_PX + EDGE_GAMMA) / (v_fontScale * u_gamma_scale) / 1.0;\n\n highp float gamma_scaled = gamma * v_gamma_scale;\n\n highp float alpha = smoothstep(buff - gamma_scaled, buff + gamma_scaled, dist);\n \n gl_FragColor = mix(vec4(u_color.rgb, u_color.a * u_opacity), vec4(u_stroke_color.rgb, u_stroke_color.a * u_opacity), smoothstep(0., 0.5, 1. - dist));\n gl_FragColor.a= gl_FragColor.a * alpha;\n}\n";
|
|
61
|
+
|
|
62
|
+
/* babel-plugin-inline-import '../shaders/tile/text_map_vert.glsl' */
|
|
63
|
+
var text_map_vert = "#define FONT_SIZE 24.0\nattribute vec3 a_Position;\nattribute vec2 a_tex;\nattribute vec2 a_textOffsets;\n\nuniform vec2 u_sdf_map_size;\nuniform mat4 u_ModelMatrix;\nuniform mat4 u_Mvp;\n\nuniform float u_size;\n\nvarying vec2 v_uv;\nvarying float v_gamma_scale;\nvarying float v_fontScale;\n\n#pragma include \"projection\"\n\nvoid main() {\n v_uv = a_tex / u_sdf_map_size;\n\n // \u6587\u672C\u7F29\u653E\u6BD4\u4F8B\n float fontScale = u_size / FONT_SIZE;\n v_fontScale = fontScale;\n\n vec4 project_pos = project_position(vec4(a_Position, 1.0));\n\n vec4 projected_position;\n if(u_CoordinateSystem == COORDINATE_SYSTEM_P20_2) { // gaode2.x\n projected_position = u_Mvp * (vec4(a_Position.xyz, 1.0));\n } else { // else\n projected_position = project_common_position_to_clipspace(vec4(project_pos.xyz, 1.0));\n }\n\n gl_Position = vec4(\n projected_position.xy / projected_position.w + a_textOffsets * fontScale / u_ViewportSize * 2.0 * u_DevicePixelRatio, 0.0, 1.0);\n v_gamma_scale = gl_Position.w;\n\n}\n";
|
|
58
64
|
|
|
59
65
|
function TextTriangulation(feature) {
|
|
60
66
|
// @ts-ignore
|
|
@@ -109,26 +115,26 @@ var TextModel = /*#__PURE__*/function (_BaseModel) {
|
|
|
109
115
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "preTextStyle", {});
|
|
110
116
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "buildModels", /*#__PURE__*/function () {
|
|
111
117
|
var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(callbackModel) {
|
|
112
|
-
var
|
|
118
|
+
var _this$layer$getLayerC, usage;
|
|
113
119
|
|
|
114
120
|
return _regenerator.default.wrap(function _callee$(_context) {
|
|
115
121
|
while (1) {
|
|
116
122
|
switch (_context.prev = _context.next) {
|
|
117
123
|
case 0:
|
|
118
|
-
_ref2 = _this.layer.getLayerConfig(), _ref2$mask = _ref2.mask, mask = _ref2$mask === void 0 ? false : _ref2$mask, _ref2$maskInside = _ref2.maskInside, maskInside = _ref2$maskInside === void 0 ? true : _ref2$maskInside;
|
|
119
|
-
|
|
120
124
|
_this.mapping();
|
|
121
125
|
|
|
126
|
+
_this$layer$getLayerC = _this.layer.getLayerConfig(), usage = _this$layer$getLayerC.usage;
|
|
127
|
+
|
|
122
128
|
_this.layer.buildLayerModel({
|
|
123
|
-
moduleName: '
|
|
124
|
-
vertexShader:
|
|
125
|
-
fragmentShader:
|
|
129
|
+
moduleName: 'pointTileText_' + usage,
|
|
130
|
+
vertexShader: usage === 'basemap' ? text_map_vert : text_vert,
|
|
131
|
+
fragmentShader: usage === 'basemap' ? text_map_frag : text_frag,
|
|
126
132
|
triangulation: TextTriangulation.bind((0, _assertThisInitialized2.default)(_this)),
|
|
127
133
|
depth: {
|
|
128
134
|
enable: false
|
|
129
135
|
},
|
|
130
136
|
blend: _this.getBlend(),
|
|
131
|
-
|
|
137
|
+
pick: usage !== 'basemap'
|
|
132
138
|
}).then(function (model) {
|
|
133
139
|
callbackModel([model]);
|
|
134
140
|
}).catch(function (err) {
|
|
@@ -163,23 +169,26 @@ var TextModel = /*#__PURE__*/function (_BaseModel) {
|
|
|
163
169
|
(0, _createClass2.default)(TextModel, [{
|
|
164
170
|
key: "getUninforms",
|
|
165
171
|
value: function getUninforms() {
|
|
166
|
-
var
|
|
167
|
-
|
|
168
|
-
opacity =
|
|
169
|
-
|
|
170
|
-
stroke =
|
|
171
|
-
|
|
172
|
-
strokeWidth =
|
|
173
|
-
|
|
174
|
-
textAnchor =
|
|
175
|
-
|
|
176
|
-
textAllowOverlap =
|
|
177
|
-
|
|
178
|
-
halo =
|
|
179
|
-
|
|
180
|
-
gamma =
|
|
181
|
-
|
|
182
|
-
|
|
172
|
+
var _ref2 = this.layer.getLayerConfig(),
|
|
173
|
+
_ref2$opacity = _ref2.opacity,
|
|
174
|
+
opacity = _ref2$opacity === void 0 ? 1.0 : _ref2$opacity,
|
|
175
|
+
_ref2$stroke = _ref2.stroke,
|
|
176
|
+
stroke = _ref2$stroke === void 0 ? '#fff' : _ref2$stroke,
|
|
177
|
+
_ref2$strokeWidth = _ref2.strokeWidth,
|
|
178
|
+
strokeWidth = _ref2$strokeWidth === void 0 ? 0 : _ref2$strokeWidth,
|
|
179
|
+
_ref2$textAnchor = _ref2.textAnchor,
|
|
180
|
+
textAnchor = _ref2$textAnchor === void 0 ? 'center' : _ref2$textAnchor,
|
|
181
|
+
_ref2$textAllowOverla = _ref2.textAllowOverlap,
|
|
182
|
+
textAllowOverlap = _ref2$textAllowOverla === void 0 ? false : _ref2$textAllowOverla,
|
|
183
|
+
_ref2$halo = _ref2.halo,
|
|
184
|
+
halo = _ref2$halo === void 0 ? 0.5 : _ref2$halo,
|
|
185
|
+
_ref2$gamma = _ref2.gamma,
|
|
186
|
+
gamma = _ref2$gamma === void 0 ? 2.0 : _ref2$gamma,
|
|
187
|
+
usage = _ref2.usage,
|
|
188
|
+
_ref2$color = _ref2.color,
|
|
189
|
+
color = _ref2$color === void 0 ? '#fff' : _ref2$color,
|
|
190
|
+
_ref2$size = _ref2.size,
|
|
191
|
+
size = _ref2$size === void 0 ? 1 : _ref2$size;
|
|
183
192
|
|
|
184
193
|
var _this$fontService = this.fontService,
|
|
185
194
|
canvas = _this$fontService.canvas,
|
|
@@ -194,68 +203,28 @@ var TextModel = /*#__PURE__*/function (_BaseModel) {
|
|
|
194
203
|
textAnchor: textAnchor,
|
|
195
204
|
textAllowOverlap: textAllowOverlap
|
|
196
205
|
};
|
|
197
|
-
|
|
198
|
-
if (this.dataTextureTest && this.dataTextureNeedUpdate({
|
|
199
|
-
opacity: opacity,
|
|
200
|
-
strokeWidth: strokeWidth,
|
|
201
|
-
stroke: stroke
|
|
202
|
-
})) {
|
|
203
|
-
this.judgeStyleAttributes({
|
|
204
|
-
opacity: opacity,
|
|
205
|
-
strokeWidth: strokeWidth,
|
|
206
|
-
stroke: stroke
|
|
207
|
-
});
|
|
208
|
-
var encodeData = this.layer.getEncodedData();
|
|
209
|
-
|
|
210
|
-
var _this$calDataFrame = this.calDataFrame(this.cellLength, encodeData, this.cellProperties),
|
|
211
|
-
data = _this$calDataFrame.data,
|
|
212
|
-
width = _this$calDataFrame.width,
|
|
213
|
-
height = _this$calDataFrame.height;
|
|
214
|
-
|
|
215
|
-
this.rowCount = height; // 当前数据纹理有多少行
|
|
216
|
-
|
|
217
|
-
this.dataTexture = this.cellLength > 0 && data.length > 0 ? this.createTexture2D({
|
|
218
|
-
flipY: true,
|
|
219
|
-
data: data,
|
|
220
|
-
format: _l7Core.gl.LUMINANCE,
|
|
221
|
-
type: _l7Core.gl.FLOAT,
|
|
222
|
-
width: width,
|
|
223
|
-
height: height
|
|
224
|
-
}) : this.createTexture2D({
|
|
225
|
-
flipY: true,
|
|
226
|
-
data: [1],
|
|
227
|
-
format: _l7Core.gl.LUMINANCE,
|
|
228
|
-
type: _l7Core.gl.FLOAT,
|
|
229
|
-
width: 1,
|
|
230
|
-
height: 1
|
|
231
|
-
});
|
|
232
|
-
}
|
|
233
|
-
|
|
234
206
|
return {
|
|
235
|
-
u_dataTexture: this.dataTexture,
|
|
236
|
-
// 数据纹理 - 有数据映射的时候纹理中带数据,若没有任何数据映射时纹理是 [1]
|
|
237
|
-
u_cellTypeLayout: this.getCellTypeLayout(),
|
|
238
|
-
u_raisingHeight: Number(raisingHeight),
|
|
239
207
|
u_opacity: (0, _lodash.isNumber)(opacity) ? opacity : 1.0,
|
|
240
208
|
u_stroke_width: (0, _lodash.isNumber)(strokeWidth) ? strokeWidth : 1.0,
|
|
241
209
|
u_stroke_color: this.getStrokeColor(stroke),
|
|
242
210
|
u_sdf_map: this.texture,
|
|
243
211
|
u_halo_blur: halo,
|
|
244
212
|
u_gamma_scale: gamma,
|
|
245
|
-
u_sdf_map_size: [canvas.width, canvas.height]
|
|
213
|
+
u_sdf_map_size: [canvas.width, canvas.height],
|
|
214
|
+
u_color: usage === 'basemap' ? (0, _l7Utils.rgb2arr)(color) : [0, 0, 0, 0],
|
|
215
|
+
u_size: usage === 'basemap' ? size : 1
|
|
246
216
|
};
|
|
247
217
|
}
|
|
248
218
|
}, {
|
|
249
219
|
key: "initModels",
|
|
250
220
|
value: function initModels(callbackModel) {
|
|
251
|
-
this.layer.on('remapping', this.mapping);
|
|
252
221
|
this.extent = this.textExtent();
|
|
253
222
|
|
|
254
|
-
var
|
|
255
|
-
|
|
256
|
-
textAnchor =
|
|
257
|
-
|
|
258
|
-
textAllowOverlap =
|
|
223
|
+
var _ref3 = this.layer.getLayerConfig(),
|
|
224
|
+
_ref3$textAnchor = _ref3.textAnchor,
|
|
225
|
+
textAnchor = _ref3$textAnchor === void 0 ? 'center' : _ref3$textAnchor,
|
|
226
|
+
_ref3$textAllowOverla = _ref3.textAllowOverlap,
|
|
227
|
+
textAllowOverlap = _ref3$textAllowOverla === void 0 ? true : _ref3$textAllowOverla;
|
|
259
228
|
|
|
260
229
|
this.preTextStyle = {
|
|
261
230
|
textAnchor: textAnchor,
|
|
@@ -266,70 +235,53 @@ var TextModel = /*#__PURE__*/function (_BaseModel) {
|
|
|
266
235
|
}, {
|
|
267
236
|
key: "clearModels",
|
|
268
237
|
value: function clearModels() {
|
|
269
|
-
var _this$texture
|
|
238
|
+
var _this$texture;
|
|
270
239
|
|
|
271
240
|
(_this$texture = this.texture) === null || _this$texture === void 0 ? void 0 : _this$texture.destroy();
|
|
272
|
-
(_this$dataTexture = this.dataTexture) === null || _this$dataTexture === void 0 ? void 0 : _this$dataTexture.destroy();
|
|
273
|
-
this.layer.off('remapping', this.mapping);
|
|
274
241
|
}
|
|
275
242
|
}, {
|
|
276
243
|
key: "registerBuiltinAttributes",
|
|
277
244
|
value: function registerBuiltinAttributes() {
|
|
278
|
-
this.
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
descriptor: {
|
|
282
|
-
name: 'a_Rotate',
|
|
283
|
-
buffer: {
|
|
284
|
-
usage: _l7Core.gl.DYNAMIC_DRAW,
|
|
285
|
-
data: [],
|
|
286
|
-
type: _l7Core.gl.FLOAT
|
|
287
|
-
},
|
|
288
|
-
size: 1,
|
|
289
|
-
update: function update(feature, featureIdx, vertex, attributeIdx) {
|
|
290
|
-
var _feature$rotate = feature.rotate,
|
|
291
|
-
rotate = _feature$rotate === void 0 ? 0 : _feature$rotate;
|
|
292
|
-
return Array.isArray(rotate) ? [rotate[0]] : [rotate];
|
|
293
|
-
}
|
|
294
|
-
}
|
|
295
|
-
});
|
|
245
|
+
var _this$layer$getLayerC2 = this.layer.getLayerConfig(),
|
|
246
|
+
usage = _this$layer$getLayerC2.usage;
|
|
247
|
+
|
|
296
248
|
this.styleAttributeService.registerStyleAttribute({
|
|
297
249
|
name: 'textOffsets',
|
|
298
250
|
type: _l7Core.AttributeType.Attribute,
|
|
299
251
|
descriptor: {
|
|
300
252
|
name: 'a_textOffsets',
|
|
301
253
|
buffer: {
|
|
302
|
-
// give the WebGL driver a hint that this buffer may change
|
|
303
254
|
usage: _l7Core.gl.STATIC_DRAW,
|
|
304
255
|
data: [],
|
|
305
256
|
type: _l7Core.gl.FLOAT
|
|
306
257
|
},
|
|
307
258
|
size: 2,
|
|
308
|
-
update: function update(feature, featureIdx, vertex
|
|
259
|
+
update: function update(feature, featureIdx, vertex) {
|
|
309
260
|
return [vertex[5], vertex[6]];
|
|
310
261
|
}
|
|
311
262
|
}
|
|
312
|
-
});
|
|
263
|
+
});
|
|
313
264
|
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
265
|
+
if (usage !== 'basemap') {
|
|
266
|
+
this.styleAttributeService.registerStyleAttribute({
|
|
267
|
+
name: 'size',
|
|
268
|
+
type: _l7Core.AttributeType.Attribute,
|
|
269
|
+
descriptor: {
|
|
270
|
+
name: 'a_Size',
|
|
271
|
+
buffer: {
|
|
272
|
+
usage: _l7Core.gl.DYNAMIC_DRAW,
|
|
273
|
+
data: [],
|
|
274
|
+
type: _l7Core.gl.FLOAT
|
|
275
|
+
},
|
|
276
|
+
size: 1,
|
|
277
|
+
update: function update(feature) {
|
|
278
|
+
var _feature$size = feature.size,
|
|
279
|
+
size = _feature$size === void 0 ? 12 : _feature$size;
|
|
280
|
+
return Array.isArray(size) ? [size[0]] : [size];
|
|
281
|
+
}
|
|
330
282
|
}
|
|
331
|
-
}
|
|
332
|
-
}
|
|
283
|
+
});
|
|
284
|
+
}
|
|
333
285
|
|
|
334
286
|
this.styleAttributeService.registerStyleAttribute({
|
|
335
287
|
name: 'textUv',
|
|
@@ -337,13 +289,12 @@ var TextModel = /*#__PURE__*/function (_BaseModel) {
|
|
|
337
289
|
descriptor: {
|
|
338
290
|
name: 'a_tex',
|
|
339
291
|
buffer: {
|
|
340
|
-
// give the WebGL driver a hint that this buffer may change
|
|
341
292
|
usage: _l7Core.gl.DYNAMIC_DRAW,
|
|
342
293
|
data: [],
|
|
343
294
|
type: _l7Core.gl.FLOAT
|
|
344
295
|
},
|
|
345
296
|
size: 2,
|
|
346
|
-
update: function update(feature, featureIdx, vertex
|
|
297
|
+
update: function update(feature, featureIdx, vertex) {
|
|
347
298
|
return [vertex[3], vertex[4]];
|
|
348
299
|
}
|
|
349
300
|
}
|
|
@@ -362,11 +313,11 @@ var TextModel = /*#__PURE__*/function (_BaseModel) {
|
|
|
362
313
|
}, {
|
|
363
314
|
key: "initTextFont",
|
|
364
315
|
value: function initTextFont() {
|
|
365
|
-
var
|
|
366
|
-
|
|
367
|
-
fontWeight =
|
|
368
|
-
|
|
369
|
-
fontFamily =
|
|
316
|
+
var _ref4 = this.layer.getLayerConfig(),
|
|
317
|
+
_ref4$fontWeight = _ref4.fontWeight,
|
|
318
|
+
fontWeight = _ref4$fontWeight === void 0 ? '400' : _ref4$fontWeight,
|
|
319
|
+
_ref4$fontFamily = _ref4.fontFamily,
|
|
320
|
+
fontFamily = _ref4$fontFamily === void 0 ? 'sans-serif' : _ref4$fontFamily;
|
|
370
321
|
|
|
371
322
|
var data = this.layer.getEncodedData();
|
|
372
323
|
var characterSet = [];
|
|
@@ -400,54 +351,22 @@ var TextModel = /*#__PURE__*/function (_BaseModel) {
|
|
|
400
351
|
iconfont: false
|
|
401
352
|
});
|
|
402
353
|
}
|
|
403
|
-
/**
|
|
404
|
-
* 生成 iconfont 纹理字典
|
|
405
|
-
*/
|
|
406
|
-
|
|
407
|
-
}, {
|
|
408
|
-
key: "initIconFontTex",
|
|
409
|
-
value: function initIconFontTex() {
|
|
410
|
-
var _ref6 = this.layer.getLayerConfig(),
|
|
411
|
-
_ref6$fontWeight = _ref6.fontWeight,
|
|
412
|
-
fontWeight = _ref6$fontWeight === void 0 ? '400' : _ref6$fontWeight,
|
|
413
|
-
_ref6$fontFamily = _ref6.fontFamily,
|
|
414
|
-
fontFamily = _ref6$fontFamily === void 0 ? 'sans-serif' : _ref6$fontFamily;
|
|
415
|
-
|
|
416
|
-
var data = this.layer.getEncodedData();
|
|
417
|
-
var characterSet = [];
|
|
418
|
-
data.forEach(function (item) {
|
|
419
|
-
var _item$shape2 = item.shape,
|
|
420
|
-
shape = _item$shape2 === void 0 ? '' : _item$shape2;
|
|
421
|
-
shape = "".concat(shape);
|
|
422
|
-
|
|
423
|
-
if (characterSet.indexOf(shape) === -1) {
|
|
424
|
-
characterSet.push(shape);
|
|
425
|
-
}
|
|
426
|
-
});
|
|
427
|
-
this.fontService.setFontOptions({
|
|
428
|
-
characterSet: characterSet,
|
|
429
|
-
fontWeight: fontWeight,
|
|
430
|
-
fontFamily: fontFamily,
|
|
431
|
-
iconfont: true
|
|
432
|
-
});
|
|
433
|
-
}
|
|
434
354
|
/**
|
|
435
355
|
* 生成文字布局(对照文字纹理字典提取对应文字的位置很好信息)
|
|
436
356
|
*/
|
|
437
357
|
|
|
438
358
|
}, {
|
|
439
359
|
key: "generateGlyphLayout",
|
|
440
|
-
value: function generateGlyphLayout(
|
|
360
|
+
value: function generateGlyphLayout() {
|
|
441
361
|
var _this2 = this;
|
|
442
362
|
|
|
443
|
-
// TODO:更新文字布局
|
|
444
363
|
var mapping = this.fontService.mapping;
|
|
445
364
|
|
|
446
|
-
var
|
|
447
|
-
|
|
448
|
-
spacing =
|
|
449
|
-
|
|
450
|
-
textAnchor =
|
|
365
|
+
var _ref5 = this.layer.getLayerConfig(),
|
|
366
|
+
_ref5$spacing = _ref5.spacing,
|
|
367
|
+
spacing = _ref5$spacing === void 0 ? 2 : _ref5$spacing,
|
|
368
|
+
_ref5$textAnchor = _ref5.textAnchor,
|
|
369
|
+
textAnchor = _ref5$textAnchor === void 0 ? 'center' : _ref5$textAnchor;
|
|
451
370
|
|
|
452
371
|
var data = this.layer.getEncodedData();
|
|
453
372
|
this.glyphInfo = data.map(function (feature) {
|
|
@@ -459,7 +378,7 @@ var TextModel = /*#__PURE__*/function (_BaseModel) {
|
|
|
459
378
|
_feature$textOffset = feature.textOffset,
|
|
460
379
|
textOffset = _feature$textOffset === void 0 ? [0, 0] : _feature$textOffset;
|
|
461
380
|
var shaping = (0, _symbolLayout.shapeText)(shape.toString(), mapping, // @ts-ignore
|
|
462
|
-
size, textAnchor, 'left', spacing, textOffset,
|
|
381
|
+
size, textAnchor, 'left', spacing, textOffset, false);
|
|
463
382
|
var glyphQuads = (0, _symbolLayout.getGlyphQuads)(shaping, textOffset, false);
|
|
464
383
|
feature.shaping = shaping;
|
|
465
384
|
feature.glyphQuads = glyphQuads;
|
|
@@ -483,11 +402,11 @@ var TextModel = /*#__PURE__*/function (_BaseModel) {
|
|
|
483
402
|
value: function filterGlyphs() {
|
|
484
403
|
var _this3 = this;
|
|
485
404
|
|
|
486
|
-
var
|
|
487
|
-
|
|
488
|
-
padding =
|
|
489
|
-
|
|
490
|
-
textAllowOverlap =
|
|
405
|
+
var _ref6 = this.layer.getLayerConfig(),
|
|
406
|
+
_ref6$padding = _ref6.padding,
|
|
407
|
+
padding = _ref6$padding === void 0 ? [4, 4] : _ref6$padding,
|
|
408
|
+
_ref6$textAllowOverla = _ref6.textAllowOverlap,
|
|
409
|
+
textAllowOverlap = _ref6$textAllowOverla === void 0 ? false : _ref6$textAllowOverla;
|
|
491
410
|
|
|
492
411
|
if (textAllowOverlap) {
|
|
493
412
|
// 如果允许文本覆盖
|
|
@@ -524,7 +443,6 @@ var TextModel = /*#__PURE__*/function (_BaseModel) {
|
|
|
524
443
|
box = _collisionIndex$place.box;
|
|
525
444
|
|
|
526
445
|
if (box && box.length) {
|
|
527
|
-
// TODO:featureIndex
|
|
528
446
|
collisionIndex.insertCollisionBox(box, id);
|
|
529
447
|
return true;
|
|
530
448
|
} else {
|
|
@@ -543,14 +461,10 @@ var TextModel = /*#__PURE__*/function (_BaseModel) {
|
|
|
543
461
|
}, {
|
|
544
462
|
key: "initGlyph",
|
|
545
463
|
value: function initGlyph() {
|
|
546
|
-
|
|
547
|
-
|
|
548
|
-
iconfont = _this$layer$getLayerC2 === void 0 ? false : _this$layer$getLayerC2; // 1.生成文字纹理(或是生成 iconfont)
|
|
549
|
-
|
|
550
|
-
|
|
551
|
-
iconfont ? this.initIconFontTex() : this.initTextFont(); // 2.生成文字布局
|
|
464
|
+
// 1.生成文字纹理
|
|
465
|
+
this.initTextFont(); // 2.生成文字布局
|
|
552
466
|
|
|
553
|
-
this.generateGlyphLayout(
|
|
467
|
+
this.generateGlyphLayout();
|
|
554
468
|
}
|
|
555
469
|
/**
|
|
556
470
|
* 更新文字纹理
|
|
@@ -580,27 +494,24 @@ var TextModel = /*#__PURE__*/function (_BaseModel) {
|
|
|
580
494
|
value: function reBuildModel() {
|
|
581
495
|
var _this4 = this;
|
|
582
496
|
|
|
583
|
-
var
|
|
584
|
-
|
|
585
|
-
mask = _ref9$mask === void 0 ? false : _ref9$mask,
|
|
586
|
-
_ref9$maskInside = _ref9.maskInside,
|
|
587
|
-
maskInside = _ref9$maskInside === void 0 ? true : _ref9$maskInside;
|
|
497
|
+
var _this$layer$getLayerC3 = this.layer.getLayerConfig(),
|
|
498
|
+
usage = _this$layer$getLayerC3.usage;
|
|
588
499
|
|
|
589
500
|
this.filterGlyphs();
|
|
590
501
|
this.layer.buildLayerModel({
|
|
591
|
-
moduleName: '
|
|
592
|
-
vertexShader:
|
|
593
|
-
fragmentShader:
|
|
502
|
+
moduleName: 'pointTileText_' + usage,
|
|
503
|
+
vertexShader: usage === 'basemap' ? text_map_vert : text_vert,
|
|
504
|
+
fragmentShader: usage === 'basemap' ? text_map_frag : text_frag,
|
|
594
505
|
triangulation: TextTriangulation.bind(this),
|
|
595
506
|
depth: {
|
|
596
507
|
enable: false
|
|
597
508
|
},
|
|
598
509
|
blend: this.getBlend(),
|
|
599
|
-
|
|
510
|
+
pick: usage !== 'basemap'
|
|
600
511
|
}).then(function (model) {
|
|
601
512
|
_this4.layer.models = [model];
|
|
602
513
|
|
|
603
|
-
_this4.
|
|
514
|
+
_this4.layerService.throttleRenderLayers();
|
|
604
515
|
}).catch(function (err) {
|
|
605
516
|
console.warn(err);
|
|
606
517
|
_this4.layer.models = [];
|
|
@@ -7,7 +7,7 @@ varying vec4 v_data;
|
|
|
7
7
|
varying vec4 v_color;
|
|
8
8
|
varying float v_radius;
|
|
9
9
|
uniform float u_time;
|
|
10
|
-
uniform vec4
|
|
10
|
+
uniform vec4 u_animate: [ 1., 2., 1.0, 0.2 ];
|
|
11
11
|
|
|
12
12
|
#pragma include "sdf_2d"
|
|
13
13
|
#pragma include "picking"
|
|
@@ -51,12 +51,12 @@ void main() {
|
|
|
51
51
|
if(d > 0.5) {
|
|
52
52
|
discard;
|
|
53
53
|
}
|
|
54
|
-
float intensity = clamp(cos(d * PI), 0.0, 1.0) * clamp(cos(2.0 * PI * (d * 2.0 *
|
|
54
|
+
float intensity = clamp(cos(d * PI), 0.0, 1.0) * clamp(cos(2.0 * PI * (d * 2.0 * u_animate.z - u_animate.y * u_time)), 0.0, 1.0);
|
|
55
55
|
|
|
56
|
-
//
|
|
56
|
+
// 根据叠加模式选择效果
|
|
57
57
|
if(u_additive > 0.0) {
|
|
58
58
|
gl_FragColor *= intensity;
|
|
59
|
-
//
|
|
59
|
+
// 优化水波点 blend additive 模式下有的拾取效果
|
|
60
60
|
gl_FragColor = filterColorAlpha(gl_FragColor, gl_FragColor.a);
|
|
61
61
|
} else {
|
|
62
62
|
gl_FragColor = vec4(gl_FragColor.xyz, gl_FragColor.a * intensity);
|
|
@@ -1,15 +1,6 @@
|
|
|
1
|
-
|
|
2
1
|
uniform float u_opacity : 1;
|
|
3
|
-
uniform vec2 u_offsets;
|
|
4
2
|
varying vec4 v_color;
|
|
5
|
-
varying mat4 styleMappingMat; // 传递从片元中传递的映射数据
|
|
6
|
-
|
|
7
|
-
#pragma include "picking"
|
|
8
3
|
void main() {
|
|
9
|
-
float opacity = styleMappingMat[0][0];
|
|
10
|
-
|
|
11
4
|
gl_FragColor = v_color;
|
|
12
|
-
|
|
13
|
-
gl_FragColor.a =gl_FragColor.a * opacity;
|
|
14
|
-
gl_FragColor = filterColor(gl_FragColor);
|
|
5
|
+
gl_FragColor.a *= u_opacity;
|
|
15
6
|
}
|
|
@@ -4,76 +4,21 @@ uniform mat4 u_ModelMatrix;
|
|
|
4
4
|
uniform mat4 u_Mvp;
|
|
5
5
|
attribute float a_Size;
|
|
6
6
|
attribute vec4 a_Color;
|
|
7
|
-
varying vec4 v_color;
|
|
8
|
-
|
|
9
|
-
uniform float u_opacity : 1;
|
|
10
|
-
uniform vec2 u_offsets;
|
|
11
7
|
|
|
12
|
-
varying
|
|
13
|
-
|
|
14
|
-
#pragma include "styleMapping"
|
|
15
|
-
#pragma include "styleMappingCalOpacity"
|
|
8
|
+
varying vec4 v_color;
|
|
16
9
|
|
|
17
10
|
#pragma include "projection"
|
|
18
|
-
#pragma include "picking"
|
|
19
11
|
#pragma include "project"
|
|
12
|
+
|
|
20
13
|
void main() {
|
|
21
14
|
v_color = a_Color;
|
|
22
15
|
|
|
23
|
-
// cal style mapping - 数据纹理映射部分的计算
|
|
24
|
-
styleMappingMat = mat4(
|
|
25
|
-
0.0, 0.0, 0.0, 0.0, // opacity - strokeOpacity - strokeWidth - empty
|
|
26
|
-
0.0, 0.0, 0.0, 0.0, // strokeR - strokeG - strokeB - strokeA
|
|
27
|
-
0.0, 0.0, 0.0, 0.0, // offsets[0] - offsets[1]
|
|
28
|
-
0.0, 0.0, 0.0, 0.0
|
|
29
|
-
);
|
|
30
|
-
|
|
31
|
-
float rowCount = u_cellTypeLayout[0][0]; // 当前的数据纹理有几行
|
|
32
|
-
float columnCount = u_cellTypeLayout[0][1]; // 当看到数据纹理有几列
|
|
33
|
-
float columnWidth = 1.0/columnCount; // 列宽
|
|
34
|
-
float rowHeight = 1.0/rowCount; // 行高
|
|
35
|
-
float cellCount = calCellCount(); // opacity - strokeOpacity - strokeWidth - stroke - offsets
|
|
36
|
-
float id = a_vertexId; // 第n个顶点
|
|
37
|
-
float cellCurrentRow = floor(id * cellCount / columnCount) + 1.0; // 起始点在第几行
|
|
38
|
-
float cellCurrentColumn = mod(id * cellCount, columnCount) + 1.0; // 起始点在第几列
|
|
39
|
-
|
|
40
|
-
// cell 固定顺序 opacity -> strokeOpacity -> strokeWidth -> stroke ...
|
|
41
|
-
// 按顺序从 cell 中取值、若没有则自动往下取值
|
|
42
|
-
float textureOffset = 0.0; // 在 cell 中取值的偏移量
|
|
43
|
-
|
|
44
|
-
vec2 opacityAndOffset = calOpacityAndOffset(cellCurrentRow, cellCurrentColumn, columnCount, textureOffset, columnWidth, rowHeight);
|
|
45
|
-
styleMappingMat[0][0] = opacityAndOffset.r;
|
|
46
|
-
textureOffset = opacityAndOffset.g;
|
|
47
|
-
|
|
48
|
-
vec2 textrueOffsets = vec2(0.0, 0.0);
|
|
49
|
-
if(hasOffsets()) {
|
|
50
|
-
vec2 valueXPos = nextPos(cellCurrentRow, cellCurrentColumn, columnCount, textureOffset);
|
|
51
|
-
textrueOffsets.r = pos2value(valueXPos, columnWidth, rowHeight); // x
|
|
52
|
-
textureOffset += 1.0;
|
|
53
|
-
|
|
54
|
-
vec2 valueYPos = nextPos(cellCurrentRow, cellCurrentColumn, columnCount, textureOffset);
|
|
55
|
-
textrueOffsets.g = pos2value(valueYPos, columnWidth, rowHeight); // x
|
|
56
|
-
textureOffset += 1.0;
|
|
57
|
-
} else {
|
|
58
|
-
textrueOffsets = u_offsets;
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
// cal style mapping
|
|
62
|
-
|
|
63
|
-
// vec2 offset = project_pixel(u_offsets);
|
|
64
|
-
vec2 offset = project_pixel(textrueOffsets);
|
|
65
|
-
// vec4 project_pos = project_position(vec4(a_Position, 1.0)) + vec4(a_Size / 2.,-a_Size /2.,0.,0.);
|
|
66
|
-
// gl_Position = project_common_position_to_clipspace(vec4(vec2(project_pos.xy+offset),project_pos.z,project_pos.w));\
|
|
67
|
-
//
|
|
68
16
|
if(u_CoordinateSystem == COORDINATE_SYSTEM_P20_2) { // gaode2.x
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
} else { // else
|
|
72
|
-
// vec2 offset = project_pixel(u_offsets);
|
|
17
|
+
gl_Position = u_Mvp * vec4(a_Position.xy, a_Position.z, 1.0);
|
|
18
|
+
} else {
|
|
73
19
|
vec4 project_pos = project_position(vec4(a_Position, 1.0)) + vec4(a_Size / 2.,-a_Size /2.,0.,0.);
|
|
74
|
-
gl_Position = project_common_position_to_clipspace(vec4(vec2(project_pos.xy
|
|
20
|
+
gl_Position = project_common_position_to_clipspace(vec4(vec2(project_pos.xy),project_pos.z,project_pos.w));
|
|
75
21
|
}
|
|
76
22
|
|
|
77
23
|
gl_PointSize = a_Size * 2.0 * u_DevicePixelRatio;
|
|
78
|
-
setPickingColor(a_PickingColor);
|
|
79
24
|
}
|