@antv/l7-layers 2.20.3 → 2.20.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (450) hide show
  1. package/es/canvas/index.d.ts +3 -3
  2. package/es/citybuliding/models/build.d.ts +7 -12
  3. package/es/citybuliding/models/build.js +22 -11
  4. package/es/citybuliding/shaders/build_frag.glsl +26 -23
  5. package/es/citybuliding/shaders/build_vert.glsl +24 -16
  6. package/es/core/BaseLayer.d.ts +14 -2
  7. package/es/core/BaseLayer.js +56 -10
  8. package/es/core/BaseModel.d.ts +21 -1
  9. package/es/core/BaseModel.js +99 -2
  10. package/es/core/CommonStyleAttribute.d.ts +5 -2
  11. package/es/core/CommonStyleAttribute.js +4 -0
  12. package/es/core/LayerPickService.d.ts +1 -1
  13. package/es/core/TextureService.d.ts +2 -2
  14. package/es/core/interface.d.ts +7 -3
  15. package/es/core/interface.js +0 -1
  16. package/es/core/line_trangluation.d.ts +1 -1
  17. package/es/core/shape/arrow.d.ts +1 -1
  18. package/es/core/shape/extrude.d.ts +1 -1
  19. package/es/core/triangulation.d.ts +1 -1
  20. package/es/core/triangulation.js +13 -7
  21. package/es/core/utils.d.ts +4 -0
  22. package/es/core/utils.js +15 -0
  23. package/es/earth/index.d.ts +1 -1
  24. package/es/earth/models/atmosphere.d.ts +8 -2
  25. package/es/earth/models/atmosphere.js +15 -8
  26. package/es/earth/models/base.d.ts +8 -2
  27. package/es/earth/models/base.js +21 -12
  28. package/es/earth/models/bloomsphere.d.ts +8 -2
  29. package/es/earth/models/bloomsphere.js +15 -8
  30. package/es/earth/shaders/{atmosphere_frag.glsl → atmosphere/atmosphere_frag.glsl} +9 -6
  31. package/es/earth/shaders/atmosphere/atmosphere_vert.glsl +22 -0
  32. package/es/earth/shaders/base/base_frag.glsl +11 -0
  33. package/es/earth/shaders/base/base_vert.glsl +52 -0
  34. package/es/earth/shaders/bloomshpere/bloomsphere_frag.glsl +16 -0
  35. package/es/earth/shaders/bloomshpere/bloomsphere_vert.glsl +19 -0
  36. package/es/geometry/index.d.ts +2 -2
  37. package/es/geometry/models/billboard.d.ts +8 -1
  38. package/es/geometry/models/billboard.js +26 -11
  39. package/es/geometry/models/plane.d.ts +8 -1
  40. package/es/geometry/models/plane.js +23 -6
  41. package/es/geometry/models/sprite.d.ts +12 -2
  42. package/es/geometry/models/sprite.js +44 -18
  43. package/es/geometry/shaders/billboard_frag.glsl +11 -6
  44. package/es/geometry/shaders/billboard_vert.glsl +12 -15
  45. package/es/geometry/shaders/plane_frag.glsl +14 -10
  46. package/es/geometry/shaders/plane_vert.glsl +11 -10
  47. package/es/geometry/shaders/sprite_frag.glsl +11 -7
  48. package/es/geometry/shaders/sprite_vert.glsl +10 -9
  49. package/es/heatmap/index.d.ts +3 -3
  50. package/es/heatmap/models/grid.d.ts +8 -1
  51. package/es/heatmap/models/grid.js +25 -12
  52. package/es/heatmap/models/grid3d.d.ts +8 -1
  53. package/es/heatmap/models/grid3d.js +29 -13
  54. package/es/heatmap/models/heatmap.d.ts +6 -4
  55. package/es/heatmap/models/heatmap.js +123 -75
  56. package/es/heatmap/models/hexagon.d.ts +8 -1
  57. package/es/heatmap/models/hexagon.js +25 -12
  58. package/es/heatmap/shaders/grid/grid_frag.glsl +8 -0
  59. package/es/heatmap/shaders/{grid_vert.glsl → grid/grid_vert.glsl} +15 -15
  60. package/es/heatmap/shaders/grid3d/grid_3d_frag.glsl +8 -0
  61. package/{lib/heatmap/shaders/hexagon_3d_vert.glsl → es/heatmap/shaders/grid3d/grid_3d_vert.glsl} +13 -16
  62. package/es/heatmap/shaders/heatmap/heatmap_3d_frag.glsl +24 -0
  63. package/es/heatmap/shaders/{heatmap_3d_vert.glsl → heatmap/heatmap_3d_vert.glsl} +19 -9
  64. package/es/heatmap/shaders/heatmap/heatmap_frag.glsl +52 -0
  65. package/es/heatmap/shaders/heatmap/heatmap_framebuffer_frag.glsl +16 -0
  66. package/{lib/heatmap/shaders → es/heatmap/shaders/heatmap}/heatmap_framebuffer_vert.glsl +14 -9
  67. package/es/heatmap/shaders/heatmap/heatmap_vert.glsl +19 -0
  68. package/es/heatmap/shaders/hexagon/hexagon_frag.glsl +8 -0
  69. package/es/heatmap/shaders/{hexagon_vert.glsl → hexagon/hexagon_vert.glsl} +12 -13
  70. package/es/image/index.d.ts +2 -2
  71. package/es/image/models/image.d.ts +9 -2
  72. package/es/image/models/image.js +83 -44
  73. package/es/image/shaders/image_frag.glsl +34 -7
  74. package/es/image/shaders/image_vert.glsl +11 -5
  75. package/es/line/index.d.ts +4 -4
  76. package/es/line/index.js +2 -1
  77. package/es/line/models/arc.d.ts +8 -3
  78. package/es/line/models/arc.js +57 -76
  79. package/es/line/models/arc_3d.d.ts +8 -3
  80. package/es/line/models/arc_3d.js +46 -57
  81. package/es/line/models/flow.d.ts +8 -2
  82. package/es/line/models/flow.js +14 -12
  83. package/es/line/models/great_circle.d.ts +8 -3
  84. package/es/line/models/great_circle.js +51 -36
  85. package/es/line/models/index.d.ts +1 -1
  86. package/es/line/models/index.js +3 -6
  87. package/es/line/models/line.d.ts +8 -3
  88. package/es/line/models/line.js +67 -140
  89. package/es/line/models/{simpleLine.d.ts → simple_line.d.ts} +8 -2
  90. package/es/line/models/simple_line.js +204 -0
  91. package/es/line/models/wall.d.ts +8 -3
  92. package/es/line/models/wall.js +35 -27
  93. package/es/line/shaders/{line_arc_frag.glsl → arc/line_arc_frag.glsl} +36 -26
  94. package/es/line/shaders/{line_arc_vert.glsl → arc/line_arc_vert.glsl} +52 -22
  95. package/es/line/shaders/{line_arc_3d_frag.glsl → arc3d/line_arc_3d_frag.glsl} +32 -24
  96. package/{lib/line/shaders → es/line/shaders/arc3d}/line_arc_3d_vert.glsl +37 -27
  97. package/es/line/shaders/flow/flow_line_frag.glsl +5 -4
  98. package/es/line/shaders/flow/flow_line_vert.glsl +17 -18
  99. package/es/line/shaders/{line_arc_great_circle_frag.glsl → greatCircle/line_arc_great_circle_frag.glsl} +30 -30
  100. package/{lib/line/shaders → es/line/shaders/greatCircle}/line_arc_great_circle_vert.glsl +43 -40
  101. package/es/line/shaders/{line_frag.glsl → line/line_frag.glsl} +55 -28
  102. package/es/line/shaders/line/line_vert.glsl +114 -0
  103. package/es/line/shaders/simple/simpleline_frag.glsl +27 -3
  104. package/es/line/shaders/simple/simpleline_vert.glsl +20 -20
  105. package/es/line/shaders/wall/wall_frag.glsl +31 -26
  106. package/es/line/shaders/wall/wall_vert.glsl +29 -22
  107. package/es/mask/index.d.ts +2 -2
  108. package/es/mask/models/fill.d.ts +1 -1
  109. package/es/plugins/DataMappingPlugin.d.ts +1 -1
  110. package/es/plugins/DataMappingPlugin.js +1 -3
  111. package/es/plugins/DataSourcePlugin.d.ts +1 -1
  112. package/es/plugins/FeatureScalePlugin.d.ts +1 -1
  113. package/es/plugins/FeatureScalePlugin.js +14 -3
  114. package/es/plugins/LayerAnimateStylePlugin.d.ts +1 -1
  115. package/es/plugins/LayerMaskPlugin.d.ts +1 -1
  116. package/es/plugins/LayerModelPlugin.d.ts +1 -1
  117. package/es/plugins/LayerStylePlugin.d.ts +1 -1
  118. package/es/plugins/LightingPlugin.d.ts +1 -1
  119. package/es/plugins/MultiPassRendererPlugin.d.ts +1 -1
  120. package/es/plugins/PixelPickingPlugin.d.ts +6 -2
  121. package/es/plugins/PixelPickingPlugin.js +36 -49
  122. package/es/plugins/RegisterStyleAttributePlugin.d.ts +1 -1
  123. package/es/plugins/ShaderUniformPlugin.d.ts +1 -1
  124. package/es/plugins/ShaderUniformPlugin.js +11 -6
  125. package/es/plugins/UpdateModelPlugin.d.ts +1 -1
  126. package/es/plugins/UpdateStyleAttributePlugin.d.ts +1 -1
  127. package/es/point/index.d.ts +2 -2
  128. package/es/point/index.js +1 -0
  129. package/es/point/models/billboard_point.d.ts +9 -3
  130. package/es/point/models/billboard_point.js +18 -18
  131. package/es/point/models/earthExtrude.d.ts +7 -12
  132. package/es/point/models/earthExtrude.js +21 -13
  133. package/es/point/models/earthFill.d.ts +8 -3
  134. package/es/point/models/earthFill.js +18 -30
  135. package/es/point/models/extrude.d.ts +7 -12
  136. package/es/point/models/extrude.js +18 -13
  137. package/es/point/models/fill.d.ts +8 -2
  138. package/es/point/models/fill.js +33 -84
  139. package/es/point/models/{fillmage.d.ts → fillImage.d.ts} +8 -2
  140. package/es/point/models/{fillmage.js → fillImage.js} +23 -15
  141. package/es/point/models/image.d.ts +8 -1
  142. package/es/point/models/image.js +31 -21
  143. package/es/point/models/index.js +1 -1
  144. package/es/point/models/normal.d.ts +9 -3
  145. package/es/point/models/normal.js +13 -30
  146. package/es/point/models/radar.d.ts +8 -2
  147. package/es/point/models/radar.js +23 -45
  148. package/es/point/models/text.d.ts +9 -2
  149. package/es/point/models/text.js +31 -32
  150. package/{lib/point/shaders → es/point/shaders/billboard}/billboard_point_frag.glsl +17 -13
  151. package/{lib/point/shaders → es/point/shaders/billboard}/billboard_point_vert.glsl +13 -14
  152. package/es/point/shaders/earthExtrude/earthExtrude_frag.glsl +36 -0
  153. package/{lib/point/shaders/earth/extrude_vert.glsl → es/point/shaders/earthExtrude/earthExtrude_vert.glsl} +25 -22
  154. package/{lib/point/shaders/earth/fill_frag.glsl → es/point/shaders/earthFill/earthFill_frag.glsl} +20 -18
  155. package/{lib/point/shaders/earth/fill_vert.glsl → es/point/shaders/earthFill/earthFill_vert.glsl} +17 -22
  156. package/es/point/shaders/extrude/extrude_frag.glsl +19 -7
  157. package/es/point/shaders/extrude/extrude_vert.glsl +23 -30
  158. package/{lib/point/shaders → es/point/shaders/fill}/fill_frag.glsl +18 -1
  159. package/es/point/shaders/{fill_vert.glsl → fill/fill_vert.glsl} +5 -4
  160. package/es/point/shaders/fillImage/fillImage_frag.glsl +24 -0
  161. package/{lib/point/shaders/image → es/point/shaders/fillImage}/fillImage_vert.glsl +15 -17
  162. package/es/point/shaders/image/image_frag.glsl +42 -0
  163. package/{lib/point/shaders → es/point/shaders/image}/image_vert.glsl +14 -13
  164. package/es/point/shaders/radar/radar_frag.glsl +19 -14
  165. package/es/point/shaders/radar/radar_vert.glsl +21 -24
  166. package/es/point/shaders/text/text_frag.glsl +44 -0
  167. package/es/point/shaders/{text_vert.glsl → text/text_vert.glsl} +19 -17
  168. package/es/point/shape/extrude.d.ts +1 -1
  169. package/es/polygon/index.d.ts +2 -2
  170. package/es/polygon/models/extrude.d.ts +9 -9
  171. package/es/polygon/models/extrude.js +38 -15
  172. package/es/polygon/models/extrusion.d.ts +8 -1
  173. package/es/polygon/models/extrusion.js +24 -7
  174. package/es/polygon/models/fill.d.ts +9 -4
  175. package/es/polygon/models/fill.js +26 -13
  176. package/es/polygon/models/ocean.d.ts +9 -7
  177. package/es/polygon/models/ocean.js +30 -14
  178. package/es/polygon/models/water.d.ts +9 -4
  179. package/es/polygon/models/water.js +26 -10
  180. package/es/polygon/shaders/extrude/polygon_extrude_frag.glsl +14 -14
  181. package/es/polygon/shaders/extrude/polygon_extrude_picklight_frag.glsl +17 -15
  182. package/es/polygon/shaders/extrude/polygon_extrude_picklight_vert.glsl +18 -18
  183. package/es/polygon/shaders/extrude/polygon_extrude_vert.glsl +18 -24
  184. package/es/polygon/shaders/extrude/polygon_extrudetex_frag.glsl +19 -15
  185. package/es/polygon/shaders/extrude/polygon_extrudetex_vert.glsl +20 -24
  186. package/es/polygon/shaders/extrusion/polygon_extrusion_frag.glsl +4 -8
  187. package/es/polygon/shaders/extrusion/polygon_extrusion_vert.glsl +7 -16
  188. package/es/polygon/shaders/fill/fill_frag.glsl +7 -0
  189. package/es/polygon/shaders/fill/fill_linear_frag.glsl +20 -0
  190. package/{lib/polygon/shaders/polygon_linear_vert.glsl → es/polygon/shaders/fill/fill_linear_vert.glsl} +12 -11
  191. package/es/polygon/shaders/{polygon_vert.glsl → fill/fill_vert.glsl} +6 -6
  192. package/es/polygon/shaders/{water/polygon_ocean_frag.glsl → ocean/ocean_frag.glsl} +13 -13
  193. package/es/polygon/shaders/ocean/ocean_vert.glsl +22 -0
  194. package/es/polygon/shaders/water/polygon_water_frag.glsl +14 -12
  195. package/es/polygon/shaders/water/polygon_water_vert.glsl +10 -10
  196. package/es/raster/buffers/triangulation.d.ts +1 -1
  197. package/es/raster/index.d.ts +2 -2
  198. package/es/raster/models/raster.d.ts +9 -8
  199. package/es/raster/models/raster.js +54 -38
  200. package/es/raster/models/rasterRgb.d.ts +9 -7
  201. package/es/raster/models/rasterRgb.js +36 -19
  202. package/es/raster/models/rasterTerrainRgb.d.ts +1 -1
  203. package/es/raster/models/rasterTerrainRgb.js +2 -2
  204. package/es/raster/shaders/raster/raster_2d_frag.glsl +34 -0
  205. package/es/raster/shaders/raster/raster_2d_vert.glsl +21 -0
  206. package/es/raster/shaders/rgb/raster_rgb_frag.glsl +26 -0
  207. package/es/raster/shaders/rgb/raster_rgb_vert.glsl +21 -0
  208. package/es/tile/core/BaseLayer.d.ts +2 -2
  209. package/es/tile/core/TileDebugLayer.d.ts +1 -1
  210. package/es/tile/interaction/getRasterData.d.ts +2 -2
  211. package/es/tile/interaction/utils.d.ts +1 -1
  212. package/es/tile/interface.d.ts +2 -2
  213. package/es/tile/service/TileLayerService.d.ts +2 -2
  214. package/es/tile/service/TilePickService.d.ts +2 -2
  215. package/es/tile/service/TileSourceService.d.ts +1 -1
  216. package/es/tile/tile/Tile.d.ts +2 -3
  217. package/es/tile/tile/VectorTile.d.ts +1 -1
  218. package/es/tile/tile/index.d.ts +1 -1
  219. package/es/tile/utils/constants.js +1 -1
  220. package/es/tile/utils/utils.d.ts +1 -1
  221. package/es/utils/blend.d.ts +1 -1
  222. package/es/utils/multiPassRender.d.ts +1 -1
  223. package/es/utils/stencil.d.ts +1 -1
  224. package/es/wind/index.d.ts +3 -3
  225. package/es/wind/models/wind.d.ts +1 -1
  226. package/lib/citybuliding/models/build.js +22 -11
  227. package/lib/citybuliding/shaders/build_frag.glsl +26 -23
  228. package/lib/citybuliding/shaders/build_vert.glsl +24 -16
  229. package/lib/core/BaseLayer.js +56 -10
  230. package/lib/core/BaseModel.js +99 -2
  231. package/lib/core/CommonStyleAttribute.js +4 -0
  232. package/lib/core/triangulation.js +12 -6
  233. package/lib/core/utils.js +22 -0
  234. package/lib/earth/models/atmosphere.js +15 -8
  235. package/lib/earth/models/base.js +21 -12
  236. package/lib/earth/models/bloomsphere.js +15 -8
  237. package/lib/earth/shaders/{atmosphere_frag.glsl → atmosphere/atmosphere_frag.glsl} +9 -6
  238. package/lib/earth/shaders/atmosphere/atmosphere_vert.glsl +22 -0
  239. package/lib/earth/shaders/base/base_frag.glsl +11 -0
  240. package/lib/earth/shaders/base/base_vert.glsl +52 -0
  241. package/lib/earth/shaders/bloomshpere/bloomsphere_frag.glsl +16 -0
  242. package/lib/earth/shaders/bloomshpere/bloomsphere_vert.glsl +19 -0
  243. package/lib/geometry/models/billboard.js +26 -11
  244. package/lib/geometry/models/plane.js +23 -6
  245. package/lib/geometry/models/sprite.js +44 -18
  246. package/lib/geometry/shaders/billboard_frag.glsl +11 -6
  247. package/lib/geometry/shaders/billboard_vert.glsl +12 -15
  248. package/lib/geometry/shaders/plane_frag.glsl +14 -10
  249. package/lib/geometry/shaders/plane_vert.glsl +11 -10
  250. package/lib/geometry/shaders/sprite_frag.glsl +11 -7
  251. package/lib/geometry/shaders/sprite_vert.glsl +10 -9
  252. package/lib/heatmap/models/grid.js +25 -12
  253. package/lib/heatmap/models/grid3d.js +29 -13
  254. package/lib/heatmap/models/heatmap.js +122 -74
  255. package/lib/heatmap/models/hexagon.js +25 -12
  256. package/lib/heatmap/shaders/grid/grid_frag.glsl +8 -0
  257. package/lib/heatmap/shaders/{grid_vert.glsl → grid/grid_vert.glsl} +15 -15
  258. package/lib/heatmap/shaders/grid3d/grid_3d_frag.glsl +8 -0
  259. package/{es/heatmap/shaders/hexagon_3d_vert.glsl → lib/heatmap/shaders/grid3d/grid_3d_vert.glsl} +13 -16
  260. package/lib/heatmap/shaders/heatmap/heatmap_3d_frag.glsl +24 -0
  261. package/lib/heatmap/shaders/{heatmap_3d_vert.glsl → heatmap/heatmap_3d_vert.glsl} +19 -9
  262. package/lib/heatmap/shaders/heatmap/heatmap_frag.glsl +52 -0
  263. package/lib/heatmap/shaders/heatmap/heatmap_framebuffer_frag.glsl +16 -0
  264. package/{es/heatmap/shaders → lib/heatmap/shaders/heatmap}/heatmap_framebuffer_vert.glsl +14 -9
  265. package/lib/heatmap/shaders/heatmap/heatmap_vert.glsl +19 -0
  266. package/lib/heatmap/shaders/hexagon/hexagon_frag.glsl +8 -0
  267. package/lib/heatmap/shaders/{hexagon_vert.glsl → hexagon/hexagon_vert.glsl} +12 -13
  268. package/lib/image/models/image.js +83 -44
  269. package/lib/image/shaders/image_frag.glsl +34 -7
  270. package/lib/image/shaders/image_vert.glsl +11 -5
  271. package/lib/line/index.js +2 -1
  272. package/lib/line/models/arc.js +57 -76
  273. package/lib/line/models/arc_3d.js +47 -59
  274. package/lib/line/models/flow.js +14 -12
  275. package/lib/line/models/great_circle.js +51 -36
  276. package/lib/line/models/index.js +4 -7
  277. package/lib/line/models/line.js +67 -142
  278. package/lib/line/models/{simpleLine.js → simple_line.js} +84 -74
  279. package/lib/line/models/wall.js +35 -27
  280. package/lib/line/shaders/{line_arc_frag.glsl → arc/line_arc_frag.glsl} +36 -26
  281. package/lib/line/shaders/{line_arc_vert.glsl → arc/line_arc_vert.glsl} +52 -22
  282. package/lib/line/shaders/{line_arc_3d_frag.glsl → arc3d/line_arc_3d_frag.glsl} +32 -24
  283. package/{es/line/shaders → lib/line/shaders/arc3d}/line_arc_3d_vert.glsl +37 -27
  284. package/lib/line/shaders/flow/flow_line_frag.glsl +5 -4
  285. package/lib/line/shaders/flow/flow_line_vert.glsl +17 -18
  286. package/lib/line/shaders/{line_arc_great_circle_frag.glsl → greatCircle/line_arc_great_circle_frag.glsl} +30 -30
  287. package/{es/line/shaders → lib/line/shaders/greatCircle}/line_arc_great_circle_vert.glsl +43 -40
  288. package/lib/line/shaders/{line_frag.glsl → line/line_frag.glsl} +55 -28
  289. package/lib/line/shaders/line/line_vert.glsl +114 -0
  290. package/lib/line/shaders/simple/simpleline_frag.glsl +27 -3
  291. package/lib/line/shaders/simple/simpleline_vert.glsl +20 -20
  292. package/lib/line/shaders/wall/wall_frag.glsl +31 -26
  293. package/lib/line/shaders/wall/wall_vert.glsl +29 -22
  294. package/lib/plugins/DataMappingPlugin.js +1 -3
  295. package/lib/plugins/FeatureScalePlugin.js +14 -3
  296. package/lib/plugins/PixelPickingPlugin.js +35 -48
  297. package/lib/plugins/ShaderUniformPlugin.js +11 -6
  298. package/lib/point/index.js +1 -0
  299. package/lib/point/models/billboard_point.js +18 -18
  300. package/lib/point/models/earthExtrude.js +21 -13
  301. package/lib/point/models/earthFill.js +18 -30
  302. package/lib/point/models/extrude.js +18 -13
  303. package/lib/point/models/fill.js +33 -84
  304. package/lib/point/models/{fillmage.js → fillImage.js} +24 -17
  305. package/lib/point/models/image.js +31 -21
  306. package/lib/point/models/index.js +2 -2
  307. package/lib/point/models/normal.js +13 -30
  308. package/lib/point/models/radar.js +23 -45
  309. package/lib/point/models/text.js +31 -32
  310. package/{es/point/shaders → lib/point/shaders/billboard}/billboard_point_frag.glsl +17 -13
  311. package/{es/point/shaders → lib/point/shaders/billboard}/billboard_point_vert.glsl +13 -14
  312. package/lib/point/shaders/earthExtrude/earthExtrude_frag.glsl +36 -0
  313. package/{es/point/shaders/earth/extrude_vert.glsl → lib/point/shaders/earthExtrude/earthExtrude_vert.glsl} +25 -22
  314. package/{es/point/shaders/earth/fill_frag.glsl → lib/point/shaders/earthFill/earthFill_frag.glsl} +20 -18
  315. package/{es/point/shaders/earth/fill_vert.glsl → lib/point/shaders/earthFill/earthFill_vert.glsl} +17 -22
  316. package/lib/point/shaders/extrude/extrude_frag.glsl +19 -7
  317. package/lib/point/shaders/extrude/extrude_vert.glsl +23 -30
  318. package/{es/point/shaders → lib/point/shaders/fill}/fill_frag.glsl +18 -1
  319. package/lib/point/shaders/{fill_vert.glsl → fill/fill_vert.glsl} +5 -4
  320. package/lib/point/shaders/fillImage/fillImage_frag.glsl +24 -0
  321. package/{es/point/shaders/image → lib/point/shaders/fillImage}/fillImage_vert.glsl +15 -17
  322. package/lib/point/shaders/image/image_frag.glsl +42 -0
  323. package/{es/point/shaders → lib/point/shaders/image}/image_vert.glsl +14 -13
  324. package/lib/point/shaders/radar/radar_frag.glsl +19 -14
  325. package/lib/point/shaders/radar/radar_vert.glsl +21 -24
  326. package/lib/point/shaders/text/text_frag.glsl +44 -0
  327. package/lib/point/shaders/{text_vert.glsl → text/text_vert.glsl} +19 -17
  328. package/lib/polygon/models/extrude.js +38 -15
  329. package/lib/polygon/models/extrusion.js +24 -7
  330. package/lib/polygon/models/fill.js +26 -13
  331. package/lib/polygon/models/ocean.js +30 -14
  332. package/lib/polygon/models/water.js +26 -10
  333. package/lib/polygon/shaders/extrude/polygon_extrude_frag.glsl +14 -14
  334. package/lib/polygon/shaders/extrude/polygon_extrude_picklight_frag.glsl +17 -15
  335. package/lib/polygon/shaders/extrude/polygon_extrude_picklight_vert.glsl +18 -18
  336. package/lib/polygon/shaders/extrude/polygon_extrude_vert.glsl +18 -24
  337. package/lib/polygon/shaders/extrude/polygon_extrudetex_frag.glsl +19 -15
  338. package/lib/polygon/shaders/extrude/polygon_extrudetex_vert.glsl +20 -24
  339. package/lib/polygon/shaders/extrusion/polygon_extrusion_frag.glsl +4 -8
  340. package/lib/polygon/shaders/extrusion/polygon_extrusion_vert.glsl +7 -16
  341. package/lib/polygon/shaders/fill/fill_frag.glsl +7 -0
  342. package/lib/polygon/shaders/fill/fill_linear_frag.glsl +20 -0
  343. package/{es/polygon/shaders/polygon_linear_vert.glsl → lib/polygon/shaders/fill/fill_linear_vert.glsl} +12 -11
  344. package/lib/polygon/shaders/{polygon_vert.glsl → fill/fill_vert.glsl} +6 -6
  345. package/lib/polygon/shaders/{water/polygon_ocean_frag.glsl → ocean/ocean_frag.glsl} +13 -13
  346. package/lib/polygon/shaders/ocean/ocean_vert.glsl +22 -0
  347. package/lib/polygon/shaders/water/polygon_water_frag.glsl +14 -12
  348. package/lib/polygon/shaders/water/polygon_water_vert.glsl +10 -10
  349. package/lib/raster/models/raster.js +54 -38
  350. package/lib/raster/models/rasterRgb.js +36 -19
  351. package/lib/raster/models/rasterTerrainRgb.js +2 -2
  352. package/lib/raster/shaders/raster/raster_2d_frag.glsl +34 -0
  353. package/lib/raster/shaders/raster/raster_2d_vert.glsl +21 -0
  354. package/lib/raster/shaders/rgb/raster_rgb_frag.glsl +26 -0
  355. package/lib/raster/shaders/rgb/raster_rgb_vert.glsl +21 -0
  356. package/lib/tile/utils/constants.js +1 -1
  357. package/package.json +7 -7
  358. package/es/earth/shaders/atmosphere_vert.glsl +0 -26
  359. package/es/earth/shaders/base_frag.glsl +0 -13
  360. package/es/earth/shaders/base_vert.glsl +0 -52
  361. package/es/earth/shaders/bloomsphere_frag.glsl +0 -15
  362. package/es/earth/shaders/bloomsphere_vert.glsl +0 -20
  363. package/es/heatmap/shaders/heatmap_3d_frag.glsl +0 -14
  364. package/es/heatmap/shaders/heatmap_frag.glsl +0 -47
  365. package/es/heatmap/shaders/heatmap_framebuffer_frag.glsl +0 -10
  366. package/es/heatmap/shaders/heatmap_vert.glsl +0 -10
  367. package/es/heatmap/shaders/hexagon_frag.glsl +0 -12
  368. package/es/line/models/earthArc_3d.d.ts +0 -17
  369. package/es/line/models/earthArc_3d.js +0 -285
  370. package/es/line/models/linearline.d.ts +0 -11
  371. package/es/line/models/linearline.js +0 -241
  372. package/es/line/models/simpleLine.js +0 -194
  373. package/es/line/shaders/arc_chunks.vert.glsl +0 -21
  374. package/es/line/shaders/dash/arc_dash_frag.glsl +0 -21
  375. package/es/line/shaders/dash/arc_dash_vert.glsl +0 -102
  376. package/es/line/shaders/dash/line_dash_frag.glsl +0 -27
  377. package/es/line/shaders/dash/line_dash_vert.glsl +0 -82
  378. package/es/line/shaders/line_arc2d_vert.glsl +0 -114
  379. package/es/line/shaders/line_bezier_vert.glsl +0 -85
  380. package/es/line/shaders/line_vert.glsl +0 -165
  381. package/es/line/shaders/linear/arc3d_linear_frag.glsl +0 -32
  382. package/es/line/shaders/linear/arc3d_linear_vert.glsl +0 -161
  383. package/es/line/shaders/linear/arc_linear_frag.glsl +0 -10
  384. package/es/line/shaders/linear/arc_linear_vert.glsl +0 -98
  385. package/es/line/shaders/linear/line_linear_frag.glsl +0 -25
  386. package/es/line/shaders/linearLine/line_linear_frag.glsl +0 -8
  387. package/es/line/shaders/linearLine/line_linear_vert.glsl +0 -93
  388. package/es/line/shaders/simple/simpleline_linear_frag.glsl +0 -8
  389. package/es/point/shaders/animate/wave_frag.glsl +0 -55
  390. package/es/point/shaders/earth/extrude_frag.glsl +0 -32
  391. package/es/point/shaders/image/fillImage_frag.glsl +0 -18
  392. package/es/point/shaders/image_frag.glsl +0 -37
  393. package/es/point/shaders/text_frag.glsl +0 -39
  394. package/es/polygon/shaders/polygon_frag.glsl +0 -7
  395. package/es/polygon/shaders/polygon_linear_frag.glsl +0 -15
  396. package/es/polygon/shaders/water/polygon_ocean_vert.glsl +0 -16
  397. package/es/raster/shaders/raster_2d_frag.glsl +0 -32
  398. package/es/raster/shaders/raster_2d_vert.glsl +0 -13
  399. package/es/raster/shaders/raster_frag.glsl +0 -11
  400. package/es/raster/shaders/raster_rgb_frag.glsl +0 -20
  401. package/es/raster/shaders/raster_vert.glsl +0 -34
  402. package/lib/earth/shaders/atmosphere_vert.glsl +0 -26
  403. package/lib/earth/shaders/base_frag.glsl +0 -13
  404. package/lib/earth/shaders/base_vert.glsl +0 -52
  405. package/lib/earth/shaders/bloomsphere_frag.glsl +0 -15
  406. package/lib/earth/shaders/bloomsphere_vert.glsl +0 -20
  407. package/lib/heatmap/shaders/heatmap_3d_frag.glsl +0 -14
  408. package/lib/heatmap/shaders/heatmap_frag.glsl +0 -47
  409. package/lib/heatmap/shaders/heatmap_framebuffer_frag.glsl +0 -10
  410. package/lib/heatmap/shaders/heatmap_vert.glsl +0 -10
  411. package/lib/heatmap/shaders/hexagon_frag.glsl +0 -12
  412. package/lib/line/models/earthArc_3d.js +0 -291
  413. package/lib/line/models/linearline.js +0 -247
  414. package/lib/line/shaders/arc_chunks.vert.glsl +0 -21
  415. package/lib/line/shaders/dash/arc_dash_frag.glsl +0 -21
  416. package/lib/line/shaders/dash/arc_dash_vert.glsl +0 -102
  417. package/lib/line/shaders/dash/line_dash_frag.glsl +0 -27
  418. package/lib/line/shaders/dash/line_dash_vert.glsl +0 -82
  419. package/lib/line/shaders/line_arc2d_vert.glsl +0 -114
  420. package/lib/line/shaders/line_bezier_vert.glsl +0 -85
  421. package/lib/line/shaders/line_vert.glsl +0 -165
  422. package/lib/line/shaders/linear/arc3d_linear_frag.glsl +0 -32
  423. package/lib/line/shaders/linear/arc3d_linear_vert.glsl +0 -161
  424. package/lib/line/shaders/linear/arc_linear_frag.glsl +0 -10
  425. package/lib/line/shaders/linear/arc_linear_vert.glsl +0 -98
  426. package/lib/line/shaders/linear/line_linear_frag.glsl +0 -25
  427. package/lib/line/shaders/linearLine/line_linear_frag.glsl +0 -8
  428. package/lib/line/shaders/linearLine/line_linear_vert.glsl +0 -93
  429. package/lib/line/shaders/simple/simpleline_linear_frag.glsl +0 -8
  430. package/lib/point/shaders/animate/wave_frag.glsl +0 -55
  431. package/lib/point/shaders/earth/extrude_frag.glsl +0 -32
  432. package/lib/point/shaders/image/fillImage_frag.glsl +0 -18
  433. package/lib/point/shaders/image_frag.glsl +0 -37
  434. package/lib/point/shaders/text_frag.glsl +0 -39
  435. package/lib/polygon/shaders/polygon_frag.glsl +0 -7
  436. package/lib/polygon/shaders/polygon_linear_frag.glsl +0 -15
  437. package/lib/polygon/shaders/water/polygon_ocean_vert.glsl +0 -16
  438. package/lib/raster/shaders/raster_2d_frag.glsl +0 -32
  439. package/lib/raster/shaders/raster_2d_vert.glsl +0 -13
  440. package/lib/raster/shaders/raster_frag.glsl +0 -11
  441. package/lib/raster/shaders/raster_rgb_frag.glsl +0 -20
  442. package/lib/raster/shaders/raster_vert.glsl +0 -34
  443. /package/es/point/shaders/{normal_frag.glsl → normal/normal_frag.glsl} +0 -0
  444. /package/es/point/shaders/{normal_vert.glsl → normal/normal_vert.glsl} +0 -0
  445. /package/es/raster/shaders/{raster_terrain_rgb_frag.glsl → terrain/terrain_rgb_frag.glsl} +0 -0
  446. /package/es/raster/shaders/{rater_terrain_rgb_vert.glsl → terrain/terrain_rgb_vert.glsl} +0 -0
  447. /package/lib/point/shaders/{normal_frag.glsl → normal/normal_frag.glsl} +0 -0
  448. /package/lib/point/shaders/{normal_vert.glsl → normal/normal_vert.glsl} +0 -0
  449. /package/lib/raster/shaders/{raster_terrain_rgb_frag.glsl → terrain/terrain_rgb_frag.glsl} +0 -0
  450. /package/lib/raster/shaders/{rater_terrain_rgb_vert.glsl → terrain/terrain_rgb_vert.glsl} +0 -0
