@antv/l7-layers 2.9.20 → 2.9.22

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