@antv/l7-layers 2.20.5 → 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 (447) 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 +53 -9
  8. package/es/core/BaseModel.d.ts +1 -1
  9. package/es/core/BaseModel.js +41 -15
  10. package/es/core/CommonStyleAttribute.d.ts +4 -2
  11. package/es/core/CommonStyleAttribute.js +3 -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.js +1 -1
  22. package/es/earth/index.d.ts +1 -1
  23. package/es/earth/models/atmosphere.d.ts +8 -2
  24. package/es/earth/models/atmosphere.js +15 -8
  25. package/es/earth/models/base.d.ts +8 -2
  26. package/es/earth/models/base.js +21 -12
  27. package/es/earth/models/bloomsphere.d.ts +8 -2
  28. package/es/earth/models/bloomsphere.js +15 -8
  29. package/es/earth/shaders/{atmosphere_frag.glsl → atmosphere/atmosphere_frag.glsl} +9 -6
  30. package/es/earth/shaders/atmosphere/atmosphere_vert.glsl +22 -0
  31. package/es/earth/shaders/base/base_frag.glsl +11 -0
  32. package/es/earth/shaders/base/base_vert.glsl +52 -0
  33. package/es/earth/shaders/bloomshpere/bloomsphere_frag.glsl +16 -0
  34. package/es/earth/shaders/bloomshpere/bloomsphere_vert.glsl +19 -0
  35. package/es/geometry/index.d.ts +2 -2
  36. package/es/geometry/models/billboard.d.ts +8 -1
  37. package/es/geometry/models/billboard.js +26 -11
  38. package/es/geometry/models/plane.d.ts +8 -1
  39. package/es/geometry/models/plane.js +23 -6
  40. package/es/geometry/models/sprite.d.ts +12 -2
  41. package/es/geometry/models/sprite.js +44 -18
  42. package/es/geometry/shaders/billboard_frag.glsl +11 -6
  43. package/es/geometry/shaders/billboard_vert.glsl +12 -15
  44. package/es/geometry/shaders/plane_frag.glsl +14 -10
  45. package/es/geometry/shaders/plane_vert.glsl +11 -10
  46. package/es/geometry/shaders/sprite_frag.glsl +11 -7
  47. package/es/geometry/shaders/sprite_vert.glsl +10 -9
  48. package/es/heatmap/index.d.ts +3 -3
  49. package/es/heatmap/models/grid.d.ts +8 -1
  50. package/es/heatmap/models/grid.js +25 -12
  51. package/es/heatmap/models/grid3d.d.ts +8 -1
  52. package/es/heatmap/models/grid3d.js +29 -13
  53. package/es/heatmap/models/heatmap.d.ts +6 -4
  54. package/es/heatmap/models/heatmap.js +123 -75
  55. package/es/heatmap/models/hexagon.d.ts +8 -1
  56. package/es/heatmap/models/hexagon.js +25 -12
  57. package/es/heatmap/shaders/grid/grid_frag.glsl +8 -0
  58. package/es/heatmap/shaders/{grid_vert.glsl → grid/grid_vert.glsl} +15 -15
  59. package/es/heatmap/shaders/grid3d/grid_3d_frag.glsl +8 -0
  60. package/{lib/heatmap/shaders/hexagon_3d_vert.glsl → es/heatmap/shaders/grid3d/grid_3d_vert.glsl} +13 -16
  61. package/es/heatmap/shaders/heatmap/heatmap_3d_frag.glsl +24 -0
  62. package/es/heatmap/shaders/{heatmap_3d_vert.glsl → heatmap/heatmap_3d_vert.glsl} +19 -9
  63. package/es/heatmap/shaders/heatmap/heatmap_frag.glsl +52 -0
  64. package/es/heatmap/shaders/heatmap/heatmap_framebuffer_frag.glsl +16 -0
  65. package/{lib/heatmap/shaders → es/heatmap/shaders/heatmap}/heatmap_framebuffer_vert.glsl +14 -9
  66. package/es/heatmap/shaders/heatmap/heatmap_vert.glsl +19 -0
  67. package/es/heatmap/shaders/hexagon/hexagon_frag.glsl +8 -0
  68. package/es/heatmap/shaders/{hexagon_vert.glsl → hexagon/hexagon_vert.glsl} +12 -13
  69. package/es/image/index.d.ts +2 -2
  70. package/es/image/models/image.d.ts +9 -2
  71. package/es/image/models/image.js +83 -44
  72. package/es/image/shaders/image_frag.glsl +34 -7
  73. package/es/image/shaders/image_vert.glsl +11 -5
  74. package/es/line/index.d.ts +4 -4
  75. package/es/line/index.js +2 -1
  76. package/es/line/models/arc.d.ts +8 -3
  77. package/es/line/models/arc.js +57 -76
  78. package/es/line/models/arc_3d.d.ts +8 -3
  79. package/es/line/models/arc_3d.js +46 -57
  80. package/es/line/models/flow.d.ts +8 -2
  81. package/es/line/models/flow.js +14 -12
  82. package/es/line/models/great_circle.d.ts +8 -3
  83. package/es/line/models/great_circle.js +40 -29
  84. package/es/line/models/index.d.ts +1 -1
  85. package/es/line/models/index.js +3 -6
  86. package/es/line/models/line.d.ts +8 -3
  87. package/es/line/models/line.js +67 -140
  88. package/es/line/models/{simpleLine.d.ts → simple_line.d.ts} +8 -2
  89. package/es/line/models/simple_line.js +204 -0
  90. package/es/line/models/wall.d.ts +8 -3
  91. package/es/line/models/wall.js +35 -27
  92. package/es/line/shaders/{line_arc_frag.glsl → arc/line_arc_frag.glsl} +36 -26
  93. package/es/line/shaders/{line_arc_vert.glsl → arc/line_arc_vert.glsl} +52 -22
  94. package/es/line/shaders/{line_arc_3d_frag.glsl → arc3d/line_arc_3d_frag.glsl} +32 -24
  95. package/{lib/line/shaders → es/line/shaders/arc3d}/line_arc_3d_vert.glsl +37 -27
  96. package/es/line/shaders/flow/flow_line_frag.glsl +5 -4
  97. package/es/line/shaders/flow/flow_line_vert.glsl +17 -18
  98. package/es/line/shaders/{line_arc_great_circle_frag.glsl → greatCircle/line_arc_great_circle_frag.glsl} +30 -30
  99. package/{lib/line/shaders → es/line/shaders/greatCircle}/line_arc_great_circle_vert.glsl +43 -40
  100. package/es/line/shaders/{line_frag.glsl → line/line_frag.glsl} +55 -28
  101. package/es/line/shaders/line/line_vert.glsl +114 -0
  102. package/es/line/shaders/simple/simpleline_frag.glsl +27 -3
  103. package/es/line/shaders/simple/simpleline_vert.glsl +20 -20
  104. package/es/line/shaders/wall/wall_frag.glsl +31 -26
  105. package/es/line/shaders/wall/wall_vert.glsl +29 -22
  106. package/es/mask/index.d.ts +2 -2
  107. package/es/mask/models/fill.d.ts +1 -1
  108. package/es/plugins/DataMappingPlugin.d.ts +1 -1
  109. package/es/plugins/DataMappingPlugin.js +1 -3
  110. package/es/plugins/DataSourcePlugin.d.ts +1 -1
  111. package/es/plugins/FeatureScalePlugin.d.ts +1 -1
  112. package/es/plugins/FeatureScalePlugin.js +14 -3
  113. package/es/plugins/LayerAnimateStylePlugin.d.ts +1 -1
  114. package/es/plugins/LayerMaskPlugin.d.ts +1 -1
  115. package/es/plugins/LayerModelPlugin.d.ts +1 -1
  116. package/es/plugins/LayerStylePlugin.d.ts +1 -1
  117. package/es/plugins/LightingPlugin.d.ts +1 -1
  118. package/es/plugins/MultiPassRendererPlugin.d.ts +1 -1
  119. package/es/plugins/PixelPickingPlugin.d.ts +6 -2
  120. package/es/plugins/PixelPickingPlugin.js +36 -49
  121. package/es/plugins/RegisterStyleAttributePlugin.d.ts +1 -1
  122. package/es/plugins/ShaderUniformPlugin.d.ts +1 -1
  123. package/es/plugins/ShaderUniformPlugin.js +11 -6
  124. package/es/plugins/UpdateModelPlugin.d.ts +1 -1
  125. package/es/plugins/UpdateStyleAttributePlugin.d.ts +1 -1
  126. package/es/point/index.d.ts +2 -2
  127. package/es/point/index.js +1 -0
  128. package/es/point/models/billboard_point.d.ts +9 -3
  129. package/es/point/models/billboard_point.js +18 -18
  130. package/es/point/models/earthExtrude.d.ts +7 -12
  131. package/es/point/models/earthExtrude.js +21 -13
  132. package/es/point/models/earthFill.d.ts +8 -3
  133. package/es/point/models/earthFill.js +18 -30
  134. package/es/point/models/extrude.d.ts +1 -4
  135. package/es/point/models/extrude.js +2 -11
  136. package/es/point/models/fill.d.ts +8 -2
  137. package/es/point/models/fill.js +33 -84
  138. package/es/point/models/{fillmage.d.ts → fillImage.d.ts} +8 -2
  139. package/es/point/models/{fillmage.js → fillImage.js} +23 -15
  140. package/es/point/models/image.d.ts +8 -1
  141. package/es/point/models/image.js +31 -17
  142. package/es/point/models/index.js +1 -1
  143. package/es/point/models/normal.d.ts +9 -3
  144. package/es/point/models/normal.js +13 -30
  145. package/es/point/models/radar.d.ts +8 -2
  146. package/es/point/models/radar.js +23 -45
  147. package/es/point/models/text.d.ts +9 -2
  148. package/es/point/models/text.js +31 -32
  149. package/{lib/point/shaders → es/point/shaders/billboard}/billboard_point_frag.glsl +17 -13
  150. package/{lib/point/shaders → es/point/shaders/billboard}/billboard_point_vert.glsl +13 -14
  151. package/es/point/shaders/earthExtrude/earthExtrude_frag.glsl +36 -0
  152. package/{lib/point/shaders/earth/extrude_vert.glsl → es/point/shaders/earthExtrude/earthExtrude_vert.glsl} +25 -22
  153. package/{lib/point/shaders/earth/fill_frag.glsl → es/point/shaders/earthFill/earthFill_frag.glsl} +20 -18
  154. package/{lib/point/shaders/earth/fill_vert.glsl → es/point/shaders/earthFill/earthFill_vert.glsl} +17 -22
  155. package/es/point/shaders/extrude/extrude_vert.glsl +0 -3
  156. package/{lib/point/shaders → es/point/shaders/fill}/fill_frag.glsl +18 -1
  157. package/es/point/shaders/{fill_vert.glsl → fill/fill_vert.glsl} +5 -4
  158. package/es/point/shaders/fillImage/fillImage_frag.glsl +24 -0
  159. package/{lib/point/shaders/image → es/point/shaders/fillImage}/fillImage_vert.glsl +15 -17
  160. package/es/point/shaders/image/image_frag.glsl +42 -0
  161. package/{lib/point/shaders → es/point/shaders/image}/image_vert.glsl +14 -13
  162. package/es/point/shaders/radar/radar_frag.glsl +19 -14
  163. package/es/point/shaders/radar/radar_vert.glsl +21 -24
  164. package/es/point/shaders/text/text_frag.glsl +44 -0
  165. package/es/point/shaders/{text_vert.glsl → text/text_vert.glsl} +19 -17
  166. package/es/point/shape/extrude.d.ts +1 -1
  167. package/es/polygon/index.d.ts +2 -2
  168. package/es/polygon/models/extrude.d.ts +9 -9
  169. package/es/polygon/models/extrude.js +38 -15
  170. package/es/polygon/models/extrusion.d.ts +8 -1
  171. package/es/polygon/models/extrusion.js +24 -7
  172. package/es/polygon/models/fill.d.ts +9 -4
  173. package/es/polygon/models/fill.js +26 -13
  174. package/es/polygon/models/ocean.d.ts +9 -7
  175. package/es/polygon/models/ocean.js +30 -14
  176. package/es/polygon/models/water.d.ts +9 -4
  177. package/es/polygon/models/water.js +26 -10
  178. package/es/polygon/shaders/extrude/polygon_extrude_frag.glsl +14 -14
  179. package/es/polygon/shaders/extrude/polygon_extrude_picklight_frag.glsl +17 -15
  180. package/es/polygon/shaders/extrude/polygon_extrude_picklight_vert.glsl +18 -18
  181. package/es/polygon/shaders/extrude/polygon_extrude_vert.glsl +18 -24
  182. package/es/polygon/shaders/extrude/polygon_extrudetex_frag.glsl +19 -15
  183. package/es/polygon/shaders/extrude/polygon_extrudetex_vert.glsl +20 -24
  184. package/es/polygon/shaders/extrusion/polygon_extrusion_frag.glsl +4 -8
  185. package/es/polygon/shaders/extrusion/polygon_extrusion_vert.glsl +7 -16
  186. package/es/polygon/shaders/fill/fill_frag.glsl +7 -0
  187. package/es/polygon/shaders/fill/fill_linear_frag.glsl +20 -0
  188. package/{lib/polygon/shaders/polygon_linear_vert.glsl → es/polygon/shaders/fill/fill_linear_vert.glsl} +12 -11
  189. package/es/polygon/shaders/{polygon_vert.glsl → fill/fill_vert.glsl} +6 -6
  190. package/es/polygon/shaders/{water/polygon_ocean_frag.glsl → ocean/ocean_frag.glsl} +13 -13
  191. package/es/polygon/shaders/ocean/ocean_vert.glsl +22 -0
  192. package/es/polygon/shaders/water/polygon_water_frag.glsl +14 -12
  193. package/es/polygon/shaders/water/polygon_water_vert.glsl +10 -10
  194. package/es/raster/buffers/triangulation.d.ts +1 -1
  195. package/es/raster/index.d.ts +2 -2
  196. package/es/raster/models/raster.d.ts +9 -8
  197. package/es/raster/models/raster.js +54 -38
  198. package/es/raster/models/rasterRgb.d.ts +9 -7
  199. package/es/raster/models/rasterRgb.js +36 -19
  200. package/es/raster/models/rasterTerrainRgb.d.ts +1 -1
  201. package/es/raster/models/rasterTerrainRgb.js +2 -2
  202. package/es/raster/shaders/raster/raster_2d_frag.glsl +34 -0
  203. package/es/raster/shaders/raster/raster_2d_vert.glsl +21 -0
  204. package/es/raster/shaders/rgb/raster_rgb_frag.glsl +26 -0
  205. package/es/raster/shaders/rgb/raster_rgb_vert.glsl +21 -0
  206. package/es/tile/core/BaseLayer.d.ts +2 -2
  207. package/es/tile/core/TileDebugLayer.d.ts +1 -1
  208. package/es/tile/interaction/getRasterData.d.ts +2 -2
  209. package/es/tile/interaction/utils.d.ts +1 -1
  210. package/es/tile/interface.d.ts +2 -2
  211. package/es/tile/service/TileLayerService.d.ts +2 -2
  212. package/es/tile/service/TilePickService.d.ts +2 -2
  213. package/es/tile/service/TileSourceService.d.ts +1 -1
  214. package/es/tile/tile/Tile.d.ts +2 -3
  215. package/es/tile/tile/VectorTile.d.ts +1 -1
  216. package/es/tile/tile/index.d.ts +1 -1
  217. package/es/tile/utils/constants.js +1 -1
  218. package/es/tile/utils/utils.d.ts +1 -1
  219. package/es/utils/blend.d.ts +1 -1
  220. package/es/utils/multiPassRender.d.ts +1 -1
  221. package/es/utils/stencil.d.ts +1 -1
  222. package/es/wind/index.d.ts +3 -3
  223. package/es/wind/models/wind.d.ts +1 -1
  224. package/lib/citybuliding/models/build.js +22 -11
  225. package/lib/citybuliding/shaders/build_frag.glsl +26 -23
  226. package/lib/citybuliding/shaders/build_vert.glsl +24 -16
  227. package/lib/core/BaseLayer.js +53 -9
  228. package/lib/core/BaseModel.js +41 -15
  229. package/lib/core/CommonStyleAttribute.js +3 -0
  230. package/lib/core/triangulation.js +12 -6
  231. package/lib/core/utils.js +1 -1
  232. package/lib/earth/models/atmosphere.js +15 -8
  233. package/lib/earth/models/base.js +21 -12
  234. package/lib/earth/models/bloomsphere.js +15 -8
  235. package/lib/earth/shaders/{atmosphere_frag.glsl → atmosphere/atmosphere_frag.glsl} +9 -6
  236. package/lib/earth/shaders/atmosphere/atmosphere_vert.glsl +22 -0
  237. package/lib/earth/shaders/base/base_frag.glsl +11 -0
  238. package/lib/earth/shaders/base/base_vert.glsl +52 -0
  239. package/lib/earth/shaders/bloomshpere/bloomsphere_frag.glsl +16 -0
  240. package/lib/earth/shaders/bloomshpere/bloomsphere_vert.glsl +19 -0
  241. package/lib/geometry/models/billboard.js +26 -11
  242. package/lib/geometry/models/plane.js +23 -6
  243. package/lib/geometry/models/sprite.js +44 -18
  244. package/lib/geometry/shaders/billboard_frag.glsl +11 -6
  245. package/lib/geometry/shaders/billboard_vert.glsl +12 -15
  246. package/lib/geometry/shaders/plane_frag.glsl +14 -10
  247. package/lib/geometry/shaders/plane_vert.glsl +11 -10
  248. package/lib/geometry/shaders/sprite_frag.glsl +11 -7
  249. package/lib/geometry/shaders/sprite_vert.glsl +10 -9
  250. package/lib/heatmap/models/grid.js +25 -12
  251. package/lib/heatmap/models/grid3d.js +29 -13
  252. package/lib/heatmap/models/heatmap.js +122 -74
  253. package/lib/heatmap/models/hexagon.js +25 -12
  254. package/lib/heatmap/shaders/grid/grid_frag.glsl +8 -0
  255. package/lib/heatmap/shaders/{grid_vert.glsl → grid/grid_vert.glsl} +15 -15
  256. package/lib/heatmap/shaders/grid3d/grid_3d_frag.glsl +8 -0
  257. package/{es/heatmap/shaders/hexagon_3d_vert.glsl → lib/heatmap/shaders/grid3d/grid_3d_vert.glsl} +13 -16
  258. package/lib/heatmap/shaders/heatmap/heatmap_3d_frag.glsl +24 -0
  259. package/lib/heatmap/shaders/{heatmap_3d_vert.glsl → heatmap/heatmap_3d_vert.glsl} +19 -9
  260. package/lib/heatmap/shaders/heatmap/heatmap_frag.glsl +52 -0
  261. package/lib/heatmap/shaders/heatmap/heatmap_framebuffer_frag.glsl +16 -0
  262. package/{es/heatmap/shaders → lib/heatmap/shaders/heatmap}/heatmap_framebuffer_vert.glsl +14 -9
  263. package/lib/heatmap/shaders/heatmap/heatmap_vert.glsl +19 -0
  264. package/lib/heatmap/shaders/hexagon/hexagon_frag.glsl +8 -0
  265. package/lib/heatmap/shaders/{hexagon_vert.glsl → hexagon/hexagon_vert.glsl} +12 -13
  266. package/lib/image/models/image.js +83 -44
  267. package/lib/image/shaders/image_frag.glsl +34 -7
  268. package/lib/image/shaders/image_vert.glsl +11 -5
  269. package/lib/line/index.js +2 -1
  270. package/lib/line/models/arc.js +57 -76
  271. package/lib/line/models/arc_3d.js +47 -59
  272. package/lib/line/models/flow.js +14 -12
  273. package/lib/line/models/great_circle.js +40 -29
  274. package/lib/line/models/index.js +4 -7
  275. package/lib/line/models/line.js +67 -142
  276. package/lib/line/models/{simpleLine.js → simple_line.js} +84 -74
  277. package/lib/line/models/wall.js +35 -27
  278. package/lib/line/shaders/{line_arc_frag.glsl → arc/line_arc_frag.glsl} +36 -26
  279. package/lib/line/shaders/{line_arc_vert.glsl → arc/line_arc_vert.glsl} +52 -22
  280. package/lib/line/shaders/{line_arc_3d_frag.glsl → arc3d/line_arc_3d_frag.glsl} +32 -24
  281. package/{es/line/shaders → lib/line/shaders/arc3d}/line_arc_3d_vert.glsl +37 -27
  282. package/lib/line/shaders/flow/flow_line_frag.glsl +5 -4
  283. package/lib/line/shaders/flow/flow_line_vert.glsl +17 -18
  284. package/lib/line/shaders/{line_arc_great_circle_frag.glsl → greatCircle/line_arc_great_circle_frag.glsl} +30 -30
  285. package/{es/line/shaders → lib/line/shaders/greatCircle}/line_arc_great_circle_vert.glsl +43 -40
  286. package/lib/line/shaders/{line_frag.glsl → line/line_frag.glsl} +55 -28
  287. package/lib/line/shaders/line/line_vert.glsl +114 -0
  288. package/lib/line/shaders/simple/simpleline_frag.glsl +27 -3
  289. package/lib/line/shaders/simple/simpleline_vert.glsl +20 -20
  290. package/lib/line/shaders/wall/wall_frag.glsl +31 -26
  291. package/lib/line/shaders/wall/wall_vert.glsl +29 -22
  292. package/lib/plugins/DataMappingPlugin.js +1 -3
  293. package/lib/plugins/FeatureScalePlugin.js +14 -3
  294. package/lib/plugins/PixelPickingPlugin.js +35 -48
  295. package/lib/plugins/ShaderUniformPlugin.js +11 -6
  296. package/lib/point/index.js +1 -0
  297. package/lib/point/models/billboard_point.js +18 -18
  298. package/lib/point/models/earthExtrude.js +21 -13
  299. package/lib/point/models/earthFill.js +18 -30
  300. package/lib/point/models/extrude.js +2 -11
  301. package/lib/point/models/fill.js +33 -84
  302. package/lib/point/models/{fillmage.js → fillImage.js} +24 -17
  303. package/lib/point/models/image.js +31 -17
  304. package/lib/point/models/index.js +2 -2
  305. package/lib/point/models/normal.js +13 -30
  306. package/lib/point/models/radar.js +23 -45
  307. package/lib/point/models/text.js +31 -32
  308. package/{es/point/shaders → lib/point/shaders/billboard}/billboard_point_frag.glsl +17 -13
  309. package/{es/point/shaders → lib/point/shaders/billboard}/billboard_point_vert.glsl +13 -14
  310. package/lib/point/shaders/earthExtrude/earthExtrude_frag.glsl +36 -0
  311. package/{es/point/shaders/earth/extrude_vert.glsl → lib/point/shaders/earthExtrude/earthExtrude_vert.glsl} +25 -22
  312. package/{es/point/shaders/earth/fill_frag.glsl → lib/point/shaders/earthFill/earthFill_frag.glsl} +20 -18
  313. package/{es/point/shaders/earth/fill_vert.glsl → lib/point/shaders/earthFill/earthFill_vert.glsl} +17 -22
  314. package/lib/point/shaders/extrude/extrude_vert.glsl +0 -3
  315. package/{es/point/shaders → lib/point/shaders/fill}/fill_frag.glsl +18 -1
  316. package/lib/point/shaders/{fill_vert.glsl → fill/fill_vert.glsl} +5 -4
  317. package/lib/point/shaders/fillImage/fillImage_frag.glsl +24 -0
  318. package/{es/point/shaders/image → lib/point/shaders/fillImage}/fillImage_vert.glsl +15 -17
  319. package/lib/point/shaders/image/image_frag.glsl +42 -0
  320. package/{es/point/shaders → lib/point/shaders/image}/image_vert.glsl +14 -13
  321. package/lib/point/shaders/radar/radar_frag.glsl +19 -14
  322. package/lib/point/shaders/radar/radar_vert.glsl +21 -24
  323. package/lib/point/shaders/text/text_frag.glsl +44 -0
  324. package/lib/point/shaders/{text_vert.glsl → text/text_vert.glsl} +19 -17
  325. package/lib/polygon/models/extrude.js +38 -15
  326. package/lib/polygon/models/extrusion.js +24 -7
  327. package/lib/polygon/models/fill.js +26 -13
  328. package/lib/polygon/models/ocean.js +30 -14
  329. package/lib/polygon/models/water.js +26 -10
  330. package/lib/polygon/shaders/extrude/polygon_extrude_frag.glsl +14 -14
  331. package/lib/polygon/shaders/extrude/polygon_extrude_picklight_frag.glsl +17 -15
  332. package/lib/polygon/shaders/extrude/polygon_extrude_picklight_vert.glsl +18 -18
  333. package/lib/polygon/shaders/extrude/polygon_extrude_vert.glsl +18 -24
  334. package/lib/polygon/shaders/extrude/polygon_extrudetex_frag.glsl +19 -15
  335. package/lib/polygon/shaders/extrude/polygon_extrudetex_vert.glsl +20 -24
  336. package/lib/polygon/shaders/extrusion/polygon_extrusion_frag.glsl +4 -8
  337. package/lib/polygon/shaders/extrusion/polygon_extrusion_vert.glsl +7 -16
  338. package/lib/polygon/shaders/fill/fill_frag.glsl +7 -0
  339. package/lib/polygon/shaders/fill/fill_linear_frag.glsl +20 -0
  340. package/{es/polygon/shaders/polygon_linear_vert.glsl → lib/polygon/shaders/fill/fill_linear_vert.glsl} +12 -11
  341. package/lib/polygon/shaders/{polygon_vert.glsl → fill/fill_vert.glsl} +6 -6
  342. package/lib/polygon/shaders/{water/polygon_ocean_frag.glsl → ocean/ocean_frag.glsl} +13 -13
  343. package/lib/polygon/shaders/ocean/ocean_vert.glsl +22 -0
  344. package/lib/polygon/shaders/water/polygon_water_frag.glsl +14 -12
  345. package/lib/polygon/shaders/water/polygon_water_vert.glsl +10 -10
  346. package/lib/raster/models/raster.js +54 -38
  347. package/lib/raster/models/rasterRgb.js +36 -19
  348. package/lib/raster/models/rasterTerrainRgb.js +2 -2
  349. package/lib/raster/shaders/raster/raster_2d_frag.glsl +34 -0
  350. package/lib/raster/shaders/raster/raster_2d_vert.glsl +21 -0
  351. package/lib/raster/shaders/rgb/raster_rgb_frag.glsl +26 -0
  352. package/lib/raster/shaders/rgb/raster_rgb_vert.glsl +21 -0
  353. package/lib/tile/utils/constants.js +1 -1
  354. package/package.json +7 -7
  355. package/es/earth/shaders/atmosphere_vert.glsl +0 -26
  356. package/es/earth/shaders/base_frag.glsl +0 -13
  357. package/es/earth/shaders/base_vert.glsl +0 -52
  358. package/es/earth/shaders/bloomsphere_frag.glsl +0 -15
  359. package/es/earth/shaders/bloomsphere_vert.glsl +0 -20
  360. package/es/heatmap/shaders/heatmap_3d_frag.glsl +0 -14
  361. package/es/heatmap/shaders/heatmap_frag.glsl +0 -47
  362. package/es/heatmap/shaders/heatmap_framebuffer_frag.glsl +0 -10
  363. package/es/heatmap/shaders/heatmap_vert.glsl +0 -10
  364. package/es/heatmap/shaders/hexagon_frag.glsl +0 -12
  365. package/es/line/models/earthArc_3d.d.ts +0 -17
  366. package/es/line/models/earthArc_3d.js +0 -285
  367. package/es/line/models/linearline.d.ts +0 -11
  368. package/es/line/models/linearline.js +0 -241
  369. package/es/line/models/simpleLine.js +0 -194
  370. package/es/line/shaders/arc_chunks.vert.glsl +0 -21
  371. package/es/line/shaders/dash/arc_dash_frag.glsl +0 -21
  372. package/es/line/shaders/dash/arc_dash_vert.glsl +0 -102
  373. package/es/line/shaders/dash/line_dash_frag.glsl +0 -27
  374. package/es/line/shaders/dash/line_dash_vert.glsl +0 -82
  375. package/es/line/shaders/line_arc2d_vert.glsl +0 -114
  376. package/es/line/shaders/line_bezier_vert.glsl +0 -85
  377. package/es/line/shaders/line_vert.glsl +0 -165
  378. package/es/line/shaders/linear/arc3d_linear_frag.glsl +0 -32
  379. package/es/line/shaders/linear/arc3d_linear_vert.glsl +0 -161
  380. package/es/line/shaders/linear/arc_linear_frag.glsl +0 -10
  381. package/es/line/shaders/linear/arc_linear_vert.glsl +0 -98
  382. package/es/line/shaders/linear/line_linear_frag.glsl +0 -25
  383. package/es/line/shaders/linearLine/line_linear_frag.glsl +0 -8
  384. package/es/line/shaders/linearLine/line_linear_vert.glsl +0 -93
  385. package/es/line/shaders/simple/simpleline_linear_frag.glsl +0 -8
  386. package/es/point/shaders/animate/wave_frag.glsl +0 -55
  387. package/es/point/shaders/earth/extrude_frag.glsl +0 -32
  388. package/es/point/shaders/image/fillImage_frag.glsl +0 -18
  389. package/es/point/shaders/image_frag.glsl +0 -37
  390. package/es/point/shaders/text_frag.glsl +0 -39
  391. package/es/polygon/shaders/polygon_frag.glsl +0 -7
  392. package/es/polygon/shaders/polygon_linear_frag.glsl +0 -15
  393. package/es/polygon/shaders/water/polygon_ocean_vert.glsl +0 -16
  394. package/es/raster/shaders/raster_2d_frag.glsl +0 -32
  395. package/es/raster/shaders/raster_2d_vert.glsl +0 -13
  396. package/es/raster/shaders/raster_frag.glsl +0 -11
  397. package/es/raster/shaders/raster_rgb_frag.glsl +0 -20
  398. package/es/raster/shaders/raster_vert.glsl +0 -34
  399. package/lib/earth/shaders/atmosphere_vert.glsl +0 -26
  400. package/lib/earth/shaders/base_frag.glsl +0 -13
  401. package/lib/earth/shaders/base_vert.glsl +0 -52
  402. package/lib/earth/shaders/bloomsphere_frag.glsl +0 -15
  403. package/lib/earth/shaders/bloomsphere_vert.glsl +0 -20
  404. package/lib/heatmap/shaders/heatmap_3d_frag.glsl +0 -14
  405. package/lib/heatmap/shaders/heatmap_frag.glsl +0 -47
  406. package/lib/heatmap/shaders/heatmap_framebuffer_frag.glsl +0 -10
  407. package/lib/heatmap/shaders/heatmap_vert.glsl +0 -10
  408. package/lib/heatmap/shaders/hexagon_frag.glsl +0 -12
  409. package/lib/line/models/earthArc_3d.js +0 -291
  410. package/lib/line/models/linearline.js +0 -247
  411. package/lib/line/shaders/arc_chunks.vert.glsl +0 -21
  412. package/lib/line/shaders/dash/arc_dash_frag.glsl +0 -21
  413. package/lib/line/shaders/dash/arc_dash_vert.glsl +0 -102
  414. package/lib/line/shaders/dash/line_dash_frag.glsl +0 -27
  415. package/lib/line/shaders/dash/line_dash_vert.glsl +0 -82
  416. package/lib/line/shaders/line_arc2d_vert.glsl +0 -114
  417. package/lib/line/shaders/line_bezier_vert.glsl +0 -85
  418. package/lib/line/shaders/line_vert.glsl +0 -165
  419. package/lib/line/shaders/linear/arc3d_linear_frag.glsl +0 -32
  420. package/lib/line/shaders/linear/arc3d_linear_vert.glsl +0 -161
  421. package/lib/line/shaders/linear/arc_linear_frag.glsl +0 -10
  422. package/lib/line/shaders/linear/arc_linear_vert.glsl +0 -98
  423. package/lib/line/shaders/linear/line_linear_frag.glsl +0 -25
  424. package/lib/line/shaders/linearLine/line_linear_frag.glsl +0 -8
  425. package/lib/line/shaders/linearLine/line_linear_vert.glsl +0 -93
  426. package/lib/line/shaders/simple/simpleline_linear_frag.glsl +0 -8
  427. package/lib/point/shaders/animate/wave_frag.glsl +0 -55
  428. package/lib/point/shaders/earth/extrude_frag.glsl +0 -32
  429. package/lib/point/shaders/image/fillImage_frag.glsl +0 -18
  430. package/lib/point/shaders/image_frag.glsl +0 -37
  431. package/lib/point/shaders/text_frag.glsl +0 -39
  432. package/lib/polygon/shaders/polygon_frag.glsl +0 -7
  433. package/lib/polygon/shaders/polygon_linear_frag.glsl +0 -15
  434. package/lib/polygon/shaders/water/polygon_ocean_vert.glsl +0 -16
  435. package/lib/raster/shaders/raster_2d_frag.glsl +0 -32
  436. package/lib/raster/shaders/raster_2d_vert.glsl +0 -13
  437. package/lib/raster/shaders/raster_frag.glsl +0 -11
  438. package/lib/raster/shaders/raster_rgb_frag.glsl +0 -20
  439. package/lib/raster/shaders/raster_vert.glsl +0 -34
  440. /package/es/point/shaders/{normal_frag.glsl → normal/normal_frag.glsl} +0 -0
  441. /package/es/point/shaders/{normal_vert.glsl → normal/normal_vert.glsl} +0 -0
  442. /package/es/raster/shaders/{raster_terrain_rgb_frag.glsl → terrain/terrain_rgb_frag.glsl} +0 -0
  443. /package/es/raster/shaders/{rater_terrain_rgb_vert.glsl → terrain/terrain_rgb_vert.glsl} +0 -0
  444. /package/lib/point/shaders/{normal_frag.glsl → normal/normal_frag.glsl} +0 -0
  445. /package/lib/point/shaders/{normal_vert.glsl → normal/normal_vert.glsl} +0 -0
  446. /package/lib/raster/shaders/{raster_terrain_rgb_frag.glsl → terrain/terrain_rgb_frag.glsl} +0 -0
  447. /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
 