@@ -11,10 +11,11 @@ import { AttributeType, gl } from '@antv/l7-core';
11
11
  import { lodashUtil } from '@antv/l7-utils';
12
12
  import BaseModel from "../../core/BaseModel";
13
13
  import { earthOuterTriangulation } from "../../core/triangulation";
14
- /* babel-plugin-inline-import '../shaders/bloomsphere_frag.glsl' */
15
- 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 // \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";
16
- /* babel-plugin-inline-import '../shaders/bloomsphere_vert.glsl' */
17
- 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";
14
+ /* babel-plugin-inline-import '../shaders/bloomshpere/bloomsphere_frag.glsl' */
15
+ var bloomSphereFrag = "\nin vec3 vVertexNormal;\nin vec4 v_Color;\n\nlayout(std140) uniform commonUniforms {\n float u_opacity;\n};\nout vec4 outputColor;\n#pragma include \"scene_uniforms\"\nvoid main() {\n float intensity = - dot(normalize(vVertexNormal), normalize(u_CameraPosition));\n // \u53BB\u9664\u80CC\u9762\n if(intensity > 1.0) intensity = 0.0;\n\n outputColor = vec4(v_Color.rgb, v_Color.a * intensity * u_opacity);\n}\n";
16
+ /* babel-plugin-inline-import '../shaders/bloomshpere/bloomsphere_vert.glsl' */
17
+ var bloomSphereVert = "layout(location = 0) in vec3 a_Position;\nlayout(location = 1) vec4 a_Color;\nlayout(location = 13) in vec3 a_Normal;\nlayout(location = 14) in vec2 a_Uv;\nlayout(std140) uniform commonUniforms {\n float u_opacity;\n};\n#pragma include \"scene_uniforms\"\n\nout vec3 vVertexNormal;\nout 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";
18
+ import { ShaderLocation } from "../../core/CommonStyleAttribute";
18
19
  var isNumber = lodashUtil.isNumber;
