@antv/l7-layers 2.20.3 → 2.20.6

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.
Files changed (450) hide show
  1. package/es/canvas/index.d.ts +3 -3
  2. package/es/citybuliding/models/build.d.ts +7 -12
  3. package/es/citybuliding/models/build.js +22 -11
  4. package/es/citybuliding/shaders/build_frag.glsl +26 -23
  5. package/es/citybuliding/shaders/build_vert.glsl +24 -16
  6. package/es/core/BaseLayer.d.ts +14 -2
  7. package/es/core/BaseLayer.js +56 -10
  8. package/es/core/BaseModel.d.ts +21 -1
  9. package/es/core/BaseModel.js +99 -2
  10. package/es/core/CommonStyleAttribute.d.ts +5 -2
  11. package/es/core/CommonStyleAttribute.js +4 -0
  12. package/es/core/LayerPickService.d.ts +1 -1
  13. package/es/core/TextureService.d.ts +2 -2
  14. package/es/core/interface.d.ts +7 -3
  15. package/es/core/interface.js +0 -1
  16. package/es/core/line_trangluation.d.ts +1 -1
  17. package/es/core/shape/arrow.d.ts +1 -1
  18. package/es/core/shape/extrude.d.ts +1 -1
  19. package/es/core/triangulation.d.ts +1 -1
  20. package/es/core/triangulation.js +13 -7
  21. package/es/core/utils.d.ts +4 -0
  22. package/es/core/utils.js +15 -0
  23. package/es/earth/index.d.ts +1 -1
  24. package/es/earth/models/atmosphere.d.ts +8 -2
  25. package/es/earth/models/atmosphere.js +15 -8
  26. package/es/earth/models/base.d.ts +8 -2
  27. package/es/earth/models/base.js +21 -12
  28. package/es/earth/models/bloomsphere.d.ts +8 -2
  29. package/es/earth/models/bloomsphere.js +15 -8
  30. package/es/earth/shaders/{atmosphere_frag.glsl → atmosphere/atmosphere_frag.glsl} +9 -6
  31. package/es/earth/shaders/atmosphere/atmosphere_vert.glsl +22 -0
  32. package/es/earth/shaders/base/base_frag.glsl +11 -0
  33. package/es/earth/shaders/base/base_vert.glsl +52 -0
  34. package/es/earth/shaders/bloomshpere/bloomsphere_frag.glsl +16 -0
  35. package/es/earth/shaders/bloomshpere/bloomsphere_vert.glsl +19 -0
  36. package/es/geometry/index.d.ts +2 -2
  37. package/es/geometry/models/billboard.d.ts +8 -1
  38. package/es/geometry/models/billboard.js +26 -11
  39. package/es/geometry/models/plane.d.ts +8 -1
  40. package/es/geometry/models/plane.js +23 -6
  41. package/es/geometry/models/sprite.d.ts +12 -2
  42. package/es/geometry/models/sprite.js +44 -18
  43. package/es/geometry/shaders/billboard_frag.glsl +11 -6
  44. package/es/geometry/shaders/billboard_vert.glsl +12 -15
  45. package/es/geometry/shaders/plane_frag.glsl +14 -10
  46. package/es/geometry/shaders/plane_vert.glsl +11 -10
  47. package/es/geometry/shaders/sprite_frag.glsl +11 -7
  48. package/es/geometry/shaders/sprite_vert.glsl +10 -9
  49. package/es/heatmap/index.d.ts +3 -3
  50. package/es/heatmap/models/grid.d.ts +8 -1
  51. package/es/heatmap/models/grid.js +25 -12
  52. package/es/heatmap/models/grid3d.d.ts +8 -1
  53. package/es/heatmap/models/grid3d.js +29 -13
  54. package/es/heatmap/models/heatmap.d.ts +6 -4
  55. package/es/heatmap/models/heatmap.js +123 -75
  56. package/es/heatmap/models/hexagon.d.ts +8 -1
  57. package/es/heatmap/models/hexagon.js +25 -12
  58. package/es/heatmap/shaders/grid/grid_frag.glsl +8 -0
  59. package/es/heatmap/shaders/{grid_vert.glsl → grid/grid_vert.glsl} +15 -15
  60. package/es/heatmap/shaders/grid3d/grid_3d_frag.glsl +8 -0
  61. package/{lib/heatmap/shaders/hexagon_3d_vert.glsl → es/heatmap/shaders/grid3d/grid_3d_vert.glsl} +13 -16
  62. package/es/heatmap/shaders/heatmap/heatmap_3d_frag.glsl +24 -0
  63. package/es/heatmap/shaders/{heatmap_3d_vert.glsl → heatmap/heatmap_3d_vert.glsl} +19 -9
  64. package/es/heatmap/shaders/heatmap/heatmap_frag.glsl +52 -0
  65. package/es/heatmap/shaders/heatmap/heatmap_framebuffer_frag.glsl +16 -0
  66. package/{lib/heatmap/shaders → es/heatmap/shaders/heatmap}/heatmap_framebuffer_vert.glsl +14 -9
  67. package/es/heatmap/shaders/heatmap/heatmap_vert.glsl +19 -0
  68. package/es/heatmap/shaders/hexagon/hexagon_frag.glsl +8 -0
  69. package/es/heatmap/shaders/{hexagon_vert.glsl → hexagon/hexagon_vert.glsl} +12 -13
  70. package/es/image/index.d.ts +2 -2
  71. package/es/image/models/image.d.ts +9 -2
  72. package/es/image/models/image.js +83 -44
  73. package/es/image/shaders/image_frag.glsl +34 -7
  74. package/es/image/shaders/image_vert.glsl +11 -5
  75. package/es/line/index.d.ts +4 -4
  76. package/es/line/index.js +2 -1
  77. package/es/line/models/arc.d.ts +8 -3
  78. package/es/line/models/arc.js +57 -76
  79. package/es/line/models/arc_3d.d.ts +8 -3
  80. package/es/line/models/arc_3d.js +46 -57
  81. package/es/line/models/flow.d.ts +8 -2
  82. package/es/line/models/flow.js +14 -12
  83. package/es/line/models/great_circle.d.ts +8 -3
  84. package/es/line/models/great_circle.js +51 -36
  85. package/es/line/models/index.d.ts +1 -1
  86. package/es/line/models/index.js +3 -6
  87. package/es/line/models/line.d.ts +8 -3
  88. package/es/line/models/line.js +67 -140
  89. package/es/line/models/{simpleLine.d.ts → simple_line.d.ts} +8 -2
  90. package/es/line/models/simple_line.js +204 -0
  91. package/es/line/models/wall.d.ts +8 -3
  92. package/es/line/models/wall.js +35 -27
  93. package/es/line/shaders/{line_arc_frag.glsl → arc/line_arc_frag.glsl} +36 -26
  94. package/es/line/shaders/{line_arc_vert.glsl → arc/line_arc_vert.glsl} +52 -22
  95. package/es/line/shaders/{line_arc_3d_frag.glsl → arc3d/line_arc_3d_frag.glsl} +32 -24
  96. package/{lib/line/shaders → es/line/shaders/arc3d}/line_arc_3d_vert.glsl +37 -27
  97. package/es/line/shaders/flow/flow_line_frag.glsl +5 -4
  98. package/es/line/shaders/flow/flow_line_vert.glsl +17 -18
  99. package/es/line/shaders/{line_arc_great_circle_frag.glsl → greatCircle/line_arc_great_circle_frag.glsl} +30 -30
  100. package/{lib/line/shaders → es/line/shaders/greatCircle}/line_arc_great_circle_vert.glsl +43 -40
  101. package/es/line/shaders/{line_frag.glsl → line/line_frag.glsl} +55 -28
  102. package/es/line/shaders/line/line_vert.glsl +114 -0
  103. package/es/line/shaders/simple/simpleline_frag.glsl +27 -3
  104. package/es/line/shaders/simple/simpleline_vert.glsl +20 -20
  105. package/es/line/shaders/wall/wall_frag.glsl +31 -26
  106. package/es/line/shaders/wall/wall_vert.glsl +29 -22
  107. package/es/mask/index.d.ts +2 -2
  108. package/es/mask/models/fill.d.ts +1 -1
  109. package/es/plugins/DataMappingPlugin.d.ts +1 -1
  110. package/es/plugins/DataMappingPlugin.js +1 -3
  111. package/es/plugins/DataSourcePlugin.d.ts +1 -1
  112. package/es/plugins/FeatureScalePlugin.d.ts +1 -1
  113. package/es/plugins/FeatureScalePlugin.js +14 -3
  114. package/es/plugins/LayerAnimateStylePlugin.d.ts +1 -1
  115. package/es/plugins/LayerMaskPlugin.d.ts +1 -1
  116. package/es/plugins/LayerModelPlugin.d.ts +1 -1
  117. package/es/plugins/LayerStylePlugin.d.ts +1 -1
  118. package/es/plugins/LightingPlugin.d.ts +1 -1
  119. package/es/plugins/MultiPassRendererPlugin.d.ts +1 -1
  120. package/es/plugins/PixelPickingPlugin.d.ts +6 -2
  121. package/es/plugins/PixelPickingPlugin.js +36 -49
  122. package/es/plugins/RegisterStyleAttributePlugin.d.ts +1 -1
  123. package/es/plugins/ShaderUniformPlugin.d.ts +1 -1
  124. package/es/plugins/ShaderUniformPlugin.js +11 -6
  125. package/es/plugins/UpdateModelPlugin.d.ts +1 -1
  126. package/es/plugins/UpdateStyleAttributePlugin.d.ts +1 -1
  127. package/es/point/index.d.ts +2 -2
  128. package/es/point/index.js +1 -0
  129. package/es/point/models/billboard_point.d.ts +9 -3
  130. package/es/point/models/billboard_point.js +18 -18
  131. package/es/point/models/earthExtrude.d.ts +7 -12
  132. package/es/point/models/earthExtrude.js +21 -13
  133. package/es/point/models/earthFill.d.ts +8 -3
  134. package/es/point/models/earthFill.js +18 -30
  135. package/es/point/models/extrude.d.ts +7 -12
  136. package/es/point/models/extrude.js +18 -13
  137. package/es/point/models/fill.d.ts +8 -2
  138. package/es/point/models/fill.js +33 -84
  139. package/es/point/models/{fillmage.d.ts → fillImage.d.ts} +8 -2
  140. package/es/point/models/{fillmage.js → fillImage.js} +23 -15
  141. package/es/point/models/image.d.ts +8 -1
  142. package/es/point/models/image.js +31 -21
  143. package/es/point/models/index.js +1 -1
  144. package/es/point/models/normal.d.ts +9 -3
  145. package/es/point/models/normal.js +13 -30
  146. package/es/point/models/radar.d.ts +8 -2
  147. package/es/point/models/radar.js +23 -45
  148. package/es/point/models/text.d.ts +9 -2
  149. package/es/point/models/text.js +31 -32
  150. package/{lib/point/shaders → es/point/shaders/billboard}/billboard_point_frag.glsl +17 -13
  151. package/{lib/point/shaders → es/point/shaders/billboard}/billboard_point_vert.glsl +13 -14
  152. package/es/point/shaders/earthExtrude/earthExtrude_frag.glsl +36 -0
  153. package/{lib/point/shaders/earth/extrude_vert.glsl → es/point/shaders/earthExtrude/earthExtrude_vert.glsl} +25 -22
  154. package/{lib/point/shaders/earth/fill_frag.glsl → es/point/shaders/earthFill/earthFill_frag.glsl} +20 -18
  155. package/{lib/point/shaders/earth/fill_vert.glsl → es/point/shaders/earthFill/earthFill_vert.glsl} +17 -22
  156. package/es/point/shaders/extrude/extrude_frag.glsl +19 -7
  157. package/es/point/shaders/extrude/extrude_vert.glsl +23 -30
  158. package/{lib/point/shaders → es/point/shaders/fill}/fill_frag.glsl +18 -1
  159. package/es/point/shaders/{fill_vert.glsl → fill/fill_vert.glsl} +5 -4
  160. package/es/point/shaders/fillImage/fillImage_frag.glsl +24 -0
  161. package/{lib/point/shaders/image → es/point/shaders/fillImage}/fillImage_vert.glsl +15 -17
  162. package/es/point/shaders/image/image_frag.glsl +42 -0
  163. package/{lib/point/shaders → es/point/shaders/image}/image_vert.glsl +14 -13
  164. package/es/point/shaders/radar/radar_frag.glsl +19 -14
  165. package/es/point/shaders/radar/radar_vert.glsl +21 -24
  166. package/es/point/shaders/text/text_frag.glsl +44 -0
  167. package/es/point/shaders/{text_vert.glsl → text/text_vert.glsl} +19 -17
  168. package/es/point/shape/extrude.d.ts +1 -1
  169. package/es/polygon/index.d.ts +2 -2
  170. package/es/polygon/models/extrude.d.ts +9 -9
  171. package/es/polygon/models/extrude.js +38 -15
  172. package/es/polygon/models/extrusion.d.ts +8 -1
  173. package/es/polygon/models/extrusion.js +24 -7
  174. package/es/polygon/models/fill.d.ts +9 -4
  175. package/es/polygon/models/fill.js +26 -13
  176. package/es/polygon/models/ocean.d.ts +9 -7
  177. package/es/polygon/models/ocean.js +30 -14
  178. package/es/polygon/models/water.d.ts +9 -4
  179. package/es/polygon/models/water.js +26 -10
  180. package/es/polygon/shaders/extrude/polygon_extrude_frag.glsl +14 -14
  181. package/es/polygon/shaders/extrude/polygon_extrude_picklight_frag.glsl +17 -15
  182. package/es/polygon/shaders/extrude/polygon_extrude_picklight_vert.glsl +18 -18
  183. package/es/polygon/shaders/extrude/polygon_extrude_vert.glsl +18 -24
  184. package/es/polygon/shaders/extrude/polygon_extrudetex_frag.glsl +19 -15
  185. package/es/polygon/shaders/extrude/polygon_extrudetex_vert.glsl +20 -24
  186. package/es/polygon/shaders/extrusion/polygon_extrusion_frag.glsl +4 -8
  187. package/es/polygon/shaders/extrusion/polygon_extrusion_vert.glsl +7 -16
  188. package/es/polygon/shaders/fill/fill_frag.glsl +7 -0
  189. package/es/polygon/shaders/fill/fill_linear_frag.glsl +20 -0
  190. package/{lib/polygon/shaders/polygon_linear_vert.glsl → es/polygon/shaders/fill/fill_linear_vert.glsl} +12 -11
  191. package/es/polygon/shaders/{polygon_vert.glsl → fill/fill_vert.glsl} +6 -6
  192. package/es/polygon/shaders/{water/polygon_ocean_frag.glsl → ocean/ocean_frag.glsl} +13 -13
  193. package/es/polygon/shaders/ocean/ocean_vert.glsl +22 -0
  194. package/es/polygon/shaders/water/polygon_water_frag.glsl +14 -12
  195. package/es/polygon/shaders/water/polygon_water_vert.glsl +10 -10
  196. package/es/raster/buffers/triangulation.d.ts +1 -1
  197. package/es/raster/index.d.ts +2 -2
  198. package/es/raster/models/raster.d.ts +9 -8
  199. package/es/raster/models/raster.js +54 -38
  200. package/es/raster/models/rasterRgb.d.ts +9 -7
  201. package/es/raster/models/rasterRgb.js +36 -19
  202. package/es/raster/models/rasterTerrainRgb.d.ts +1 -1
  203. package/es/raster/models/rasterTerrainRgb.js +2 -2
  204. package/es/raster/shaders/raster/raster_2d_frag.glsl +34 -0
  205. package/es/raster/shaders/raster/raster_2d_vert.glsl +21 -0
  206. package/es/raster/shaders/rgb/raster_rgb_frag.glsl +26 -0
  207. package/es/raster/shaders/rgb/raster_rgb_vert.glsl +21 -0
  208. package/es/tile/core/BaseLayer.d.ts +2 -2
  209. package/es/tile/core/TileDebugLayer.d.ts +1 -1
  210. package/es/tile/interaction/getRasterData.d.ts +2 -2
  211. package/es/tile/interaction/utils.d.ts +1 -1
  212. package/es/tile/interface.d.ts +2 -2
  213. package/es/tile/service/TileLayerService.d.ts +2 -2
  214. package/es/tile/service/TilePickService.d.ts +2 -2
  215. package/es/tile/service/TileSourceService.d.ts +1 -1
  216. package/es/tile/tile/Tile.d.ts +2 -3
  217. package/es/tile/tile/VectorTile.d.ts +1 -1
  218. package/es/tile/tile/index.d.ts +1 -1
  219. package/es/tile/utils/constants.js +1 -1
  220. package/es/tile/utils/utils.d.ts +1 -1
  221. package/es/utils/blend.d.ts +1 -1
  222. package/es/utils/multiPassRender.d.ts +1 -1
  223. package/es/utils/stencil.d.ts +1 -1
  224. package/es/wind/index.d.ts +3 -3
  225. package/es/wind/models/wind.d.ts +1 -1
  226. package/lib/citybuliding/models/build.js +22 -11
  227. package/lib/citybuliding/shaders/build_frag.glsl +26 -23
  228. package/lib/citybuliding/shaders/build_vert.glsl +24 -16
  229. package/lib/core/BaseLayer.js +56 -10
  230. package/lib/core/BaseModel.js +99 -2
  231. package/lib/core/CommonStyleAttribute.js +4 -0
  232. package/lib/core/triangulation.js +12 -6
  233. package/lib/core/utils.js +22 -0
  234. package/lib/earth/models/atmosphere.js +15 -8
  235. package/lib/earth/models/base.js +21 -12
  236. package/lib/earth/models/bloomsphere.js +15 -8
  237. package/lib/earth/shaders/{atmosphere_frag.glsl → atmosphere/atmosphere_frag.glsl} +9 -6
  238. package/lib/earth/shaders/atmosphere/atmosphere_vert.glsl +22 -0
  239. package/lib/earth/shaders/base/base_frag.glsl +11 -0
  240. package/lib/earth/shaders/base/base_vert.glsl +52 -0
  241. package/lib/earth/shaders/bloomshpere/bloomsphere_frag.glsl +16 -0
  242. package/lib/earth/shaders/bloomshpere/bloomsphere_vert.glsl +19 -0
  243. package/lib/geometry/models/billboard.js +26 -11
  244. package/lib/geometry/models/plane.js +23 -6
  245. package/lib/geometry/models/sprite.js +44 -18
  246. package/lib/geometry/shaders/billboard_frag.glsl +11 -6
  247. package/lib/geometry/shaders/billboard_vert.glsl +12 -15
  248. package/lib/geometry/shaders/plane_frag.glsl +14 -10
  249. package/lib/geometry/shaders/plane_vert.glsl +11 -10
  250. package/lib/geometry/shaders/sprite_frag.glsl +11 -7
  251. package/lib/geometry/shaders/sprite_vert.glsl +10 -9
  252. package/lib/heatmap/models/grid.js +25 -12
  253. package/lib/heatmap/models/grid3d.js +29 -13
  254. package/lib/heatmap/models/heatmap.js +122 -74
  255. package/lib/heatmap/models/hexagon.js +25 -12
  256. package/lib/heatmap/shaders/grid/grid_frag.glsl +8 -0
  257. package/lib/heatmap/shaders/{grid_vert.glsl → grid/grid_vert.glsl} +15 -15
  258. package/lib/heatmap/shaders/grid3d/grid_3d_frag.glsl +8 -0
  259. package/{es/heatmap/shaders/hexagon_3d_vert.glsl → lib/heatmap/shaders/grid3d/grid_3d_vert.glsl} +13 -16
  260. package/lib/heatmap/shaders/heatmap/heatmap_3d_frag.glsl +24 -0
  261. package/lib/heatmap/shaders/{heatmap_3d_vert.glsl → heatmap/heatmap_3d_vert.glsl} +19 -9
  262. package/lib/heatmap/shaders/heatmap/heatmap_frag.glsl +52 -0
  263. package/lib/heatmap/shaders/heatmap/heatmap_framebuffer_frag.glsl +16 -0
  264. package/{es/heatmap/shaders → lib/heatmap/shaders/heatmap}/heatmap_framebuffer_vert.glsl +14 -9
  265. package/lib/heatmap/shaders/heatmap/heatmap_vert.glsl +19 -0
  266. package/lib/heatmap/shaders/hexagon/hexagon_frag.glsl +8 -0
  267. package/lib/heatmap/shaders/{hexagon_vert.glsl → hexagon/hexagon_vert.glsl} +12 -13
  268. package/lib/image/models/image.js +83 -44
  269. package/lib/image/shaders/image_frag.glsl +34 -7
  270. package/lib/image/shaders/image_vert.glsl +11 -5
  271. package/lib/line/index.js +2 -1
  272. package/lib/line/models/arc.js +57 -76
  273. package/lib/line/models/arc_3d.js +47 -59
  274. package/lib/line/models/flow.js +14 -12
  275. package/lib/line/models/great_circle.js +51 -36
  276. package/lib/line/models/index.js +4 -7
  277. package/lib/line/models/line.js +67 -142
  278. package/lib/line/models/{simpleLine.js → simple_line.js} +84 -74
  279. package/lib/line/models/wall.js +35 -27
  280. package/lib/line/shaders/{line_arc_frag.glsl → arc/line_arc_frag.glsl} +36 -26
  281. package/lib/line/shaders/{line_arc_vert.glsl → arc/line_arc_vert.glsl} +52 -22
  282. package/lib/line/shaders/{line_arc_3d_frag.glsl → arc3d/line_arc_3d_frag.glsl} +32 -24
  283. package/{es/line/shaders → lib/line/shaders/arc3d}/line_arc_3d_vert.glsl +37 -27
  284. package/lib/line/shaders/flow/flow_line_frag.glsl +5 -4
  285. package/lib/line/shaders/flow/flow_line_vert.glsl +17 -18
  286. package/lib/line/shaders/{line_arc_great_circle_frag.glsl → greatCircle/line_arc_great_circle_frag.glsl} +30 -30
  287. package/{es/line/shaders → lib/line/shaders/greatCircle}/line_arc_great_circle_vert.glsl +43 -40
  288. package/lib/line/shaders/{line_frag.glsl → line/line_frag.glsl} +55 -28
  289. package/lib/line/shaders/line/line_vert.glsl +114 -0
  290. package/lib/line/shaders/simple/simpleline_frag.glsl +27 -3
  291. package/lib/line/shaders/simple/simpleline_vert.glsl +20 -20
  292. package/lib/line/shaders/wall/wall_frag.glsl +31 -26
  293. package/lib/line/shaders/wall/wall_vert.glsl +29 -22
  294. package/lib/plugins/DataMappingPlugin.js +1 -3
  295. package/lib/plugins/FeatureScalePlugin.js +14 -3
  296. package/lib/plugins/PixelPickingPlugin.js +35 -48
  297. package/lib/plugins/ShaderUniformPlugin.js +11 -6
  298. package/lib/point/index.js +1 -0
  299. package/lib/point/models/billboard_point.js +18 -18
  300. package/lib/point/models/earthExtrude.js +21 -13
  301. package/lib/point/models/earthFill.js +18 -30
  302. package/lib/point/models/extrude.js +18 -13
  303. package/lib/point/models/fill.js +33 -84
  304. package/lib/point/models/{fillmage.js → fillImage.js} +24 -17
  305. package/lib/point/models/image.js +31 -21
  306. package/lib/point/models/index.js +2 -2
  307. package/lib/point/models/normal.js +13 -30
  308. package/lib/point/models/radar.js +23 -45
  309. package/lib/point/models/text.js +31 -32
  310. package/{es/point/shaders → lib/point/shaders/billboard}/billboard_point_frag.glsl +17 -13
  311. package/{es/point/shaders → lib/point/shaders/billboard}/billboard_point_vert.glsl +13 -14
  312. package/lib/point/shaders/earthExtrude/earthExtrude_frag.glsl +36 -0
  313. package/{es/point/shaders/earth/extrude_vert.glsl → lib/point/shaders/earthExtrude/earthExtrude_vert.glsl} +25 -22
  314. package/{es/point/shaders/earth/fill_frag.glsl → lib/point/shaders/earthFill/earthFill_frag.glsl} +20 -18
  315. package/{es/point/shaders/earth/fill_vert.glsl → lib/point/shaders/earthFill/earthFill_vert.glsl} +17 -22
  316. package/lib/point/shaders/extrude/extrude_frag.glsl +19 -7
  317. package/lib/point/shaders/extrude/extrude_vert.glsl +23 -30
  318. package/{es/point/shaders → lib/point/shaders/fill}/fill_frag.glsl +18 -1
  319. package/lib/point/shaders/{fill_vert.glsl → fill/fill_vert.glsl} +5 -4
  320. package/lib/point/shaders/fillImage/fillImage_frag.glsl +24 -0
  321. package/{es/point/shaders/image → lib/point/shaders/fillImage}/fillImage_vert.glsl +15 -17
  322. package/lib/point/shaders/image/image_frag.glsl +42 -0
  323. package/{es/point/shaders → lib/point/shaders/image}/image_vert.glsl +14 -13
  324. package/lib/point/shaders/radar/radar_frag.glsl +19 -14
  325. package/lib/point/shaders/radar/radar_vert.glsl +21 -24
  326. package/lib/point/shaders/text/text_frag.glsl +44 -0
  327. package/lib/point/shaders/{text_vert.glsl → text/text_vert.glsl} +19 -17
  328. package/lib/polygon/models/extrude.js +38 -15
  329. package/lib/polygon/models/extrusion.js +24 -7
  330. package/lib/polygon/models/fill.js +26 -13
  331. package/lib/polygon/models/ocean.js +30 -14
  332. package/lib/polygon/models/water.js +26 -10
  333. package/lib/polygon/shaders/extrude/polygon_extrude_frag.glsl +14 -14
  334. package/lib/polygon/shaders/extrude/polygon_extrude_picklight_frag.glsl +17 -15
  335. package/lib/polygon/shaders/extrude/polygon_extrude_picklight_vert.glsl +18 -18
  336. package/lib/polygon/shaders/extrude/polygon_extrude_vert.glsl +18 -24
  337. package/lib/polygon/shaders/extrude/polygon_extrudetex_frag.glsl +19 -15
  338. package/lib/polygon/shaders/extrude/polygon_extrudetex_vert.glsl +20 -24
  339. package/lib/polygon/shaders/extrusion/polygon_extrusion_frag.glsl +4 -8
  340. package/lib/polygon/shaders/extrusion/polygon_extrusion_vert.glsl +7 -16
  341. package/lib/polygon/shaders/fill/fill_frag.glsl +7 -0
  342. package/lib/polygon/shaders/fill/fill_linear_frag.glsl +20 -0
  343. package/{es/polygon/shaders/polygon_linear_vert.glsl → lib/polygon/shaders/fill/fill_linear_vert.glsl} +12 -11
  344. package/lib/polygon/shaders/{polygon_vert.glsl → fill/fill_vert.glsl} +6 -6
  345. package/lib/polygon/shaders/{water/polygon_ocean_frag.glsl → ocean/ocean_frag.glsl} +13 -13
  346. package/lib/polygon/shaders/ocean/ocean_vert.glsl +22 -0
  347. package/lib/polygon/shaders/water/polygon_water_frag.glsl +14 -12
  348. package/lib/polygon/shaders/water/polygon_water_vert.glsl +10 -10
  349. package/lib/raster/models/raster.js +54 -38
  350. package/lib/raster/models/rasterRgb.js +36 -19
  351. package/lib/raster/models/rasterTerrainRgb.js +2 -2
  352. package/lib/raster/shaders/raster/raster_2d_frag.glsl +34 -0
  353. package/lib/raster/shaders/raster/raster_2d_vert.glsl +21 -0
  354. package/lib/raster/shaders/rgb/raster_rgb_frag.glsl +26 -0
  355. package/lib/raster/shaders/rgb/raster_rgb_vert.glsl +21 -0
  356. package/lib/tile/utils/constants.js +1 -1
  357. package/package.json +7 -7
  358. package/es/earth/shaders/atmosphere_vert.glsl +0 -26
  359. package/es/earth/shaders/base_frag.glsl +0 -13
  360. package/es/earth/shaders/base_vert.glsl +0 -52
  361. package/es/earth/shaders/bloomsphere_frag.glsl +0 -15
  362. package/es/earth/shaders/bloomsphere_vert.glsl +0 -20
  363. package/es/heatmap/shaders/heatmap_3d_frag.glsl +0 -14
  364. package/es/heatmap/shaders/heatmap_frag.glsl +0 -47
  365. package/es/heatmap/shaders/heatmap_framebuffer_frag.glsl +0 -10
  366. package/es/heatmap/shaders/heatmap_vert.glsl +0 -10
  367. package/es/heatmap/shaders/hexagon_frag.glsl +0 -12
  368. package/es/line/models/earthArc_3d.d.ts +0 -17
  369. package/es/line/models/earthArc_3d.js +0 -285
  370. package/es/line/models/linearline.d.ts +0 -11
  371. package/es/line/models/linearline.js +0 -241
  372. package/es/line/models/simpleLine.js +0 -194
  373. package/es/line/shaders/arc_chunks.vert.glsl +0 -21
  374. package/es/line/shaders/dash/arc_dash_frag.glsl +0 -21
  375. package/es/line/shaders/dash/arc_dash_vert.glsl +0 -102
  376. package/es/line/shaders/dash/line_dash_frag.glsl +0 -27
  377. package/es/line/shaders/dash/line_dash_vert.glsl +0 -82
  378. package/es/line/shaders/line_arc2d_vert.glsl +0 -114
  379. package/es/line/shaders/line_bezier_vert.glsl +0 -85
  380. package/es/line/shaders/line_vert.glsl +0 -165
  381. package/es/line/shaders/linear/arc3d_linear_frag.glsl +0 -32
  382. package/es/line/shaders/linear/arc3d_linear_vert.glsl +0 -161
  383. package/es/line/shaders/linear/arc_linear_frag.glsl +0 -10
  384. package/es/line/shaders/linear/arc_linear_vert.glsl +0 -98
  385. package/es/line/shaders/linear/line_linear_frag.glsl +0 -25
  386. package/es/line/shaders/linearLine/line_linear_frag.glsl +0 -8
  387. package/es/line/shaders/linearLine/line_linear_vert.glsl +0 -93
  388. package/es/line/shaders/simple/simpleline_linear_frag.glsl +0 -8
  389. package/es/point/shaders/animate/wave_frag.glsl +0 -55
  390. package/es/point/shaders/earth/extrude_frag.glsl +0 -32
  391. package/es/point/shaders/image/fillImage_frag.glsl +0 -18
  392. package/es/point/shaders/image_frag.glsl +0 -37
  393. package/es/point/shaders/text_frag.glsl +0 -39
  394. package/es/polygon/shaders/polygon_frag.glsl +0 -7
  395. package/es/polygon/shaders/polygon_linear_frag.glsl +0 -15
  396. package/es/polygon/shaders/water/polygon_ocean_vert.glsl +0 -16
  397. package/es/raster/shaders/raster_2d_frag.glsl +0 -32
  398. package/es/raster/shaders/raster_2d_vert.glsl +0 -13
  399. package/es/raster/shaders/raster_frag.glsl +0 -11
  400. package/es/raster/shaders/raster_rgb_frag.glsl +0 -20
  401. package/es/raster/shaders/raster_vert.glsl +0 -34
  402. package/lib/earth/shaders/atmosphere_vert.glsl +0 -26
  403. package/lib/earth/shaders/base_frag.glsl +0 -13
  404. package/lib/earth/shaders/base_vert.glsl +0 -52
  405. package/lib/earth/shaders/bloomsphere_frag.glsl +0 -15
  406. package/lib/earth/shaders/bloomsphere_vert.glsl +0 -20
  407. package/lib/heatmap/shaders/heatmap_3d_frag.glsl +0 -14
  408. package/lib/heatmap/shaders/heatmap_frag.glsl +0 -47
  409. package/lib/heatmap/shaders/heatmap_framebuffer_frag.glsl +0 -10
  410. package/lib/heatmap/shaders/heatmap_vert.glsl +0 -10
  411. package/lib/heatmap/shaders/hexagon_frag.glsl +0 -12
  412. package/lib/line/models/earthArc_3d.js +0 -291
  413. package/lib/line/models/linearline.js +0 -247
  414. package/lib/line/shaders/arc_chunks.vert.glsl +0 -21
  415. package/lib/line/shaders/dash/arc_dash_frag.glsl +0 -21
  416. package/lib/line/shaders/dash/arc_dash_vert.glsl +0 -102
  417. package/lib/line/shaders/dash/line_dash_frag.glsl +0 -27
  418. package/lib/line/shaders/dash/line_dash_vert.glsl +0 -82
  419. package/lib/line/shaders/line_arc2d_vert.glsl +0 -114
  420. package/lib/line/shaders/line_bezier_vert.glsl +0 -85
  421. package/lib/line/shaders/line_vert.glsl +0 -165
  422. package/lib/line/shaders/linear/arc3d_linear_frag.glsl +0 -32
  423. package/lib/line/shaders/linear/arc3d_linear_vert.glsl +0 -161
  424. package/lib/line/shaders/linear/arc_linear_frag.glsl +0 -10
  425. package/lib/line/shaders/linear/arc_linear_vert.glsl +0 -98
  426. package/lib/line/shaders/linear/line_linear_frag.glsl +0 -25
  427. package/lib/line/shaders/linearLine/line_linear_frag.glsl +0 -8
  428. package/lib/line/shaders/linearLine/line_linear_vert.glsl +0 -93
  429. package/lib/line/shaders/simple/simpleline_linear_frag.glsl +0 -8
  430. package/lib/point/shaders/animate/wave_frag.glsl +0 -55
  431. package/lib/point/shaders/earth/extrude_frag.glsl +0 -32
  432. package/lib/point/shaders/image/fillImage_frag.glsl +0 -18
  433. package/lib/point/shaders/image_frag.glsl +0 -37
  434. package/lib/point/shaders/text_frag.glsl +0 -39
  435. package/lib/polygon/shaders/polygon_frag.glsl +0 -7
  436. package/lib/polygon/shaders/polygon_linear_frag.glsl +0 -15
  437. package/lib/polygon/shaders/water/polygon_ocean_vert.glsl +0 -16
  438. package/lib/raster/shaders/raster_2d_frag.glsl +0 -32
  439. package/lib/raster/shaders/raster_2d_vert.glsl +0 -13
  440. package/lib/raster/shaders/raster_frag.glsl +0 -11
  441. package/lib/raster/shaders/raster_rgb_frag.glsl +0 -20
  442. package/lib/raster/shaders/raster_vert.glsl +0 -34
  443. /package/es/point/shaders/{normal_frag.glsl → normal/normal_frag.glsl} +0 -0
  444. /package/es/point/shaders/{normal_vert.glsl → normal/normal_vert.glsl} +0 -0
  445. /package/es/raster/shaders/{raster_terrain_rgb_frag.glsl → terrain/terrain_rgb_frag.glsl} +0 -0
  446. /package/es/raster/shaders/{rater_terrain_rgb_vert.glsl → terrain/terrain_rgb_vert.glsl} +0 -0
  447. /package/lib/point/shaders/{normal_frag.glsl → normal/normal_frag.glsl} +0 -0
  448. /package/lib/point/shaders/{normal_vert.glsl → normal/normal_vert.glsl} +0 -0
  449. /package/lib/raster/shaders/{raster_terrain_rgb_frag.glsl → terrain/terrain_rgb_frag.glsl} +0 -0
  450. /package/lib/raster/shaders/{rater_terrain_rgb_vert.glsl → terrain/terrain_rgb_vert.glsl} +0 -0
