@antv/l7-layers 2.9.21 → 2.9.23

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 (707) hide show
  1. package/es/Geometry/index.js +4 -5
  2. package/es/Geometry/models/billboard.js +23 -9
  3. package/es/Geometry/models/index.js +4 -5
  4. package/es/Geometry/models/plane.js +25 -13
  5. package/es/Geometry/models/sprite.js +11 -21
  6. package/es/Geometry/shaders/billboard_frag.glsl +13 -0
  7. package/es/Geometry/shaders/billboard_vert.glsl +50 -0
  8. package/es/Geometry/shaders/plane_frag.glsl +22 -0
  9. package/es/Geometry/shaders/plane_vert.glsl +53 -0
  10. package/es/Geometry/shaders/sprite_frag.glsl +21 -0
  11. package/es/Geometry/shaders/sprite_vert.glsl +28 -0
  12. package/es/canvas/index.js +4 -5
  13. package/es/canvas/models/canvas.js +6 -12
  14. package/es/canvas/models/index.js +2 -3
  15. package/es/citybuliding/building.js +4 -5
  16. package/es/citybuliding/models/build.js +19 -22
  17. package/es/citybuliding/shaders/build_frag.glsl +117 -0
  18. package/es/citybuliding/shaders/build_vert.glsl +54 -0
  19. package/es/core/BaseLayer.js +205 -157
  20. package/es/core/BaseModel.js +135 -76
  21. package/es/core/interface.js +1 -2
  22. package/es/core/schema.js +4 -2
  23. package/es/core/shape/Path.js +8 -3
  24. package/es/core/shape/extrude.js +9 -4
  25. package/es/core/triangulation.js +89 -17
  26. package/es/earth/index.js +11 -7
  27. package/es/earth/models/atmosphere.js +15 -7
  28. package/es/earth/models/base.js +19 -7
  29. package/es/earth/models/bloomsphere.js +15 -7
  30. package/es/earth/shaders/atmosphere_frag.glsl +17 -0
  31. package/es/earth/shaders/atmosphere_vert.glsl +26 -0
  32. package/es/earth/shaders/base_frag.glsl +13 -0
  33. package/es/earth/shaders/base_vert.glsl +52 -0
  34. package/es/earth/shaders/bloomsphere_frag.glsl +15 -0
  35. package/es/earth/shaders/bloomsphere_vert.glsl +20 -0
  36. package/es/earth/utils.js +28 -5
  37. package/es/heatmap/index.js +8 -7
  38. package/es/heatmap/models/grid.js +11 -5
  39. package/es/heatmap/models/grid3d.js +18 -7
  40. package/es/heatmap/models/heatmap.js +45 -44
  41. package/es/heatmap/models/hexagon.js +14 -6
  42. package/es/heatmap/models/index.js +5 -6
  43. package/es/heatmap/shaders/grid_vert.glsl +42 -0
  44. package/es/heatmap/shaders/heatmap_3d_frag.glsl +14 -0
  45. package/es/heatmap/shaders/heatmap_3d_vert.glsl +46 -0
  46. package/es/heatmap/shaders/heatmap_frag.glsl +47 -0
  47. package/es/heatmap/shaders/heatmap_framebuffer_frag.glsl +10 -0
  48. package/es/heatmap/shaders/heatmap_framebuffer_vert.glsl +35 -0
  49. package/es/heatmap/shaders/heatmap_vert.glsl +10 -0
  50. package/es/heatmap/shaders/hexagon_3d_frag.glsl +0 -0
  51. package/es/heatmap/shaders/hexagon_3d_vert.glsl +64 -0
  52. package/es/heatmap/shaders/hexagon_frag.glsl +12 -0
  53. package/es/heatmap/shaders/hexagon_vert.glsl +41 -0
  54. package/es/heatmap/triangulation.js +2 -2
  55. package/es/image/index.js +4 -5
  56. package/es/image/models/dataImage.js +21 -31
  57. package/es/image/models/image.js +19 -25
  58. package/es/image/models/index.js +3 -4
  59. package/es/image/shaders/dataImage_frag.glsl +38 -0
  60. package/es/image/shaders/image_frag.glsl +9 -0
  61. package/es/image/shaders/image_vert.glsl +17 -0
  62. package/es/index.d.ts +2 -2
  63. package/es/index.js +92 -30
  64. package/es/line/index.js +4 -5
  65. package/es/line/models/arc.js +38 -15
  66. package/es/line/models/arc_3d.js +33 -14
  67. package/es/line/models/earthArc_3d.js +33 -14
  68. package/es/line/models/great_circle.js +25 -13
  69. package/es/line/models/half.js +33 -12
  70. package/es/line/models/index.js +12 -13
  71. package/es/line/models/line.js +48 -15
  72. package/es/line/models/linearline.js +26 -12
  73. package/es/line/models/simpleLine.js +26 -11
  74. package/es/line/models/tile.js +28 -10
  75. package/es/line/models/wall.js +30 -13
  76. package/es/line/shaders/arc_chunks.vert.glsl +21 -0
  77. package/es/line/shaders/dash/arc_dash_frag.glsl +28 -0
  78. package/es/line/shaders/dash/arc_dash_vert.glsl +148 -0
  79. package/es/line/shaders/dash/line_dash_frag.glsl +31 -0
  80. package/es/line/shaders/dash/line_dash_vert.glsl +93 -0
  81. package/es/line/shaders/half/line_half_frag.glsl +53 -0
  82. package/es/line/shaders/half/line_half_vert.glsl +169 -0
  83. package/es/line/shaders/line_arc2d_vert.glsl +114 -0
  84. package/es/line/shaders/line_arc_3d_frag.glsl +103 -0
  85. package/es/line/shaders/line_arc_3d_vert.glsl +207 -0
  86. package/es/line/shaders/line_arc_frag.glsl +89 -0
  87. package/es/line/shaders/line_arc_great_circle_frag.glsl +101 -0
  88. package/es/line/shaders/line_arc_great_circle_vert.glsl +215 -0
  89. package/es/line/shaders/line_arc_vert.glsl +174 -0
  90. package/es/line/shaders/line_bezier_vert.glsl +85 -0
  91. package/es/line/shaders/line_frag.glsl +100 -0
  92. package/es/line/shaders/line_vert.glsl +192 -0
  93. package/es/line/shaders/linear/arc3d_linear_frag.glsl +47 -0
  94. package/es/line/shaders/linear/arc3d_linear_vert.glsl +207 -0
  95. package/es/line/shaders/linear/arc_linear_frag.glsl +38 -0
  96. package/es/line/shaders/linear/arc_linear_vert.glsl +138 -0
  97. package/es/line/shaders/linear/line_linear_frag.glsl +27 -0
  98. package/es/line/shaders/linearLine/line_linear_frag.glsl +20 -0
  99. package/es/line/shaders/linearLine/line_linear_vert.glsl +112 -0
  100. package/es/line/shaders/simple/simpleline_frag.glsl +10 -0
  101. package/es/line/shaders/simple/simpleline_linear_frag.glsl +11 -0
  102. package/es/line/shaders/simple/simpleline_vert.glsl +78 -0
  103. package/es/line/shaders/tile/line_tile_frag.glsl +79 -0
  104. package/es/line/shaders/tile/line_tile_vert.glsl +210 -0
  105. package/es/line/shaders/wall_frag.glsl +93 -0
  106. package/es/line/shaders/wall_vert.glsl +111 -0
  107. package/es/mask/index.js +4 -5
  108. package/es/mask/models/fill.js +11 -8
  109. package/es/mask/models/index.js +2 -3
  110. package/es/mask/shaders/mask_frag.glsl +7 -0
  111. package/es/mask/shaders/mask_vert.glsl +22 -0
  112. package/es/plugins/DataMappingPlugin.js +71 -34
  113. package/es/plugins/DataSourcePlugin.js +12 -10
  114. package/es/plugins/FeatureScalePlugin.js +44 -24
  115. package/es/plugins/LayerAnimateStylePlugin.js +6 -7
  116. package/es/plugins/LayerModelPlugin.js +16 -7
  117. package/es/plugins/LayerStylePlugin.js +7 -3
  118. package/es/plugins/LightingPlugin.js +21 -13
  119. package/es/plugins/MultiPassRendererPlugin.js +21 -8
  120. package/es/plugins/PixelPickingPlugin.js +33 -11
  121. package/es/plugins/RegisterStyleAttributePlugin.js +10 -3
  122. package/es/plugins/ShaderUniformPlugin.js +24 -10
  123. package/es/plugins/UpdateModelPlugin.js +7 -3
  124. package/es/plugins/UpdateStyleAttributePlugin.js +20 -7
  125. package/es/point/index.js +12 -6
  126. package/es/point/models/earthExtrude.js +30 -12
  127. package/es/point/models/earthFill.js +25 -13
  128. package/es/point/models/extrude.js +30 -12
  129. package/es/point/models/fill.js +50 -15
  130. package/es/point/models/fillmage.js +46 -17
  131. package/es/point/models/image.js +20 -12
  132. package/es/point/models/index.js +14 -14
  133. package/es/point/models/normal.js +15 -7
  134. package/es/point/models/radar.js +33 -13
  135. package/es/point/models/simplePoint.js +17 -9
  136. package/es/point/models/text.js +77 -30
  137. package/es/point/models/tile.js +33 -12
  138. package/es/point/shaders/animate/wave_frag.glsl +65 -0
  139. package/es/point/shaders/earth/extrude_frag.glsl +44 -0
  140. package/es/point/shaders/earth/extrude_vert.glsl +140 -0
  141. package/es/point/shaders/earth/fill_frag.glsl +86 -0
  142. package/es/point/shaders/earth/fill_vert.glsl +126 -0
  143. package/es/point/shaders/extrude/extrude_frag.glsl +44 -0
  144. package/es/point/shaders/extrude/extrude_vert.glsl +121 -0
  145. package/es/point/shaders/fill_frag.glsl +84 -0
  146. package/es/point/shaders/fill_vert.glsl +182 -0
  147. package/es/point/shaders/image/fillImage_frag.glsl +20 -0
  148. package/es/point/shaders/image/fillImage_vert.glsl +108 -0
  149. package/es/point/shaders/image_frag.glsl +39 -0
  150. package/es/point/shaders/image_vert.glsl +81 -0
  151. package/es/point/shaders/normal_frag.glsl +15 -0
  152. package/es/point/shaders/normal_vert.glsl +79 -0
  153. package/es/point/shaders/radar/radar_frag.glsl +64 -0
  154. package/es/point/shaders/radar/radar_vert.glsl +120 -0
  155. package/es/point/shaders/simplePoint_frag.glsl +53 -0
  156. package/es/point/shaders/simplePoint_vert.glsl +79 -0
  157. package/es/point/shaders/text_frag.glsl +48 -0
  158. package/es/point/shaders/text_vert.glsl +131 -0
  159. package/es/point/shaders/tile/fill_tile_frag.glsl +83 -0
  160. package/es/point/shaders/tile/fill_tile_vert.glsl +181 -0
  161. package/es/point/shape/extrude.js +8 -3
  162. package/es/polygon/index.js +6 -5
  163. package/es/polygon/models/extrude.js +40 -31
  164. package/es/polygon/models/fill.js +19 -8
  165. package/es/polygon/models/index.js +14 -14
  166. package/es/polygon/models/ocean.js +25 -33
  167. package/es/polygon/models/tile.js +13 -7
  168. package/es/polygon/models/water.js +21 -25
  169. package/es/polygon/shaders/extrude/polygon_extrude_frag.glsl +44 -0
  170. package/es/polygon/shaders/extrude/polygon_extrude_picklight_frag.glsl +44 -0
  171. package/es/polygon/shaders/extrude/polygon_extrude_picklight_vert.glsl +85 -0
  172. package/es/polygon/shaders/extrude/polygon_extrude_vert.glsl +90 -0
  173. package/es/polygon/shaders/extrude/polygon_extrudetex_frag.glsl +48 -0
  174. package/es/polygon/shaders/extrude/polygon_extrudetex_vert.glsl +93 -0
  175. package/es/polygon/shaders/polygon_frag.glsl +12 -0
  176. package/es/polygon/shaders/polygon_linear_frag.glsl +22 -0
  177. package/es/polygon/shaders/polygon_linear_vert.glsl +74 -0
  178. package/es/polygon/shaders/polygon_vert.glsl +66 -0
  179. package/es/polygon/shaders/tile/polygon_tile_frag.glsl +12 -0
  180. package/es/polygon/shaders/tile/polygon_tile_vert.glsl +82 -0
  181. package/es/polygon/shaders/water/polygon_ocean_frag.glsl +248 -0
  182. package/es/polygon/shaders/water/polygon_ocean_vert.glsl +52 -0
  183. package/es/polygon/shaders/water/polygon_water_frag.glsl +73 -0
  184. package/es/polygon/shaders/water/polygon_water_vert.glsl +55 -0
  185. package/es/raster/buffers/triangulation.js +2 -2
  186. package/es/raster/index.js +7 -6
  187. package/es/raster/models/index.js +3 -4
  188. package/es/raster/models/raster.js +15 -25
  189. package/es/raster/raster.js +9 -13
  190. package/es/raster/shaders/raster_2d_frag.glsl +28 -0
  191. package/es/raster/shaders/raster_2d_vert.glsl +18 -0
  192. package/es/raster/shaders/raster_frag.glsl +9 -0
  193. package/es/raster/shaders/raster_vert.glsl +44 -0
  194. package/es/tile/interface.js +1 -2
  195. package/es/tile/manager/tileConfigManager.js +6 -8
  196. package/es/tile/manager/tileLayerManager.js +19 -30
  197. package/es/tile/manager/tilePickerManager.js +14 -14
  198. package/es/tile/models/tileModel.js +6 -6
  199. package/es/tile/tileFactory/base.js +26 -32
  200. package/es/tile/tileFactory/index.js +6 -7
  201. package/es/tile/tileFactory/line.js +3 -9
  202. package/es/tile/tileFactory/point.js +3 -9
  203. package/es/tile/tileFactory/polygon.js +3 -9
  204. package/es/tile/tileFactory/raster.js +4 -10
  205. package/es/tile/tileFactory/rasterData.js +5 -11
  206. package/es/tile/tileFactory/rasterDataLayer.js +4 -5
  207. package/es/tile/tileFactory/vectorLayer.js +8 -9
  208. package/es/tile/tileLayer/baseTileLayer.js +67 -39
  209. package/es/tile/tmsTileLayer.js +5 -4
  210. package/es/tile/utils.js +5 -3
  211. package/es/utils/blend.js +1 -2
  212. package/es/utils/collision-index.js +36 -21
  213. package/es/utils/dataMappingStyle.js +71 -15
  214. package/es/utils/extrude_polyline.js +90 -48
  215. package/es/utils/grid-index.js +7 -21
  216. package/es/utils/layerData.js +41 -17
  217. package/es/utils/multiPassRender.js +21 -5
  218. package/es/utils/polylineNormal.js +40 -20
  219. package/es/utils/simpleLine.js +4 -6
  220. package/es/utils/symbol-layout.js +49 -10
  221. package/es/utils/updateShape.js +6 -3
  222. package/es/wind/index.js +5 -6
  223. package/es/wind/models/index.js +2 -3
  224. package/es/wind/models/utils.js +50 -26
  225. package/es/wind/models/wind.js +15 -18
  226. package/es/wind/models/windRender.js +89 -78
  227. package/es/wind/models/windShader.d.ts +6 -6
  228. package/es/wind/models/windShader.js +12 -7
  229. package/es/wind/shaders/wind_frag.glsl +9 -0
  230. package/es/wind/shaders/wind_vert.glsl +17 -0
  231. package/lib/Geometry/index.js +77 -115
  232. package/lib/Geometry/models/billboard.js +181 -218
  233. package/lib/Geometry/models/index.js +34 -19
  234. package/lib/Geometry/models/plane.js +278 -394
  235. package/lib/Geometry/models/sprite.js +189 -294
  236. package/lib/Geometry/shaders/billboard_frag.glsl +13 -0
  237. package/lib/Geometry/shaders/billboard_vert.glsl +50 -0
  238. package/lib/Geometry/shaders/plane_frag.glsl +22 -0
  239. package/lib/Geometry/shaders/plane_vert.glsl +53 -0
  240. package/lib/Geometry/shaders/sprite_frag.glsl +21 -0
  241. package/lib/Geometry/shaders/sprite_vert.glsl +28 -0
  242. package/lib/canvas/index.js +66 -102
  243. package/lib/canvas/models/canvas.js +140 -210
  244. package/lib/canvas/models/index.js +30 -13
  245. package/lib/citybuliding/building.js +63 -99
  246. package/lib/citybuliding/models/build.js +146 -196
  247. package/lib/citybuliding/shaders/build_frag.glsl +117 -0
  248. package/lib/citybuliding/shaders/build_vert.glsl +54 -0
  249. package/lib/core/BaseLayer.js +807 -1245
  250. package/lib/core/BaseModel.js +275 -375
  251. package/lib/core/interface.js +53 -37
  252. package/lib/core/schema.js +39 -18
  253. package/lib/core/shape/Path.js +78 -60
  254. package/lib/core/shape/extrude.js +90 -127
  255. package/lib/core/triangulation.js +191 -304
  256. package/lib/earth/index.js +62 -96
  257. package/lib/earth/models/atmosphere.js +112 -139
  258. package/lib/earth/models/base.js +150 -198
  259. package/lib/earth/models/bloomsphere.js +112 -139
  260. package/lib/earth/shaders/atmosphere_frag.glsl +17 -0
  261. package/lib/earth/shaders/atmosphere_vert.glsl +26 -0
  262. package/lib/earth/shaders/base_frag.glsl +13 -0
  263. package/lib/earth/shaders/base_vert.glsl +52 -0
  264. package/lib/earth/shaders/bloomsphere_frag.glsl +15 -0
  265. package/lib/earth/shaders/bloomsphere_vert.glsl +20 -0
  266. package/lib/earth/utils.js +89 -85
  267. package/lib/heatmap/index.js +92 -148
  268. package/lib/heatmap/models/grid.js +91 -113
  269. package/lib/heatmap/models/grid3d.js +123 -145
  270. package/lib/heatmap/models/heatmap.js +338 -470
  271. package/lib/heatmap/models/hexagon.js +92 -114
  272. package/lib/heatmap/models/index.js +37 -23
  273. package/lib/heatmap/shaders/grid_vert.glsl +42 -0
  274. package/lib/heatmap/shaders/heatmap_3d_frag.glsl +14 -0
  275. package/lib/heatmap/shaders/heatmap_3d_vert.glsl +46 -0
  276. package/lib/heatmap/shaders/heatmap_frag.glsl +47 -0
  277. package/lib/heatmap/shaders/heatmap_framebuffer_frag.glsl +10 -0
  278. package/lib/heatmap/shaders/heatmap_framebuffer_vert.glsl +35 -0
  279. package/lib/heatmap/shaders/heatmap_vert.glsl +10 -0
  280. package/lib/heatmap/shaders/hexagon_3d_frag.glsl +0 -0
  281. package/lib/heatmap/shaders/hexagon_3d_vert.glsl +64 -0
  282. package/lib/heatmap/shaders/hexagon_frag.glsl +12 -0
  283. package/lib/heatmap/shaders/hexagon_vert.glsl +41 -0
  284. package/lib/heatmap/triangulation.js +46 -30
  285. package/lib/image/index.js +74 -112
  286. package/lib/image/models/dataImage.js +173 -241
  287. package/lib/image/models/image.js +123 -177
  288. package/lib/image/models/index.js +32 -16
  289. package/lib/image/shaders/dataImage_frag.glsl +38 -0
  290. package/lib/image/shaders/image_frag.glsl +9 -0
  291. package/lib/image/shaders/image_vert.glsl +17 -0
  292. package/lib/index.js +96 -193
  293. package/lib/line/index.js +83 -128
  294. package/lib/line/models/arc.js +237 -328
  295. package/lib/line/models/arc_3d.js +228 -314
  296. package/lib/line/models/earthArc_3d.js +228 -316
  297. package/lib/line/models/great_circle.js +200 -279
  298. package/lib/line/models/half.js +201 -266
  299. package/lib/line/models/index.js +50 -43
  300. package/lib/line/models/line.js +299 -394
  301. package/lib/line/models/linearline.js +203 -263
  302. package/lib/line/models/simpleLine.js +175 -225
  303. package/lib/line/models/tile.js +237 -330
  304. package/lib/line/models/wall.js +235 -310
  305. package/lib/line/shaders/arc_chunks.vert.glsl +21 -0
  306. package/lib/line/shaders/dash/arc_dash_frag.glsl +28 -0
  307. package/lib/line/shaders/dash/arc_dash_vert.glsl +148 -0
  308. package/lib/line/shaders/dash/line_dash_frag.glsl +31 -0
  309. package/lib/line/shaders/dash/line_dash_vert.glsl +93 -0
  310. package/lib/line/shaders/half/line_half_frag.glsl +53 -0
  311. package/lib/line/shaders/half/line_half_vert.glsl +169 -0
  312. package/lib/line/shaders/line_arc2d_vert.glsl +114 -0
  313. package/lib/line/shaders/line_arc_3d_frag.glsl +103 -0
  314. package/lib/line/shaders/line_arc_3d_vert.glsl +207 -0
  315. package/lib/line/shaders/line_arc_frag.glsl +89 -0
  316. package/lib/line/shaders/line_arc_great_circle_frag.glsl +101 -0
  317. package/lib/line/shaders/line_arc_great_circle_vert.glsl +215 -0
  318. package/lib/line/shaders/line_arc_vert.glsl +174 -0
  319. package/lib/line/shaders/line_bezier_vert.glsl +85 -0
  320. package/lib/line/shaders/line_frag.glsl +100 -0
  321. package/lib/line/shaders/line_vert.glsl +192 -0
  322. package/lib/line/shaders/linear/arc3d_linear_frag.glsl +47 -0
  323. package/lib/line/shaders/linear/arc3d_linear_vert.glsl +207 -0
  324. package/lib/line/shaders/linear/arc_linear_frag.glsl +38 -0
  325. package/lib/line/shaders/linear/arc_linear_vert.glsl +138 -0
  326. package/lib/line/shaders/linear/line_linear_frag.glsl +27 -0
  327. package/lib/line/shaders/linearLine/line_linear_frag.glsl +20 -0
  328. package/lib/line/shaders/linearLine/line_linear_vert.glsl +112 -0
  329. package/lib/line/shaders/simple/simpleline_frag.glsl +10 -0
  330. package/lib/line/shaders/simple/simpleline_linear_frag.glsl +11 -0
  331. package/lib/line/shaders/simple/simpleline_vert.glsl +78 -0
  332. package/lib/line/shaders/tile/line_tile_frag.glsl +79 -0
  333. package/lib/line/shaders/tile/line_tile_vert.glsl +210 -0
  334. package/lib/line/shaders/wall_frag.glsl +93 -0
  335. package/lib/line/shaders/wall_vert.glsl +111 -0
  336. package/lib/mask/index.js +59 -93
  337. package/lib/mask/models/fill.js +82 -132
  338. package/lib/mask/models/index.js +30 -13
  339. package/lib/mask/shaders/mask_frag.glsl +7 -0
  340. package/lib/mask/shaders/mask_vert.glsl +22 -0
  341. package/lib/plugins/DataMappingPlugin.js +222 -304
  342. package/lib/plugins/DataSourcePlugin.js +87 -100
  343. package/lib/plugins/FeatureScalePlugin.js +239 -310
  344. package/lib/plugins/LayerAnimateStylePlugin.js +55 -61
  345. package/lib/plugins/LayerModelPlugin.js +72 -70
  346. package/lib/plugins/LayerStylePlugin.js +51 -44
  347. package/lib/plugins/LightingPlugin.js +68 -72
  348. package/lib/plugins/MultiPassRendererPlugin.js +65 -77
  349. package/lib/plugins/PixelPickingPlugin.js +109 -128
  350. package/lib/plugins/RegisterStyleAttributePlugin.js +110 -103
  351. package/lib/plugins/ShaderUniformPlugin.js +98 -103
  352. package/lib/plugins/UpdateModelPlugin.js +47 -36
  353. package/lib/plugins/UpdateStyleAttributePlugin.js +75 -80
  354. package/lib/point/index.js +147 -216
  355. package/lib/point/models/earthExtrude.js +201 -262
  356. package/lib/point/models/earthFill.js +202 -276
  357. package/lib/point/models/extrude.js +203 -282
  358. package/lib/point/models/fill.js +273 -369
  359. package/lib/point/models/fillmage.js +250 -327
  360. package/lib/point/models/image.js +163 -226
  361. package/lib/point/models/index.js +52 -46
  362. package/lib/point/models/normal.js +134 -176
  363. package/lib/point/models/radar.js +212 -286
  364. package/lib/point/models/simplePoint.js +142 -187
  365. package/lib/point/models/text.js +385 -559
  366. package/lib/point/models/tile.js +223 -294
  367. package/lib/point/shaders/animate/wave_frag.glsl +65 -0
  368. package/lib/point/shaders/earth/extrude_frag.glsl +44 -0
  369. package/lib/point/shaders/earth/extrude_vert.glsl +140 -0
  370. package/lib/point/shaders/earth/fill_frag.glsl +86 -0
  371. package/lib/point/shaders/earth/fill_vert.glsl +126 -0
  372. package/lib/point/shaders/extrude/extrude_frag.glsl +44 -0
  373. package/lib/point/shaders/extrude/extrude_vert.glsl +121 -0
  374. package/lib/point/shaders/fill_frag.glsl +84 -0
  375. package/lib/point/shaders/fill_vert.glsl +182 -0
  376. package/lib/point/shaders/image/fillImage_frag.glsl +20 -0
  377. package/lib/point/shaders/image/fillImage_vert.glsl +108 -0
  378. package/lib/point/shaders/image_frag.glsl +39 -0
  379. package/lib/point/shaders/image_vert.glsl +81 -0
  380. package/lib/point/shaders/normal_frag.glsl +15 -0
  381. package/lib/point/shaders/normal_vert.glsl +79 -0
  382. package/lib/point/shaders/radar/radar_frag.glsl +64 -0
  383. package/lib/point/shaders/radar/radar_vert.glsl +120 -0
  384. package/lib/point/shaders/simplePoint_frag.glsl +53 -0
  385. package/lib/point/shaders/simplePoint_vert.glsl +79 -0
  386. package/lib/point/shaders/text_frag.glsl +48 -0
  387. package/lib/point/shaders/text_vert.glsl +131 -0
  388. package/lib/point/shaders/tile/fill_tile_frag.glsl +83 -0
  389. package/lib/point/shaders/tile/fill_tile_vert.glsl +181 -0
  390. package/lib/point/shape/extrude.js +51 -51
  391. package/lib/polygon/index.js +100 -149
  392. package/lib/polygon/models/extrude.js +222 -303
  393. package/lib/polygon/models/fill.js +153 -205
  394. package/lib/polygon/models/index.js +52 -46
  395. package/lib/polygon/models/ocean.js +172 -251
  396. package/lib/polygon/models/tile.js +100 -139
  397. package/lib/polygon/models/water.js +152 -227
  398. package/lib/polygon/shaders/extrude/polygon_extrude_frag.glsl +44 -0
  399. package/lib/polygon/shaders/extrude/polygon_extrude_picklight_frag.glsl +44 -0
  400. package/lib/polygon/shaders/extrude/polygon_extrude_picklight_vert.glsl +85 -0
  401. package/lib/polygon/shaders/extrude/polygon_extrude_vert.glsl +90 -0
  402. package/lib/polygon/shaders/extrude/polygon_extrudetex_frag.glsl +48 -0
  403. package/lib/polygon/shaders/extrude/polygon_extrudetex_vert.glsl +93 -0
  404. package/lib/polygon/shaders/polygon_frag.glsl +12 -0
  405. package/lib/polygon/shaders/polygon_linear_frag.glsl +22 -0
  406. package/lib/polygon/shaders/polygon_linear_vert.glsl +74 -0
  407. package/lib/polygon/shaders/polygon_vert.glsl +66 -0
  408. package/lib/polygon/shaders/tile/polygon_tile_frag.glsl +12 -0
  409. package/lib/polygon/shaders/tile/polygon_tile_vert.glsl +82 -0
  410. package/lib/polygon/shaders/water/polygon_ocean_frag.glsl +248 -0
  411. package/lib/polygon/shaders/water/polygon_ocean_vert.glsl +52 -0
  412. package/lib/polygon/shaders/water/polygon_water_frag.glsl +73 -0
  413. package/lib/polygon/shaders/water/polygon_water_vert.glsl +55 -0
  414. package/lib/raster/buffers/triangulation.js +39 -26
  415. package/lib/raster/index.js +73 -111
  416. package/lib/raster/models/index.js +33 -17
  417. package/lib/raster/models/raster.js +134 -187
  418. package/lib/raster/raster.js +132 -189
  419. package/lib/raster/shaders/raster_2d_frag.glsl +28 -0
  420. package/lib/raster/shaders/raster_2d_vert.glsl +18 -0
  421. package/lib/raster/shaders/raster_frag.glsl +9 -0
  422. package/lib/raster/shaders/raster_vert.glsl +44 -0
  423. package/lib/tile/interface.js +17 -2
  424. package/lib/tile/manager/tileConfigManager.js +86 -126
  425. package/lib/tile/manager/tileLayerManager.js +227 -312
  426. package/lib/tile/manager/tilePickerManager.js +123 -187
  427. package/lib/tile/models/tileModel.js +51 -70
  428. package/lib/tile/tileFactory/base.js +292 -403
  429. package/lib/tile/tileFactory/index.js +48 -51
  430. package/lib/tile/tileFactory/line.js +50 -71
  431. package/lib/tile/tileFactory/point.js +50 -71
  432. package/lib/tile/tileFactory/polygon.js +50 -71
  433. package/lib/tile/tileFactory/raster.js +54 -72
  434. package/lib/tile/tileFactory/rasterData.js +76 -94
  435. package/lib/tile/tileFactory/rasterDataLayer.js +62 -98
  436. package/lib/tile/tileFactory/vectorLayer.js +95 -148
  437. package/lib/tile/tileLayer/baseTileLayer.js +220 -380
  438. package/lib/tile/tmsTileLayer.js +67 -109
  439. package/lib/tile/utils.js +86 -101
  440. package/lib/utils/blend.js +79 -60
  441. package/lib/utils/collision-index.js +63 -83
  442. package/lib/utils/dataMappingStyle.js +59 -56
  443. package/lib/utils/extrude_polyline.js +397 -554
  444. package/lib/utils/grid-index.js +111 -168
  445. package/lib/utils/layerData.js +88 -95
  446. package/lib/utils/multiPassRender.js +38 -31
  447. package/lib/utils/polylineNormal.js +86 -118
  448. package/lib/utils/simpleLine.js +85 -101
  449. package/lib/utils/symbol-layout.js +109 -173
  450. package/lib/utils/updateShape.js +40 -11
  451. package/lib/wind/index.js +71 -110
  452. package/lib/wind/models/index.js +30 -13
  453. package/lib/wind/models/utils.js +89 -104
  454. package/lib/wind/models/wind.js +224 -332
  455. package/lib/wind/models/windRender.js +215 -293
  456. package/lib/wind/models/windShader.js +181 -17
  457. package/lib/wind/shaders/wind_frag.glsl +9 -0
  458. package/lib/wind/shaders/wind_vert.glsl +17 -0
  459. package/package.json +11 -9
  460. package/es/Geometry/index.js.map +0 -1
  461. package/es/Geometry/models/billboard.js.map +0 -1
  462. package/es/Geometry/models/index.js.map +0 -1
  463. package/es/Geometry/models/plane.js.map +0 -1
  464. package/es/Geometry/models/sprite.js.map +0 -1
  465. package/es/canvas/index.js.map +0 -1
  466. package/es/canvas/models/canvas.js.map +0 -1
  467. package/es/canvas/models/index.js.map +0 -1
  468. package/es/citybuliding/building.js.map +0 -1
  469. package/es/citybuliding/models/build.js.map +0 -1
  470. package/es/core/BaseLayer.js.map +0 -1
  471. package/es/core/BaseModel.js.map +0 -1
  472. package/es/core/interface.js.map +0 -1
  473. package/es/core/schema.js.map +0 -1
  474. package/es/core/shape/Path.js.map +0 -1
  475. package/es/core/shape/extrude.js.map +0 -1
  476. package/es/core/triangulation.js.map +0 -1
  477. package/es/earth/index.js.map +0 -1
  478. package/es/earth/models/atmosphere.js.map +0 -1
  479. package/es/earth/models/base.js.map +0 -1
  480. package/es/earth/models/bloomsphere.js.map +0 -1
  481. package/es/earth/utils.js.map +0 -1
  482. package/es/glsl.d.js +0 -2
  483. package/es/glsl.d.js.map +0 -1
  484. package/es/heatmap/index.js.map +0 -1
  485. package/es/heatmap/models/grid.js.map +0 -1
  486. package/es/heatmap/models/grid3d.js.map +0 -1
  487. package/es/heatmap/models/heatmap.js.map +0 -1
  488. package/es/heatmap/models/hexagon.js.map +0 -1
  489. package/es/heatmap/models/index.js.map +0 -1
  490. package/es/heatmap/triangulation.js.map +0 -1
  491. package/es/image/index.js.map +0 -1
  492. package/es/image/models/dataImage.js.map +0 -1
  493. package/es/image/models/image.js.map +0 -1
  494. package/es/image/models/index.js.map +0 -1
  495. package/es/index.js.map +0 -1
  496. package/es/line/index.js.map +0 -1
  497. package/es/line/models/arc.js.map +0 -1
  498. package/es/line/models/arc_3d.js.map +0 -1
  499. package/es/line/models/earthArc_3d.js.map +0 -1
  500. package/es/line/models/great_circle.js.map +0 -1
  501. package/es/line/models/half.js.map +0 -1
  502. package/es/line/models/index.js.map +0 -1
  503. package/es/line/models/line.js.map +0 -1
  504. package/es/line/models/linearline.js.map +0 -1
  505. package/es/line/models/simpleLine.js.map +0 -1
  506. package/es/line/models/tile.js.map +0 -1
  507. package/es/line/models/wall.js.map +0 -1
  508. package/es/mask/index.js.map +0 -1
  509. package/es/mask/models/fill.js.map +0 -1
  510. package/es/mask/models/index.js.map +0 -1
  511. package/es/plugins/DataMappingPlugin.js.map +0 -1
  512. package/es/plugins/DataSourcePlugin.js.map +0 -1
  513. package/es/plugins/FeatureScalePlugin.js.map +0 -1
  514. package/es/plugins/LayerAnimateStylePlugin.js.map +0 -1
  515. package/es/plugins/LayerModelPlugin.js.map +0 -1
  516. package/es/plugins/LayerStylePlugin.js.map +0 -1
  517. package/es/plugins/LightingPlugin.js.map +0 -1
  518. package/es/plugins/MultiPassRendererPlugin.js.map +0 -1
  519. package/es/plugins/PixelPickingPlugin.js.map +0 -1
  520. package/es/plugins/RegisterStyleAttributePlugin.js.map +0 -1
  521. package/es/plugins/ShaderUniformPlugin.js.map +0 -1
  522. package/es/plugins/UpdateModelPlugin.js.map +0 -1
  523. package/es/plugins/UpdateStyleAttributePlugin.js.map +0 -1
  524. package/es/point/index.js.map +0 -1
  525. package/es/point/models/earthExtrude.js.map +0 -1
  526. package/es/point/models/earthFill.js.map +0 -1
  527. package/es/point/models/extrude.js.map +0 -1
  528. package/es/point/models/fill.js.map +0 -1
  529. package/es/point/models/fillmage.js.map +0 -1
  530. package/es/point/models/image.js.map +0 -1
  531. package/es/point/models/index.js.map +0 -1
  532. package/es/point/models/normal.js.map +0 -1
  533. package/es/point/models/radar.js.map +0 -1
  534. package/es/point/models/simplePoint.js.map +0 -1
  535. package/es/point/models/text.js.map +0 -1
  536. package/es/point/models/tile.js.map +0 -1
  537. package/es/point/shape/extrude.js.map +0 -1
  538. package/es/polygon/index.js.map +0 -1
  539. package/es/polygon/models/extrude.js.map +0 -1
  540. package/es/polygon/models/fill.js.map +0 -1
  541. package/es/polygon/models/index.js.map +0 -1
  542. package/es/polygon/models/ocean.js.map +0 -1
  543. package/es/polygon/models/tile.js.map +0 -1
  544. package/es/polygon/models/water.js.map +0 -1
  545. package/es/raster/buffers/triangulation.js.map +0 -1
  546. package/es/raster/index.js.map +0 -1
  547. package/es/raster/models/index.js.map +0 -1
  548. package/es/raster/models/raster.js.map +0 -1
  549. package/es/raster/raster.js.map +0 -1
  550. package/es/tile/interface.js.map +0 -1
  551. package/es/tile/manager/tileConfigManager.js.map +0 -1
  552. package/es/tile/manager/tileLayerManager.js.map +0 -1
  553. package/es/tile/manager/tilePickerManager.js.map +0 -1
  554. package/es/tile/models/tileModel.js.map +0 -1
  555. package/es/tile/tileFactory/base.js.map +0 -1
  556. package/es/tile/tileFactory/index.js.map +0 -1
  557. package/es/tile/tileFactory/line.js.map +0 -1
  558. package/es/tile/tileFactory/point.js.map +0 -1
  559. package/es/tile/tileFactory/polygon.js.map +0 -1
  560. package/es/tile/tileFactory/raster.js.map +0 -1
  561. package/es/tile/tileFactory/rasterData.js.map +0 -1
  562. package/es/tile/tileFactory/rasterDataLayer.js.map +0 -1
  563. package/es/tile/tileFactory/vectorLayer.js.map +0 -1
  564. package/es/tile/tileLayer/baseTileLayer.js.map +0 -1
  565. package/es/tile/tmsTileLayer.js.map +0 -1
  566. package/es/tile/utils.js.map +0 -1
  567. package/es/utils/blend.js.map +0 -1
  568. package/es/utils/collision-index.js.map +0 -1
  569. package/es/utils/dataMappingStyle.js.map +0 -1
  570. package/es/utils/extrude_polyline.js.map +0 -1
  571. package/es/utils/grid-index.js.map +0 -1
  572. package/es/utils/layerData.js.map +0 -1
  573. package/es/utils/multiPassRender.js.map +0 -1
  574. package/es/utils/polylineNormal.js.map +0 -1
  575. package/es/utils/simpleLine.js.map +0 -1
  576. package/es/utils/symbol-layout.js.map +0 -1
  577. package/es/utils/updateShape.js.map +0 -1
  578. package/es/wind/index.js.map +0 -1
  579. package/es/wind/models/index.js.map +0 -1
  580. package/es/wind/models/utils.js.map +0 -1
  581. package/es/wind/models/wind.js.map +0 -1
  582. package/es/wind/models/windRender.js.map +0 -1
  583. package/es/wind/models/windShader.js.map +0 -1
  584. package/lib/Geometry/index.js.map +0 -1
  585. package/lib/Geometry/models/billboard.js.map +0 -1
  586. package/lib/Geometry/models/index.js.map +0 -1
  587. package/lib/Geometry/models/plane.js.map +0 -1
  588. package/lib/Geometry/models/sprite.js.map +0 -1
  589. package/lib/canvas/index.js.map +0 -1
  590. package/lib/canvas/models/canvas.js.map +0 -1
  591. package/lib/canvas/models/index.js.map +0 -1
  592. package/lib/citybuliding/building.js.map +0 -1
  593. package/lib/citybuliding/models/build.js.map +0 -1
  594. package/lib/core/BaseLayer.js.map +0 -1
  595. package/lib/core/BaseModel.js.map +0 -1
  596. package/lib/core/interface.js.map +0 -1
  597. package/lib/core/schema.js.map +0 -1
  598. package/lib/core/shape/Path.js.map +0 -1
  599. package/lib/core/shape/extrude.js.map +0 -1
  600. package/lib/core/triangulation.js.map +0 -1
  601. package/lib/earth/index.js.map +0 -1
  602. package/lib/earth/models/atmosphere.js.map +0 -1
  603. package/lib/earth/models/base.js.map +0 -1
  604. package/lib/earth/models/bloomsphere.js.map +0 -1
  605. package/lib/earth/utils.js.map +0 -1
  606. package/lib/glsl.d.js +0 -2
  607. package/lib/glsl.d.js.map +0 -1
  608. package/lib/heatmap/index.js.map +0 -1
  609. package/lib/heatmap/models/grid.js.map +0 -1
  610. package/lib/heatmap/models/grid3d.js.map +0 -1
  611. package/lib/heatmap/models/heatmap.js.map +0 -1
  612. package/lib/heatmap/models/hexagon.js.map +0 -1
  613. package/lib/heatmap/models/index.js.map +0 -1
  614. package/lib/heatmap/triangulation.js.map +0 -1
  615. package/lib/image/index.js.map +0 -1
  616. package/lib/image/models/dataImage.js.map +0 -1
  617. package/lib/image/models/image.js.map +0 -1
  618. package/lib/image/models/index.js.map +0 -1
  619. package/lib/index.js.map +0 -1
  620. package/lib/line/index.js.map +0 -1
  621. package/lib/line/models/arc.js.map +0 -1
  622. package/lib/line/models/arc_3d.js.map +0 -1
  623. package/lib/line/models/earthArc_3d.js.map +0 -1
  624. package/lib/line/models/great_circle.js.map +0 -1
  625. package/lib/line/models/half.js.map +0 -1
  626. package/lib/line/models/index.js.map +0 -1
  627. package/lib/line/models/line.js.map +0 -1
  628. package/lib/line/models/linearline.js.map +0 -1
  629. package/lib/line/models/simpleLine.js.map +0 -1
  630. package/lib/line/models/tile.js.map +0 -1
  631. package/lib/line/models/wall.js.map +0 -1
  632. package/lib/mask/index.js.map +0 -1
  633. package/lib/mask/models/fill.js.map +0 -1
  634. package/lib/mask/models/index.js.map +0 -1
  635. package/lib/plugins/DataMappingPlugin.js.map +0 -1
  636. package/lib/plugins/DataSourcePlugin.js.map +0 -1
  637. package/lib/plugins/FeatureScalePlugin.js.map +0 -1
  638. package/lib/plugins/LayerAnimateStylePlugin.js.map +0 -1
  639. package/lib/plugins/LayerModelPlugin.js.map +0 -1
  640. package/lib/plugins/LayerStylePlugin.js.map +0 -1
  641. package/lib/plugins/LightingPlugin.js.map +0 -1
  642. package/lib/plugins/MultiPassRendererPlugin.js.map +0 -1
  643. package/lib/plugins/PixelPickingPlugin.js.map +0 -1
  644. package/lib/plugins/RegisterStyleAttributePlugin.js.map +0 -1
  645. package/lib/plugins/ShaderUniformPlugin.js.map +0 -1
  646. package/lib/plugins/UpdateModelPlugin.js.map +0 -1
  647. package/lib/plugins/UpdateStyleAttributePlugin.js.map +0 -1
  648. package/lib/point/index.js.map +0 -1
  649. package/lib/point/models/earthExtrude.js.map +0 -1
  650. package/lib/point/models/earthFill.js.map +0 -1
  651. package/lib/point/models/extrude.js.map +0 -1
  652. package/lib/point/models/fill.js.map +0 -1
  653. package/lib/point/models/fillmage.js.map +0 -1
  654. package/lib/point/models/image.js.map +0 -1
  655. package/lib/point/models/index.js.map +0 -1
  656. package/lib/point/models/normal.js.map +0 -1
  657. package/lib/point/models/radar.js.map +0 -1
  658. package/lib/point/models/simplePoint.js.map +0 -1
  659. package/lib/point/models/text.js.map +0 -1
  660. package/lib/point/models/tile.js.map +0 -1
  661. package/lib/point/shape/extrude.js.map +0 -1
  662. package/lib/polygon/index.js.map +0 -1
  663. package/lib/polygon/models/extrude.js.map +0 -1
  664. package/lib/polygon/models/fill.js.map +0 -1
  665. package/lib/polygon/models/index.js.map +0 -1
  666. package/lib/polygon/models/ocean.js.map +0 -1
  667. package/lib/polygon/models/tile.js.map +0 -1
  668. package/lib/polygon/models/water.js.map +0 -1
  669. package/lib/raster/buffers/triangulation.js.map +0 -1
  670. package/lib/raster/index.js.map +0 -1
  671. package/lib/raster/models/index.js.map +0 -1
  672. package/lib/raster/models/raster.js.map +0 -1
  673. package/lib/raster/raster.js.map +0 -1
  674. package/lib/tile/interface.js.map +0 -1
  675. package/lib/tile/manager/tileConfigManager.js.map +0 -1
  676. package/lib/tile/manager/tileLayerManager.js.map +0 -1
  677. package/lib/tile/manager/tilePickerManager.js.map +0 -1
  678. package/lib/tile/models/tileModel.js.map +0 -1
  679. package/lib/tile/tileFactory/base.js.map +0 -1
  680. package/lib/tile/tileFactory/index.js.map +0 -1
  681. package/lib/tile/tileFactory/line.js.map +0 -1
  682. package/lib/tile/tileFactory/point.js.map +0 -1
  683. package/lib/tile/tileFactory/polygon.js.map +0 -1
  684. package/lib/tile/tileFactory/raster.js.map +0 -1
  685. package/lib/tile/tileFactory/rasterData.js.map +0 -1
  686. package/lib/tile/tileFactory/rasterDataLayer.js.map +0 -1
  687. package/lib/tile/tileFactory/vectorLayer.js.map +0 -1
  688. package/lib/tile/tileLayer/baseTileLayer.js.map +0 -1
  689. package/lib/tile/tmsTileLayer.js.map +0 -1
  690. package/lib/tile/utils.js.map +0 -1
  691. package/lib/utils/blend.js.map +0 -1
  692. package/lib/utils/collision-index.js.map +0 -1
  693. package/lib/utils/dataMappingStyle.js.map +0 -1
  694. package/lib/utils/extrude_polyline.js.map +0 -1
  695. package/lib/utils/grid-index.js.map +0 -1
  696. package/lib/utils/layerData.js.map +0 -1
  697. package/lib/utils/multiPassRender.js.map +0 -1
  698. package/lib/utils/polylineNormal.js.map +0 -1
  699. package/lib/utils/simpleLine.js.map +0 -1
  700. package/lib/utils/symbol-layout.js.map +0 -1
  701. package/lib/utils/updateShape.js.map +0 -1
  702. package/lib/wind/index.js.map +0 -1
  703. package/lib/wind/models/index.js.map +0 -1
  704. package/lib/wind/models/utils.js.map +0 -1
  705. package/lib/wind/models/wind.js.map +0 -1
  706. package/lib/wind/models/windRender.js.map +0 -1
  707. package/lib/wind/models/windShader.js.map +0 -1