19
20
  var EarthBloomSphereModel = /*#__PURE__*/function (_BaseModel) {
20
21
  _inherits(EarthBloomSphereModel, _BaseModel);
@@ -24,14 +25,16 @@ var EarthBloomSphereModel = /*#__PURE__*/function (_BaseModel) {
24
25
  return _super.apply(this, arguments);
25
26
  }
26
27
  _createClass(EarthBloomSphereModel, [{
27
- key: "getUninforms",
28
- value: function getUninforms() {
28
+ key: "getCommonUniformsInfo",
29
+ value: function getCommonUniformsInfo() {
29
30
  var _ref = this.layer.getLayerConfig(),
30
31
  _ref$opacity = _ref.opacity,
31
32
  opacity = _ref$opacity === void 0 ? 1 : _ref$opacity;
32
- return {
33
+ var commonOptions = {
33
34
  u_opacity: isNumber(opacity) ? opacity : 1.0
34
35
  };
36
+ var commonBufferInfo = this.getUniformsBufferInfo(commonOptions);
37
+ return commonBufferInfo;
35
38
  }
36
39
  }, {
37
40
  key: "initModels",
@@ -40,8 +43,9 @@ var EarthBloomSphereModel = /*#__PURE__*/function (_BaseModel) {
40
43
  return _regeneratorRuntime.wrap(function _callee$(_context) {
41
44
  while (1) switch (_context.prev = _context.next) {
42
45
  case 0:
46
+ this.initUniformsBuffer();
43
47
  return _context.abrupt("return", this.buildModels());
44
- case 1:
48
+ case 2:
45
49
  case "end":
46
50
  return _context.stop();
47
51
  }
@@ -100,6 +104,7 @@ var EarthBloomSphereModel = /*#__PURE__*/function (_BaseModel) {
100
104
  type: AttributeType.Attribute,
101
105
  descriptor: {
102
106
  name: 'a_Size',
107
+ shaderLocation: ShaderLocation.SIZE,
103
108
  buffer: {
104
109
  usage: gl.DYNAMIC_DRAW,
105
110
  data: [],
@@ -118,6 +123,7 @@ var EarthBloomSphereModel = /*#__PURE__*/function (_BaseModel) {
118
123
  type: AttributeType.Attribute,
119
124
  descriptor: {
120
125
  name: 'a_Normal',
126
+ shaderLocation: ShaderLocation.NORMAL,
121
127
  buffer: {
122
128
  usage: gl.STATIC_DRAW,
123
129
  data: [],
@@ -134,6 +140,7 @@ var EarthBloomSphereModel = /*#__PURE__*/function (_BaseModel) {
134
140
  type: AttributeType.Attribute,
135
141
  descriptor: {
136
142
  name: 'a_Uv',
143
+ shaderLocation: ShaderLocation.UV,
137
144
  buffer: {
138
145
  usage: gl.DYNAMIC_DRAW,
139
146
  data: [],
@@ -1,10 +1,13 @@
1
1
 
2
- uniform float u_opacity;
3
- uniform vec3 u_CameraPosition;
2
+ layout(std140) uniform commonUniforms {
3
+ float u_opacity;
4
+ };
5
+ in vec3 vVertexNormal;
6
+ in float v_offset;
7
+ in vec4 v_Color;
4
8
 
5
- varying vec3 vVertexNormal;
6
- varying float v_offset;
7
- varying vec4 v_Color;
9
+ #pragma include "scene_uniforms"
10
+ out vec4 outputColor;
8
11
  void main() {
9
12
 
10
13
 
@@ -13,5 +16,5 @@ void main() {
13
16
  // 去除背面
14
17
  if(intensity > 1.0) intensity = 0.0;
15
18
 
16
- gl_FragColor = vec4(v_Color.rgb, v_Color.a * intensity * u_opacity);
19
+ outputColor = vec4(v_Color.rgb, v_Color.a * intensity * u_opacity);
17
20
  }
@@ -0,0 +1,22 @@
1
+ layout(location = 0) in vec3 a_Position;
2
+ layout(location = 1) vec4 a_Color;
3
+ layout(location = 13) in vec3 a_Normal;
4
+ layout(location = 14) in vec2 a_Uv;
5
+ layout(std140) uniform commonUniforms {
6
+ float u_opacity;
7
+ };
8
+ #pragma include "scene_uniforms"
9
+ out vec3 vVertexNormal;
10
+ out vec4 v_Color;
11
+ out float v_offset;
12
+
13
+ void main() {
14
+ float EARTH_RADIUS = 100.0;
15
+
16
+ v_Color = a_Color;
17
+
18
+ v_offset = min(((length(u_CameraPosition) - EARTH_RADIUS)/600.0) * 0.5 + 0.4, 1.0);
19
+ vVertexNormal = a_Normal;
20
+
21
+ gl_Position = u_ViewProjectionMatrix * u_ModelMatrix * vec4(a_Position, 1.0);
22
+ }
@@ -0,0 +1,11 @@
1
+ uniform sampler2D u_texture;
2
+
3
+ in vec2 v_texCoord;
4
+ in float v_lightWeight;
5
+ out vec4 outputColor;
6
+
7
+ void main() {
8
+ vec4 color = texture(SAMPLER_2D(u_texture),vec2(v_texCoord.x,v_texCoord.y));
9
+ color.xyz = color.xyz * v_lightWeight;
10
+ outputColor = color;
11
+ }
@@ -0,0 +1,52 @@
1
+ // attribute vec4 a_Color;
2
+ layout(location = 0) in vec3 a_Position;
3
+ layout(location = 13) in vec3 a_Normal;
4
+ layout(location = 14) in vec2 a_Uv;
5
+
6
+ // attribute vec2 a_Extrude;
7
+ // attribute float a_Size;
8
+ // attribute float a_Shape;
9
+
10
+ layout(std140) uniform commonUniforms {
11
+ vec4 u_sunLight: [1.0, -10.5, 12.0,0.0];
12
+ float u_ambientRatio : 0.5;
13
+ float u_diffuseRatio : 0.3;
14
+ float u_specularRatio : 0.2;
15
+ };
16
+
17
+ #pragma include "scene_uniforms"
18
+
19
+ out vec2 v_texCoord;
20
+ out float v_lightWeight;
21
+
22
+ float calc_lighting(vec4 pos) {
23
+
24
+ vec3 worldPos = vec3(pos * u_ModelMatrix);
25
+
26
+ vec3 worldNormal = a_Normal;
27
+
28
+ // cal light weight
29
+ vec3 viewDir = normalize(u_CameraPosition - worldPos);
30
+
31
+ vec3 lightDir = normalize(u_sunLight.xyz);
32
+
33
+ vec3 halfDir = normalize(viewDir+lightDir);
34
+ // lambert
35
+ float lambert = dot(worldNormal, lightDir);
36
+ // specular
37
+ float specular = pow(max(0.0, dot(worldNormal, halfDir)), 32.0);
38
+ //sum to light weight
39
+ float lightWeight = u_ambientRatio + u_diffuseRatio * lambert + u_specularRatio * specular;
40
+
41
+ return lightWeight;
42
+ }
43
+
44
+ void main() {
45
+
46
+ v_texCoord = a_Uv;
47
+
48
+ float lightWeight = calc_lighting(vec4(a_Position, 1.0));
49
+ v_lightWeight = lightWeight;
50
+
51
+ gl_Position = u_ViewProjectionMatrix * u_ModelMatrix * vec4(a_Position, 1.0);
52
+ }
@@ -0,0 +1,16 @@
1
+
2
+ in vec3 vVertexNormal;
3
+ in vec4 v_Color;
4
+
5
+ layout(std140) uniform commonUniforms {
6
+ float u_opacity;
7
+ };
8
+ out vec4 outputColor;
9
+ #pragma include "scene_uniforms"
10
+ void main() {
11
+ float intensity = - dot(normalize(vVertexNormal), normalize(u_CameraPosition));
12
+ // 去除背面
13
+ if(intensity > 1.0) intensity = 0.0;
14
+
15
+ outputColor = vec4(v_Color.rgb, v_Color.a * intensity * u_opacity);
16
+ }
@@ -0,0 +1,19 @@
1
+ layout(location = 0) in vec3 a_Position;
2
+ layout(location = 1) vec4 a_Color;
3
+ layout(location = 13) in vec3 a_Normal;
4
+ layout(location = 14) in vec2 a_Uv;
5
+ layout(std140) uniform commonUniforms {
6
+ float u_opacity;
7
+ };
8
+ #pragma include "scene_uniforms"
9
+
10
+ out vec3 vVertexNormal;
11
+ out vec4 v_Color;
12
+
13
+ void main() {
14
+ v_Color = a_Color;
15
+
16
+ vVertexNormal = a_Normal;
17
+
18
+ gl_Position = u_ViewProjectionMatrix * u_ModelMatrix * vec4(a_Position, 1.0);
19
+ }
@@ -1,6 +1,6 @@
1
1
  import BaseLayer from '../core/BaseLayer';
2
- import { IGeometryLayerStyleOptions } from '../core/interface';
3
- import { GeometryModelType } from './models';
2
+ import type { IGeometryLayerStyleOptions } from '../core/interface';
3
+ import type { GeometryModelType } from './models';
4
4
  export default class GeometryLayer extends BaseLayer<IGeometryLayerStyleOptions> {
5
5
  type: string;
6
6
  defaultSourceConfig: {
@@ -1,4 +1,4 @@
1
- import { IModel, IModelUniform, ITexture2D } from '@antv/l7-core';
1
+ import type { IModel, IModelUniform, ITexture2D } from '@antv/l7-core';
2
2
  import BaseModel from '../../core/BaseModel';
3
3
  export default class BillBoardModel extends BaseModel {
4
4
  protected texture: ITexture2D;
@@ -9,6 +9,13 @@ export default class BillBoardModel extends BaseModel {
9
9
  vertices: number[];
10
10
  };
11
11
  getUninforms(): IModelUniform;
12
+ protected getCommonUniformsInfo(): {
13
+ uniformsArray: number[];
14
+ uniformsLength: number;
15
+ uniformsOption: {
16
+ [key: string]: any;
17
+ };
18
+ };
12
19
  clearModels(): void;
13
20
  initModels(): Promise<IModel[]>;
14
21
  buildModels(): Promise<IModel[]>;
@@ -1,4 +1,5 @@
1
1
  import _asyncToGenerator from "@babel/runtime/helpers/esm/asyncToGenerator";
2
+ import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
2
3
  import _toConsumableArray from "@babel/runtime/helpers/esm/toConsumableArray";
3
4
  import _classCallCheck from "@babel/runtime/helpers/esm/classCallCheck";
4
5
  import _createClass from "@babel/runtime/helpers/esm/createClass";
@@ -13,9 +14,10 @@ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Re
13
14
  import { AttributeType, gl } from '@antv/l7-core';
14
15
  import BaseModel from "../../core/BaseModel";
15
16
  /* babel-plugin-inline-import '../shaders/billboard_frag.glsl' */
16
- var planeFrag = "\nuniform sampler2D u_texture;\nuniform float u_opacity;\n\nvarying vec3 v_Color;\nvarying vec2 v_uv;\n\n#pragma include \"picking\"\nvoid main() {\n gl_FragColor = texture2D(u_texture, vec2(v_uv.x, 1.0 - v_uv.y));\n gl_FragColor.a *= u_opacity;\n gl_FragColor = filterColor(gl_FragColor);\n}\n";
17
+ var planeFrag = "layout(std140) uniform commonUniforms {\n vec2 u_size;\n float u_raisingHeight;\n float u_rotation;\n float u_opacity;\n};\n\nuniform sampler2D u_texture;\n\nin vec2 v_uv;\nout vec4 outputColor;\n\n#pragma include \"picking\"\nvoid main() {\n outputColor = texture(SAMPLER_2D(u_texture), vec2(v_uv.x, 1.0 - v_uv.y));\n outputColor.a *= u_opacity;\n outputColor = filterColor(outputColor);\n}\n";
17
18
  /* babel-plugin-inline-import '../shaders/billboard_vert.glsl' */
18
- var planeVert = "precision highp float;\nuniform mat4 u_ModelMatrix;\nuniform float u_raisingHeight: 0.0;\nuniform float u_opacity;\nuniform vec2 u_size: [1.0, 1.0];\nuniform mat2 u_RotateMatrix;\n\nattribute vec3 a_Extrude;\nattribute vec3 a_Position;\nattribute vec2 a_Uv;\nattribute vec3 a_Color;\n\nvarying vec3 v_Color;\nvarying vec2 v_uv;\n\n#pragma include \"projection\"\n#pragma include \"picking\"\nvoid main() {\n vec3 extrude = a_Extrude;\n v_Color = a_Color;\n v_uv = a_Uv;\n\n float raiseHeight = u_raisingHeight;\n if(u_CoordinateSystem == COORDINATE_SYSTEM_LNGLAT || u_CoordinateSystem == COORDINATE_SYSTEM_LNGLAT_OFFSET) {\n float mapboxZoomScale = 4.0/pow(2.0, 21.0 - u_Zoom);\n raiseHeight = u_raisingHeight * mapboxZoomScale;\n }\n\n // \u8BA1\u7B97\u7ECF\u7EAC\u5EA6\u70B9\u4F4D\u5750\u6807\n vec4 project_pos = project_position(vec4(a_Position.xy, 0.0, 1.0));\n\n // \u8BA1\u7B97\u7ED5 z \u8F74\u65CB\u8F6C\u540E\u7684\u504F\u79FB\n vec2 offsetXY = project_pixel(u_RotateMatrix * vec2(extrude.x * u_size.x, 0.0));\n // \u7ED5 z \u8F74\u65CB\u8F6C\n float x = project_pos.x + offsetXY.x;\n float y = project_pos.y + offsetXY.y;\n // z \u8F74\u4E0D\u53C2\u4E0E\u65CB\u8F6C\n float z = project_pixel(extrude.y * u_size.y + raiseHeight);\n\n gl_Position = project_common_position_to_clipspace_v2(vec4(x , y, z , 1.0));\n\n setPickingColor(a_PickingColor);\n}\n";
19
+ var planeVert = "layout(location = 0) in vec3 a_Position;\nlayout(location = 11) in vec3 a_Extrude;\nlayout(location = 14) in vec2 a_Uv;\n\nlayout(std140) uniform commonUniforms {\n vec2 u_size;\n float u_raisingHeight;\n float u_rotation;\n float u_opacity;\n};\n\nout vec2 v_uv;\n\n#pragma include \"projection\"\n#pragma include \"picking\"\n#pragma include \"rotation_2d\"\nvoid main() {\n vec3 extrude = a_Extrude;\n v_uv = a_Uv;\n float raiseHeight = u_raisingHeight;\n if(u_CoordinateSystem == COORDINATE_SYSTEM_LNGLAT || u_CoordinateSystem == COORDINATE_SYSTEM_LNGLAT_OFFSET) {\n float mapboxZoomScale = 4.0/pow(2.0, 21.0 - u_Zoom);\n raiseHeight = u_raisingHeight * mapboxZoomScale;\n }\n\n // \u8BA1\u7B97\u7ECF\u7EAC\u5EA6\u70B9\u4F4D\u5750\u6807\n vec4 project_pos = project_position(vec4(a_Position.xy, 0.0, 1.0));\n\n // \u8BA1\u7B97\u7ED5 z \u8F74\u65CB\u8F6C\u540E\u7684\u504F\u79FB\n vec2 offsetXY = project_pixel(rotate_matrix(vec2(extrude.x * u_size.x, 0.0),u_rotation));\n // \u7ED5 z \u8F74\u65CB\u8F6C\n float x = project_pos.x + offsetXY.x;\n float y = project_pos.y + offsetXY.y;\n // z \u8F74\u4E0D\u53C2\u4E0E\u65CB\u8F6C\n float z = project_pixel(extrude.y * u_size.y + raiseHeight);\n\n gl_Position = project_common_position_to_clipspace_v2(vec4(x , y, z , 1.0));\n\n setPickingColor(a_PickingColor);\n}\n";
20
+ import { ShaderLocation } from "../../core/CommonStyleAttribute";
19
21
  var BillBoardModel = /*#__PURE__*/function (_BaseModel) {
20
22
  _inherits(BillBoardModel, _BaseModel);
21
23
  var _super = _createSuper(BillBoardModel);
@@ -43,6 +45,14 @@ var BillBoardModel = /*#__PURE__*/function (_BaseModel) {
43
45
  _createClass(BillBoardModel, [{
44
46
  key: "getUninforms",
45
47
  value: function getUninforms() {
48
+ var commoninfo = this.getCommonUniformsInfo();
49
+ var attributeInfo = this.getUniformsBufferInfo(this.getStyleAttribute());
50
+ this.updateStyleUnifoms();
51
+ return _objectSpread(_objectSpread({}, commoninfo.uniformsOption), attributeInfo.uniformsOption);
52
+ }
53
+ }, {
54
+ key: "getCommonUniformsInfo",
55
+ value: function getCommonUniformsInfo() {
46
56
  var _ref2 = this.layer.getLayerConfig(),
47
57
  opacity = _ref2.opacity,
48
58
  _ref2$width = _ref2.width,
@@ -65,15 +75,16 @@ var BillBoardModel = /*#__PURE__*/function (_BaseModel) {
65
75
  }
66
76
  // 控制图标的旋转角度(绕 Z 轴旋转)
67
77
  this.radian = rotateFlag * Math.PI * (this.mapService.getRotation() % 360) / 180;
68
- return {
78
+ var commonOptions = {
79
+ u_size: [width, height],
69
80
  u_raisingHeight: Number(raisingHeight),
70
- u_RotateMatrix: new Float32Array([
71
- // z
72
- Math.cos(this.radian), Math.sin(this.radian), -Math.sin(this.radian), Math.cos(this.radian)]),
81
+ u_rotation: this.radian,
73
82
  u_opacity: opacity || 1,
74
- u_texture: this.texture,
75
- u_size: [width, height]
83
+ u_texture: this.texture
76
84
  };
85
+ this.textures = [this.texture];
86
+ var commonBufferInfo = this.getUniformsBufferInfo(commonOptions);
87
+ return commonBufferInfo;
77
88
  }
78
89
  }, {
79
90
  key: "clearModels",
@@ -98,21 +109,23 @@ var BillBoardModel = /*#__PURE__*/function (_BaseModel) {
98
109
  if (drawCanvas) {
99
110
  this.updateTexture(drawCanvas);
100
111
  }
101
- _context.next = 6;
112
+ this.initUniformsBuffer();
113
+ _context.next = 7;
102
114
  return this.layer.buildLayerModel({
103
115
  moduleName: 'geometryBillboard',
104
116
  vertexShader: planeVert,
105
117
  fragmentShader: planeFrag,
106
118
  triangulation: this.planeGeometryTriangulation,
119
+ inject: this.getInject(),
107
120
  primitive: gl.TRIANGLES,
108
121
  depth: {
109
122
  enable: true
110
123
  }
111
124
  });
112
- case 6:
125
+ case 7:
113
126
  model = _context.sent;
114
127
  return _context.abrupt("return", [model]);
115
- case 8:
128
+ case 9:
116
129
  case "end":
117
130
  return _context.stop();
118
131
  }
@@ -175,6 +188,7 @@ var BillBoardModel = /*#__PURE__*/function (_BaseModel) {
175
188
  type: AttributeType.Attribute,
176
189
  descriptor: {
177
190
  name: 'a_Extrude',
191
+ shaderLocation: ShaderLocation.EXTRUDE,
178
192
  buffer: {
179
193
  usage: gl.DYNAMIC_DRAW,
180
194
  data: [],
@@ -193,6 +207,7 @@ var BillBoardModel = /*#__PURE__*/function (_BaseModel) {
193
207
  type: AttributeType.Attribute,
194
208
  descriptor: {
195
209
  name: 'a_Uv',
210
+ shaderLocation: ShaderLocation.UV,
196
211
  buffer: {
197
212
  usage: gl.DYNAMIC_DRAW,
198
213
  data: [],
@@ -1,4 +1,4 @@
1
- import { IModel, IModelUniform, ITexture2D } from '@antv/l7-core';
1
+ import type { IModel, IModelUniform, ITexture2D } from '@antv/l7-core';
2
2
  import BaseModel from '../../core/BaseModel';
3
3
  export default class PlaneModel extends BaseModel {
4
4
  protected texture: ITexture2D;
@@ -15,6 +15,13 @@ export default class PlaneModel extends BaseModel {
15
15
  size: number;
16
16
  };
17
17
  getUninforms(): IModelUniform;
18
+ protected getCommonUniformsInfo(): {
19
+ uniformsArray: number[];
20
+ uniformsLength: number;
21
+ uniformsOption: {
22
+ [key: string]: any;
23
+ };
24
+ };
18
25
  clearModels(): void;
19
26
  initModels(): Promise<IModel[]>;
20
27
  buildModels(): Promise<IModel[]>;
@@ -1,4 +1,5 @@
1
1
  import _asyncToGenerator from "@babel/runtime/helpers/esm/asyncToGenerator";
2
+ import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
2
3
  import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
3
4
  import _toConsumableArray from "@babel/runtime/helpers/esm/toConsumableArray";
4
5
  import _classCallCheck from "@babel/runtime/helpers/esm/classCallCheck";
@@ -15,9 +16,10 @@ import { AttributeType, gl } from '@antv/l7-core';
15
16
  // import { mat4, vec3 } from 'gl-matrix';
16
17
  import BaseModel from "../../core/BaseModel";
17
18
  /* babel-plugin-inline-import '../shaders/plane_frag.glsl' */
18
- var planeFrag = "\nuniform sampler2D u_texture;\nuniform float u_mapFlag;\nuniform float u_opacity;\n\nvarying vec3 v_Color;\nvarying vec2 v_uv;\nvarying float v_clip;\n\n#pragma include \"picking\"\nvoid main() {\n // gl_FragColor = vec4(v_Color, u_opacity);\n if(u_mapFlag > 0.0) {\n gl_FragColor = texture2D(u_texture, vec2(v_uv.x, 1.0 - v_uv.y));\n gl_FragColor.a *= u_opacity;\n } else {\n // gl_FragColor = vec4(v_uv, 0.0, u_opacity);\n gl_FragColor = vec4(v_Color, u_opacity);\n }\n gl_FragColor.a *= v_clip;\n gl_FragColor = filterColor(gl_FragColor);\n}\n";
19
+ var planeFrag = "\nuniform sampler2D u_texture;\nlayout(std140) uniform commonUniforms {\n float u_opacity;\n float u_mapFlag;\n float u_terrainClipHeight;\n};\n\nin vec3 v_Color;\nin vec2 v_uv;\nin float v_clip;\nout vec4 outputColor;\n\n#pragma include \"picking\"\nvoid main() {\n // gl_FragColor = vec4(v_Color, u_opacity);\n if(u_mapFlag > 0.0) {\n outputColor = texture(SAMPLER_2D(u_texture), vec2(v_uv.x, 1.0 - v_uv.y));\n outputColor.a *= u_opacity;\n } else {\n // gl_FragColor = vec4(v_uv, 0.0, u_opacity);\n outputColor = vec4(v_Color, u_opacity);\n }\n outputColor.a *= v_clip;\n outputColor = filterColor(outputColor);\n}\n";
19
20
  /* babel-plugin-inline-import '../shaders/plane_vert.glsl' */
20
- var planeVert = "precision highp float;\nuniform mat4 u_ModelMatrix;\n\nuniform float u_opacity;\nuniform float u_terrainClipHeight;\n\nattribute vec3 a_Position;\nattribute vec2 a_Uv;\nattribute vec3 a_Color;\n\nvarying vec3 v_Color;\nvarying vec2 v_uv;\nvarying float v_clip;\n\n#pragma include \"projection\"\n#pragma include \"picking\"\nvoid main() {\n v_Color = a_Color;\n v_uv = a_Uv;\n \n vec4 project_pos = project_position(vec4(a_Position, 1.0));\n\n v_clip = 1.0;\n if(a_Position.z < u_terrainClipHeight) {\n v_clip = 0.0;\n }\n \n gl_Position = project_common_position_to_clipspace_v2(vec4(project_pos.xy, a_Position.z, 1.0));\n\n setPickingColor(a_PickingColor);\n}\n";
21
+ var planeVert = "\nlayout(location = 0) in vec3 a_Position;\nlayout(location = 1) in vec3 a_Color;\nlayout(location = 14) in vec2 a_Uv;\n\nlayout(std140) uniform commonUniforms {\n float u_opacity;\n float u_mapFlag;\n float u_terrainClipHeight;\n};\n\nout vec3 v_Color;\nout vec2 v_uv;\nout float v_clip;\n\n#pragma include \"projection\"\n#pragma include \"picking\"\nvoid main() {\n v_Color = a_Color;\n v_uv = a_Uv;\n \n vec4 project_pos = project_position(vec4(a_Position, 1.0));\n\n v_clip = 1.0;\n if(a_Position.z < u_terrainClipHeight) {\n v_clip = 0.0;\n }\n \n gl_Position = project_common_position_to_clipspace_v2(vec4(project_pos.xy, a_Position.z, 1.0));\n\n setPickingColor(a_PickingColor);\n}\n";
22
+ import { ShaderLocation } from "../../core/CommonStyleAttribute";
21
23
  var PlaneModel = /*#__PURE__*/function (_BaseModel) {
22
24
  _inherits(PlaneModel, _BaseModel);
23
25
  var _super = _createSuper(PlaneModel);
@@ -114,6 +116,14 @@ var PlaneModel = /*#__PURE__*/function (_BaseModel) {
114
116
  }, {
115
117
  key: "getUninforms",
116
118
  value: function getUninforms() {
119
+ var commoninfo = this.getCommonUniformsInfo();
120
+ var attributeInfo = this.getUniformsBufferInfo(this.getStyleAttribute());
121
+ this.updateStyleUnifoms();
122
+ return _objectSpread(_objectSpread({}, commoninfo.uniformsOption), attributeInfo.uniformsOption);
123
+ }
124
+ }, {
125
+ key: "getCommonUniformsInfo",
126
+ value: function getCommonUniformsInfo() {
117
127
  var _ref4 = this.layer.getLayerConfig(),
118
128
  opacity = _ref4.opacity,
119
129
  mapTexture = _ref4.mapTexture,
@@ -126,12 +136,15 @@ var PlaneModel = /*#__PURE__*/function (_BaseModel) {
126
136
  (_this$texture = this.texture) === null || _this$texture === void 0 || _this$texture.destroy();
127
137
  this.updateTexture(mapTexture);
128
138
  }
129
- return {
139
+ var commonOptions = {
130
140
  u_opacity: opacity || 1,
131
141
  u_mapFlag: mapTexture ? 1 : 0,
132
142
  u_terrainClipHeight: terrainTexture ? terrainClipHeight : -1,
133
143
  u_texture: this.texture
134
144
  };
145
+ this.textures = [this.texture];
146
+ var commonBufferInfo = this.getUniformsBufferInfo(commonOptions);
147
+ return commonBufferInfo;
135
148
  }
136
149
  }, {
137
150
  key: "clearModels",
@@ -140,6 +153,7 @@ var PlaneModel = /*#__PURE__*/function (_BaseModel) {
140
153
  // @ts-ignore
141
154
  this.terrainImage = null;
142
155
  (_this$texture2 = this.texture) === null || _this$texture2 === void 0 || _this$texture2.destroy();
156
+ this.textures = [];
143
157
  }
144
158
  }, {
145
159
  key: "initModels",
@@ -157,12 +171,14 @@ var PlaneModel = /*#__PURE__*/function (_BaseModel) {
157
171
  width: 0
158
172
  });
159
173
  this.updateTexture(mapTexture);
160
- _context.next = 7;
174
+ this.initUniformsBuffer();
175
+ _context.next = 8;
161
176
  return this.layer.buildLayerModel({
162
177
  moduleName: 'geometryPlane',
163
178
  vertexShader: planeVert,
164
179
  fragmentShader: planeFrag,
165
180
  triangulation: this.planeGeometryTriangulation,
181
+ inject: this.getInject(),
166
182
  primitive: gl.TRIANGLES,
167
183
  depth: {
168
184
  enable: true
@@ -172,10 +188,10 @@ var PlaneModel = /*#__PURE__*/function (_BaseModel) {
172
188
  face: gl.BACK // gl.FRONT | gl.BACK;
173
189
  }
174
190
  });
175
- case 7:
191
+ case 8:
176
192
  model = _context.sent;
177
193
  return _context.abrupt("return", [model]);
178
- case 9:
194
+ case 10:
179
195
  case "end":
180
196
  return _context.stop();
181
197
  }
@@ -357,6 +373,7 @@ var PlaneModel = /*#__PURE__*/function (_BaseModel) {
357
373
  type: AttributeType.Attribute,
358
374
  descriptor: {
359
375
  name: 'a_Uv',
376
+ shaderLocation: ShaderLocation.UV,
360
377
  buffer: {
361
378
  // give the WebGL driver a hint that this buffer may change
362
379
  usage: gl.DYNAMIC_DRAW,
@@ -1,4 +1,4 @@
1
- import { IModel, IModelUniform, ITexture2D } from '@antv/l7-core';
1
+ import type { IModel, IModelUniform, ITexture2D } from '@antv/l7-core';
2
2
  import BaseModel from '../../core/BaseModel';
3
3
  declare enum SPRITE_ANIMATE_DIR {
4
4
  'UP' = "up",
@@ -22,13 +22,23 @@ export default class SpriteModel extends BaseModel {
22
22
  indices: number[];
23
23
  size: number;
24
24
  };
25
- updateModel: () => void;
25
+ /**
26
+ * Recalculate and update position attribute.
27
+ */
28
+ private updatePosition;
26
29
  planeGeometryTriangulation: () => {
27
30
  vertices: number[];
28
31
  indices: number[];
29
32
  size: number;
30
33
  };
31
34
  getUninforms(): IModelUniform;
35
+ protected getCommonUniformsInfo(): {
36
+ uniformsArray: number[];
37
+ uniformsLength: number;
38
+ uniformsOption: {
39
+ [key: string]: any;
40
+ };
41
+ };
32
42
  clearModels(): void;
33
43
  initModels(): Promise<IModel[]>;
34
44
  buildModels(): Promise<IModel[]>;
@@ -1,4 +1,5 @@
1
1
  import _asyncToGenerator from "@babel/runtime/helpers/esm/asyncToGenerator";
2
+ import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
2
3
  import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
3
4
  import _toConsumableArray from "@babel/runtime/helpers/esm/toConsumableArray";
4
5
  import _classCallCheck from "@babel/runtime/helpers/esm/classCallCheck";
@@ -14,9 +15,9 @@ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Re
14
15
  import { gl } from '@antv/l7-core';
15
16
  import BaseModel from "../../core/BaseModel";
16
17
  /* babel-plugin-inline-import '../shaders/sprite_frag.glsl' */
17
- var spriteFrag = "\nuniform sampler2D u_texture;\nuniform float u_mapFlag;\nuniform float u_opacity;\n\nvarying vec3 v_Color;\nvarying float v_d;\n\nvoid main() {\n\n if(v_d < 0.0) {\n discard;\n }\n\n if(u_mapFlag > 0.0) {\n gl_FragColor = texture2D(u_texture, gl_PointCoord);\n gl_FragColor.a *= u_opacity;\n } else {\n gl_FragColor = vec4(v_Color, u_opacity);\n }\n}\n";
18
+ var spriteFrag = "\nlayout(std140) uniform commonUniforms {\n float u_opacity;\n float u_mapFlag;\n float u_Scale;\n};\nuniform sampler2D u_texture;\n\nin vec3 v_Color;\nin float v_d;\nout vec4 outputColor;\n\nvoid main() {\n\n if(v_d < 0.0) {\n discard;\n }\n\n if(u_mapFlag > 0.0) {\n outputColor = texture(SAMPLER_2D(u_texture), gl_PointCoord);\n outputColor.a *= u_opacity;\n } else {\n outputColor = vec4(v_Color, u_opacity);\n }\n}\n";
18
19
  /* babel-plugin-inline-import '../shaders/sprite_vert.glsl' */
19
- var spriteVert = "precision highp float;\n\nattribute vec3 a_Position;\nattribute vec3 a_Color;\n\nuniform mat4 u_ModelMatrix;\nuniform float u_opacity;\nuniform float u_Scale;\nvarying vec3 v_Color;\nvarying float v_d;\n\n#pragma include \"projection\"\nvoid main() {\n v_Color = a_Color;\n \n vec4 project_pos = project_position(vec4(a_Position, 1.0));\n\n v_d = a_Position.z;\n\n gl_Position = project_common_position_to_clipspace_v2(vec4(project_pos.xy, a_Position.z, 1.0));\ngl_PointSize = pow((u_Zoom - 1.0), 2.0) * u_Scale;\n}\n";
20
+ var spriteVert = "layout(location = 0) in vec3 a_Position;\nlayout(location = 1) in vec3 a_Color;\n\nlayout(std140) uniform commonUniforms {\n float u_opacity;\n float u_mapFlag;\n float u_Scale;\n};\n\nout vec3 v_Color;\nout float v_d;\n\n#pragma include \"projection\"\nvoid main() {\n v_Color = a_Color.xyz;\n \n vec4 project_pos = project_position(vec4(a_Position, 1.0));\n\n v_d = a_Position.z;\n\n gl_Position = project_common_position_to_clipspace_v2(vec4(project_pos.xy, a_Position.z, 1.0));\ngl_PointSize = pow((u_Zoom - 1.0), 2.0) * u_Scale;\n}\n";
20
21
  var SPRITE_ANIMATE_DIR = /*#__PURE__*/function (SPRITE_ANIMATE_DIR) {
21
22
  SPRITE_ANIMATE_DIR["UP"] = "up";
22
23
  SPRITE_ANIMATE_DIR["DOWN"] = "down";
@@ -58,16 +59,26 @@ var SpriteModel = /*#__PURE__*/function (_BaseModel) {
58
59
  size: 5
59
60
  };
60
61
  });
61
- _defineProperty(_assertThisInitialized(_this), "updateModel", function () {
62
- // @ts-ignore
63
- var attributes = _this.layer.createAttributes({
64
- triangulation: _this.planeGeometryUpdateTriangulation
65
- });
66
- _this.layer.models.map(function (m) {
67
- m.updateAttributes(attributes);
68
- });
62
+ /**
63
+ * Recalculate and update position attribute.
64
+ */
65
+ _defineProperty(_assertThisInitialized(_this), "updatePosition", function () {
66
+ var _this$styleAttributeS;
67
+ _this.planeGeometryUpdateTriangulation();
68
+ var vertexAttribute = (_this$styleAttributeS = _this.styleAttributeService.getLayerStyleAttribute('position')) === null || _this$styleAttributeS === void 0 ? void 0 : _this$styleAttributeS.vertexAttribute;
69
+ if (vertexAttribute) {
70
+ // [x1, y1, z1, x2, y2, z2...]
71
+ var updated = [];
72
+ for (var i = 0; i < _this.positions.length; i += 5) {
73
+ updated.push(_this.positions[i], _this.positions[i + 1], _this.positions[i + 2]);
74
+ }
75
+ vertexAttribute.updateBuffer({
76
+ data: updated,
77
+ offset: 0
78
+ });
79
+ }
69
80
  _this.layerService.throttleRenderLayers();
70
- _this.timer = requestAnimationFrame(_this.updateModel);
81
+ _this.timer = requestAnimationFrame(_this.updatePosition);
71
82
  });
72
83
  _defineProperty(_assertThisInitialized(_this), "planeGeometryTriangulation", function () {
73
84
  var _this2;
@@ -133,6 +144,14 @@ var SpriteModel = /*#__PURE__*/function (_BaseModel) {
133
144
  }, {
134
145
  key: "getUninforms",
135
146
  value: function getUninforms() {
147
+ var commoninfo = this.getCommonUniformsInfo();
148
+ var attributeInfo = this.getUniformsBufferInfo(this.getStyleAttribute());
149
+ this.updateStyleUnifoms();
150
+ return _objectSpread(_objectSpread({}, commoninfo.uniformsOption), attributeInfo.uniformsOption);
151
+ }
152
+ }, {
153
+ key: "getCommonUniformsInfo",
154
+ value: function getCommonUniformsInfo() {
136
155
  var _ref5 = this.layer.getLayerConfig(),
137
156
  opacity = _ref5.opacity,
138
157
  mapTexture = _ref5.mapTexture,
@@ -142,14 +161,18 @@ var SpriteModel = /*#__PURE__*/function (_BaseModel) {
142
161
  var _this$texture;
143
162
  this.mapTexture = mapTexture;
144
163
  (_this$texture = this.texture) === null || _this$texture === void 0 || _this$texture.destroy();
164
+ this.textures = [];
145
165
  this.updateTexture(mapTexture);
146
166
  }
147
- return {
167
+ var commonOptions = {
148
168
  u_opacity: opacity || 1,
149
169
  u_mapFlag: mapTexture ? 1 : 0,
150
- u_texture: this.texture,
151
- u_Scale: spriteScale
170
+ u_Scale: spriteScale,
171
+ u_texture: this.texture
152
172
  };
173
+ this.textures = [this.texture];
174
+ var commonBufferInfo = this.getUniformsBufferInfo(commonOptions);
175
+ return commonBufferInfo;
153
176
  }
154
177
  }, {
155
178
  key: "clearModels",
@@ -157,6 +180,7 @@ var SpriteModel = /*#__PURE__*/function (_BaseModel) {
157
180
  var _this$texture2;
158
181
  cancelAnimationFrame(this.timer);
159
182
  (_this$texture2 = this.texture) === null || _this$texture2 === void 0 || _this$texture2.destroy();
183
+ this.textures = [];
160
184
  }
161
185
  }, {
162
186
  key: "initModels",
@@ -168,6 +192,7 @@ var SpriteModel = /*#__PURE__*/function (_BaseModel) {
168
192
  while (1) switch (_context.prev = _context.next) {
169
193
  case 0:
170
194
  _ref6 = this.layer.getLayerConfig(), mapTexture = _ref6.mapTexture, _ref6$spriteTop = _ref6.spriteTop, spriteTop = _ref6$spriteTop === void 0 ? 5000000 : _ref6$spriteTop, _ref6$spriteUpdate = _ref6.spriteUpdate, spriteUpdate = _ref6$spriteUpdate === void 0 ? 10000 : _ref6$spriteUpdate, _ref6$spriteAnimate = _ref6.spriteAnimate, spriteAnimate = _ref6$spriteAnimate === void 0 ? SPRITE_ANIMATE_DIR.DOWN : _ref6$spriteAnimate;
195
+ this.initUniformsBuffer();
171
196
  this.mapTexture = mapTexture;
172
197
  this.spriteTop = spriteTop;
173
198
  this.spriteUpdate = spriteUpdate;
@@ -179,24 +204,25 @@ var SpriteModel = /*#__PURE__*/function (_BaseModel) {
179
204
  });
180
205
  this.updateTexture(mapTexture);
181
206
  setTimeout(function () {
182
- _this3.updateModel();
207
+ _this3.updatePosition();
183
208
  }, 100);
184
- _context.next = 11;
209
+ _context.next = 12;
185
210
  return this.layer.buildLayerModel({
186
211
  moduleName: 'geometrySprite',
187
212
  vertexShader: spriteVert,
188
213
  fragmentShader: spriteFrag,
189
214
  triangulation: this.planeGeometryTriangulation,
215
+ inject: this.getInject(),
190
216
  primitive: gl.POINTS,
191
217
  depth: {
192
218
  enable: false
193
219
  },
194
220
  blend: this.getBlend()
195
221
  });
196
- case 11:
222
+ case 12:
197
223
  model = _context.sent;
198
224
  return _context.abrupt("return", [model]);
199
- case 13:
225
+ case 14:
200
226
  case "end":
201
227
  return _context.stop();
202
228
  }