@antv/l7-layers 2.9.19 → 2.9.22-alpha.0

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