@@ -2,23 +2,28 @@
2
2
  #define LineTexture 1.0
3
3
 
4
4
  // line texture
5
- uniform float u_line_texture;
6
- uniform sampler2D u_texture;
7
- uniform vec2 u_textSize;
8
- uniform float u_linearColor: 0;
9
- uniform vec4 u_sourceColor;
10
- uniform vec4 u_targetColor;
11
- uniform float u_textureBlend;
12
- uniform float u_iconStepCount;
13
- uniform float u_time;
14
- uniform vec4 u_animate: [ 1., 2., 1.0, 0.2 ]; // 控制运动
15
5
 
16
- varying vec2 v_iconMapUV;
17
- varying float v_blur;
18
- varying float v_radio;
19
- varying vec4 v_color;
20
- varying vec4 v_dataset;
6
+ uniform sampler2D u_texture;
7
+ layout(std140) uniform commonUniorm {
8
+ vec4 u_animate: [ 1., 2., 1.0, 0.2 ];
9
+ vec4 u_sourceColor;
10
+ vec4 u_targetColor;
11
+ vec2 u_textSize;
12
+ float u_icon_step: 100;
13
+ float u_heightfixed;
14
+ float u_linearColor: 0;
15
+ float u_line_texture;
16
+ float u_textureBlend;
17
+ float u_iconStepCount;
18
+ float u_time;
19
+ };
20
+ in vec2 v_iconMapUV;
21
+ in float v_blur;
22
+ in float v_radio;
23
+ in vec4 v_color;
24
+ in vec4 v_dataset;
21
25
 