@@ -1,6 +1,6 @@
1
1
  import BaseLayer from '../core/BaseLayer';
2
- import { IMaskLayerStyleOptions } from '../core/interface';
3
- import { MaskModelType } from './models';
2
+ import type { IMaskLayerStyleOptions } from '../core/interface';
3
+ import type { MaskModelType } from './models';
4
4
  export default class MaskLayer extends BaseLayer<IMaskLayerStyleOptions> {
5
5
  type: string;
6
6
  defaultSourceConfig: {
@@ -1,4 +1,4 @@
1
- import { IModel } from '@antv/l7-core';
1
+ import type { IModel } from '@antv/l7-core';
2
2
  import BaseModel from '../../core/BaseModel';
3
3
  export default class MaskModel extends BaseModel {
4
4
  getUninforms(): {
@@ -1,4 +1,4 @@
1
- import { ILayer, ILayerPlugin, IStyleAttributeService } from '@antv/l7-core';
1
+ import type { ILayer, ILayerPlugin, IStyleAttributeService } from '@antv/l7-core';
2
2
  import 'reflect-metadata';
3
3
  export default class DataMappingPlugin implements ILayerPlugin {
4
4
  private readonly mapService;
@@ -129,9 +129,7 @@ var DataMappingPlugin = (_dec = injectable(), _dec2 = inject(TYPES.IMapService),
129
129
  filterData = layer.processData(filterData); // 目前只有简单线需要处理
130
130
  var encodeData = this.mapping(layer, attributes, filterData, undefined);
131
131
  layer.setEncodedData(encodeData);
132
- if (dataArray.length === 0 && layer.encodeDataLength === 0) {
133
- return false;
134
- }
132
+
135
133
  // 对外暴露事件
136
134
  layer.emit('dataUpdate', null);
137
135
  return true;
@@ -1,4 +1,4 @@
1
- import { ILayer, ILayerPlugin, IMapService } from '@antv/l7-core';
1
+ import type { ILayer, ILayerPlugin, IMapService } from '@antv/l7-core';
2
2
  import 'reflect-metadata';
3
3
  export default class DataSourcePlugin implements ILayerPlugin {
4
4
  protected mapService: IMapService;
@@ -1,4 +1,4 @@
1
- import { ILayer, ILayerPlugin, IStyleAttributeService } from '@antv/l7-core';
1
+ import type { ILayer, ILayerPlugin, IStyleAttributeService } from '@antv/l7-core';
2
2
  import 'reflect-metadata';
3
3
  /**
4
4
  * 根据 Source 原始数据为指定字段创建 Scale,保存在 StyleAttribute 上,供下游插件使用
@@ -277,9 +277,20 @@ var FeatureScalePlugin = (_dec = injectable(), _dec(_class = /*#__PURE__*/functi
277
277
  var cfg = {
278
278
  type: type
279
279
  };
280
- var values = (data === null || data === void 0 ? void 0 : data.map(function (item) {
281
- return item[field];
282
- })) || [];
280
+ // quantile domain 需要根据ID 进行去重
281
+ var values = [];
282
+ if (type === ScaleTypes.QUANTILE) {
283
+ // 根据 obejct 属性 _id 进行去重
284
+ var idMap = new Map();
285
+ data === null || data === void 0 || data.forEach(function (obj) {
286
+ idMap.set(obj._id, obj[field]);
287
+ });
288
+ values = Array.from(idMap.values());
289
+ } else {
290
+ values = (data === null || data === void 0 ? void 0 : data.map(function (item) {
291
+ return item[field];
292
+ })) || [];
293
+ }
283
294
  if (scaleOption !== null && scaleOption !== void 0 && scaleOption.domain) {
284
295
  cfg.domain = scaleOption === null || scaleOption === void 0 ? void 0 : scaleOption.domain;
285
296
  } else if (type === ScaleTypes.CAT || type === ScaleTypes.IDENTITY) {
@@ -1,4 +1,4 @@
1
- import { ILayer, ILayerPlugin } from '@antv/l7-core';
1
+ import type { ILayer, ILayerPlugin } from '@antv/l7-core';
2
2
  import 'reflect-metadata';
3
3
  export default class LayerAnimateStylePlugin implements ILayerPlugin {
4
4
  apply(layer: ILayer): void;
@@ -1,4 +1,4 @@
1
- import { ILayer, ILayerPlugin } from '@antv/l7-core';
1
+ import type { ILayer, ILayerPlugin } from '@antv/l7-core';
2
2
  import 'reflect-metadata';
3
3
  /**
4
4
  * 更新图层样式,初始图层相关配置
@@ -1,4 +1,4 @@
1
- import { ILayer, ILayerPlugin } from '@antv/l7-core';
1
+ import type { ILayer, ILayerPlugin } from '@antv/l7-core';
2
2
  import 'reflect-metadata';
3
3
  /**
4
4
  * Layer Model 初始化,更新,销毁
@@ -1,4 +1,4 @@
1
- import { ILayer, ILayerPlugin } from '@antv/l7-core';
1
+ import type { ILayer, ILayerPlugin } from '@antv/l7-core';
2
2
  import 'reflect-metadata';
3
3
  /**
4
4
  * 更新图层样式,初始图层相关配置
@@ -1,4 +1,4 @@
1
- import { ILayer, ILayerPlugin } from '@antv/l7-core';
1
+ import type { ILayer, ILayerPlugin } from '@antv/l7-core';
2
2
  import 'reflect-metadata';
3
3
  interface IDirectionalLight {
4
4
  type: 'directional';
@@ -1,4 +1,4 @@
1
- import { ILayer, ILayerPlugin, IPass, IPostProcessingPass, IRendererService } from '@antv/l7-core';
1
+ import type { ILayer, ILayerPlugin, IPass, IPostProcessingPass, IRendererService } from '@antv/l7-core';
2
2
  import 'reflect-metadata';
3
3
  /**
4
4
  * 自定义渲染管线:
@@ -1,7 +1,11 @@
1
- import { ILayer, ILayerPlugin, IRendererService, IStyleAttributeService } from '@antv/l7-core';
1
+ import type { ILayer, ILayerPlugin, IRendererService, IStyleAttributeService } from '@antv/l7-core';
2
2
  import 'reflect-metadata';
3
3
  export default class PixelPickingPlugin implements ILayerPlugin {
4
- private PickOption;
4
+ /**
5
+ * Use map to keep order of insertion.
6
+ * @see https://stackoverflow.com/questions/5525795/does-javascript-guarantee-object-property-order
7
+ */
8
+ private pickingUniformMap;
5
9
  private pickOption2Array;
6
10
  private updatePickOption;
7
11
  apply(layer: ILayer, { rendererService, styleAttributeService, }: {
@@ -1,12 +1,13 @@
1
+ import _toConsumableArray from "@babel/runtime/helpers/esm/toConsumableArray";
1
2
  import _classCallCheck from "@babel/runtime/helpers/esm/classCallCheck";
2
3
  import _createClass from "@babel/runtime/helpers/esm/createClass";
3
- import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
4
4
  var _dec, _class;
5
5
  import { AttributeType, gl } from '@antv/l7-core';
6
- import { decodePickingColor, encodePickingColor, rgb2arr } from '@antv/l7-utils';
6
+ import { decodePickingColor, encodePickingColor, lodashUtil, rgb2arr } from '@antv/l7-utils';
7
7
  import { injectable } from 'inversify';
8
8
  import 'reflect-metadata';
9
9
  import { ShaderLocation } from "../core/CommonStyleAttribute";
10
+ var isNumber = lodashUtil.isNumber;
10
11
  var PickingStage = {
11
12
  NONE: 0.0,
12
13
  ENCODE: 1.0,
@@ -15,35 +16,42 @@ var PickingStage = {
15
16
  var PixelPickingPlugin = (_dec = injectable(), _dec(_class = /*#__PURE__*/function () {
16
17
  function PixelPickingPlugin() {
17
18
  _classCallCheck(this, PixelPickingPlugin);
18
- _defineProperty(this, "PickOption", {
19
- u_HighlightColor: [1, 0, 0, 1],
20
- u_SelectColor: [1, 0, 0, 1],
21
- u_PickingColor: [0, 0, 0],
22
- u_PickingStage: 0,
23
- u_CurrentSelectedId: [0, 0, 0],
24
- u_PickingThreshold: 10,
25
- u_PickingBuffer: 0,
26
- // TODO: 更新机制
27
- u_shaderPick: 0,
28
- u_EnableSelect: 0,
29
- u_activeMix: 0
30
- });
31
19
  }
32
20
  _createClass(PixelPickingPlugin, [{
33
21
  key: "pickOption2Array",
34
- value: function pickOption2Array() {
35
- return Object.values(this.PickOption).flat();
22
+ value:
23
+ /**
24
+ * Use map to keep order of insertion.
25
+ * @see https://stackoverflow.com/questions/5525795/does-javascript-guarantee-object-property-order
26
+ */
27
+
28
+ function pickOption2Array() {
29
+ var array = [];
30
+ this.pickingUniformMap.forEach(function (value, key) {
31
+ if (isNumber(value)) {
32
+ array.push(value);
33
+ } else {
34
+ array.push.apply(array, _toConsumableArray(value));
35
+ }
36
+ });
37
+ return array;
36
38
  }
37
39
  }, {
38
40
  key: "updatePickOption",
39
- value: function updatePickOption(option, rendererService) {
41
+ value: function updatePickOption(options, layer) {
40
42
  var _this = this;
41
- Object.keys(option).forEach(function (key) {
42
- _this.PickOption[key] = option[key];
43
+ Object.keys(options).forEach(function (key) {
44
+ _this.pickingUniformMap.set(key, options[key]);
43
45
  });
44
- rendererService.uniformBuffers[1].subData({
46
+ var u_PickingBuffer = layer.getLayerConfig().pickingBuffer || 0;
47
+ // Tip: 当前地图是否在拖动
48
+ var u_shaderPick = Number(layer.getShaderPickStat());
49
+ this.pickingUniformMap.set('u_PickingBuffer', u_PickingBuffer);
50
+ this.pickingUniformMap.set('u_shaderPick', u_shaderPick);
51
+ var uniformBuffer = layer.getPickingUniformBuffer();
52
+ uniformBuffer.subData({
45
53
  offset: 0,
46
- data: new Uint8Array(new Float32Array(this.pickOption2Array()))
54
+ data: this.pickOption2Array()
47
55
  });
48
56
  }
49
57
  }, {
@@ -52,28 +60,8 @@ var PixelPickingPlugin = (_dec = injectable(), _dec(_class = /*#__PURE__*/functi
52
60
  var _this2 = this;
53
61
  var rendererService = _ref.rendererService,
54
62
  styleAttributeService = _ref.styleAttributeService;
55
- if (!rendererService.uniformBuffers[1]) {
56
- // Create a Uniform Buffer Object(UBO).
57
- var uniformBuffer = rendererService.createBuffer({
58
- // vec4 u_HighlightColor;
59
- // vec4 u_SelectColor;
60
- // vec3 u_PickingColor;
61
- // float u_PickingStage;
62
- // vec3 u_CurrentSelectedId;
63
- // float u_PickingThreshold;
64
- // float u_PickingBuffer;
65
- // float u_shaderPick;
66
- // float u_EnableSelect;
67
- // float u_activeMix;
68
- data: new Float32Array(this.pickOption2Array().length),
69
- isUBO: true
70
- });
71
- rendererService.uniformBuffers[1] = uniformBuffer;
72
- this.updatePickOption({}, rendererService);
73
- }
74
- // u_PickingBuffer: layer.getLayerConfig().pickingBuffer || 0,
75
- // // Tip: 当前地图是否在拖动
76
- // u_shaderPick: Number(layer.getShaderPickStat()),
63
+ var uniformBuffer;
64
+ 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]]);
77
65
 
78
66
  // TODO: 由于 Shader 目前无法根据是否开启拾取进行内容修改,因此即使不开启也需要生成 a_PickingColor
79
67
  layer.hooks.init.tapPromise('PixelPickingPlugin', function () {
@@ -106,7 +94,7 @@ var PixelPickingPlugin = (_dec = injectable(), _dec(_class = /*#__PURE__*/functi
106
94
  if (enablePicking && layer.isVisible()) {
107
95
  _this2.updatePickOption({
108
96
  u_PickingStage: PickingStage.ENCODE
109
- }, rendererService);
97
+ }, layer);
110
98
  layer.models.forEach(function (model) {
111
99
  return model.addUniforms({
112
100
  u_PickingStage: PickingStage.ENCODE
@@ -121,7 +109,7 @@ var PixelPickingPlugin = (_dec = injectable(), _dec(_class = /*#__PURE__*/functi
121
109
  if (enablePicking && layer.isVisible()) {
122
110
  _this2.updatePickOption({
123
111
  u_PickingStage: PickingStage.HIGHLIGHT
124
- }, rendererService);
112
+ }, layer);
125
113
  layer.models.forEach(function (model) {
126
114
  return model.addUniforms({
127
115
  u_PickingStage: PickingStage.HIGHLIGHT
@@ -146,7 +134,7 @@ var PixelPickingPlugin = (_dec = injectable(), _dec(_class = /*#__PURE__*/functi
146
134
  }),
147
135
  u_activeMix: activeMix
148
136
  };
149
- _this2.updatePickOption(option, rendererService);
137
+ _this2.updatePickOption(option, layer);
150
138
  layer.models.forEach(function (model) {
151
139
  return model.addUniforms(option);
152
140
  });
@@ -173,8 +161,7 @@ var PixelPickingPlugin = (_dec = injectable(), _dec(_class = /*#__PURE__*/functi
173
161
  }),
174
162
  u_EnableSelect: 1
175
163
  };
176
- console.log(option);
177
- _this2.updatePickOption(option, rendererService);
164
+ _this2.updatePickOption(option, layer);
178
165
  layer.models.forEach(function (model) {
179
166
  return model.addUniforms(option);
180
167
  });
@@ -1,4 +1,4 @@
1
- import { ILayer, ILayerPlugin, IStyleAttributeService } from '@antv/l7-core';
1
+ import type { ILayer, ILayerPlugin, IStyleAttributeService } from '@antv/l7-core';
2
2
  import 'reflect-metadata';
3
3
  /**
4
4
  * 在初始化阶段完成属性的注册,以及首次根据 Layer 指定的三角化方法完成 indices 和 attribute 的创建
@@ -1,4 +1,4 @@
1
- import { ILayer, ILayerPlugin } from '@antv/l7-core';
1
+ import type { ILayer, ILayerPlugin } from '@antv/l7-core';
2
2
  import 'reflect-metadata';
3
3
  /**
4
4
  * 在渲染之前需要获取当前 Shader 所需 Uniform,例如:
@@ -1,5 +1,5 @@
1
- import _toConsumableArray from "@babel/runtime/helpers/esm/toConsumableArray";
2
1
  import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
2
+ import _toConsumableArray from "@babel/runtime/helpers/esm/toConsumableArray";
3
3
  import _initializerDefineProperty from "@babel/runtime/helpers/esm/initializerDefineProperty";
4
4
  import _classCallCheck from "@babel/runtime/helpers/esm/classCallCheck";
5
5
  import _createClass from "@babel/runtime/helpers/esm/createClass";
@@ -38,7 +38,7 @@ var ShaderUniformPlugin = (_dec = injectable(), _dec2 = inject(TYPES.ICameraServ
38
38
  if (!this.rendererService.uniformBuffers[0]) {
39
39
  // Create a Uniform Buffer Object(UBO).
40
40
  uniformBuffer = this.rendererService.createBuffer({
41
- data: new Float32Array(16 * 5 + 4 * 6 + 4),
41
+ data: new Float32Array(16 * 4 + 4 * 7),
42
42
  isUBO: true
43
43
  });
44
44
  this.rendererService.uniformBuffers[0] = uniformBuffer;
@@ -55,6 +55,11 @@ var ShaderUniformPlugin = (_dec = injectable(), _dec2 = inject(TYPES.ICameraServ
55
55
  // mvp = amapCustomCoords.getMVPMatrix()
56
56
  // @ts-ignore
57
57
  sceneCenterMercator = _this.mapService.getCustomCoordCenter();
58
+ var _uniformBuffer = layer.getLayerUniformBuffer();
59
+ _uniformBuffer.subData({
60
+ offset: 0,
61
+ data: new Uint8Array(new Float32Array([].concat(_toConsumableArray(mvp), _toConsumableArray(sceneCenterMercator))).buffer)
62
+ });
58
63
  }
59
64
  var _this$rendererService = _this.rendererService.getViewportSize(),
60
65
  width = _this$rendererService.width,
@@ -115,7 +120,7 @@ var ShaderUniformPlugin = (_dec = injectable(), _dec2 = inject(TYPES.ICameraServ
115
120
  var u_ViewportCenter = this.coordinateSystemService.getViewportCenter();
116
121
  var u_ViewportSize = [width, height];
117
122
  var u_FocalDistance = this.cameraService.getFocalDistance();
118
- var data = [].concat(_toConsumableArray(u_ViewMatrix), _toConsumableArray(u_ProjectionMatrix), _toConsumableArray(u_ViewProjectionMatrix), _toConsumableArray(u_ModelMatrix), _toConsumableArray(u_Mvp), _toConsumableArray(u_ViewportCenterProjection), _toConsumableArray(u_PixelsPerDegree), [
123
+ var data = [].concat(_toConsumableArray(u_ViewMatrix), _toConsumableArray(u_ProjectionMatrix), _toConsumableArray(u_ViewProjectionMatrix), _toConsumableArray(u_ModelMatrix), _toConsumableArray(u_ViewportCenterProjection), _toConsumableArray(u_PixelsPerDegree), [
119
124
  // 4
120
125
  u_Zoom], _toConsumableArray(u_PixelsPerDegree2), [
121
126
  // 4
@@ -123,11 +128,11 @@ var ShaderUniformPlugin = (_dec = injectable(), _dec2 = inject(TYPES.ICameraServ
123
128
  // 4
124
129
  u_CoordinateSystem], _toConsumableArray(u_CameraPosition), [
125
130
  // 4
126
- u_DevicePixelRatio], _toConsumableArray(u_ViewportCenter), u_ViewportSize, _toConsumableArray(sceneCenterMercator), [
127
- // 2
131
+ u_DevicePixelRatio], _toConsumableArray(u_ViewportCenter), u_ViewportSize, [
132
+ // 4
128
133
  u_FocalDistance,
129
134
  // 1
130
- 0]);
135
+ 0, 0, 0]);
131
136
  return {
132
137
  data: data,
133
138
  uniforms: (_uniforms = {}, _defineProperty(_uniforms, CameraUniform.ProjectionMatrix, u_ProjectionMatrix), _defineProperty(_uniforms, CameraUniform.ViewMatrix, u_ViewMatrix), _defineProperty(_uniforms, CameraUniform.ViewProjectionMatrix, u_ViewProjectionMatrix), _defineProperty(_uniforms, CameraUniform.Zoom, u_Zoom), _defineProperty(_uniforms, CameraUniform.ZoomScale, u_ZoomScale), _defineProperty(_uniforms, CameraUniform.FocalDistance, u_FocalDistance), _defineProperty(_uniforms, CameraUniform.CameraPosition, u_CameraPosition), _defineProperty(_uniforms, CoordinateUniform.CoordinateSystem, u_CoordinateSystem), _defineProperty(_uniforms, CoordinateUniform.ViewportCenter, u_ViewportCenter), _defineProperty(_uniforms, CoordinateUniform.ViewportCenterProjection, u_ViewportCenterProjection), _defineProperty(_uniforms, CoordinateUniform.PixelsPerDegree, u_PixelsPerDegree), _defineProperty(_uniforms, CoordinateUniform.PixelsPerDegree2, u_PixelsPerDegree2), _defineProperty(_uniforms, CoordinateUniform.PixelsPerMeter, u_PixelsPerMeter), _defineProperty(_uniforms, CoordinateUniform.Mvp, u_Mvp), _defineProperty(_uniforms, "u_sceneCenterMercator", sceneCenterMercator), _defineProperty(_uniforms, "u_ViewportSize", u_ViewportSize), _defineProperty(_uniforms, "u_ModelMatrix", u_ModelMatrix), _defineProperty(_uniforms, "u_DevicePixelRatio", u_DevicePixelRatio), _uniforms)
@@ -1,4 +1,4 @@
1
- import { ILayer, ILayerPlugin } from '@antv/l7-core';
1
+ import type { ILayer, ILayerPlugin } from '@antv/l7-core';
2
2
  import 'reflect-metadata';
3
3
  /**
4
4
  * Model 更新
@@ -1,4 +1,4 @@
1
- import { ILayer, ILayerPlugin, IStyleAttributeService } from '@antv/l7-core';
1
+ import type { ILayer, ILayerPlugin, IStyleAttributeService } from '@antv/l7-core';
2
2
  import 'reflect-metadata';
3
3
  /**
4
4
  * 在初始化阶段完成属性的注册,以及首次根据 Layer 指定的三角化方法完成 indices 和 attribute 的创建
@@ -1,6 +1,6 @@
1
1
  import BaseLayer from '../core/BaseLayer';
2
- import { IPointLayerStyleOptions } from '../core/interface';
3
- import { PointType } from './models/index';
2
+ import type { IPointLayerStyleOptions } from '../core/interface';
3
+ import type { PointType } from './models/index';
4
4
  export default class PointLayer extends BaseLayer<IPointLayerStyleOptions> {
5
5
  type: string;
6
6
  enableShaderEncodeStyles: string[];
package/es/point/index.js CHANGED
@@ -26,6 +26,7 @@ var PointLayer = /*#__PURE__*/function (_BaseLayer) {
26
26
  _this = _super.call.apply(_super, [this].concat(args));
27
27
  _defineProperty(_assertThisInitialized(_this), "type", 'PointLayer');
28
28
  _defineProperty(_assertThisInitialized(_this), "enableShaderEncodeStyles", ['stroke', 'offsets', 'opacity', 'rotation']);
29
+ //4+2+1+1
29
30
  _defineProperty(_assertThisInitialized(_this), "enableDataEncodeStyles", ['textOffset', 'textAnchor']);
30
31
  _defineProperty(_assertThisInitialized(_this), "defaultSourceConfig", {
31
32
  data: [],
@@ -1,6 +1,6 @@
1
- import { IEncodeFeature, IModel, IModelUniform } from '@antv/l7-core';
1
+ import type { IEncodeFeature, IModel } from '@antv/l7-core';
2
2
  import BaseModel from '../../core/BaseModel';
3
- import { IPointLayerStyleOptions } from '../../core/interface';
3
+ import type { IPointLayerStyleOptions } from '../../core/interface';
4
4
  export declare function PointTriangulation(feature: IEncodeFeature): {
5
5
  vertices: number[];
6
6
  indices: number[];
@@ -8,7 +8,13 @@ export declare function PointTriangulation(feature: IEncodeFeature): {
8
8
  };
9
9
  export default class SimplePointModel extends BaseModel {
10
10
  getDefaultStyle(): Partial<IPointLayerStyleOptions>;
11
- getUninforms(): IModelUniform;
11
+ protected getCommonUniformsInfo(): {
12
+ uniformsArray: number[];
13
+ uniformsLength: number;
14
+ uniformsOption: {
15
+ [key: string]: any;
16
+ };
17
+ };
12
18
  initModels(): Promise<IModel[]>;
13
19
  buildModels(): Promise<IModel[]>;
14
20
  protected registerBuiltinAttributes(): void;