@antv/l7-layers 2.9.32-alpha.3 → 2.9.32-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.d.ts +32 -0
- package/es/Geometry/index.js +118 -0
- package/es/Geometry/models/billboard.d.ts +26 -0
- package/es/Geometry/models/billboard.js +228 -0
- package/es/Geometry/models/index.d.ts +5 -0
- package/es/Geometry/models/index.js +9 -0
- package/es/Geometry/models/plane.d.ts +45 -0
- package/es/Geometry/models/plane.js +419 -0
- package/es/Geometry/models/sprite.d.ts +47 -0
- package/es/Geometry/models/sprite.js +301 -0
- package/es/Geometry/shaders/billboard_frag.glsl +13 -0
- package/es/Geometry/shaders/billboard_vert.glsl +50 -0
- package/es/Geometry/shaders/plane_frag.glsl +22 -0
- package/es/Geometry/shaders/plane_vert.glsl +53 -0
- package/es/Geometry/shaders/sprite_frag.glsl +21 -0
- package/es/Geometry/shaders/sprite_vert.glsl +28 -0
- package/es/canvas/index.d.ts +23 -0
- package/es/canvas/index.js +121 -0
- package/es/canvas/models/canvas.d.ts +18 -0
- package/es/canvas/models/canvas.js +212 -0
- package/es/canvas/models/index.d.ts +5 -0
- package/es/canvas/models/index.js +5 -0
- package/es/citybuliding/building.d.ts +17 -0
- package/es/citybuliding/building.js +86 -0
- package/es/citybuliding/models/build.d.ts +22 -0
- package/es/citybuliding/models/build.js +187 -0
- package/es/citybuliding/shaders/build_frag.glsl +117 -0
- package/es/citybuliding/shaders/build_vert.glsl +54 -0
- package/es/core/BaseLayer.d.ts +224 -0
- package/es/core/BaseLayer.js +1415 -0
- package/es/core/BaseModel.d.ts +140 -0
- package/es/core/BaseModel.js +489 -0
- package/es/core/interface.d.ts +221 -0
- package/es/core/interface.js +30 -0
- package/es/core/schema.d.ts +27 -0
- package/es/core/schema.js +25 -0
- package/es/core/shape/Path.d.ts +39 -0
- package/es/core/shape/Path.js +62 -0
- package/es/core/shape/extrude.d.ts +17 -0
- package/es/core/shape/extrude.js +148 -0
- package/es/core/triangulation.d.ts +128 -0
- package/es/core/triangulation.js +553 -0
- package/es/earth/index.d.ts +22 -0
- package/es/earth/index.js +98 -0
- package/es/earth/models/atmosphere.d.ts +9 -0
- package/es/earth/models/atmosphere.js +135 -0
- package/es/earth/models/base.d.ts +16 -0
- package/es/earth/models/base.js +206 -0
- package/es/earth/models/bloomsphere.d.ts +9 -0
- package/es/earth/models/bloomsphere.js +134 -0
- package/es/earth/shaders/atmosphere_frag.glsl +17 -0
- package/es/earth/shaders/atmosphere_vert.glsl +26 -0
- package/es/earth/shaders/base_frag.glsl +13 -0
- package/es/earth/shaders/base_vert.glsl +52 -0
- package/es/earth/shaders/bloomsphere_frag.glsl +15 -0
- package/es/earth/shaders/bloomsphere_vert.glsl +20 -0
- package/es/earth/utils.d.ts +26 -0
- package/es/earth/utils.js +104 -0
- package/es/glsl.d.ts +5 -0
- package/es/heatmap/index.d.ts +21 -0
- package/es/heatmap/index.js +141 -0
- package/es/heatmap/models/grid.d.ts +8 -0
- package/es/heatmap/models/grid.js +106 -0
- package/es/heatmap/models/grid3d.d.ts +8 -0
- package/es/heatmap/models/grid3d.js +140 -0
- package/es/heatmap/models/heatmap.d.ts +24 -0
- package/es/heatmap/models/heatmap.js +463 -0
- package/es/heatmap/models/hexagon.d.ts +8 -0
- package/es/heatmap/models/hexagon.js +107 -0
- package/es/heatmap/models/index.d.ts +5 -0
- package/es/heatmap/models/index.js +12 -0
- package/es/heatmap/shaders/grid_vert.glsl +42 -0
- package/es/heatmap/shaders/heatmap_3d_frag.glsl +14 -0
- package/es/heatmap/shaders/heatmap_3d_vert.glsl +46 -0
- package/es/heatmap/shaders/heatmap_frag.glsl +47 -0
- package/es/heatmap/shaders/heatmap_framebuffer_frag.glsl +10 -0
- package/es/heatmap/shaders/heatmap_framebuffer_vert.glsl +35 -0
- package/es/heatmap/shaders/heatmap_vert.glsl +10 -0
- package/es/heatmap/shaders/hexagon_3d_frag.glsl +0 -0
- package/es/heatmap/shaders/hexagon_3d_vert.glsl +64 -0
- package/es/heatmap/shaders/hexagon_frag.glsl +12 -0
- package/es/heatmap/shaders/hexagon_vert.glsl +41 -0
- package/es/heatmap/triangulation.d.ts +5 -0
- package/es/heatmap/triangulation.js +37 -0
- package/es/image/index.d.ts +19 -0
- package/es/image/index.js +104 -0
- package/es/image/models/dataImage.d.ts +22 -0
- package/es/image/models/dataImage.js +200 -0
- package/es/image/models/image.d.ts +19 -0
- package/es/image/models/image.js +164 -0
- package/es/image/models/index.d.ts +5 -0
- package/es/image/models/index.js +9 -0
- package/es/image/models/tileDataImage.d.ts +19 -0
- package/es/image/models/tileDataImage.js +174 -0
- package/es/image/shaders/dataImage_frag.glsl +38 -0
- package/es/image/shaders/image_frag.glsl +9 -0
- package/es/image/shaders/image_vert.glsl +17 -0
- package/es/index.d.ts +17 -0
- package/es/index.js +107 -0
- package/es/line/index.d.ts +43 -0
- package/es/line/index.js +140 -0
- package/es/line/models/arc.d.ts +17 -0
- package/es/line/models/arc.js +356 -0
- package/es/line/models/arc_3d.d.ts +17 -0
- package/es/line/models/arc_3d.js +333 -0
- package/es/line/models/earthArc_3d.d.ts +17 -0
- package/es/line/models/earthArc_3d.js +336 -0
- package/es/line/models/great_circle.d.ts +12 -0
- package/es/line/models/great_circle.js +294 -0
- package/es/line/models/half.d.ts +18 -0
- package/es/line/models/half.js +281 -0
- package/es/line/models/index.d.ts +5 -0
- package/es/line/models/index.js +25 -0
- package/es/line/models/line.d.ts +21 -0
- package/es/line/models/line.js +443 -0
- package/es/line/models/linearline.d.ts +11 -0
- package/es/line/models/linearline.js +275 -0
- package/es/line/models/simpleLine.d.ts +14 -0
- package/es/line/models/simpleLine.js +234 -0
- package/es/line/models/simpleTileLine.d.ts +9 -0
- package/es/line/models/simpleTileLine.js +100 -0
- package/es/line/models/tile.d.ts +8 -0
- package/es/line/models/tile.js +178 -0
- package/es/line/models/wall.d.ts +12 -0
- package/es/line/models/wall.js +293 -0
- package/es/line/shaders/arc_chunks.vert.glsl +21 -0
- package/es/line/shaders/dash/arc_dash_frag.glsl +28 -0
- package/es/line/shaders/dash/arc_dash_vert.glsl +150 -0
- package/es/line/shaders/dash/line_dash_frag.glsl +31 -0
- package/es/line/shaders/dash/line_dash_vert.glsl +93 -0
- package/es/line/shaders/half/line_half_frag.glsl +53 -0
- package/es/line/shaders/half/line_half_vert.glsl +169 -0
- package/es/line/shaders/line_arc2d_vert.glsl +114 -0
- package/es/line/shaders/line_arc_3d_frag.glsl +103 -0
- package/es/line/shaders/line_arc_3d_vert.glsl +206 -0
- package/es/line/shaders/line_arc_frag.glsl +88 -0
- package/es/line/shaders/line_arc_great_circle_frag.glsl +101 -0
- package/es/line/shaders/line_arc_great_circle_vert.glsl +214 -0
- package/es/line/shaders/line_arc_vert.glsl +178 -0
- package/es/line/shaders/line_bezier_vert.glsl +85 -0
- package/es/line/shaders/line_frag.glsl +99 -0
- package/es/line/shaders/line_vert.glsl +192 -0
- package/es/line/shaders/linear/arc3d_linear_frag.glsl +46 -0
- package/es/line/shaders/linear/arc3d_linear_vert.glsl +206 -0
- package/es/line/shaders/linear/arc_linear_frag.glsl +38 -0
- package/es/line/shaders/linear/arc_linear_vert.glsl +138 -0
- package/es/line/shaders/linear/line_linear_frag.glsl +27 -0
- package/es/line/shaders/linearLine/line_linear_frag.glsl +20 -0
- package/es/line/shaders/linearLine/line_linear_vert.glsl +112 -0
- package/es/line/shaders/simple/simpleline_frag.glsl +10 -0
- package/es/line/shaders/simple/simpleline_linear_frag.glsl +11 -0
- package/es/line/shaders/simple/simpleline_vert.glsl +79 -0
- package/es/line/shaders/tile/line_tile_map_vert.glsl +25 -0
- package/es/line/shaders/tile/line_tile_vert.glsl +52 -0
- 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/wall_frag.glsl +89 -0
- package/es/line/shaders/wall/wall_vert.glsl +77 -0
- package/es/mask/index.d.ts +27 -0
- package/es/mask/index.js +153 -0
- package/es/mask/models/fill.d.ts +12 -0
- package/es/mask/models/fill.js +124 -0
- package/es/mask/models/index.d.ts +5 -0
- package/es/mask/models/index.js +5 -0
- package/es/mask/shaders/mask_vert.glsl +16 -0
- package/es/plugins/DataMappingPlugin.d.ts +19 -0
- package/es/plugins/DataMappingPlugin.js +420 -0
- package/es/plugins/DataSourcePlugin.d.ts +7 -0
- package/es/plugins/DataSourcePlugin.js +84 -0
- package/es/plugins/FeatureScalePlugin.d.ts +24 -0
- package/es/plugins/FeatureScalePlugin.js +340 -0
- package/es/plugins/LayerAnimateStylePlugin.d.ts +5 -0
- package/es/plugins/LayerAnimateStylePlugin.js +29 -0
- package/es/plugins/LayerModelPlugin.d.ts +10 -0
- package/es/plugins/LayerModelPlugin.js +72 -0
- package/es/plugins/LayerStylePlugin.d.ts +8 -0
- package/es/plugins/LayerStylePlugin.js +39 -0
- package/es/plugins/LightingPlugin.d.ts +36 -0
- package/es/plugins/LightingPlugin.js +104 -0
- package/es/plugins/MultiPassRendererPlugin.d.ts +23 -0
- package/es/plugins/MultiPassRendererPlugin.js +65 -0
- package/es/plugins/PixelPickingPlugin.d.ts +8 -0
- package/es/plugins/PixelPickingPlugin.js +126 -0
- package/es/plugins/RegisterStyleAttributePlugin.d.ts +15 -0
- package/es/plugins/RegisterStyleAttributePlugin.js +156 -0
- package/es/plugins/ShaderUniformPlugin.d.ts +17 -0
- package/es/plugins/ShaderUniformPlugin.js +107 -0
- package/es/plugins/UpdateModelPlugin.d.ts +8 -0
- package/es/plugins/UpdateModelPlugin.js +31 -0
- package/es/plugins/UpdateStyleAttributePlugin.d.ts +12 -0
- package/es/plugins/UpdateStyleAttributePlugin.js +83 -0
- package/es/point/index.d.ts +40 -0
- package/es/point/index.js +229 -0
- package/es/point/models/earthExtrude.d.ts +24 -0
- package/es/point/models/earthExtrude.js +274 -0
- package/es/point/models/earthFill.d.ts +11 -0
- package/es/point/models/earthFill.js +258 -0
- package/es/point/models/extrude.d.ts +24 -0
- package/es/point/models/extrude.js +295 -0
- package/es/point/models/fill.d.ts +40 -0
- package/es/point/models/fill.js +403 -0
- package/es/point/models/fillmage.d.ts +25 -0
- package/es/point/models/fillmage.js +366 -0
- package/es/point/models/image.d.ts +11 -0
- package/es/point/models/image.js +239 -0
- package/es/point/models/index.d.ts +5 -0
- package/es/point/models/index.js +30 -0
- package/es/point/models/normal.d.ts +16 -0
- package/es/point/models/normal.js +124 -0
- package/es/point/models/radar.d.ts +24 -0
- package/es/point/models/radar.js +232 -0
- package/es/point/models/simplePoint.d.ts +16 -0
- package/es/point/models/simplePoint.js +179 -0
- package/es/point/models/text.d.ts +57 -0
- package/es/point/models/text.js +619 -0
- package/es/point/models/tile.d.ts +15 -0
- package/es/point/models/tile.js +175 -0
- package/es/point/models/tileText.d.ts +52 -0
- package/es/point/models/tileText.js +509 -0
- package/es/point/shaders/animate/wave_frag.glsl +65 -0
- package/es/point/shaders/earth/extrude_frag.glsl +44 -0
- package/es/point/shaders/earth/extrude_vert.glsl +140 -0
- package/es/point/shaders/earth/fill_frag.glsl +86 -0
- package/es/point/shaders/earth/fill_vert.glsl +125 -0
- package/es/point/shaders/extrude/extrude_frag.glsl +44 -0
- package/es/point/shaders/extrude/extrude_vert.glsl +121 -0
- package/es/point/shaders/fill_frag.glsl +84 -0
- package/es/point/shaders/fill_vert.glsl +188 -0
- package/es/point/shaders/image/fillImage_frag.glsl +20 -0
- package/es/point/shaders/image/fillImage_vert.glsl +116 -0
- package/es/point/shaders/image_frag.glsl +39 -0
- package/es/point/shaders/image_vert.glsl +90 -0
- package/es/point/shaders/normal_frag.glsl +6 -0
- package/es/point/shaders/normal_vert.glsl +24 -0
- package/es/point/shaders/radar/radar_frag.glsl +53 -0
- package/es/point/shaders/radar/radar_vert.glsl +70 -0
- package/es/point/shaders/simplePoint_frag.glsl +53 -0
- package/es/point/shaders/simplePoint_vert.glsl +79 -0
- package/es/point/shaders/text_frag.glsl +48 -0
- package/es/point/shaders/text_vert.glsl +131 -0
- package/es/point/shaders/tile/fill_tile_frag.glsl +76 -0
- package/es/point/shaders/tile/fill_tile_vert.glsl +78 -0
- 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/point/shape/extrude.d.ts +15 -0
- package/es/point/shape/extrude.js +63 -0
- package/es/polygon/index.d.ts +27 -0
- package/es/polygon/index.js +146 -0
- package/es/polygon/models/extrude.d.ts +28 -0
- package/es/polygon/models/extrude.js +302 -0
- package/es/polygon/models/fill.d.ts +17 -0
- package/es/polygon/models/fill.js +210 -0
- package/es/polygon/models/index.d.ts +5 -0
- package/es/polygon/models/index.js +28 -0
- package/es/polygon/models/ocean.d.ts +21 -0
- package/es/polygon/models/ocean.js +202 -0
- package/es/polygon/models/tile.d.ts +12 -0
- package/es/polygon/models/tile.js +101 -0
- package/es/polygon/models/water.d.ts +16 -0
- package/es/polygon/models/water.js +179 -0
- package/es/polygon/shaders/extrude/polygon_extrude_frag.glsl +44 -0
- package/es/polygon/shaders/extrude/polygon_extrude_picklight_frag.glsl +44 -0
- package/es/polygon/shaders/extrude/polygon_extrude_picklight_vert.glsl +85 -0
- package/es/polygon/shaders/extrude/polygon_extrude_vert.glsl +90 -0
- package/es/polygon/shaders/extrude/polygon_extrudetex_frag.glsl +48 -0
- package/es/polygon/shaders/extrude/polygon_extrudetex_vert.glsl +93 -0
- package/es/polygon/shaders/polygon_frag.glsl +12 -0
- package/es/polygon/shaders/polygon_linear_frag.glsl +22 -0
- package/es/polygon/shaders/polygon_linear_vert.glsl +74 -0
- package/es/polygon/shaders/polygon_vert.glsl +66 -0
- package/es/polygon/shaders/tile/polygon_tile_map_vert.glsl +16 -0
- package/es/polygon/shaders/tile/polygon_tile_vert.glsl +42 -0
- package/es/polygon/shaders/water/polygon_ocean_frag.glsl +247 -0
- package/es/polygon/shaders/water/polygon_ocean_vert.glsl +21 -0
- package/es/polygon/shaders/water/polygon_water_frag.glsl +71 -0
- package/es/polygon/shaders/water/polygon_water_vert.glsl +26 -0
- package/es/raster/buffers/triangulation.d.ts +6 -0
- package/es/raster/buffers/triangulation.js +25 -0
- package/es/raster/index.d.ts +19 -0
- package/es/raster/index.js +103 -0
- package/es/raster/models/index.d.ts +5 -0
- package/es/raster/models/index.js +8 -0
- package/es/raster/models/raster.d.ts +21 -0
- package/es/raster/models/raster.js +168 -0
- package/es/raster/models/rasterTile.d.ts +18 -0
- package/es/raster/models/rasterTile.js +140 -0
- package/es/raster/raster.d.ts +30 -0
- package/es/raster/raster.js +174 -0
- package/es/raster/shaders/raster_2d_frag.glsl +64 -0
- package/es/raster/shaders/raster_2d_vert.glsl +17 -0
- package/es/raster/shaders/raster_frag.glsl +9 -0
- package/es/raster/shaders/raster_vert.glsl +44 -0
- package/es/shader/minify_frag.glsl +7 -0
- package/es/shader/minify_picking_frag.glsl +10 -0
- package/es/tile/interface.d.ts +29 -0
- package/es/tile/interface.js +1 -0
- package/es/tile/manager/baseMapTileLayerManager.d.ts +7 -0
- package/es/tile/manager/baseMapTileLayerManager.js +119 -0
- package/es/tile/manager/baseTileManager.d.ts +27 -0
- package/es/tile/manager/baseTileManager.js +107 -0
- package/es/tile/manager/tileConfigManager.d.ts +17 -0
- package/es/tile/manager/tileConfigManager.js +121 -0
- package/es/tile/manager/tileLayerManager.d.ts +15 -0
- package/es/tile/manager/tileLayerManager.js +255 -0
- package/es/tile/manager/tilePickerManager.d.ts +21 -0
- package/es/tile/manager/tilePickerManager.js +194 -0
- package/es/tile/models/tileModel.d.ts +10 -0
- package/es/tile/models/tileModel.js +81 -0
- package/es/tile/tileFactory/base.d.ts +44 -0
- package/es/tile/tileFactory/base.js +472 -0
- package/es/tile/tileFactory/index.d.ts +5 -0
- package/es/tile/tileFactory/index.js +34 -0
- package/es/tile/tileFactory/line.d.ts +12 -0
- package/es/tile/tileFactory/line.js +62 -0
- package/es/tile/tileFactory/point.d.ts +12 -0
- package/es/tile/tileFactory/point.js +63 -0
- package/es/tile/tileFactory/polygon.d.ts +12 -0
- package/es/tile/tileFactory/polygon.js +62 -0
- package/es/tile/tileFactory/raster.d.ts +12 -0
- package/es/tile/tileFactory/raster.js +58 -0
- package/es/tile/tileFactory/rasterData.d.ts +12 -0
- package/es/tile/tileFactory/rasterData.js +81 -0
- package/es/tile/tileFactory/rasterDataLayer.d.ts +19 -0
- package/es/tile/tileFactory/rasterDataLayer.js +85 -0
- package/es/tile/tileFactory/test.d.ts +12 -0
- package/es/tile/tileFactory/test.js +105 -0
- package/es/tile/tileFactory/vectorLayer.d.ts +35 -0
- package/es/tile/tileFactory/vectorLayer.js +260 -0
- package/es/tile/tileLayer/baseMapTileLayer.d.ts +30 -0
- package/es/tile/tileLayer/baseMapTileLayer.js +195 -0
- package/es/tile/tileLayer/baseTileLayer.d.ts +48 -0
- package/es/tile/tileLayer/baseTileLayer.js +420 -0
- package/es/tile/tileTest.d.ts +15 -0
- package/es/tile/tileTest.js +62 -0
- package/es/tile/tmsMapTileLayer.d.ts +7 -0
- package/es/tile/tmsMapTileLayer.js +97 -0
- package/es/tile/tmsTileLayer.d.ts +7 -0
- package/es/tile/tmsTileLayer.js +101 -0
- package/es/tile/utils.d.ts +19 -0
- package/es/tile/utils.js +209 -0
- package/es/utils/blend.d.ts +2 -0
- package/es/utils/blend.js +54 -0
- package/es/utils/collision-index.d.ts +47 -0
- package/es/utils/collision-index.js +102 -0
- package/es/utils/dataMappingStyle.d.ts +31 -0
- package/es/utils/dataMappingStyle.js +150 -0
- package/es/utils/extrude_polyline.d.ts +67 -0
- package/es/utils/extrude_polyline.js +611 -0
- package/es/utils/grid-index.d.ts +28 -0
- package/es/utils/grid-index.js +179 -0
- package/es/utils/layerData.d.ts +2 -0
- package/es/utils/layerData.js +176 -0
- package/es/utils/multiPassRender.d.ts +16 -0
- package/es/utils/multiPassRender.js +50 -0
- package/es/utils/polylineNormal.d.ts +9 -0
- package/es/utils/polylineNormal.js +191 -0
- package/es/utils/simpleLine.d.ts +23 -0
- package/es/utils/simpleLine.js +103 -0
- package/es/utils/symbol-layout.d.ts +43 -0
- package/es/utils/symbol-layout.js +299 -0
- package/es/utils/updateShape.d.ts +2 -0
- package/es/utils/updateShape.js +20 -0
- package/es/wind/index.d.ts +20 -0
- package/es/wind/index.js +98 -0
- package/es/wind/models/index.d.ts +5 -0
- package/es/wind/models/index.js +5 -0
- package/es/wind/models/utils.d.ts +19 -0
- package/es/wind/models/utils.js +226 -0
- package/es/wind/models/wind.d.ts +33 -0
- package/es/wind/models/wind.js +331 -0
- package/es/wind/models/windRender.d.ts +104 -0
- package/es/wind/models/windRender.js +357 -0
- package/es/wind/models/windShader.d.ts +12 -0
- package/es/wind/models/windShader.js +12 -0
- package/es/wind/shaders/wind_frag.glsl +9 -0
- package/es/wind/shaders/wind_vert.glsl +17 -0
- package/lib/Geometry/index.js +130 -0
- package/lib/Geometry/models/billboard.js +242 -0
- package/lib/Geometry/models/index.js +22 -0
- package/lib/Geometry/models/plane.js +434 -0
- package/lib/Geometry/models/sprite.js +315 -0
- package/lib/Geometry/shaders/billboard_frag.glsl +13 -0
- package/lib/Geometry/shaders/billboard_vert.glsl +50 -0
- package/lib/Geometry/shaders/plane_frag.glsl +22 -0
- package/lib/Geometry/shaders/plane_vert.glsl +53 -0
- package/lib/Geometry/shaders/sprite_frag.glsl +21 -0
- package/lib/Geometry/shaders/sprite_vert.glsl +28 -0
- package/lib/canvas/index.js +133 -0
- package/lib/canvas/models/canvas.js +221 -0
- package/lib/canvas/models/index.js +16 -0
- package/lib/citybuliding/building.js +99 -0
- package/lib/citybuliding/models/build.js +202 -0
- package/lib/citybuliding/shaders/build_frag.glsl +117 -0
- package/lib/citybuliding/shaders/build_vert.glsl +54 -0
- package/lib/core/BaseLayer.js +1410 -0
- package/lib/core/BaseModel.js +506 -0
- package/lib/core/interface.js +41 -0
- package/lib/core/schema.js +33 -0
- package/lib/core/shape/Path.js +88 -0
- package/lib/core/shape/extrude.js +180 -0
- package/lib/core/triangulation.js +619 -0
- package/lib/earth/index.js +113 -0
- package/lib/earth/models/atmosphere.js +149 -0
- package/lib/earth/models/base.js +216 -0
- package/lib/earth/models/bloomsphere.js +148 -0
- package/lib/earth/shaders/atmosphere_frag.glsl +17 -0
- package/lib/earth/shaders/atmosphere_vert.glsl +26 -0
- package/lib/earth/shaders/base_frag.glsl +13 -0
- package/lib/earth/shaders/base_vert.glsl +52 -0
- package/lib/earth/shaders/bloomsphere_frag.glsl +15 -0
- package/lib/earth/shaders/bloomsphere_vert.glsl +20 -0
- package/lib/earth/utils.js +136 -0
- package/lib/glsl.d.ts +5 -0
- package/lib/heatmap/index.js +154 -0
- package/lib/heatmap/models/grid.js +120 -0
- package/lib/heatmap/models/grid3d.js +154 -0
- package/lib/heatmap/models/heatmap.js +486 -0
- package/lib/heatmap/models/hexagon.js +121 -0
- package/lib/heatmap/models/index.js +26 -0
- package/lib/heatmap/shaders/grid_vert.glsl +42 -0
- package/lib/heatmap/shaders/heatmap_3d_frag.glsl +14 -0
- package/lib/heatmap/shaders/heatmap_3d_vert.glsl +46 -0
- package/lib/heatmap/shaders/heatmap_frag.glsl +47 -0
- package/lib/heatmap/shaders/heatmap_framebuffer_frag.glsl +10 -0
- package/lib/heatmap/shaders/heatmap_framebuffer_vert.glsl +35 -0
- package/lib/heatmap/shaders/heatmap_vert.glsl +10 -0
- package/lib/heatmap/shaders/hexagon_3d_frag.glsl +0 -0
- package/lib/heatmap/shaders/hexagon_3d_vert.glsl +64 -0
- package/lib/heatmap/shaders/hexagon_frag.glsl +12 -0
- package/lib/heatmap/shaders/hexagon_vert.glsl +41 -0
- package/lib/heatmap/triangulation.js +44 -0
- package/lib/image/index.js +117 -0
- package/lib/image/models/dataImage.js +215 -0
- package/lib/image/models/image.js +178 -0
- package/lib/image/models/index.js +22 -0
- package/lib/image/models/tileDataImage.js +188 -0
- package/lib/image/shaders/dataImage_frag.glsl +38 -0
- package/lib/image/shaders/image_frag.glsl +9 -0
- package/lib/image/shaders/image_vert.glsl +17 -0
- package/lib/index.js +275 -0
- package/lib/line/index.js +152 -0
- package/lib/line/models/arc.js +373 -0
- package/lib/line/models/arc_3d.js +351 -0
- package/lib/line/models/earthArc_3d.js +354 -0
- package/lib/line/models/great_circle.js +310 -0
- package/lib/line/models/half.js +298 -0
- package/lib/line/models/index.js +46 -0
- package/lib/line/models/line.js +460 -0
- package/lib/line/models/linearline.js +292 -0
- package/lib/line/models/simpleLine.js +249 -0
- package/lib/line/models/simpleTileLine.js +115 -0
- package/lib/line/models/tile.js +194 -0
- package/lib/line/models/wall.js +309 -0
- package/lib/line/shaders/arc_chunks.vert.glsl +21 -0
- package/lib/line/shaders/dash/arc_dash_frag.glsl +28 -0
- package/lib/line/shaders/dash/arc_dash_vert.glsl +150 -0
- package/lib/line/shaders/dash/line_dash_frag.glsl +31 -0
- package/lib/line/shaders/dash/line_dash_vert.glsl +93 -0
- package/lib/line/shaders/half/line_half_frag.glsl +53 -0
- package/lib/line/shaders/half/line_half_vert.glsl +169 -0
- package/lib/line/shaders/line_arc2d_vert.glsl +114 -0
- package/lib/line/shaders/line_arc_3d_frag.glsl +103 -0
- package/lib/line/shaders/line_arc_3d_vert.glsl +206 -0
- package/lib/line/shaders/line_arc_frag.glsl +88 -0
- package/lib/line/shaders/line_arc_great_circle_frag.glsl +101 -0
- package/lib/line/shaders/line_arc_great_circle_vert.glsl +214 -0
- package/lib/line/shaders/line_arc_vert.glsl +178 -0
- package/lib/line/shaders/line_bezier_vert.glsl +85 -0
- package/lib/line/shaders/line_frag.glsl +99 -0
- package/lib/line/shaders/line_vert.glsl +192 -0
- package/lib/line/shaders/linear/arc3d_linear_frag.glsl +46 -0
- package/lib/line/shaders/linear/arc3d_linear_vert.glsl +206 -0
- package/lib/line/shaders/linear/arc_linear_frag.glsl +38 -0
- package/lib/line/shaders/linear/arc_linear_vert.glsl +138 -0
- package/lib/line/shaders/linear/line_linear_frag.glsl +27 -0
- package/lib/line/shaders/linearLine/line_linear_frag.glsl +20 -0
- package/lib/line/shaders/linearLine/line_linear_vert.glsl +112 -0
- package/lib/line/shaders/simple/simpleline_frag.glsl +10 -0
- package/lib/line/shaders/simple/simpleline_linear_frag.glsl +11 -0
- package/lib/line/shaders/simple/simpleline_vert.glsl +79 -0
- package/lib/line/shaders/tile/line_tile_map_vert.glsl +25 -0
- package/lib/line/shaders/tile/line_tile_vert.glsl +52 -0
- 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/wall_frag.glsl +89 -0
- package/lib/line/shaders/wall/wall_vert.glsl +77 -0
- package/lib/mask/index.js +168 -0
- package/lib/mask/models/fill.js +141 -0
- package/lib/mask/models/index.js +16 -0
- package/lib/mask/shaders/mask_vert.glsl +16 -0
- package/lib/plugins/DataMappingPlugin.js +434 -0
- package/lib/plugins/DataSourcePlugin.js +97 -0
- package/lib/plugins/FeatureScalePlugin.js +363 -0
- package/lib/plugins/LayerAnimateStylePlugin.js +41 -0
- package/lib/plugins/LayerModelPlugin.js +83 -0
- package/lib/plugins/LayerStylePlugin.js +50 -0
- package/lib/plugins/LightingPlugin.js +119 -0
- package/lib/plugins/MultiPassRendererPlugin.js +77 -0
- package/lib/plugins/PixelPickingPlugin.js +139 -0
- package/lib/plugins/RegisterStyleAttributePlugin.js +168 -0
- package/lib/plugins/ShaderUniformPlugin.js +120 -0
- package/lib/plugins/UpdateModelPlugin.js +42 -0
- package/lib/plugins/UpdateStyleAttributePlugin.js +94 -0
- package/lib/point/index.js +242 -0
- package/lib/point/models/earthExtrude.js +290 -0
- package/lib/point/models/earthFill.js +293 -0
- package/lib/point/models/extrude.js +312 -0
- package/lib/point/models/fill.js +419 -0
- package/lib/point/models/fillmage.js +382 -0
- package/lib/point/models/image.js +255 -0
- package/lib/point/models/index.js +53 -0
- package/lib/point/models/normal.js +141 -0
- package/lib/point/models/radar.js +249 -0
- package/lib/point/models/simplePoint.js +196 -0
- package/lib/point/models/text.js +634 -0
- package/lib/point/models/tile.js +189 -0
- package/lib/point/models/tileText.js +524 -0
- package/lib/point/shaders/animate/wave_frag.glsl +65 -0
- package/lib/point/shaders/earth/extrude_frag.glsl +44 -0
- package/lib/point/shaders/earth/extrude_vert.glsl +140 -0
- package/lib/point/shaders/earth/fill_frag.glsl +86 -0
- package/lib/point/shaders/earth/fill_vert.glsl +125 -0
- package/lib/point/shaders/extrude/extrude_frag.glsl +44 -0
- package/lib/point/shaders/extrude/extrude_vert.glsl +121 -0
- package/lib/point/shaders/fill_frag.glsl +84 -0
- package/lib/point/shaders/fill_vert.glsl +188 -0
- package/lib/point/shaders/image/fillImage_frag.glsl +20 -0
- package/lib/point/shaders/image/fillImage_vert.glsl +116 -0
- package/lib/point/shaders/image_frag.glsl +39 -0
- package/lib/point/shaders/image_vert.glsl +90 -0
- package/lib/point/shaders/normal_frag.glsl +6 -0
- package/lib/point/shaders/normal_vert.glsl +24 -0
- package/lib/point/shaders/radar/radar_frag.glsl +53 -0
- package/lib/point/shaders/radar/radar_vert.glsl +70 -0
- package/lib/point/shaders/simplePoint_frag.glsl +53 -0
- package/lib/point/shaders/simplePoint_vert.glsl +79 -0
- package/lib/point/shaders/text_frag.glsl +48 -0
- package/lib/point/shaders/text_vert.glsl +131 -0
- package/lib/point/shaders/tile/fill_tile_frag.glsl +76 -0
- package/lib/point/shaders/tile/fill_tile_vert.glsl +78 -0
- 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/point/shape/extrude.js +78 -0
- package/lib/polygon/index.js +160 -0
- package/lib/polygon/models/extrude.js +318 -0
- package/lib/polygon/models/fill.js +225 -0
- package/lib/polygon/models/index.js +50 -0
- package/lib/polygon/models/ocean.js +219 -0
- package/lib/polygon/models/tile.js +114 -0
- package/lib/polygon/models/water.js +196 -0
- package/lib/polygon/shaders/extrude/polygon_extrude_frag.glsl +44 -0
- package/lib/polygon/shaders/extrude/polygon_extrude_picklight_frag.glsl +44 -0
- package/lib/polygon/shaders/extrude/polygon_extrude_picklight_vert.glsl +85 -0
- package/lib/polygon/shaders/extrude/polygon_extrude_vert.glsl +90 -0
- package/lib/polygon/shaders/extrude/polygon_extrudetex_frag.glsl +48 -0
- package/lib/polygon/shaders/extrude/polygon_extrudetex_vert.glsl +93 -0
- package/lib/polygon/shaders/polygon_frag.glsl +12 -0
- package/lib/polygon/shaders/polygon_linear_frag.glsl +22 -0
- package/lib/polygon/shaders/polygon_linear_vert.glsl +74 -0
- package/lib/polygon/shaders/polygon_vert.glsl +66 -0
- package/lib/polygon/shaders/tile/polygon_tile_map_vert.glsl +16 -0
- package/lib/polygon/shaders/tile/polygon_tile_vert.glsl +42 -0
- package/lib/polygon/shaders/water/polygon_ocean_frag.glsl +247 -0
- package/lib/polygon/shaders/water/polygon_ocean_vert.glsl +21 -0
- package/lib/polygon/shaders/water/polygon_water_frag.glsl +71 -0
- package/lib/polygon/shaders/water/polygon_water_vert.glsl +26 -0
- package/lib/raster/buffers/triangulation.js +35 -0
- package/lib/raster/index.js +116 -0
- package/lib/raster/models/index.js +20 -0
- package/lib/raster/models/raster.js +183 -0
- package/lib/raster/models/rasterTile.js +154 -0
- package/lib/raster/raster.js +191 -0
- package/lib/raster/shaders/raster_2d_frag.glsl +64 -0
- package/lib/raster/shaders/raster_2d_vert.glsl +17 -0
- package/lib/raster/shaders/raster_frag.glsl +9 -0
- package/lib/raster/shaders/raster_vert.glsl +44 -0
- package/lib/shader/minify_frag.glsl +7 -0
- package/lib/shader/minify_picking_frag.glsl +10 -0
- package/lib/tile/interface.js +5 -0
- package/lib/tile/manager/baseMapTileLayerManager.js +134 -0
- package/lib/tile/manager/baseTileManager.js +121 -0
- package/lib/tile/manager/tileConfigManager.js +133 -0
- package/lib/tile/manager/tileLayerManager.js +273 -0
- package/lib/tile/manager/tilePickerManager.js +205 -0
- package/lib/tile/models/tileModel.js +94 -0
- package/lib/tile/tileFactory/base.js +496 -0
- package/lib/tile/tileFactory/index.js +66 -0
- package/lib/tile/tileFactory/line.js +73 -0
- package/lib/tile/tileFactory/point.js +74 -0
- package/lib/tile/tileFactory/polygon.js +73 -0
- package/lib/tile/tileFactory/raster.js +71 -0
- package/lib/tile/tileFactory/rasterData.js +94 -0
- package/lib/tile/tileFactory/rasterDataLayer.js +98 -0
- package/lib/tile/tileFactory/test.js +118 -0
- package/lib/tile/tileFactory/vectorLayer.js +275 -0
- package/lib/tile/tileLayer/baseMapTileLayer.js +202 -0
- package/lib/tile/tileLayer/baseTileLayer.js +429 -0
- package/lib/tile/tileTest.js +74 -0
- package/lib/tile/tmsMapTileLayer.js +114 -0
- package/lib/tile/tmsTileLayer.js +118 -0
- package/lib/tile/utils.js +248 -0
- package/lib/utils/blend.js +65 -0
- package/lib/utils/collision-index.js +118 -0
- package/lib/utils/dataMappingStyle.js +154 -0
- package/lib/utils/extrude_polyline.js +653 -0
- package/lib/utils/grid-index.js +188 -0
- package/lib/utils/layerData.js +187 -0
- package/lib/utils/multiPassRender.js +61 -0
- package/lib/utils/polylineNormal.js +230 -0
- package/lib/utils/simpleLine.js +116 -0
- package/lib/utils/symbol-layout.js +308 -0
- package/lib/utils/updateShape.js +27 -0
- package/lib/wind/index.js +111 -0
- package/lib/wind/models/index.js +16 -0
- package/lib/wind/models/utils.js +253 -0
- package/lib/wind/models/wind.js +346 -0
- package/lib/wind/models/windRender.js +373 -0
- package/lib/wind/models/windShader.js +25 -0
- package/lib/wind/shaders/wind_frag.glsl +9 -0
- package/lib/wind/shaders/wind_vert.glsl +17 -0
- package/package.json +6 -6
|
@@ -0,0 +1,179 @@
|
|
|
1
|
+
import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
|
2
|
+
import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
|
|
3
|
+
import _createClass from "@babel/runtime/helpers/createClass";
|
|
4
|
+
import _inherits from "@babel/runtime/helpers/inherits";
|
|
5
|
+
import _possibleConstructorReturn from "@babel/runtime/helpers/possibleConstructorReturn";
|
|
6
|
+
import _getPrototypeOf from "@babel/runtime/helpers/getPrototypeOf";
|
|
7
|
+
|
|
8
|
+
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
|
|
9
|
+
|
|
10
|
+
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; } }
|
|
11
|
+
|
|
12
|
+
import { AttributeType, gl } from '@antv/l7-core';
|
|
13
|
+
import { Version } from '@antv/l7-maps';
|
|
14
|
+
import { getMask } from '@antv/l7-utils';
|
|
15
|
+
import { isNumber } from 'lodash';
|
|
16
|
+
import BaseModel from "../../core/BaseModel";
|
|
17
|
+
import { polygonTriangulation } from "../../core/triangulation";
|
|
18
|
+
|
|
19
|
+
/* babel-plugin-inline-import '../shaders/water/polygon_water_frag.glsl' */
|
|
20
|
+
var water_frag = "uniform sampler2D u_texture;\nuniform float u_time: 0.0;\nuniform float u_speed: 1.0;\nuniform float u_opacity: 1.0;\n\nvarying vec4 v_Color;\nvarying vec2 v_uv;\n\nfloat rand(vec2 n) { return 0.5 + 0.5 * fract(sin(dot(n.xy, vec2(12.9898, 78.233)))* 43758.5453); }\n\nfloat water(vec3 p) {\n float t = u_time * u_speed;\n p.z += t * 2.; p.x += t * 2.;\n vec3 c1 = texture2D(u_texture, p.xz / 30.).xyz;\n p.z += t * 3.; p.x += t * 0.52;\n vec3 c2 = texture2D(u_texture, p.xz / 30.).xyz;\n p.z += t * 4.; p.x += t * 0.8;\n vec3 c3 = texture2D(u_texture, p.xz / 30.).xyz;\n c1 += c2 - c3;\n float z = (c1.x + c1.y + c1.z) / 3.;\n return p.y + z / 4.;\n}\n\nfloat map(vec3 p) {\n float d = 100.0;\n d = water(p);\n return d;\n}\n\nfloat intersect(vec3 ro, vec3 rd) {\n float d = 0.0;\n for (int i = 0; i <= 100; i++) {\n float h = map(ro + rd * d);\n if (h < 0.1) return d;\n d += h;\n }\n return 0.0;\n}\n\nvec3 norm(vec3 p) {\n float eps = .1;\n return normalize(vec3(\n map(p + vec3(eps, 0, 0)) - map(p + vec3(-eps, 0, 0)),\n map(p + vec3(0, eps, 0)) - map(p + vec3(0, -eps, 0)),\n map(p + vec3(0, 0, eps)) - map(p + vec3(0, 0, -eps))\n ));\n} \n\nfloat calSpc() {\n vec3 l1 = normalize(vec3(1, 1, 1));\n vec3 ro = vec3(-3, 20, -8);\n vec3 rc = vec3(0, 0, 0);\n vec3 ww = normalize(rc - ro);\n vec3 uu = normalize(cross(vec3(0,1,0), ww));\n vec3 vv = normalize(cross(rc - ro, uu));\n vec3 rd = normalize(uu * v_uv.x + vv * v_uv.y + ww);\n float d = intersect(ro, rd);\n vec3 p = ro + rd * d;\n vec3 n = norm(p);\n float spc = pow(max(0.0, dot(reflect(l1, n), rd)), 30.0);\n return spc;\n}\n\nvoid main() {\n float opacity = u_opacity;\n gl_FragColor = v_Color;\n gl_FragColor.a *= opacity;\n\n float spc = calSpc();\n gl_FragColor += spc * 0.4;\n}\n";
|
|
21
|
+
|
|
22
|
+
/* babel-plugin-inline-import '../shaders/water/polygon_water_vert.glsl' */
|
|
23
|
+
var water_vert = "attribute vec4 a_Color;\nattribute vec2 a_uv;\nattribute vec3 a_Position;\nuniform mat4 u_ModelMatrix;\nuniform mat4 u_Mvp;\n\nvarying vec4 v_Color;\nvarying vec2 v_uv;\nuniform float u_opacity: 1.0;\n\n\n#pragma include \"projection\"\n\nvoid main() {\n v_uv = a_uv;\n\n v_Color = a_Color;\n vec4 project_pos = project_position(vec4(a_Position, 1.0));\n\n if(u_CoordinateSystem == COORDINATE_SYSTEM_P20_2) { // gaode2.x\n gl_Position = u_Mvp * (vec4(project_pos.xyz, 1.0));\n } else {\n gl_Position = project_common_position_to_clipspace(vec4(project_pos.xyz, 1.0));\n }\n}\n\n";
|
|
24
|
+
|
|
25
|
+
var WaterModel = /*#__PURE__*/function (_BaseModel) {
|
|
26
|
+
_inherits(WaterModel, _BaseModel);
|
|
27
|
+
|
|
28
|
+
var _super = _createSuper(WaterModel);
|
|
29
|
+
|
|
30
|
+
function WaterModel() {
|
|
31
|
+
_classCallCheck(this, WaterModel);
|
|
32
|
+
|
|
33
|
+
return _super.apply(this, arguments);
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
_createClass(WaterModel, [{
|
|
37
|
+
key: "getUninforms",
|
|
38
|
+
value: function getUninforms() {
|
|
39
|
+
var _ref = this.layer.getLayerConfig(),
|
|
40
|
+
_ref$opacity = _ref.opacity,
|
|
41
|
+
opacity = _ref$opacity === void 0 ? 1 : _ref$opacity,
|
|
42
|
+
_ref$speed = _ref.speed,
|
|
43
|
+
speed = _ref$speed === void 0 ? 0.5 : _ref$speed;
|
|
44
|
+
|
|
45
|
+
return {
|
|
46
|
+
u_texture: this.texture,
|
|
47
|
+
u_speed: speed,
|
|
48
|
+
u_opacity: isNumber(opacity) ? opacity : 1.0
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
}, {
|
|
52
|
+
key: "getAnimateUniforms",
|
|
53
|
+
value: function getAnimateUniforms() {
|
|
54
|
+
return {
|
|
55
|
+
u_time: this.layer.getLayerAnimateTime()
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
}, {
|
|
59
|
+
key: "initModels",
|
|
60
|
+
value: function initModels(callbackModel) {
|
|
61
|
+
this.loadTexture();
|
|
62
|
+
this.buildModels(callbackModel);
|
|
63
|
+
}
|
|
64
|
+
}, {
|
|
65
|
+
key: "buildModels",
|
|
66
|
+
value: function buildModels(callbackModel) {
|
|
67
|
+
var _ref2 = this.layer.getLayerConfig(),
|
|
68
|
+
_ref2$mask = _ref2.mask,
|
|
69
|
+
mask = _ref2$mask === void 0 ? false : _ref2$mask,
|
|
70
|
+
_ref2$maskInside = _ref2.maskInside,
|
|
71
|
+
maskInside = _ref2$maskInside === void 0 ? true : _ref2$maskInside;
|
|
72
|
+
|
|
73
|
+
this.layer.buildLayerModel({
|
|
74
|
+
moduleName: 'polygonWater',
|
|
75
|
+
vertexShader: water_vert,
|
|
76
|
+
fragmentShader: water_frag,
|
|
77
|
+
triangulation: polygonTriangulation,
|
|
78
|
+
primitive: gl.TRIANGLES,
|
|
79
|
+
depth: {
|
|
80
|
+
enable: false
|
|
81
|
+
},
|
|
82
|
+
stencil: getMask(mask, maskInside),
|
|
83
|
+
pick: false
|
|
84
|
+
}).then(function (model) {
|
|
85
|
+
callbackModel([model]);
|
|
86
|
+
}).catch(function (err) {
|
|
87
|
+
console.warn(err);
|
|
88
|
+
callbackModel([]);
|
|
89
|
+
});
|
|
90
|
+
}
|
|
91
|
+
}, {
|
|
92
|
+
key: "clearModels",
|
|
93
|
+
value: function clearModels() {
|
|
94
|
+
var _this$texture;
|
|
95
|
+
|
|
96
|
+
(_this$texture = this.texture) === null || _this$texture === void 0 ? void 0 : _this$texture.destroy();
|
|
97
|
+
}
|
|
98
|
+
}, {
|
|
99
|
+
key: "registerBuiltinAttributes",
|
|
100
|
+
value: function registerBuiltinAttributes() {
|
|
101
|
+
var bbox = this.layer.getSource().extent;
|
|
102
|
+
|
|
103
|
+
var _bbox = _slicedToArray(bbox, 4),
|
|
104
|
+
minLng = _bbox[0],
|
|
105
|
+
minLat = _bbox[1],
|
|
106
|
+
maxLng = _bbox[2],
|
|
107
|
+
maxLat = _bbox[3];
|
|
108
|
+
|
|
109
|
+
var lngLen = maxLng - minLng;
|
|
110
|
+
var latLen = maxLat - minLat;
|
|
111
|
+
this.styleAttributeService.registerStyleAttribute({
|
|
112
|
+
name: 'waterUv',
|
|
113
|
+
type: AttributeType.Attribute,
|
|
114
|
+
descriptor: {
|
|
115
|
+
name: 'a_uv',
|
|
116
|
+
buffer: {
|
|
117
|
+
// give the WebGL driver a hint that this buffer may change
|
|
118
|
+
usage: gl.STATIC_DRAW,
|
|
119
|
+
data: [],
|
|
120
|
+
type: gl.FLOAT
|
|
121
|
+
},
|
|
122
|
+
size: 2,
|
|
123
|
+
update: function update(feature, featureIdx, vertex, attributeIdx) {
|
|
124
|
+
var v = feature.version === Version['GAODE2.x'] ? feature.originCoordinates[0][attributeIdx] : vertex;
|
|
125
|
+
|
|
126
|
+
var _v = _slicedToArray(v, 2),
|
|
127
|
+
lng = _v[0],
|
|
128
|
+
lat = _v[1];
|
|
129
|
+
|
|
130
|
+
return [(lng - minLng) / lngLen, (lat - minLat) / latLen];
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
});
|
|
134
|
+
}
|
|
135
|
+
}, {
|
|
136
|
+
key: "loadTexture",
|
|
137
|
+
value: function loadTexture() {
|
|
138
|
+
var _this = this;
|
|
139
|
+
|
|
140
|
+
var _ref3 = this.layer.getLayerConfig(),
|
|
141
|
+
waterTexture = _ref3.waterTexture;
|
|
142
|
+
|
|
143
|
+
var createTexture2D = this.rendererService.createTexture2D;
|
|
144
|
+
this.texture = createTexture2D({
|
|
145
|
+
height: 0,
|
|
146
|
+
width: 0
|
|
147
|
+
});
|
|
148
|
+
var image = new Image();
|
|
149
|
+
image.crossOrigin = '';
|
|
150
|
+
|
|
151
|
+
if (waterTexture) {
|
|
152
|
+
// custom texture
|
|
153
|
+
console.warn('L7 recommend:https://gw.alipayobjects.com/mdn/rms_816329/afts/img/A*EojwT4VzSiYAAAAAAAAAAAAAARQnAQ');
|
|
154
|
+
image.src = waterTexture;
|
|
155
|
+
} else {
|
|
156
|
+
// default texture
|
|
157
|
+
image.src = 'https://gw.alipayobjects.com/mdn/rms_816329/afts/img/A*EojwT4VzSiYAAAAAAAAAAAAAARQnAQ';
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
image.onload = function () {
|
|
161
|
+
_this.texture = createTexture2D({
|
|
162
|
+
data: image,
|
|
163
|
+
width: image.width,
|
|
164
|
+
height: image.height,
|
|
165
|
+
wrapS: gl.MIRRORED_REPEAT,
|
|
166
|
+
wrapT: gl.MIRRORED_REPEAT,
|
|
167
|
+
min: gl.LINEAR,
|
|
168
|
+
mag: gl.LINEAR
|
|
169
|
+
});
|
|
170
|
+
|
|
171
|
+
_this.layerService.reRender();
|
|
172
|
+
};
|
|
173
|
+
}
|
|
174
|
+
}]);
|
|
175
|
+
|
|
176
|
+
return WaterModel;
|
|
177
|
+
}(BaseModel);
|
|
178
|
+
|
|
179
|
+
export { WaterModel as default };
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
uniform float u_opacity: 1.0;
|
|
2
|
+
uniform vec4 u_sourceColor;
|
|
3
|
+
uniform vec4 u_targetColor;
|
|
4
|
+
uniform float u_linearColor: 0;
|
|
5
|
+
|
|
6
|
+
uniform float u_topsurface: 1.0;
|
|
7
|
+
uniform float u_sidesurface: 1.0;
|
|
8
|
+
|
|
9
|
+
varying vec4 v_Color;
|
|
10
|
+
varying mat4 styleMappingMat; // 传递从片元中传递的映射数据
|
|
11
|
+
#pragma include "picking"
|
|
12
|
+
|
|
13
|
+
void main() {
|
|
14
|
+
float opacity = styleMappingMat[0][0];
|
|
15
|
+
float isSide = styleMappingMat[0][3];
|
|
16
|
+
float sidey = styleMappingMat[3][0];
|
|
17
|
+
float lightWeight = styleMappingMat[3][1];
|
|
18
|
+
|
|
19
|
+
if(isSide < 1.0) {
|
|
20
|
+
// side face
|
|
21
|
+
if(u_sidesurface < 1.0) {
|
|
22
|
+
discard;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
if(u_linearColor == 1.0) {
|
|
26
|
+
vec4 linearColor = mix(u_targetColor, u_sourceColor, sidey);
|
|
27
|
+
linearColor.rgb *= lightWeight;
|
|
28
|
+
gl_FragColor = linearColor;
|
|
29
|
+
} else {
|
|
30
|
+
gl_FragColor = v_Color;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
} else {
|
|
34
|
+
// top face
|
|
35
|
+
if(u_topsurface < 1.0) {
|
|
36
|
+
discard;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
gl_FragColor = v_Color;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
gl_FragColor.a *= opacity;
|
|
43
|
+
gl_FragColor = filterColor(gl_FragColor);
|
|
44
|
+
}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
uniform float u_opacity: 1.0;
|
|
2
|
+
uniform vec4 u_sourceColor;
|
|
3
|
+
uniform vec4 u_targetColor;
|
|
4
|
+
uniform float u_linearColor: 0;
|
|
5
|
+
|
|
6
|
+
uniform float u_topsurface: 1.0;
|
|
7
|
+
uniform float u_sidesurface: 1.0;
|
|
8
|
+
|
|
9
|
+
varying vec4 v_Color;
|
|
10
|
+
varying mat4 styleMappingMat; // 传递从片元中传递的映射数据
|
|
11
|
+
#pragma include "picking"
|
|
12
|
+
|
|
13
|
+
void main() {
|
|
14
|
+
float opacity = styleMappingMat[0][0];
|
|
15
|
+
float isSide = styleMappingMat[0][3];
|
|
16
|
+
float sidey = styleMappingMat[3][0];
|
|
17
|
+
float lightWeight = styleMappingMat[3][1];
|
|
18
|
+
|
|
19
|
+
if(isSide < 1.0) {
|
|
20
|
+
// side face
|
|
21
|
+
if(u_sidesurface < 1.0) {
|
|
22
|
+
discard;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
if( u_linearColor == 1.0) {
|
|
26
|
+
// side use linear
|
|
27
|
+
vec4 linearColor = mix(u_targetColor, u_sourceColor, sidey);
|
|
28
|
+
linearColor.rgb *= lightWeight;
|
|
29
|
+
gl_FragColor = linearColor;
|
|
30
|
+
} else {
|
|
31
|
+
// side notuse linear
|
|
32
|
+
gl_FragColor = v_Color;
|
|
33
|
+
}
|
|
34
|
+
} else {
|
|
35
|
+
// top face
|
|
36
|
+
if(u_topsurface < 1.0) {
|
|
37
|
+
discard;
|
|
38
|
+
}
|
|
39
|
+
gl_FragColor = v_Color;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
gl_FragColor.a *= opacity;
|
|
43
|
+
gl_FragColor = filterColorAlpha(gl_FragColor, lightWeight);
|
|
44
|
+
}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
precision highp float;
|
|
2
|
+
|
|
3
|
+
#define ambientRatio 0.5
|
|
4
|
+
#define diffuseRatio 0.3
|
|
5
|
+
#define specularRatio 0.2
|
|
6
|
+
|
|
7
|
+
attribute vec4 a_Color;
|
|
8
|
+
attribute vec3 a_Position;
|
|
9
|
+
attribute vec3 a_Normal;
|
|
10
|
+
attribute float a_Size;
|
|
11
|
+
attribute vec3 a_uvs;
|
|
12
|
+
uniform mat4 u_ModelMatrix;
|
|
13
|
+
uniform mat4 u_Mvp;
|
|
14
|
+
|
|
15
|
+
varying vec4 v_Color;
|
|
16
|
+
uniform float u_heightfixed: 0.0; // 默认不固定
|
|
17
|
+
uniform float u_raisingHeight: 0.0;
|
|
18
|
+
uniform float u_opacity: 1.0;
|
|
19
|
+
varying mat4 styleMappingMat; // 用于将在顶点着色器中计算好的样式值传递给片元
|
|
20
|
+
|
|
21
|
+
#pragma include "styleMapping"
|
|
22
|
+
#pragma include "styleMappingCalOpacity"
|
|
23
|
+
|
|
24
|
+
#pragma include "projection"
|
|
25
|
+
#pragma include "light"
|
|
26
|
+
#pragma include "picking"
|
|
27
|
+
|
|
28
|
+
void main() {
|
|
29
|
+
// cal style mapping - 数据纹理映射部分的计算
|
|
30
|
+
styleMappingMat = mat4(
|
|
31
|
+
0.0, 0.0, 0.0, 0.0, // opacity - strokeOpacity - strokeWidth - isSide
|
|
32
|
+
0.0, 0.0, 0.0, 0.0, // strokeR - strokeG - strokeB - strokeA
|
|
33
|
+
0.0, 0.0, 0.0, 0.0, // offsets[0] - offsets[1]
|
|
34
|
+
0.0, 0.0, 0.0, 0.0 // sidey
|
|
35
|
+
);
|
|
36
|
+
styleMappingMat[0][3] = a_Position.z;
|
|
37
|
+
styleMappingMat[3][0] = a_uvs[2];
|
|
38
|
+
|
|
39
|
+
float rowCount = u_cellTypeLayout[0][0]; // 当前的数据纹理有几行
|
|
40
|
+
float columnCount = u_cellTypeLayout[0][1]; // 当看到数据纹理有几列
|
|
41
|
+
float columnWidth = 1.0/columnCount; // 列宽
|
|
42
|
+
float rowHeight = 1.0/rowCount; // 行高
|
|
43
|
+
float cellCount = calCellCount(); // opacity - strokeOpacity - strokeWidth - stroke - offsets
|
|
44
|
+
float id = a_vertexId; // 第n个顶点
|
|
45
|
+
float cellCurrentRow = floor(id * cellCount / columnCount) + 1.0; // 起始点在第几行
|
|
46
|
+
float cellCurrentColumn = mod(id * cellCount, columnCount) + 1.0; // 起始点在第几列
|
|
47
|
+
|
|
48
|
+
// cell 固定顺序 opacity -> strokeOpacity -> strokeWidth -> stroke ...
|
|
49
|
+
// 按顺序从 cell 中取值、若没有则自动往下取值
|
|
50
|
+
float textureOffset = 0.0; // 在 cell 中取值的偏移量
|
|
51
|
+
|
|
52
|
+
vec2 opacityAndOffset = calOpacityAndOffset(cellCurrentRow, cellCurrentColumn, columnCount, textureOffset, columnWidth, rowHeight);
|
|
53
|
+
styleMappingMat[0][0] = opacityAndOffset.r;
|
|
54
|
+
textureOffset = opacityAndOffset.g;
|
|
55
|
+
// cal style mapping - 数据纹理映射部分的计算
|
|
56
|
+
vec4 pos = vec4(a_Position.xy, a_Position.z * a_Size, 1.0);
|
|
57
|
+
vec4 project_pos = project_position(pos);
|
|
58
|
+
|
|
59
|
+
if(u_heightfixed > 0.0) { // 判断几何体是否固定高度
|
|
60
|
+
project_pos.z = a_Position.z * a_Size;
|
|
61
|
+
project_pos.z += u_raisingHeight;
|
|
62
|
+
if(u_CoordinateSystem == COORDINATE_SYSTEM_LNGLAT || u_CoordinateSystem == COORDINATE_SYSTEM_LNGLAT_OFFSET) {
|
|
63
|
+
float mapboxZoomScale = 4.0/pow(2.0, 21.0 - u_Zoom);
|
|
64
|
+
project_pos.z *= mapboxZoomScale;
|
|
65
|
+
project_pos.z += u_raisingHeight * mapboxZoomScale;
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
// gl_Position = project_common_position_to_clipspace(vec4(project_pos.xyz, 1.0));
|
|
70
|
+
|
|
71
|
+
if(u_CoordinateSystem == COORDINATE_SYSTEM_P20_2) { // gaode2.x
|
|
72
|
+
// gl_Position = u_Mvp * (vec4(project_pos.xyz * vec3(1.0, 1.0, -1.0), 1.0));
|
|
73
|
+
gl_Position = u_Mvp * (vec4(project_pos.xyz, 1.0));
|
|
74
|
+
} else {
|
|
75
|
+
gl_Position = project_common_position_to_clipspace(vec4(project_pos.xyz, 1.0));
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
float lightWeight = calc_lighting(pos);
|
|
79
|
+
// v_Color = a_Color;
|
|
80
|
+
v_Color = vec4(a_Color.rgb * lightWeight, a_Color.w);
|
|
81
|
+
|
|
82
|
+
styleMappingMat[3][1] = lightWeight;
|
|
83
|
+
|
|
84
|
+
setPickingColor(a_PickingColor);
|
|
85
|
+
}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
precision highp float;
|
|
2
|
+
|
|
3
|
+
#define ambientRatio 0.5
|
|
4
|
+
#define diffuseRatio 0.3
|
|
5
|
+
#define specularRatio 0.2
|
|
6
|
+
|
|
7
|
+
attribute vec4 a_Color;
|
|
8
|
+
attribute vec3 a_Position;
|
|
9
|
+
attribute vec3 a_Normal;
|
|
10
|
+
attribute float a_Size;
|
|
11
|
+
attribute vec3 a_uvs;
|
|
12
|
+
uniform mat4 u_ModelMatrix;
|
|
13
|
+
uniform mat4 u_Mvp;
|
|
14
|
+
|
|
15
|
+
varying vec4 v_Color;
|
|
16
|
+
uniform float u_heightfixed: 0.0; // 默认不固定
|
|
17
|
+
uniform float u_raisingHeight: 0.0;
|
|
18
|
+
uniform float u_opacity: 1.0;
|
|
19
|
+
varying mat4 styleMappingMat; // 用于将在顶点着色器中计算好的样式值传递给片元
|
|
20
|
+
|
|
21
|
+
#pragma include "styleMapping"
|
|
22
|
+
#pragma include "styleMappingCalOpacity"
|
|
23
|
+
|
|
24
|
+
#pragma include "projection"
|
|
25
|
+
#pragma include "light"
|
|
26
|
+
#pragma include "picking"
|
|
27
|
+
|
|
28
|
+
void main() {
|
|
29
|
+
// cal style mapping - 数据纹理映射部分的计算
|
|
30
|
+
styleMappingMat = mat4(
|
|
31
|
+
0.0, 0.0, 0.0, 0.0, // opacity - strokeOpacity - strokeWidth - isSide
|
|
32
|
+
0.0, 0.0, 0.0, 0.0, // strokeR - strokeG - strokeB - strokeA
|
|
33
|
+
0.0, 0.0, 0.0, 0.0, // offsets[0] - offsets[1]
|
|
34
|
+
0.0, 0.0, 0.0, 0.0 // sidey
|
|
35
|
+
);
|
|
36
|
+
styleMappingMat[0][3] = a_Position.z;
|
|
37
|
+
styleMappingMat[3][0] = a_uvs[2];
|
|
38
|
+
|
|
39
|
+
float rowCount = u_cellTypeLayout[0][0]; // 当前的数据纹理有几行
|
|
40
|
+
float columnCount = u_cellTypeLayout[0][1]; // 当看到数据纹理有几列
|
|
41
|
+
float columnWidth = 1.0/columnCount; // 列宽
|
|
42
|
+
float rowHeight = 1.0/rowCount; // 行高
|
|
43
|
+
float cellCount = calCellCount(); // opacity - strokeOpacity - strokeWidth - stroke - offsets
|
|
44
|
+
float id = a_vertexId; // 第n个顶点
|
|
45
|
+
float cellCurrentRow = floor(id * cellCount / columnCount) + 1.0; // 起始点在第几行
|
|
46
|
+
float cellCurrentColumn = mod(id * cellCount, columnCount) + 1.0; // 起始点在第几列
|
|
47
|
+
|
|
48
|
+
// cell 固定顺序 opacity -> strokeOpacity -> strokeWidth -> stroke ...
|
|
49
|
+
// 按顺序从 cell 中取值、若没有则自动往下取值
|
|
50
|
+
float textureOffset = 0.0; // 在 cell 中取值的偏移量
|
|
51
|
+
|
|
52
|
+
vec2 opacityAndOffset = calOpacityAndOffset(cellCurrentRow, cellCurrentColumn, columnCount, textureOffset, columnWidth, rowHeight);
|
|
53
|
+
styleMappingMat[0][0] = opacityAndOffset.r;
|
|
54
|
+
textureOffset = opacityAndOffset.g;
|
|
55
|
+
// cal style mapping - 数据纹理映射部分的计算
|
|
56
|
+
|
|
57
|
+
vec4 pos = vec4(a_Position.xy, a_Position.z * a_Size, 1.0);
|
|
58
|
+
vec4 project_pos = project_position(pos);
|
|
59
|
+
|
|
60
|
+
if(u_heightfixed > 0.0) { // 判断几何体是否固定高度
|
|
61
|
+
project_pos.z = a_Position.z * a_Size;
|
|
62
|
+
project_pos.z += u_raisingHeight;
|
|
63
|
+
|
|
64
|
+
if(u_CoordinateSystem == COORDINATE_SYSTEM_LNGLAT || u_CoordinateSystem == COORDINATE_SYSTEM_LNGLAT_OFFSET) {
|
|
65
|
+
float mapboxZoomScale = 4.0/pow(2.0, 21.0 - u_Zoom);
|
|
66
|
+
project_pos.z *= mapboxZoomScale;
|
|
67
|
+
project_pos.z += u_raisingHeight * mapboxZoomScale;
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
// project_pos.z += 500000.0; // amap1
|
|
72
|
+
|
|
73
|
+
// project_pos.z += (500000.0 * 4.0)/pow(2.0, 21.0 - u_Zoom); // mapbox
|
|
74
|
+
// gl_Position = project_common_position_to_clipspace(vec4(project_pos.xyz, 1.0));
|
|
75
|
+
|
|
76
|
+
if(u_CoordinateSystem == COORDINATE_SYSTEM_P20_2) { // gaode2.x
|
|
77
|
+
// gl_Position = u_Mvp * (vec4(project_pos.xyz * vec3(1.0, 1.0, -1.0), 1.0));
|
|
78
|
+
gl_Position = u_Mvp * (vec4(project_pos.xyz, 1.0));
|
|
79
|
+
} else {
|
|
80
|
+
gl_Position = project_common_position_to_clipspace(vec4(project_pos.xyz, 1.0));
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
float lightWeight = calc_lighting(pos);
|
|
84
|
+
// v_Color = a_Color;
|
|
85
|
+
v_Color = vec4(a_Color.rgb * lightWeight, a_Color.w);
|
|
86
|
+
|
|
87
|
+
styleMappingMat[3][1] = lightWeight;
|
|
88
|
+
|
|
89
|
+
setPickingColor(a_PickingColor);
|
|
90
|
+
}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
uniform sampler2D u_texture;
|
|
2
|
+
uniform float u_opacity: 1.0;
|
|
3
|
+
uniform vec4 u_sourceColor;
|
|
4
|
+
uniform vec4 u_targetColor;
|
|
5
|
+
uniform float u_linearColor: 0;
|
|
6
|
+
|
|
7
|
+
uniform float u_topsurface: 1.0;
|
|
8
|
+
uniform float u_sidesurface: 1.0;
|
|
9
|
+
|
|
10
|
+
varying vec4 v_Color;
|
|
11
|
+
varying mat4 styleMappingMat; // 传递从片元中传递的映射数据
|
|
12
|
+
#pragma include "picking"
|
|
13
|
+
|
|
14
|
+
void main() {
|
|
15
|
+
float opacity = styleMappingMat[0][0];
|
|
16
|
+
float isSide = styleMappingMat[0][3];
|
|
17
|
+
float lightWeight = styleMappingMat[3][1];
|
|
18
|
+
float topU = styleMappingMat[2][2];
|
|
19
|
+
float topV = styleMappingMat[2][3];
|
|
20
|
+
|
|
21
|
+
float sidey = styleMappingMat[3][0];
|
|
22
|
+
if(isSide < 1.0) {
|
|
23
|
+
// side face
|
|
24
|
+
if(u_sidesurface < 1.0) {
|
|
25
|
+
discard;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
if(u_linearColor == 1.0) {
|
|
29
|
+
vec4 linearColor = mix(u_targetColor, u_sourceColor, sidey);
|
|
30
|
+
linearColor.rgb *= lightWeight;
|
|
31
|
+
gl_FragColor = linearColor;
|
|
32
|
+
} else {
|
|
33
|
+
gl_FragColor = v_Color;
|
|
34
|
+
}
|
|
35
|
+
} else {
|
|
36
|
+
|
|
37
|
+
// top face
|
|
38
|
+
if(u_topsurface < 1.0) {
|
|
39
|
+
discard;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
gl_FragColor = texture2D(u_texture, vec2(topU, topV));
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
gl_FragColor.a *= opacity;
|
|
47
|
+
gl_FragColor = filterColor(gl_FragColor);
|
|
48
|
+
}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
precision highp float;
|
|
2
|
+
|
|
3
|
+
#define ambientRatio 0.5
|
|
4
|
+
#define diffuseRatio 0.3
|
|
5
|
+
#define specularRatio 0.2
|
|
6
|
+
|
|
7
|
+
attribute vec4 a_Color;
|
|
8
|
+
attribute vec3 a_Position;
|
|
9
|
+
attribute vec3 a_Normal;
|
|
10
|
+
attribute float a_Size;
|
|
11
|
+
attribute vec3 a_uvs;
|
|
12
|
+
uniform mat4 u_ModelMatrix;
|
|
13
|
+
uniform mat4 u_Mvp;
|
|
14
|
+
|
|
15
|
+
varying vec4 v_Color;
|
|
16
|
+
uniform float u_heightfixed: 0.0; // 默认不固定
|
|
17
|
+
uniform float u_raisingHeight: 0.0;
|
|
18
|
+
uniform float u_opacity: 1.0;
|
|
19
|
+
varying mat4 styleMappingMat; // 用于将在顶点着色器中计算好的样式值传递给片元
|
|
20
|
+
|
|
21
|
+
#pragma include "styleMapping"
|
|
22
|
+
#pragma include "styleMappingCalOpacity"
|
|
23
|
+
|
|
24
|
+
#pragma include "projection"
|
|
25
|
+
#pragma include "light"
|
|
26
|
+
#pragma include "picking"
|
|
27
|
+
|
|
28
|
+
void main() {
|
|
29
|
+
v_Color = a_Color;
|
|
30
|
+
|
|
31
|
+
// cal style mapping - 数据纹理映射部分的计算
|
|
32
|
+
styleMappingMat = mat4(
|
|
33
|
+
0.0, 0.0, 0.0, 0.0, // opacity - strokeOpacity - strokeWidth - a_Position.z(judge side by a_Position.z)
|
|
34
|
+
0.0, 0.0, 0.0, 0.0, // strokeR - strokeG - strokeB - strokeA
|
|
35
|
+
0.0, 0.0, 0.0, 0.0, // offsets[0] - offsets[1] - u - v
|
|
36
|
+
0.0, 0.0, 0.0, 0.0 // sidey
|
|
37
|
+
);
|
|
38
|
+
|
|
39
|
+
styleMappingMat[0][3] = a_Position.z;
|
|
40
|
+
styleMappingMat[2][2] = a_uvs[0];
|
|
41
|
+
styleMappingMat[2][3] = 1.0 - a_uvs[1];
|
|
42
|
+
styleMappingMat[3][0] = a_uvs[2];
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
float rowCount = u_cellTypeLayout[0][0]; // 当前的数据纹理有几行
|
|
46
|
+
float columnCount = u_cellTypeLayout[0][1]; // 当看到数据纹理有几列
|
|
47
|
+
float columnWidth = 1.0/columnCount; // 列宽
|
|
48
|
+
float rowHeight = 1.0/rowCount; // 行高
|
|
49
|
+
float cellCount = calCellCount(); // opacity - strokeOpacity - strokeWidth - stroke - offsets
|
|
50
|
+
float id = a_vertexId; // 第n个顶点
|
|
51
|
+
float cellCurrentRow = floor(id * cellCount / columnCount) + 1.0; // 起始点在第几行
|
|
52
|
+
float cellCurrentColumn = mod(id * cellCount, columnCount) + 1.0; // 起始点在第几列
|
|
53
|
+
|
|
54
|
+
// cell 固定顺序 opacity -> strokeOpacity -> strokeWidth -> stroke ...
|
|
55
|
+
// 按顺序从 cell 中取值、若没有则自动往下取值
|
|
56
|
+
float textureOffset = 0.0; // 在 cell 中取值的偏移量
|
|
57
|
+
|
|
58
|
+
vec2 opacityAndOffset = calOpacityAndOffset(cellCurrentRow, cellCurrentColumn, columnCount, textureOffset, columnWidth, rowHeight);
|
|
59
|
+
styleMappingMat[0][0] = opacityAndOffset.r;
|
|
60
|
+
textureOffset = opacityAndOffset.g;
|
|
61
|
+
// cal style mapping - 数据纹理映射部分的计算
|
|
62
|
+
|
|
63
|
+
vec4 pos = vec4(a_Position.xy, a_Position.z * a_Size, 1.0);
|
|
64
|
+
vec4 project_pos = project_position(pos);
|
|
65
|
+
|
|
66
|
+
if(u_heightfixed > 0.0) { // 判断几何体是否固定高度
|
|
67
|
+
project_pos.z = a_Position.z * a_Size;
|
|
68
|
+
project_pos.z += u_raisingHeight;
|
|
69
|
+
|
|
70
|
+
if(u_CoordinateSystem == COORDINATE_SYSTEM_LNGLAT || u_CoordinateSystem == COORDINATE_SYSTEM_LNGLAT_OFFSET) {
|
|
71
|
+
float mapboxZoomScale = 4.0/pow(2.0, 21.0 - u_Zoom);
|
|
72
|
+
project_pos.z *= mapboxZoomScale;
|
|
73
|
+
project_pos.z += u_raisingHeight * mapboxZoomScale;
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
// project_pos.z += 500000.0; // amap1
|
|
78
|
+
|
|
79
|
+
// project_pos.z += (500000.0 * 4.0)/pow(2.0, 21.0 - u_Zoom); // mapbox
|
|
80
|
+
// gl_Position = project_common_position_to_clipspace(vec4(project_pos.xyz, 1.0));
|
|
81
|
+
|
|
82
|
+
if(u_CoordinateSystem == COORDINATE_SYSTEM_P20_2) { // gaode2.x
|
|
83
|
+
// gl_Position = u_Mvp * (vec4(project_pos.xyz * vec3(1.0, 1.0, -1.0), 1.0));
|
|
84
|
+
gl_Position = u_Mvp * (vec4(project_pos.xyz, 1.0));
|
|
85
|
+
} else {
|
|
86
|
+
gl_Position = project_common_position_to_clipspace(vec4(project_pos.xyz, 1.0));
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
float lightWeight = calc_lighting(pos);
|
|
90
|
+
styleMappingMat[3][1] = lightWeight;
|
|
91
|
+
|
|
92
|
+
setPickingColor(a_PickingColor);
|
|
93
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
uniform float u_opacity: 1.0;
|
|
2
|
+
varying vec4 v_color;
|
|
3
|
+
varying mat4 styleMappingMat; // 传递从片元中传递的映射数据
|
|
4
|
+
|
|
5
|
+
#pragma include "picking"
|
|
6
|
+
|
|
7
|
+
void main() {
|
|
8
|
+
float opacity = styleMappingMat[0][0];
|
|
9
|
+
gl_FragColor = v_color;
|
|
10
|
+
gl_FragColor.a *= opacity;
|
|
11
|
+
gl_FragColor = filterColor(gl_FragColor);
|
|
12
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
uniform float u_opacity: 1.0;
|
|
2
|
+
varying vec4 v_Color;
|
|
3
|
+
varying mat4 styleMappingMat; // 传递从片元中传递的映射数据
|
|
4
|
+
|
|
5
|
+
#pragma include "picking"
|
|
6
|
+
uniform float u_opacitylinear: 0.0;
|
|
7
|
+
uniform float u_dir: 1.0;
|
|
8
|
+
varying vec3 v_linear;
|
|
9
|
+
varying vec2 v_pos;
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
void main() {
|
|
13
|
+
float opacity = styleMappingMat[0][0];
|
|
14
|
+
gl_FragColor = v_Color;
|
|
15
|
+
|
|
16
|
+
if(u_opacitylinear > 0.0) {
|
|
17
|
+
gl_FragColor.a *= u_dir == 1.0 ? 1.0 - length(v_pos - v_linear.xy)/v_linear.z : length(v_pos - v_linear.xy)/v_linear.z;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
gl_FragColor.a *= opacity;
|
|
21
|
+
gl_FragColor = filterColor(gl_FragColor);
|
|
22
|
+
}
|