26
+ out vec4 outputColor;
22
27
  #pragma include "picking"
23
28
 
24
29
  void main() {
@@ -27,18 +32,18 @@ void main() {
27
32
  float v = v_dataset.a;
28
33
 
29
34
  if(u_linearColor == 1.0) { // 使用渐变颜色
30
- gl_FragColor = mix(u_sourceColor, u_targetColor, v);
35
+ outputColor = mix(u_sourceColor, u_targetColor, v);
31
36
  } else { // 使用 color 方法传入的颜色
32
- gl_FragColor = v_color;
37
+ outputColor = v_color;
33
38
  }
34
39
 
35
- gl_FragColor.a *= v_color.a; // 全局透明度
40
+ outputColor.a *= v_color.a; // 全局透明度
36
41
  if(u_animate.x == Animate) {
37
42
  animateSpeed = u_time / u_animate.y;
38
43
  float alpha =1.0 - fract( mod(1.0- d_distance_ratio, u_animate.z)* (1.0/ u_animate.z) + animateSpeed);
39
44
  alpha = (alpha + u_animate.w -1.0) / u_animate.w;
40
45
  alpha = smoothstep(0., 1., alpha);
41
- gl_FragColor.a *= alpha;
46
+ outputColor.a *= alpha;
42
47
  }
43
48
 
44
49
  if(u_line_texture == LineTexture) { // while load texture
@@ -56,7 +61,7 @@ void main() {
56
61
  // 计算纹理间隔 end
57
62
 
58
63
  vec2 uv= v_iconMapUV / u_textSize + vec2(u, v) / u_textSize * 64.;
59
- vec4 pattern = texture2D(u_texture, uv);
64
+ vec4 pattern = texture(SAMPLER_2D(u_texture), uv);
60
65
 
61
66
  // Tip: 判断纹理间隔
62
67
  if(flag > 0.0) {
@@ -65,23 +70,23 @@ void main() {
65
70
 
66
71
  if(u_textureBlend == 0.0) { // normal
67
72
  pattern.a = 0.0;
68
- gl_FragColor = filterColor(gl_FragColor + pattern);
73
+ outputColor = filterColor(outputColor + pattern);
69
74
  } else { // replace
70
75
  pattern.a *= v_color.a;
71
- if(gl_FragColor.a <= 0.0) {
76
+ if(outputColor.a <= 0.0) {
72
77
  pattern.a = 0.0;
73
78
  }
74
- gl_FragColor = filterColor(pattern);
79
+ outputColor = filterColor(pattern);
75
80
  }
76
81
  }
77
82
 
78
83
 
79
84
  // blur - AA
80
85
  if(v < v_blur) {
81
- gl_FragColor.a = mix(0.0, gl_FragColor.a, v/v_blur);
86
+ outputColor.a = mix(0.0, outputColor.a, v/v_blur);
82
87
  } else if(v > 1.0 - v_blur) {
83
- gl_FragColor.a = mix(gl_FragColor.a, 0.0, (v - (1.0 - v_blur))/v_blur);
88
+ outputColor.a = mix(outputColor.a, 0.0, (v - (1.0 - v_blur))/v_blur);
84
89
  }
85
90
 
86
- gl_FragColor = filterColor(gl_FragColor);
91
+ outputColor = filterColor(outputColor);
87
92
  }
@@ -1,31 +1,38 @@
1
1
  #define Animate 0.0
2
-
3
- attribute float a_Miter;
4
- attribute vec4 a_Color;
5
- attribute vec2 a_Size;
6
- attribute vec3 a_Normal;
7
- attribute vec3 a_Position;
8
- attribute vec2 a_iconMapUV;
9
- attribute float a_Total_Distance;
10
- attribute float a_Distance;
11
-
12
- uniform mat4 u_ModelMatrix;
13
-
14
- uniform vec4 u_animate: [ 1., 2., 1.0, 0.2 ];
15
- uniform float u_icon_step: 100;
16
- uniform float u_heightfixed;
17
- uniform float u_linearColor: 0;
18
-
2
+ layout(location = 0) in vec3 a_Position;
3
+ layout(location = 1) in vec4 a_Color;
4
+ layout(location = 9) in vec2 a_Size;
5
+ layout(location = 10) in float a_Miter;
6
+ layout(location = 11) in float a_Total_Distance;
7
+ layout(location = 12) in vec4 a_Instance;
8
+ layout(location = 13) in vec3 a_Normal;
9
+ layout(location = 14) in vec2 a_iconMapUV;
10
+ layout(location = 15) in float a_Distance;
11
+
12
+
13
+ layout(std140) uniform commonUniorm {
14
+ vec4 u_animate: [ 1., 2., 1.0, 0.2 ];
15
+ vec4 u_sourceColor;
16
+ vec4 u_targetColor;
17
+ vec2 u_textSize;
18
+ float u_icon_step: 100;
19
+ float u_heightfixed;
20
+ float u_linearColor: 0;
21
+ float u_line_texture;
22
+ float u_textureBlend;
23
+ float u_iconStepCount;
24
+ float u_time;
25
+ };
19
26
  #pragma include "projection"
20
27
  #pragma include "light"
21
28
  #pragma include "picking"
22
29
 
23
30
  // texV 线图层 - 贴图部分的 v 坐标(线的宽度方向)
24
- varying vec2 v_iconMapUV;
25
- varying vec4 v_color;
26
- varying float v_blur;
27
- varying float v_radio;
28
- varying vec4 v_dataset;
31
+ out vec2 v_iconMapUV;
32
+ out vec4 v_color;
33
+ out float v_blur;
34
+ out float v_radio;
35
+ out vec4 v_dataset;
29
36
 
30
37
  void main() {
31
38
 
@@ -136,9 +136,7 @@ var DataMappingPlugin = exports.default = (_dec = (0, _inversify.injectable)(),
136
136
  filterData = layer.processData(filterData); // 目前只有简单线需要处理
137
137
  var encodeData = this.mapping(layer, attributes, filterData, undefined);
138
138
  layer.setEncodedData(encodeData);
139
- if (dataArray.length === 0 && layer.encodeDataLength === 0) {
140
- return false;
141
- }
139
+
142
140
  // 对外暴露事件
143
141
  layer.emit('dataUpdate', null);
144
142
  return true;
@@ -287,9 +287,20 @@ var FeatureScalePlugin = exports.default = (_dec = (0, _inversify.injectable)(),
287
287
  var cfg = {
288
288
  type: type
289
289
  };
290
- var values = (data === null || data === void 0 ? void 0 : data.map(function (item) {
291
- return item[field];
292
- })) || [];
290
+ // quantile domain 需要根据ID 进行去重
291
+ var values = [];
292
+ if (type === _l7Core.ScaleTypes.QUANTILE) {
293
+ // 根据 obejct 属性 _id 进行去重
294
+ var idMap = new Map();
295
+ data === null || data === void 0 || data.forEach(function (obj) {
296
+ idMap.set(obj._id, obj[field]);
297
+ });
298
+ values = Array.from(idMap.values());
299
+ } else {
300
+ values = (data === null || data === void 0 ? void 0 : data.map(function (item) {
301
+ return item[field];
302
+ })) || [];
303
+ }
293
304
  if (scaleOption !== null && scaleOption !== void 0 && scaleOption.domain) {
294
305
  cfg.domain = scaleOption === null || scaleOption === void 0 ? void 0 : scaleOption.domain;
295
306
  } else if (type === _l7Core.ScaleTypes.CAT || type === _l7Core.ScaleTypes.IDENTITY) {
@@ -5,15 +5,16 @@ Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
7
  exports.default = void 0;
8
+ var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
8
9
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
9
10
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
10
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
11
  var _l7Core = require("@antv/l7-core");
12
12
  var _l7Utils = require("@antv/l7-utils");
13
13
  var _inversify = require("inversify");
14
14
  require("reflect-metadata");
15
15
  var _CommonStyleAttribute = require("../core/CommonStyleAttribute");
16
16
  var _dec, _class;
17
+ var isNumber = _l7Utils.lodashUtil.isNumber;
17
18
  var PickingStage = {
18
19
  NONE: 0.0,
19
20
  ENCODE: 1.0,
@@ -22,35 +23,42 @@ var PickingStage = {
22
23
  var PixelPickingPlugin = exports.default = (_dec = (0, _inversify.injectable)(), _dec(_class = /*#__PURE__*/function () {
23
24
  function PixelPickingPlugin() {
24
25
  (0, _classCallCheck2.default)(this, PixelPickingPlugin);
25
- (0, _defineProperty2.default)(this, "PickOption", {
26
- u_HighlightColor: [1, 0, 0, 1],
27
- u_SelectColor: [1, 0, 0, 1],
28
- u_PickingColor: [0, 0, 0],
29
- u_PickingStage: 0,
30
- u_CurrentSelectedId: [0, 0, 0],
31
- u_PickingThreshold: 10,
32
- u_PickingBuffer: 0,
33
- // TODO: 更新机制
34
- u_shaderPick: 0,
35
- u_EnableSelect: 0,
36
- u_activeMix: 0
37
- });
38
26
  }
39
27
  (0, _createClass2.default)(PixelPickingPlugin, [{
40
28
  key: "pickOption2Array",
41
- value: function pickOption2Array() {
42
- return Object.values(this.PickOption).flat();
29
+ value:
30
+ /**
31
+ * Use map to keep order of insertion.
32
+ * @see https://stackoverflow.com/questions/5525795/does-javascript-guarantee-object-property-order
33
+ */
34
+
35
+ function pickOption2Array() {
36
+ var array = [];
37
+ this.pickingUniformMap.forEach(function (value, key) {
38
+ if (isNumber(value)) {
39
+ array.push(value);
40
+ } else {
41
+ array.push.apply(array, (0, _toConsumableArray2.default)(value));
42
+ }
43
+ });
44
+ return array;
43
45
  }
44
46
  }, {
45
47
  key: "updatePickOption",
46
- value: function updatePickOption(option, rendererService) {
48
+ value: function updatePickOption(options, layer) {
47
49
  var _this = this;
48
- Object.keys(option).forEach(function (key) {
49
- _this.PickOption[key] = option[key];
50
+ Object.keys(options).forEach(function (key) {
51
+ _this.pickingUniformMap.set(key, options[key]);
50
52
  });
51
- rendererService.uniformBuffers[1].subData({
53
+ var u_PickingBuffer = layer.getLayerConfig().pickingBuffer || 0;
54
+ // Tip: 当前地图是否在拖动
55
+ var u_shaderPick = Number(layer.getShaderPickStat());
56
+ this.pickingUniformMap.set('u_PickingBuffer', u_PickingBuffer);
57
+ this.pickingUniformMap.set('u_shaderPick', u_shaderPick);
58
+ var uniformBuffer = layer.getPickingUniformBuffer();
59
+ uniformBuffer.subData({
52
60
  offset: 0,
53
- data: new Uint8Array(new Float32Array(this.pickOption2Array()))
61
+ data: this.pickOption2Array()
54
62
  });
55
63
  }
56
64
  }, {
@@ -59,28 +67,8 @@ var PixelPickingPlugin = exports.default = (_dec = (0, _inversify.injectable)(),
59
67
  var _this2 = this;
60
68
  var rendererService = _ref.rendererService,
61
69
  styleAttributeService = _ref.styleAttributeService;
62
- if (!rendererService.uniformBuffers[1]) {
63
- // Create a Uniform Buffer Object(UBO).
64
- var uniformBuffer = rendererService.createBuffer({
65
- // vec4 u_HighlightColor;
66
- // vec4 u_SelectColor;
67
- // vec3 u_PickingColor;
68
- // float u_PickingStage;
69
- // vec3 u_CurrentSelectedId;
70
- // float u_PickingThreshold;
71
- // float u_PickingBuffer;
72
- // float u_shaderPick;
73
- // float u_EnableSelect;
74
- // float u_activeMix;
75
- data: new Float32Array(this.pickOption2Array().length),
76
- isUBO: true
77
- });
78
- rendererService.uniformBuffers[1] = uniformBuffer;
79
- this.updatePickOption({}, rendererService);
80
- }
81
- // u_PickingBuffer: layer.getLayerConfig().pickingBuffer || 0,
82
- // // Tip: 当前地图是否在拖动
83
- // u_shaderPick: Number(layer.getShaderPickStat()),
70
+ var uniformBuffer;
71
+ this.pickingUniformMap = new Map([['u_HighlightColor', [1, 0, 0, 1]], ['u_SelectColor', [1, 0, 0, 1]], ['u_PickingColor', [0, 0, 0]], ['u_PickingStage', 0], ['u_CurrentSelectedId', [0, 0, 0]], ['u_PickingThreshold', 10], ['u_PickingBuffer', 0], ['u_shaderPick', 0], ['u_EnableSelect', 0], ['u_activeMix', 0]]);
84
72
 
85
73
  // TODO: 由于 Shader 目前无法根据是否开启拾取进行内容修改,因此即使不开启也需要生成 a_PickingColor
86
74
  layer.hooks.init.tapPromise('PixelPickingPlugin', function () {
@@ -113,7 +101,7 @@ var PixelPickingPlugin = exports.default = (_dec = (0, _inversify.injectable)(),
113
101
  if (enablePicking && layer.isVisible()) {
114
102
  _this2.updatePickOption({
115
103
  u_PickingStage: PickingStage.ENCODE
116
- }, rendererService);
104
+ }, layer);
117
105
  layer.models.forEach(function (model) {
118
106
  return model.addUniforms({
119
107
  u_PickingStage: PickingStage.ENCODE
@@ -128,7 +116,7 @@ var PixelPickingPlugin = exports.default = (_dec = (0, _inversify.injectable)(),
128
116
  if (enablePicking && layer.isVisible()) {
129
117
  _this2.updatePickOption({
130
118
  u_PickingStage: PickingStage.HIGHLIGHT
131
- }, rendererService);
119
+ }, layer);
132
120
  layer.models.forEach(function (model) {
133
121
  return model.addUniforms({
134
122
  u_PickingStage: PickingStage.HIGHLIGHT
@@ -153,7 +141,7 @@ var PixelPickingPlugin = exports.default = (_dec = (0, _inversify.injectable)(),
153
141
  }),
154
142
  u_activeMix: activeMix
155
143
  };
156
- _this2.updatePickOption(option, rendererService);
144
+ _this2.updatePickOption(option, layer);
157
145
  layer.models.forEach(function (model) {
158
146
  return model.addUniforms(option);
159
147
  });
@@ -180,8 +168,7 @@ var PixelPickingPlugin = exports.default = (_dec = (0, _inversify.injectable)(),
180
168
  }),
181
169
  u_EnableSelect: 1
182
170
  };
183
- console.log(option);
184
- _this2.updatePickOption(option, rendererService);
171
+ _this2.updatePickOption(option, layer);
185
172
  layer.models.forEach(function (model) {
186
173
  return model.addUniforms(option);
187
174
  });
@@ -5,8 +5,8 @@ Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
7
  exports.default = void 0;
8
- var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
9
8
  var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
9
+ var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
10
10
  var _initializerDefineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/initializerDefineProperty"));
11
11
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
12
12
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
@@ -44,7 +44,7 @@ var ShaderUniformPlugin = exports.default = (_dec = (0, _inversify.injectable)()
44
44
  if (!this.rendererService.uniformBuffers[0]) {
45
45
  // Create a Uniform Buffer Object(UBO).
46
46
  uniformBuffer = this.rendererService.createBuffer({
47
- data: new Float32Array(16 * 5 + 4 * 6 + 4),
47
+ data: new Float32Array(16 * 4 + 4 * 7),
48
48
  isUBO: true
49
49
  });
50
50
  this.rendererService.uniformBuffers[0] = uniformBuffer;
@@ -61,6 +61,11 @@ var ShaderUniformPlugin = exports.default = (_dec = (0, _inversify.injectable)()
61
61
  // mvp = amapCustomCoords.getMVPMatrix()
62
62
  // @ts-ignore
63
63
  sceneCenterMercator = _this.mapService.getCustomCoordCenter();
64
+ var _uniformBuffer = layer.getLayerUniformBuffer();
65
+ _uniformBuffer.subData({
66
+ offset: 0,
67
+ data: new Uint8Array(new Float32Array([].concat((0, _toConsumableArray2.default)(mvp), (0, _toConsumableArray2.default)(sceneCenterMercator))).buffer)
68
+ });
64
69
  }
65
70
  var _this$rendererService = _this.rendererService.getViewportSize(),
66
71
  width = _this$rendererService.width,
@@ -121,7 +126,7 @@ var ShaderUniformPlugin = exports.default = (_dec = (0, _inversify.injectable)()
121
126
  var u_ViewportCenter = this.coordinateSystemService.getViewportCenter();
122
127
  var u_ViewportSize = [width, height];
123
128
  var u_FocalDistance = this.cameraService.getFocalDistance();
124
- var data = [].concat((0, _toConsumableArray2.default)(u_ViewMatrix), (0, _toConsumableArray2.default)(u_ProjectionMatrix), (0, _toConsumableArray2.default)(u_ViewProjectionMatrix), (0, _toConsumableArray2.default)(u_ModelMatrix), (0, _toConsumableArray2.default)(u_Mvp), (0, _toConsumableArray2.default)(u_ViewportCenterProjection), (0, _toConsumableArray2.default)(u_PixelsPerDegree), [
129
+ var data = [].concat((0, _toConsumableArray2.default)(u_ViewMatrix), (0, _toConsumableArray2.default)(u_ProjectionMatrix), (0, _toConsumableArray2.default)(u_ViewProjectionMatrix), (0, _toConsumableArray2.default)(u_ModelMatrix), (0, _toConsumableArray2.default)(u_ViewportCenterProjection), (0, _toConsumableArray2.default)(u_PixelsPerDegree), [
125
130
  // 4
126
131
  u_Zoom], (0, _toConsumableArray2.default)(u_PixelsPerDegree2), [
127
132
  // 4
@@ -129,11 +134,11 @@ var ShaderUniformPlugin = exports.default = (_dec = (0, _inversify.injectable)()
129
134
  // 4
130
135
  u_CoordinateSystem], (0, _toConsumableArray2.default)(u_CameraPosition), [
131
136
  // 4
132
- u_DevicePixelRatio], (0, _toConsumableArray2.default)(u_ViewportCenter), u_ViewportSize, (0, _toConsumableArray2.default)(sceneCenterMercator), [
133
- // 2
137
+ u_DevicePixelRatio], (0, _toConsumableArray2.default)(u_ViewportCenter), u_ViewportSize, [
138
+ // 4
134
139
  u_FocalDistance,
135
140
  // 1
136
- 0]);
141
+ 0, 0, 0]);
137
142
  return {
138
143
  data: data,
139
144
  uniforms: (_uniforms = {}, (0, _defineProperty2.default)(_uniforms, _l7Core.CameraUniform.ProjectionMatrix, u_ProjectionMatrix), (0, _defineProperty2.default)(_uniforms, _l7Core.CameraUniform.ViewMatrix, u_ViewMatrix), (0, _defineProperty2.default)(_uniforms, _l7Core.CameraUniform.ViewProjectionMatrix, u_ViewProjectionMatrix), (0, _defineProperty2.default)(_uniforms, _l7Core.CameraUniform.Zoom, u_Zoom), (0, _defineProperty2.default)(_uniforms, _l7Core.CameraUniform.ZoomScale, u_ZoomScale), (0, _defineProperty2.default)(_uniforms, _l7Core.CameraUniform.FocalDistance, u_FocalDistance), (0, _defineProperty2.default)(_uniforms, _l7Core.CameraUniform.CameraPosition, u_CameraPosition), (0, _defineProperty2.default)(_uniforms, _l7Core.CoordinateUniform.CoordinateSystem, u_CoordinateSystem), (0, _defineProperty2.default)(_uniforms, _l7Core.CoordinateUniform.ViewportCenter, u_ViewportCenter), (0, _defineProperty2.default)(_uniforms, _l7Core.CoordinateUniform.ViewportCenterProjection, u_ViewportCenterProjection), (0, _defineProperty2.default)(_uniforms, _l7Core.CoordinateUniform.PixelsPerDegree, u_PixelsPerDegree), (0, _defineProperty2.default)(_uniforms, _l7Core.CoordinateUniform.PixelsPerDegree2, u_PixelsPerDegree2), (0, _defineProperty2.default)(_uniforms, _l7Core.CoordinateUniform.PixelsPerMeter, u_PixelsPerMeter), (0, _defineProperty2.default)(_uniforms, _l7Core.CoordinateUniform.Mvp, u_Mvp), (0, _defineProperty2.default)(_uniforms, "u_sceneCenterMercator", sceneCenterMercator), (0, _defineProperty2.default)(_uniforms, "u_ViewportSize", u_ViewportSize), (0, _defineProperty2.default)(_uniforms, "u_ModelMatrix", u_ModelMatrix), (0, _defineProperty2.default)(_uniforms, "u_DevicePixelRatio", u_DevicePixelRatio), _uniforms)
@@ -33,6 +33,7 @@ var PointLayer = exports.default = /*#__PURE__*/function (_BaseLayer) {
33
33
  _this = _super.call.apply(_super, [this].concat(args));
34
34
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "type", 'PointLayer');
35
35
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "enableShaderEncodeStyles", ['stroke', 'offsets', 'opacity', 'rotation']);
36
+ //4+2+1+1
36
37
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "enableDataEncodeStyles", ['textOffset', 'textAnchor']);
37
38
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "defaultSourceConfig", {
38
39
  data: [],
@@ -17,12 +17,13 @@ var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers
17
17
  var _l7Core = require("@antv/l7-core");
18
18
  var _BaseModel2 = _interopRequireDefault(require("../../core/BaseModel"));
19
19
  var _l7Utils = require("@antv/l7-utils");
20
+ var _CommonStyleAttribute = require("../../core/CommonStyleAttribute");
20
21
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
21
22
  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; } }
22
- /* babel-plugin-inline-import '../shaders/billboard_point_frag.glsl' */
23
- var simplePointFrag = "\nuniform float u_additive;\nuniform float u_stroke_opacity : 1;\n\nuniform vec4 u_stroke_color : [0.0, 0.0, 0.0, 0.0];\n\nvarying vec4 v_color;\nvarying float v_blur;\nvarying float v_innerRadius;\n\n#pragma include \"picking\"\nvoid main() {\n vec2 center = vec2(0.5);\n\n // Tip: \u7247\u5143\u5230\u4E2D\u5FC3\u70B9\u7684\u8DDD\u79BB 0 - 1\n float fragmengTocenter = distance(center, gl_PointCoord) * 2.0;\n // Tip: \u7247\u5143\u7684\u526A\u5207\u6210\u5706\u5F62\n float circleClipOpacity = 1.0 - smoothstep(v_blur, 1.0, fragmengTocenter);\n\n\n if(v_innerRadius < 0.99) {\n // \u5F53\u5B58\u5728 stroke \u4E14 stroke > 0.01\n float blurWidth = (1.0 - v_blur)/2.0;\n vec4 stroke = vec4(u_stroke_color.rgb, u_stroke_opacity);\n if(fragmengTocenter > v_innerRadius + blurWidth) {\n gl_FragColor = stroke;\n } else if(fragmengTocenter > v_innerRadius - blurWidth){\n float mixR = (fragmengTocenter - (v_innerRadius - blurWidth)) / (blurWidth * 2.0);\n gl_FragColor = mix(v_color, stroke, mixR);\n } else {\n gl_FragColor = v_color;\n }\n } else {\n // \u5F53\u4E0D\u5B58\u5728 stroke \u6216 stroke <= 0.01\n gl_FragColor = v_color;\n }\n\n gl_FragColor = filterColor(gl_FragColor);\n \n if(u_additive > 0.0) {\n gl_FragColor *= circleClipOpacity;\n } else {\n gl_FragColor.a *= circleClipOpacity;\n }\n\n}\n";
24
- /* babel-plugin-inline-import '../shaders/billboard_point_vert.glsl' */
25
- var simplePointVert = "\nattribute vec3 a_Position;\nuniform mat4 u_ModelMatrix;\n\nattribute float a_Size;\nattribute vec4 a_Color;\nvarying vec4 v_color;\n\nuniform float u_opacity : 1;\nuniform vec2 u_offsets;\nuniform float u_stroke_width;\n\nvarying float v_blur;\nvarying float v_innerRadius;\n\n\n\n#pragma include \"projection\"\n#pragma include \"picking\"\n#pragma include \"project\"\nvoid main() {\n v_color = vec4(a_Color.xyz, a_Color.w * u_opacity);\n v_blur = 1.0 - max(2.0/a_Size, 0.05);\n v_innerRadius = max((a_Size - u_stroke_width) / a_Size, 0.0);\n \n vec2 offset = project_pixel(u_offsets);\n \n if(u_CoordinateSystem == COORDINATE_SYSTEM_P20_2) { // gaode2.x\n gl_Position = u_Mvp * vec4(a_Position.xy + offset, a_Position.z, 1.0);\n } else { // else\n vec4 project_pos = project_position(vec4(a_Position, 1.0)) + vec4(a_Size / 2.,-a_Size /2.,0.,0.);\n gl_Position = project_common_position_to_clipspace(vec4(vec2(project_pos.xy+offset),project_pos.z,project_pos.w));\n }\n \n gl_PointSize = a_Size * 2.0 * u_DevicePixelRatio;\n setPickingColor(a_PickingColor);\n}\n";
23
+ /* babel-plugin-inline-import '../shaders/billboard/billboard_point_frag.glsl' */
24
+ var simplePointFrag = "\nlayout(std140) uniform commonUniorm {\n vec4 u_stroke_color;\n float u_additive;\n float u_stroke_opacity;\n float u_stroke_width;\n};\n\nin vec4 v_color;\nin float v_blur;\nin float v_innerRadius;\n\nout vec4 outputColor;\n\n#pragma include \"picking\"\nvoid main() {\n vec2 center = vec2(0.5);\n\n // Tip: \u7247\u5143\u5230\u4E2D\u5FC3\u70B9\u7684\u8DDD\u79BB 0 - 1\n float fragmengTocenter = distance(center, gl_PointCoord) * 2.0;\n // Tip: \u7247\u5143\u7684\u526A\u5207\u6210\u5706\u5F62\n float circleClipOpacity = 1.0 - smoothstep(v_blur, 1.0, fragmengTocenter);\n\n\n if(v_innerRadius < 0.99) {\n // \u5F53\u5B58\u5728 stroke \u4E14 stroke > 0.01\n float blurWidth = (1.0 - v_blur)/2.0;\n vec4 stroke = vec4(u_stroke_color.rgb, u_stroke_opacity);\n if(fragmengTocenter > v_innerRadius + blurWidth) {\n outputColor = stroke;\n } else if(fragmengTocenter > v_innerRadius - blurWidth){\n float mixR = (fragmengTocenter - (v_innerRadius - blurWidth)) / (blurWidth * 2.0);\n outputColor = mix(v_color, stroke, mixR);\n } else {\n outputColor = v_color;\n }\n } else {\n // \u5F53\u4E0D\u5B58\u5728 stroke \u6216 stroke <= 0.01\n outputColor = v_color;\n }\n\n outputColor = filterColor(outputColor);\n \n if(u_additive > 0.0) {\n outputColor *= circleClipOpacity;\n } else {\n outputColor.a *= circleClipOpacity;\n }\n\n}\n";
25
+ /* babel-plugin-inline-import '../shaders/billboard/billboard_point_vert.glsl' */
26
+ var simplePointVert = "\nlayout(location = 0) in vec3 a_Position;\nlayout(location = 1) in vec4 a_Color;\nlayout(location = 9) in float a_Size;\n\nlayout(std140) uniform commonUniorm {\n vec4 u_stroke_color;\n float u_additive;\n float u_stroke_opacity;\n float u_stroke_width;\n};\n\nout vec4 v_color;\nout float v_blur;\nout float v_innerRadius;\n\n#pragma include \"projection\"\n#pragma include \"picking\"\n#pragma include \"project\"\nvoid main() {\n v_color = vec4(a_Color.xyz, a_Color.w * opacity);\n v_blur = 1.0 - max(2.0/a_Size, 0.05);\n v_innerRadius = max((a_Size - u_stroke_width) / a_Size, 0.0);\n \n vec2 offset = project_pixel(u_offsets);\n \n if(u_CoordinateSystem == COORDINATE_SYSTEM_P20_2) { // gaode2.x\n gl_Position = u_Mvp * vec4(a_Position.xy + offset, a_Position.z, 1.0);\n } else { // else\n vec4 project_pos = project_position(vec4(a_Position, 1.0)) + vec4(a_Size / 2.,-a_Size /2.,0.,0.);\n gl_Position = project_common_position_to_clipspace(vec4(vec2(project_pos.xy+offset),project_pos.z,project_pos.w));\n }\n \n gl_PointSize = a_Size * 2.0 * u_DevicePixelRatio;\n setPickingColor(a_PickingColor);\n}\n";
26
27
  function PointTriangulation(feature) {
27
28
  var coordinates = feature.coordinates;
28
29
  return {
@@ -46,13 +47,9 @@ var SimplePointModel = exports.default = /*#__PURE__*/function (_BaseModel) {
46
47
  };
47
48
  }
48
49
  }, {
49
- key: "getUninforms",
50
- value: function getUninforms() {
50
+ key: "getCommonUniformsInfo",
51
+ value: function getCommonUniformsInfo() {
51
52
  var _ref = this.layer.getLayerConfig(),
52
- _ref$opacity = _ref.opacity,
53
- opacity = _ref$opacity === void 0 ? 1 : _ref$opacity,
54
- _ref$offsets = _ref.offsets,
55
- offsets = _ref$offsets === void 0 ? [0, 0] : _ref$offsets,
56
53
  blend = _ref.blend,
57
54
  _ref$strokeOpacity = _ref.strokeOpacity,
58
55
  strokeOpacity = _ref$strokeOpacity === void 0 ? 1 : _ref$strokeOpacity,
@@ -60,14 +57,14 @@ var SimplePointModel = exports.default = /*#__PURE__*/function (_BaseModel) {
60
57
  strokeWidth = _ref$strokeWidth === void 0 ? 0 : _ref$strokeWidth,
61
58
  _ref$stroke = _ref.stroke,
62
59
  stroke = _ref$stroke === void 0 ? '#fff' : _ref$stroke;
63
- return {
60
+ var commonOptions = {
61
+ u_stroke_color: (0, _l7Utils.rgb2arr)(stroke),
64
62
  u_additive: blend === 'additive' ? 1.0 : 0.0,
65
- u_opacity: opacity,
66
- u_offsets: offsets,
67
63
  u_stroke_opacity: strokeOpacity,
68
- u_stroke_width: strokeWidth,
69
- u_stroke_color: (0, _l7Utils.rgb2arr)(stroke)
64
+ u_stroke_width: strokeWidth
70
65
  };
66
+ var commonBufferInfo = this.getUniformsBufferInfo(commonOptions);
67
+ return commonBufferInfo;
71
68
  }
72
69
  }, {
73
70
  key: "initModels",
@@ -97,21 +94,23 @@ var SimplePointModel = exports.default = /*#__PURE__*/function (_BaseModel) {
97
94
  while (1) switch (_context2.prev = _context2.next) {
98
95
  case 0:
99
96
  this.layer.triangulation = PointTriangulation;
100
- _context2.next = 3;
97
+ this.initUniformsBuffer();
98
+ _context2.next = 4;
101
99
  return this.layer.buildLayerModel({
102
100
  moduleName: 'pointSimple',
103
101
  vertexShader: simplePointVert,
104
102
  fragmentShader: simplePointFrag,
103
+ inject: this.getInject(),
105
104
  triangulation: PointTriangulation,
106
105
  depth: {
107
106
  enable: false
108
107
  },
109
108
  primitive: _l7Core.gl.POINTS
110
109
  });
111
- case 3:
110
+ case 4:
112
111
  model = _context2.sent;
113
112
  return _context2.abrupt("return", [model]);
114
- case 5:
113
+ case 6:
115
114
  case "end":
116
115
  return _context2.stop();
117
116
  }
@@ -130,6 +129,7 @@ var SimplePointModel = exports.default = /*#__PURE__*/function (_BaseModel) {
130
129
  type: _l7Core.AttributeType.Attribute,
131
130
  descriptor: {
132
131
  name: 'a_Size',
132
+ shaderLocation: _CommonStyleAttribute.ShaderLocation.SIZE,
133
133
  buffer: {
134
134
  usage: _l7Core.gl.DYNAMIC_DRAW,
135
135
  data: [],