@@ -1,13 +1,19 @@
1
1
  import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
2
2
  import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray";
3
3
  import { calculateCentroid, calculatePointsCenterAndRadius, lngLatToMeters } from '@antv/l7-utils';
4
- import earcut from 'earcut';
4
+ import earcut from 'earcut'; // @ts-ignore
5
+
5
6
  import { vec3 } from 'gl-matrix';
6
- import { EARTH_RADIUS, EARTH_RADIUS_OUTER, EARTH_SEGMENTS, lglt2xyz, primitiveSphere } from '../earth/utils';
7
- import ExtrudePolyline from '../utils/extrude_polyline';
8
- import extrudePolygon, { extrude_PolygonNormal, fillPolygon } from './shape/extrude';
9
- import { geometryShape } from './shape/Path';
7
+ import { EARTH_RADIUS, EARTH_RADIUS_OUTER, EARTH_SEGMENTS, lglt2xyz, primitiveSphere } from "../earth/utils";
8
+ import ExtrudePolyline from "../utils/extrude_polyline";
9
+ import extrudePolygon, { extrude_PolygonNormal, fillPolygon } from "./shape/extrude";
10
+ import { geometryShape } from "./shape/Path";
10
11
  var GeometryCache = {};
12
+ /**
13
+ * 计算2D 填充点图顶点
14
+ * @param feature 映射feature
15
+ */
16
+
11
17
  export function PointFillTriangulation(feature) {
12
18
  var coordinates = calculateCentroid(feature.coordinates);
13
19
  return {
@@ -16,6 +22,11 @@ export function PointFillTriangulation(feature) {
16
22
  size: coordinates.length
17
23
  };
18
24
  }
25
+ /**
26
+ * 计算2D 填充点图顶点 (地球模式)
27
+ * @param feature 映射feature
28
+ */
29
+
19
30
  export function GlobelPointFillTriangulation(feature) {
20
31
  var coordinates = calculateCentroid(feature.coordinates);
21
32
  var xyz = lglt2xyz(coordinates);
@@ -25,6 +36,11 @@ export function GlobelPointFillTriangulation(feature) {
25
36
  size: xyz.length
26
37
  };
27
38
  }
39
+ /**
40
+ * 计算3D 拉伸点图
41
+ * @param feature 映射feature
42
+ */
43
+
28
44
  export function PointExtrudeTriangulation(feature) {
29
45
  var shape = feature.shape;
30
46
 
@@ -40,6 +56,11 @@ export function PointExtrudeTriangulation(feature) {
40
56
  size: 5
41
57
  };
42
58
  }
59
+ /**
60
+ * 计算图片标注
61
+ * @param feature 映射feature
62
+ */
63
+
43
64
  export function PointImageTriangulation(feature) {
44
65
  var coordinates = calculateCentroid(feature.coordinates);
45
66
  return {
@@ -48,34 +69,46 @@ export function PointImageTriangulation(feature) {
48
69
  size: coordinates.length
49
70
  };
50
71
  }
72
+ /**
73
+ * 线三角化
74
+ * @param feature 映射feature
75
+ */
76
+
51
77
  export function LineTriangulation(feature) {
52
78
  var coordinates = feature.coordinates,
53
79
  originCoordinates = feature.originCoordinates,
54
- version = feature.version;
80
+ version = feature.version; // let path = coordinates as number[][][] | number[][];
81
+ // if (!Array.isArray(path[0][0])) {
82
+ // path = [coordinates] as number[][][];
83
+ // }
84
+
55
85
  var line = new ExtrudePolyline({
56
86
  dash: true,
57
87
  join: 'bevel'
58
88
  });
59
89
 
60
90
  if (version === 'GAODE2.x') {
61
- var path1 = coordinates;
91
+ // 处理高德2.0几何体构建
92
+ var path1 = coordinates; // 计算位置
62
93
 
63
94
  if (!Array.isArray(path1[0][0])) {
64
95
  path1 = [coordinates];
65
96
  }
66
97
 
67
- var path2 = originCoordinates;
98
+ var path2 = originCoordinates; // 计算法线
68
99
 
69
100
  if (!Array.isArray(path2[0][0])) {
70
101
  path2 = [originCoordinates];
71
102
  }
72
103
 
73
104
  for (var i = 0; i < path1.length; i++) {
105
+ // 高德2.0在计算线时,需要使用经纬度计算发现,使用 customCoords.lnglatToCoords 计算的数据来计算顶点的位置
74
106
  var item1 = path1[i];
75
107
  var item2 = path2[i];
76
108
  line.extrude_gaode2(item1, item2);
77
109
  }
78
110
  } else {
111
+ // 处理非高德2.0的几何体构建
79
112
  var path = coordinates;
80
113
 
81
114
  if (path[0] && !Array.isArray(path[0][0])) {
@@ -90,6 +123,7 @@ export function LineTriangulation(feature) {
90
123
  var linebuffer = line.complex;
91
124
  return {
92
125
  vertices: linebuffer.positions,
126
+ // [ x,y,z, distance, miter,total ]
93
127
  indices: linebuffer.indices,
94
128
  normals: linebuffer.normals,
95
129
  indexes: linebuffer.indexes,
@@ -106,24 +140,27 @@ export function SimpleLineTriangulation(feature) {
106
140
  });
107
141
 
108
142
  if (version === 'GAODE2.x') {
109
- var path1 = coordinates;
143
+ // 处理高德2.0几何体构建
144
+ var path1 = coordinates; // 计算位置
110
145
 
111
146
  if (!Array.isArray(path1[0][0])) {
112
147
  path1 = [coordinates];
113
148
  }
114
149
 
115
- var path2 = originCoordinates;
150
+ var path2 = originCoordinates; // 计算法线
116
151
 
117
152
  if (!Array.isArray(path2[0][0])) {
118
153
  path2 = [originCoordinates];
119
154
  }
120
155
 
121
156
  for (var i = 0; i < path1.length; i++) {
157
+ // 高德2.0在计算线时,需要使用经纬度计算发现,使用 customCoords.lnglatToCoords 计算的数据来计算顶点的位置
122
158
  var item1 = path1[i];
123
159
  var item2 = path2[i];
124
160
  line.simpleExtrude_gaode2(item1, item2);
125
161
  }
126
162
  } else {
163
+ // 处理非高德2.0的几何体构建
127
164
  var path = coordinates;
128
165
 
129
166
  if (path[0] && !Array.isArray(path[0][0])) {
@@ -138,6 +175,7 @@ export function SimpleLineTriangulation(feature) {
138
175
  var linebuffer = line.complex;
139
176
  return {
140
177
  vertices: linebuffer.positions,
178
+ // [ x,y,z, distance, miter, total ]
141
179
  indices: linebuffer.indices,
142
180
  normals: linebuffer.normals,
143
181
  size: 6
@@ -154,7 +192,8 @@ export function polygonTriangulation(feature) {
154
192
  vertices: vertices,
155
193
  size: dimensions
156
194
  };
157
- }
195
+ } // TODO:构建几何图形(带有中心点和大小)
196
+
158
197
  export function polygonTriangulationWithCenter(feature) {
159
198
  var coordinates = feature.coordinates;
160
199
  var flattengeo = earcut.flatten(coordinates);
@@ -194,6 +233,7 @@ export function PolygonExtrudeTriangulation(feature) {
194
233
 
195
234
  return {
196
235
  vertices: positions,
236
+ // [ x, y, z, uv.x,uv.y ]
197
237
  indices: index,
198
238
  normals: normals,
199
239
  size: 5
@@ -208,12 +248,19 @@ export function HeatmapGridTriangulation(feature) {
208
248
 
209
249
  return {
210
250
  vertices: positions,
251
+ // [ x, y, z ] 多边形顶点
211
252
  indices: index,
212
253
  size: 3
213
254
  };
214
255
  }
256
+ /**
257
+ * 图片图层顶点构造
258
+ * @param feature 数据
259
+ */
260
+
215
261
  export function RasterImageTriangulation(feature) {
216
- var coordinates = feature.coordinates;
262
+ var coordinates = feature.coordinates; // [ x, y, z. uv.x, uv.y]
263
+
217
264
  var positions = [].concat(_toConsumableArray(coordinates[0]), [0, 0, 1, coordinates[1][0], coordinates[0][1], 0, 1, 1], _toConsumableArray(coordinates[1]), [0, 1, 0], _toConsumableArray(coordinates[0]), [0, 0, 1], _toConsumableArray(coordinates[1]), [0, 1, 0, coordinates[0][0], coordinates[1][1], 0, 0, 0]);
218
265
  var indexs = [0, 1, 2, 3, 4, 5];
219
266
  return {
@@ -222,6 +269,12 @@ export function RasterImageTriangulation(feature) {
222
269
  size: 5
223
270
  };
224
271
  }
272
+ /**
273
+ * 计算3D弧线顶点
274
+ * @param feature 映射数据
275
+ * @param segNum 弧线线段数
276
+ */
277
+
225
278
  export function LineArcTriangulation(feature, segmentNumber) {
226
279
  var segNum = segmentNumber ? segmentNumber : 30;
227
280
  var coordinates = feature.coordinates;
@@ -229,6 +282,8 @@ export function LineArcTriangulation(feature, segmentNumber) {
229
282
  var indexArray = [];
230
283
 
231
284
  var _loop = function _loop(i) {
285
+ // 上线两个顶点
286
+ // [ x, y, z, sx,sy, tx,ty]
232
287
  positions.push(i, 1, i, coordinates[0][0], coordinates[0][1], coordinates[1][0], coordinates[1][1], i, -1, i, coordinates[0][0], coordinates[0][1], coordinates[1][0], coordinates[1][1]);
233
288
 
234
289
  if (i !== segNum - 1) {
@@ -248,6 +303,12 @@ export function LineArcTriangulation(feature, segmentNumber) {
248
303
  size: 7
249
304
  };
250
305
  }
306
+ /**
307
+ * 构建热力图密度图的顶点
308
+ * @param feature
309
+ * @returns
310
+ */
311
+
251
312
  export function HeatmapTriangulation(feature) {
252
313
  var coordinates = feature.coordinates;
253
314
 
@@ -259,7 +320,8 @@ export function HeatmapTriangulation(feature) {
259
320
  var dir = addDir(-1, 1);
260
321
  var dir1 = addDir(1, 1);
261
322
  var dir2 = addDir(-1, -1);
262
- var dir3 = addDir(1, -1);
323
+ var dir3 = addDir(1, -1); // [x,y,z, dirx ,diry, weight]
324
+
263
325
  var positions = [].concat(_toConsumableArray(coordinates), _toConsumableArray(dir), _toConsumableArray(coordinates), _toConsumableArray(dir2), _toConsumableArray(coordinates), _toConsumableArray(dir3), _toConsumableArray(coordinates), _toConsumableArray(dir1));
264
326
  var indexArray = [0, 1, 2, 3, 0, 2];
265
327
  return {
@@ -268,6 +330,10 @@ export function HeatmapTriangulation(feature) {
268
330
  size: 5
269
331
  };
270
332
  }
333
+ /**
334
+ * 点图层3d geomerty
335
+ * @param shape 3D形状
336
+ */
271
337
 
272
338
  function getGeometry(shape) {
273
339
  var needFlat = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
@@ -363,15 +429,22 @@ function checkIsClosed(points) {
363
429
  function getHeatmapGeometry(shape) {
364
430
  var shape3d = ['cylinder', 'triangleColumn', 'hexagonColumn', 'squareColumn'];
365
431
  var path = geometryShape[shape] ? geometryShape[shape]() : geometryShape.circle();
366
- var geometry = shape3d.indexOf(shape) === -1 ? fillPolygon([path]) : extrudePolygon([path]);
432
+ var geometry = shape3d.indexOf(shape) === -1 ? fillPolygon([path]) : extrudePolygon([path]); // const geometry = fillPolygon([path]);
433
+
367
434
  return geometry;
368
- }
435
+ } // 热力图计算范围
436
+
369
437
 
370
438
  function addDir(dirX, dirY) {
371
439
  var x = (dirX + 1) / 2;
372
440
  var y = (dirY + 1) / 2;
373
441
  return [x, y];
374
442
  }
443
+ /**
444
+ * 构建地球三角网格
445
+ * @returns
446
+ */
447
+
375
448
 
376
449
  export function earthTriangulation() {
377
450
  var earthmesh = primitiveSphere(EARTH_RADIUS, {
@@ -400,5 +473,4 @@ export function earthOuterTriangulation() {
400
473
  size: 5,
401
474
  normals: normalArr
402
475
  };
403
- }
404
- //# sourceMappingURL=triangulation.js.map
476
+ }
package/es/earth/index.js CHANGED
@@ -10,10 +10,10 @@ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflec
10
10
 
11
11
  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; } }
12
12
 
13
- import BaseLayer from '../core/BaseLayer';
14
- import EarthAtomSphereModel from './models/atmosphere';
15
- import BaseEarthModel from './models/base';
16
- import EarthBloomSphereModel from './models/bloomsphere';
13
+ import BaseLayer from "../core/BaseLayer";
14
+ import EarthAtomSphereModel from "./models/atmosphere";
15
+ import BaseEarthModel from "./models/base";
16
+ import EarthBloomSphereModel from "./models/bloomsphere";
17
17
  var EarthModels = {
18
18
  base: BaseEarthModel,
19
19
  atomSphere: EarthAtomSphereModel,
@@ -21,7 +21,7 @@ var EarthModels = {
21
21
  };
22
22
  var earthLayerTypes = ['base', 'atomSphere', 'bloomSphere'];
23
23
 
24
- var EarthLayer = function (_BaseLayer) {
24
+ var EarthLayer = /*#__PURE__*/function (_BaseLayer) {
25
25
  _inherits(EarthLayer, _BaseLayer);
26
26
 
27
27
  var _super = _createSuper(EarthLayer);
@@ -55,6 +55,11 @@ var EarthLayer = function (_BaseLayer) {
55
55
  _this2.renderLayers();
56
56
  });
57
57
  }
58
+ /**
59
+ * 设置当前地球时间
60
+ * @param time
61
+ */
62
+
58
63
  }, {
59
64
  key: "setEarthTime",
60
65
  value: function setEarthTime(time) {
@@ -83,5 +88,4 @@ var EarthLayer = function (_BaseLayer) {
83
88
  return EarthLayer;
84
89
  }(BaseLayer);
85
90
 
86
- export { EarthLayer as default };
87
- //# sourceMappingURL=index.js.map
91
+ export { EarthLayer as default };
@@ -3,19 +3,23 @@ import _createClass from "@babel/runtime/helpers/createClass";
3
3
  import _inherits from "@babel/runtime/helpers/inherits";
4
4
  import _possibleConstructorReturn from "@babel/runtime/helpers/possibleConstructorReturn";
5
5
  import _getPrototypeOf from "@babel/runtime/helpers/getPrototypeOf";
6
- import _isNumber from "lodash/isNumber";
7
6
 
8
7
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
9
8
 
10
9
  function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
11
10
 
12
11
  import { AttributeType, gl } from '@antv/l7-core';
13
- import BaseModel from '../../core/BaseModel';
14
- import { earthTriangulation } from '../../core/triangulation';
12
+ import { isNumber } from 'lodash';
13
+ import BaseModel from "../../core/BaseModel";
14
+ import { earthTriangulation } from "../../core/triangulation";
15
+
16
+ /* babel-plugin-inline-import '../shaders/atmosphere_frag.glsl' */
15
17
  var atmoSphereFrag = "\nuniform float u_opacity;\nuniform vec3 u_CameraPosition;\n\nvarying vec3 vVertexNormal;\nvarying float v_offset;\nvarying vec4 v_Color;\nvoid main() {\n \n \n // float intensity = pow(0.5 + dot(normalize(vVertexNormal), normalize(u_CameraPosition)), 3.0);\n float intensity = pow(v_offset + dot(normalize(vVertexNormal), normalize(u_CameraPosition)), 3.0);\n // TODO: \u53BB\u9664\u80CC\u9762\n if(intensity > 1.0) intensity = 0.0;\n\n gl_FragColor = vec4(v_Color.rgb, v_Color.a * intensity * u_opacity);\n}\n";
18
+
19
+ /* babel-plugin-inline-import '../shaders/atmosphere_vert.glsl' */
16
20
  var atmoSphereVert = "\nattribute vec3 a_Position;\nattribute vec3 a_Normal;\nattribute vec2 a_Uv;\nattribute vec4 a_Color;\nuniform vec3 u_CameraPosition;\nvarying float v_CamreaDistance;\n\nuniform mat4 u_ViewProjectionMatrix;\nuniform mat4 u_ModelMatrix;\nuniform mat4 u_ViewMatrix;\n\nvarying vec3 vVertexNormal;\nvarying vec4 v_Color;\nvarying float v_offset;\n\nvoid main() {\n float EARTH_RADIUS = 100.0;\n \n v_Color = a_Color;\n\n v_offset = min(((length(u_CameraPosition) - EARTH_RADIUS)/600.0) * 0.5 + 0.4, 1.0);\n vVertexNormal = a_Normal;\n\n gl_Position = u_ViewProjectionMatrix * u_ModelMatrix * vec4(a_Position, 1.0);\n}\n";
17
21
 
18
- var EarthAtomSphereModel = function (_BaseModel) {
22
+ var EarthAtomSphereModel = /*#__PURE__*/function (_BaseModel) {
19
23
  _inherits(EarthAtomSphereModel, _BaseModel);
20
24
 
21
25
  var _super = _createSuper(EarthAtomSphereModel);
@@ -34,7 +38,7 @@ var EarthAtomSphereModel = function (_BaseModel) {
34
38
  opacity = _ref$opacity === void 0 ? 1 : _ref$opacity;
35
39
 
36
40
  return {
37
- u_opacity: _isNumber(opacity) ? opacity : 1.0
41
+ u_opacity: isNumber(opacity) ? opacity : 1.0
38
42
  };
39
43
  }
40
44
  }, {
@@ -50,6 +54,7 @@ var EarthAtomSphereModel = function (_BaseModel) {
50
54
  }, {
51
55
  key: "buildModels",
52
56
  value: function buildModels(callbackModel) {
57
+ // TODO: 调整图层的绘制顺序 地球大气层
53
58
  this.layer.zIndex = -997;
54
59
  this.layer.buildLayerModel({
55
60
  moduleName: 'earthAtmo',
@@ -70,12 +75,14 @@ var EarthAtomSphereModel = function (_BaseModel) {
70
75
  }, {
71
76
  key: "registerBuiltinAttributes",
72
77
  value: function registerBuiltinAttributes() {
78
+ // point layer size;
73
79
  this.styleAttributeService.registerStyleAttribute({
74
80
  name: 'size',
75
81
  type: AttributeType.Attribute,
76
82
  descriptor: {
77
83
  name: 'a_Size',
78
84
  buffer: {
85
+ // give the WebGL driver a hint that this buffer may change
79
86
  usage: gl.DYNAMIC_DRAW,
80
87
  data: [],
81
88
  type: gl.FLOAT
@@ -94,6 +101,7 @@ var EarthAtomSphereModel = function (_BaseModel) {
94
101
  descriptor: {
95
102
  name: 'a_Normal',
96
103
  buffer: {
104
+ // give the WebGL driver a hint that this buffer may change
97
105
  usage: gl.STATIC_DRAW,
98
106
  data: [],
99
107
  type: gl.FLOAT
@@ -110,6 +118,7 @@ var EarthAtomSphereModel = function (_BaseModel) {
110
118
  descriptor: {
111
119
  name: 'a_Uv',
112
120
  buffer: {
121
+ // give the WebGL driver a hint that this buffer may change
113
122
  usage: gl.DYNAMIC_DRAW,
114
123
  data: [],
115
124
  type: gl.FLOAT
@@ -126,5 +135,4 @@ var EarthAtomSphereModel = function (_BaseModel) {
126
135
  return EarthAtomSphereModel;
127
136
  }(BaseModel);
128
137
 
129
- export { EarthAtomSphereModel as default };
130
- //# sourceMappingURL=atmosphere.js.map
138
+ export { EarthAtomSphereModel as default };
@@ -11,12 +11,16 @@ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflec
11
11
  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; } }
12
12
 
13
13
  import { AttributeType, gl } from '@antv/l7-core';
14
- import BaseModel from '../../core/BaseModel';
15
- import { earthTriangulation } from '../../core/triangulation';
14
+ import BaseModel from "../../core/BaseModel";
15
+ import { earthTriangulation } from "../../core/triangulation";
16
+
17
+ /* babel-plugin-inline-import '../shaders/base_frag.glsl' */
16
18
  var baseFrag = "\nuniform sampler2D u_texture;\n\nvarying vec2 v_texCoord;\nvarying float v_lightWeight;\n\n\nvoid main() {\n\n vec4 color = texture2D(u_texture,vec2(v_texCoord.x,v_texCoord.y));\n color.xyz = color.xyz * v_lightWeight;\n gl_FragColor = color;\n}\n";
19
+
20
+ /* babel-plugin-inline-import '../shaders/base_vert.glsl' */
17
21
  var baseVert = "// attribute vec4 a_Color;\nattribute vec3 a_Position;\nattribute vec3 a_Normal;\nattribute vec2 a_Uv;\nvarying vec2 v_texCoord;\n\n// attribute vec2 a_Extrude;\n// attribute float a_Size;\n// attribute float a_Shape;\n\nuniform vec3 u_CameraPosition;\nuniform mat4 u_ViewProjectionMatrix;\nuniform mat4 u_ModelMatrix;\nuniform float u_ambientRatio : 0.5;\nuniform float u_diffuseRatio : 0.3;\nuniform float u_specularRatio : 0.2;\nuniform vec3 u_sunLight: [1.0, -10.5, 12.0];\n\n\n\nfloat calc_lighting(vec4 pos) {\n\n vec3 worldPos = vec3(pos * u_ModelMatrix);\n\n vec3 worldNormal = a_Normal;\n\n // cal light weight\n vec3 viewDir = normalize(u_CameraPosition - worldPos);\n\n vec3 lightDir = normalize(u_sunLight);\n\n vec3 halfDir = normalize(viewDir+lightDir);\n // lambert\n float lambert = dot(worldNormal, lightDir);\n // specular\n float specular = pow(max(0.0, dot(worldNormal, halfDir)), 32.0);\n //sum to light weight\n float lightWeight = u_ambientRatio + u_diffuseRatio * lambert + u_specularRatio * specular;\n\n return lightWeight;\n}\n\nvarying float v_lightWeight;\nvoid main() {\n\n v_texCoord = a_Uv;\n\n float lightWeight = calc_lighting(vec4(a_Position, 1.0));\n v_lightWeight = lightWeight;\n\n gl_Position = u_ViewProjectionMatrix * u_ModelMatrix * vec4(a_Position, 1.0);\n}\n";
18
22
 
19
- var BaseEarthModel = function (_BaseModel) {
23
+ var BaseEarthModel = /*#__PURE__*/function (_BaseModel) {
20
24
  _inherits(BaseEarthModel, _BaseModel);
21
25
 
22
26
  var _super = _createSuper(BaseEarthModel);
@@ -32,8 +36,6 @@ var BaseEarthModel = function (_BaseModel) {
32
36
 
33
37
  _this = _super.call.apply(_super, [this].concat(args));
34
38
 
35
- _defineProperty(_assertThisInitialized(_this), "texture", void 0);
36
-
37
39
  _defineProperty(_assertThisInitialized(_this), "earthTime", 3.4);
38
40
 
39
41
  _defineProperty(_assertThisInitialized(_this), "sunX", 1000);
@@ -55,6 +57,8 @@ var BaseEarthModel = function (_BaseModel) {
55
57
  globelOtions = _this$layer$getLayerC.globelOtions;
56
58
 
57
59
  if (animateOption !== null && animateOption !== void 0 && animateOption.enable) {
60
+ // @ts-ignore
61
+ // T: rotateY 方法只有在地球模式下存在
58
62
  this.mapService.rotateY({
59
63
  reg: 0.002
60
64
  });
@@ -66,8 +70,12 @@ var BaseEarthModel = function (_BaseModel) {
66
70
 
67
71
  return {
68
72
  u_ambientRatio: (globelOtions === null || globelOtions === void 0 ? void 0 : globelOtions.ambientRatio) || 0.6,
73
+ // 环境光
69
74
  u_diffuseRatio: (globelOtions === null || globelOtions === void 0 ? void 0 : globelOtions.diffuseRatio) || 0.4,
75
+ // 漫反射
70
76
  u_specularRatio: (globelOtions === null || globelOtions === void 0 ? void 0 : globelOtions.specularRatio) || 0.1,
77
+ // 高光反射
78
+ // u_sunLight: [120, 120, 120],
71
79
  u_sunLight: [this.sunX, this.sunY, this.sunZ],
72
80
  u_texture: this.texture
73
81
  };
@@ -120,6 +128,7 @@ var BaseEarthModel = function (_BaseModel) {
120
128
  }, {
121
129
  key: "buildModels",
122
130
  value: function buildModels(callbackModel) {
131
+ // TODO: 调整图层的绘制顺序 地球大气层
123
132
  this.layer.zIndex = -998;
124
133
  this.layer.buildLayerModel({
125
134
  moduleName: 'earthBase',
@@ -140,12 +149,14 @@ var BaseEarthModel = function (_BaseModel) {
140
149
  }, {
141
150
  key: "registerBuiltinAttributes",
142
151
  value: function registerBuiltinAttributes() {
152
+ // point layer size;
143
153
  this.styleAttributeService.registerStyleAttribute({
144
154
  name: 'size',
145
155
  type: AttributeType.Attribute,
146
156
  descriptor: {
147
157
  name: 'a_Size',
148
158
  buffer: {
159
+ // give the WebGL driver a hint that this buffer may change
149
160
  usage: gl.DYNAMIC_DRAW,
150
161
  data: [],
151
162
  type: gl.FLOAT
@@ -164,6 +175,7 @@ var BaseEarthModel = function (_BaseModel) {
164
175
  descriptor: {
165
176
  name: 'a_Normal',
166
177
  buffer: {
178
+ // give the WebGL driver a hint that this buffer may change
167
179
  usage: gl.STATIC_DRAW,
168
180
  data: [],
169
181
  type: gl.FLOAT
@@ -180,6 +192,7 @@ var BaseEarthModel = function (_BaseModel) {
180
192
  descriptor: {
181
193
  name: 'a_Uv',
182
194
  buffer: {
195
+ // give the WebGL driver a hint that this buffer may change
183
196
  usage: gl.DYNAMIC_DRAW,
184
197
  data: [],
185
198
  type: gl.FLOAT
@@ -196,5 +209,4 @@ var BaseEarthModel = function (_BaseModel) {
196
209
  return BaseEarthModel;
197
210
  }(BaseModel);
198
211
 
199
- export { BaseEarthModel as default };
200
- //# sourceMappingURL=base.js.map
212
+ export { BaseEarthModel as default };
@@ -3,19 +3,23 @@ import _createClass from "@babel/runtime/helpers/createClass";
3
3
  import _inherits from "@babel/runtime/helpers/inherits";
4
4
  import _possibleConstructorReturn from "@babel/runtime/helpers/possibleConstructorReturn";
5
5
  import _getPrototypeOf from "@babel/runtime/helpers/getPrototypeOf";
6
- import _isNumber from "lodash/isNumber";
7
6
 
8
7
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
9
8
 
10
9
  function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
11
10
 
12
11
  import { AttributeType, gl } from '@antv/l7-core';
13
- import BaseModel from '../../core/BaseModel';
14
- import { earthOuterTriangulation } from '../../core/triangulation';
12
+ import { isNumber } from 'lodash';
13
+ import BaseModel from "../../core/BaseModel";
14
+ import { earthOuterTriangulation } from "../../core/triangulation";
15
+
16
+ /* babel-plugin-inline-import '../shaders/bloomsphere_frag.glsl' */
15
17
  var bloomSphereFrag = "\nuniform float u_opacity;\nuniform vec3 u_CameraPosition;\nvarying vec3 vVertexNormal;\n\nvarying vec4 v_Color;\nvoid main() {\n\n\n float intensity = - dot(normalize(vVertexNormal), normalize(u_CameraPosition));\n // TODO: \u53BB\u9664\u80CC\u9762\n if(intensity > 1.0) intensity = 0.0;\n\n gl_FragColor = vec4(v_Color.rgb, v_Color.a * intensity * u_opacity);\n}\n";
18
+
19
+ /* babel-plugin-inline-import '../shaders/bloomsphere_vert.glsl' */
16
20
  var bloomSphereVert = "\nattribute vec3 a_Position;\nattribute vec3 a_Normal;\nattribute vec2 a_Uv;\nattribute vec4 a_Color;\nuniform vec3 u_CameraPosition;\nuniform mat4 u_ViewProjectionMatrix;\nuniform mat4 u_ModelMatrix;\nuniform mat4 u_ViewMatrix;\n\nvarying vec3 vVertexNormal;\nvarying vec4 v_Color;\n\nvoid main() {\n v_Color = a_Color;\n\n vVertexNormal = a_Normal;\n\n gl_Position = u_ViewProjectionMatrix * u_ModelMatrix * vec4(a_Position, 1.0);\n}\n";
17
21
 
18
- var EarthBloomSphereModel = function (_BaseModel) {
22
+ var EarthBloomSphereModel = /*#__PURE__*/function (_BaseModel) {
19
23
  _inherits(EarthBloomSphereModel, _BaseModel);
20
24
 
21
25
  var _super = _createSuper(EarthBloomSphereModel);
@@ -34,7 +38,7 @@ var EarthBloomSphereModel = function (_BaseModel) {
34
38
  opacity = _ref$opacity === void 0 ? 1 : _ref$opacity;
35
39
 
36
40
  return {
37
- u_opacity: _isNumber(opacity) ? opacity : 1.0
41
+ u_opacity: isNumber(opacity) ? opacity : 1.0
38
42
  };
39
43
  }
40
44
  }, {
@@ -50,6 +54,7 @@ var EarthBloomSphereModel = function (_BaseModel) {
50
54
  }, {
51
55
  key: "buildModels",
52
56
  value: function buildModels(callbackModel) {
57
+ // TODO: 调整图层的绘制顺序,让它保持在地球后面(减少锯齿现象)
53
58
  this.layer.zIndex = -999;
54
59
  this.layer.buildLayerModel({
55
60
  moduleName: 'earthBloom',
@@ -70,12 +75,14 @@ var EarthBloomSphereModel = function (_BaseModel) {
70
75
  }, {
71
76
  key: "registerBuiltinAttributes",
72
77
  value: function registerBuiltinAttributes() {
78
+ // point layer size;
73
79
  this.styleAttributeService.registerStyleAttribute({
74
80
  name: 'size',
75
81
  type: AttributeType.Attribute,
76
82
  descriptor: {
77
83
  name: 'a_Size',
78
84
  buffer: {
85
+ // give the WebGL driver a hint that this buffer may change
79
86
  usage: gl.DYNAMIC_DRAW,
80
87
  data: [],
81
88
  type: gl.FLOAT
@@ -94,6 +101,7 @@ var EarthBloomSphereModel = function (_BaseModel) {
94
101
  descriptor: {
95
102
  name: 'a_Normal',
96
103
  buffer: {
104
+ // give the WebGL driver a hint that this buffer may change
97
105
  usage: gl.STATIC_DRAW,
98
106
  data: [],
99
107
  type: gl.FLOAT
@@ -110,6 +118,7 @@ var EarthBloomSphereModel = function (_BaseModel) {
110
118
  descriptor: {
111
119
  name: 'a_Uv',
112
120
  buffer: {
121
+ // give the WebGL driver a hint that this buffer may change
113
122
  usage: gl.DYNAMIC_DRAW,
114
123
  data: [],
115
124
  type: gl.FLOAT
@@ -126,5 +135,4 @@ var EarthBloomSphereModel = function (_BaseModel) {
126
135
  return EarthBloomSphereModel;
127
136
  }(BaseModel);
128
137
 
129
- export { EarthBloomSphereModel as default };
130
- //# sourceMappingURL=bloomsphere.js.map
138
+ export { EarthBloomSphereModel as default };
@@ -0,0 +1,17 @@
1
+
2
+ uniform float u_opacity;
3
+ uniform vec3 u_CameraPosition;
4
+
5
+ varying vec3 vVertexNormal;
6
+ varying float v_offset;
7
+ varying vec4 v_Color;
8
+ void main() {
9
+
10
+
11
+ // float intensity = pow(0.5 + dot(normalize(vVertexNormal), normalize(u_CameraPosition)), 3.0);
12
+ float intensity = pow(v_offset + dot(normalize(vVertexNormal), normalize(u_CameraPosition)), 3.0);
13
+ // TODO: 去除背面
14
+ if(intensity > 1.0) intensity = 0.0;
15
+
16
+ gl_FragColor = vec4(v_Color.rgb, v_Color.a * intensity * u_opacity);
17
+ }
@@ -0,0 +1,26 @@
1
+
2
+ attribute vec3 a_Position;
3
+ attribute vec3 a_Normal;
4
+ attribute vec2 a_Uv;
5
+ attribute vec4 a_Color;
6
+ uniform vec3 u_CameraPosition;
7
+ varying float v_CamreaDistance;
8
+
9
+ uniform mat4 u_ViewProjectionMatrix;
10
+ uniform mat4 u_ModelMatrix;
11
+ uniform mat4 u_ViewMatrix;
12
+
13
+ varying vec3 vVertexNormal;
14
+ varying vec4 v_Color;
15
+ varying float v_offset;
16
+
17
+ void main() {
18
+ float EARTH_RADIUS = 100.0;
19
+
20
+ v_Color = a_Color;
21
+
22
+ v_offset = min(((length(u_CameraPosition) - EARTH_RADIUS)/600.0) * 0.5 + 0.4, 1.0);
23
+ vVertexNormal = a_Normal;
24
+
25
+ gl_Position = u_ViewProjectionMatrix * u_ModelMatrix * vec4(a_Position, 1.0);
26
+ }
@@ -0,0 +1,13 @@
1
+
2
+ uniform sampler2D u_texture;
3
+
4
+ varying vec2 v_texCoord;
5
+ varying float v_lightWeight;
6
+
7
+
8
+ void main() {
9
+
10
+ vec4 color = texture2D(u_texture,vec2(v_texCoord.x,v_texCoord.y));
11
+ color.xyz = color.xyz * v_lightWeight;
12
+ gl_FragColor = color;
13
+ }