@antv/l7-layers 2.20.5 → 2.20.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (447) hide show
  1. package/es/canvas/index.d.ts +3 -3
  2. package/es/citybuliding/models/build.d.ts +7 -12
  3. package/es/citybuliding/models/build.js +22 -11
  4. package/es/citybuliding/shaders/build_frag.glsl +26 -23
  5. package/es/citybuliding/shaders/build_vert.glsl +24 -16
  6. package/es/core/BaseLayer.d.ts +14 -2
  7. package/es/core/BaseLayer.js +53 -9
  8. package/es/core/BaseModel.d.ts +1 -1
  9. package/es/core/BaseModel.js +41 -15
  10. package/es/core/CommonStyleAttribute.d.ts +4 -2
  11. package/es/core/CommonStyleAttribute.js +3 -0
  12. package/es/core/LayerPickService.d.ts +1 -1
  13. package/es/core/TextureService.d.ts +2 -2
  14. package/es/core/interface.d.ts +7 -3
  15. package/es/core/interface.js +0 -1
  16. package/es/core/line_trangluation.d.ts +1 -1
  17. package/es/core/shape/arrow.d.ts +1 -1
  18. package/es/core/shape/extrude.d.ts +1 -1
  19. package/es/core/triangulation.d.ts +1 -1
  20. package/es/core/triangulation.js +13 -7
  21. package/es/core/utils.js +1 -1
  22. package/es/earth/index.d.ts +1 -1
  23. package/es/earth/models/atmosphere.d.ts +8 -2
  24. package/es/earth/models/atmosphere.js +15 -8
  25. package/es/earth/models/base.d.ts +8 -2
  26. package/es/earth/models/base.js +21 -12
  27. package/es/earth/models/bloomsphere.d.ts +8 -2
  28. package/es/earth/models/bloomsphere.js +15 -8
  29. package/es/earth/shaders/{atmosphere_frag.glsl → atmosphere/atmosphere_frag.glsl} +9 -6
  30. package/es/earth/shaders/atmosphere/atmosphere_vert.glsl +22 -0
  31. package/es/earth/shaders/base/base_frag.glsl +11 -0
  32. package/es/earth/shaders/base/base_vert.glsl +52 -0
  33. package/es/earth/shaders/bloomshpere/bloomsphere_frag.glsl +16 -0
  34. package/es/earth/shaders/bloomshpere/bloomsphere_vert.glsl +19 -0
  35. package/es/geometry/index.d.ts +2 -2
  36. package/es/geometry/models/billboard.d.ts +8 -1
  37. package/es/geometry/models/billboard.js +26 -11
  38. package/es/geometry/models/plane.d.ts +8 -1
  39. package/es/geometry/models/plane.js +23 -6
  40. package/es/geometry/models/sprite.d.ts +12 -2
  41. package/es/geometry/models/sprite.js +44 -18
  42. package/es/geometry/shaders/billboard_frag.glsl +11 -6
  43. package/es/geometry/shaders/billboard_vert.glsl +12 -15
  44. package/es/geometry/shaders/plane_frag.glsl +14 -10
  45. package/es/geometry/shaders/plane_vert.glsl +11 -10
  46. package/es/geometry/shaders/sprite_frag.glsl +11 -7
  47. package/es/geometry/shaders/sprite_vert.glsl +10 -9
  48. package/es/heatmap/index.d.ts +3 -3
  49. package/es/heatmap/models/grid.d.ts +8 -1
  50. package/es/heatmap/models/grid.js +25 -12
  51. package/es/heatmap/models/grid3d.d.ts +8 -1
  52. package/es/heatmap/models/grid3d.js +29 -13
  53. package/es/heatmap/models/heatmap.d.ts +6 -4
  54. package/es/heatmap/models/heatmap.js +123 -75
  55. package/es/heatmap/models/hexagon.d.ts +8 -1
  56. package/es/heatmap/models/hexagon.js +25 -12
  57. package/es/heatmap/shaders/grid/grid_frag.glsl +8 -0
  58. package/es/heatmap/shaders/{grid_vert.glsl → grid/grid_vert.glsl} +15 -15
  59. package/es/heatmap/shaders/grid3d/grid_3d_frag.glsl +8 -0
  60. package/{lib/heatmap/shaders/hexagon_3d_vert.glsl → es/heatmap/shaders/grid3d/grid_3d_vert.glsl} +13 -16
  61. package/es/heatmap/shaders/heatmap/heatmap_3d_frag.glsl +24 -0
  62. package/es/heatmap/shaders/{heatmap_3d_vert.glsl → heatmap/heatmap_3d_vert.glsl} +19 -9
  63. package/es/heatmap/shaders/heatmap/heatmap_frag.glsl +52 -0
  64. package/es/heatmap/shaders/heatmap/heatmap_framebuffer_frag.glsl +16 -0
  65. package/{lib/heatmap/shaders → es/heatmap/shaders/heatmap}/heatmap_framebuffer_vert.glsl +14 -9
  66. package/es/heatmap/shaders/heatmap/heatmap_vert.glsl +19 -0
  67. package/es/heatmap/shaders/hexagon/hexagon_frag.glsl +8 -0
  68. package/es/heatmap/shaders/{hexagon_vert.glsl → hexagon/hexagon_vert.glsl} +12 -13
  69. package/es/image/index.d.ts +2 -2
  70. package/es/image/models/image.d.ts +9 -2
  71. package/es/image/models/image.js +83 -44
  72. package/es/image/shaders/image_frag.glsl +34 -7
  73. package/es/image/shaders/image_vert.glsl +11 -5
  74. package/es/line/index.d.ts +4 -4
  75. package/es/line/index.js +2 -1
  76. package/es/line/models/arc.d.ts +8 -3
  77. package/es/line/models/arc.js +57 -76
  78. package/es/line/models/arc_3d.d.ts +8 -3
  79. package/es/line/models/arc_3d.js +46 -57
  80. package/es/line/models/flow.d.ts +8 -2
  81. package/es/line/models/flow.js +14 -12
  82. package/es/line/models/great_circle.d.ts +8 -3
  83. package/es/line/models/great_circle.js +40 -29
  84. package/es/line/models/index.d.ts +1 -1
  85. package/es/line/models/index.js +3 -6
  86. package/es/line/models/line.d.ts +8 -3
  87. package/es/line/models/line.js +67 -140
  88. package/es/line/models/{simpleLine.d.ts → simple_line.d.ts} +8 -2
  89. package/es/line/models/simple_line.js +204 -0
  90. package/es/line/models/wall.d.ts +8 -3
  91. package/es/line/models/wall.js +35 -27
  92. package/es/line/shaders/{line_arc_frag.glsl → arc/line_arc_frag.glsl} +36 -26
  93. package/es/line/shaders/{line_arc_vert.glsl → arc/line_arc_vert.glsl} +52 -22
  94. package/es/line/shaders/{line_arc_3d_frag.glsl → arc3d/line_arc_3d_frag.glsl} +32 -24
  95. package/{lib/line/shaders → es/line/shaders/arc3d}/line_arc_3d_vert.glsl +37 -27
  96. package/es/line/shaders/flow/flow_line_frag.glsl +5 -4
  97. package/es/line/shaders/flow/flow_line_vert.glsl +17 -18
  98. package/es/line/shaders/{line_arc_great_circle_frag.glsl → greatCircle/line_arc_great_circle_frag.glsl} +30 -30
  99. package/{lib/line/shaders → es/line/shaders/greatCircle}/line_arc_great_circle_vert.glsl +43 -40
  100. package/es/line/shaders/{line_frag.glsl → line/line_frag.glsl} +55 -28
  101. package/es/line/shaders/line/line_vert.glsl +114 -0
  102. package/es/line/shaders/simple/simpleline_frag.glsl +27 -3
  103. package/es/line/shaders/simple/simpleline_vert.glsl +20 -20
  104. package/es/line/shaders/wall/wall_frag.glsl +31 -26
  105. package/es/line/shaders/wall/wall_vert.glsl +29 -22
  106. package/es/mask/index.d.ts +2 -2
  107. package/es/mask/models/fill.d.ts +1 -1
  108. package/es/plugins/DataMappingPlugin.d.ts +1 -1
  109. package/es/plugins/DataMappingPlugin.js +1 -3
  110. package/es/plugins/DataSourcePlugin.d.ts +1 -1
  111. package/es/plugins/FeatureScalePlugin.d.ts +1 -1
  112. package/es/plugins/FeatureScalePlugin.js +14 -3
  113. package/es/plugins/LayerAnimateStylePlugin.d.ts +1 -1
  114. package/es/plugins/LayerMaskPlugin.d.ts +1 -1
  115. package/es/plugins/LayerModelPlugin.d.ts +1 -1
  116. package/es/plugins/LayerStylePlugin.d.ts +1 -1
  117. package/es/plugins/LightingPlugin.d.ts +1 -1
  118. package/es/plugins/MultiPassRendererPlugin.d.ts +1 -1
  119. package/es/plugins/PixelPickingPlugin.d.ts +6 -2
  120. package/es/plugins/PixelPickingPlugin.js +36 -49
  121. package/es/plugins/RegisterStyleAttributePlugin.d.ts +1 -1
  122. package/es/plugins/ShaderUniformPlugin.d.ts +1 -1
  123. package/es/plugins/ShaderUniformPlugin.js +11 -6
  124. package/es/plugins/UpdateModelPlugin.d.ts +1 -1
  125. package/es/plugins/UpdateStyleAttributePlugin.d.ts +1 -1
  126. package/es/point/index.d.ts +2 -2
  127. package/es/point/index.js +1 -0
  128. package/es/point/models/billboard_point.d.ts +9 -3
  129. package/es/point/models/billboard_point.js +18 -18
  130. package/es/point/models/earthExtrude.d.ts +7 -12
  131. package/es/point/models/earthExtrude.js +21 -13
  132. package/es/point/models/earthFill.d.ts +8 -3
  133. package/es/point/models/earthFill.js +18 -30
  134. package/es/point/models/extrude.d.ts +1 -4
  135. package/es/point/models/extrude.js +2 -11
  136. package/es/point/models/fill.d.ts +8 -2
  137. package/es/point/models/fill.js +33 -84
  138. package/es/point/models/{fillmage.d.ts → fillImage.d.ts} +8 -2
  139. package/es/point/models/{fillmage.js → fillImage.js} +23 -15
  140. package/es/point/models/image.d.ts +8 -1
  141. package/es/point/models/image.js +31 -17
  142. package/es/point/models/index.js +1 -1
  143. package/es/point/models/normal.d.ts +9 -3
  144. package/es/point/models/normal.js +13 -30
  145. package/es/point/models/radar.d.ts +8 -2
  146. package/es/point/models/radar.js +23 -45
  147. package/es/point/models/text.d.ts +9 -2
  148. package/es/point/models/text.js +31 -32
  149. package/{lib/point/shaders → es/point/shaders/billboard}/billboard_point_frag.glsl +17 -13
  150. package/{lib/point/shaders → es/point/shaders/billboard}/billboard_point_vert.glsl +13 -14
  151. package/es/point/shaders/earthExtrude/earthExtrude_frag.glsl +36 -0
  152. package/{lib/point/shaders/earth/extrude_vert.glsl → es/point/shaders/earthExtrude/earthExtrude_vert.glsl} +25 -22
  153. package/{lib/point/shaders/earth/fill_frag.glsl → es/point/shaders/earthFill/earthFill_frag.glsl} +20 -18
  154. package/{lib/point/shaders/earth/fill_vert.glsl → es/point/shaders/earthFill/earthFill_vert.glsl} +17 -22
  155. package/es/point/shaders/extrude/extrude_vert.glsl +0 -3
  156. package/{lib/point/shaders → es/point/shaders/fill}/fill_frag.glsl +18 -1
  157. package/es/point/shaders/{fill_vert.glsl → fill/fill_vert.glsl} +5 -4
  158. package/es/point/shaders/fillImage/fillImage_frag.glsl +24 -0
  159. package/{lib/point/shaders/image → es/point/shaders/fillImage}/fillImage_vert.glsl +15 -17
  160. package/es/point/shaders/image/image_frag.glsl +42 -0
  161. package/{lib/point/shaders → es/point/shaders/image}/image_vert.glsl +14 -13
  162. package/es/point/shaders/radar/radar_frag.glsl +19 -14
  163. package/es/point/shaders/radar/radar_vert.glsl +21 -24
  164. package/es/point/shaders/text/text_frag.glsl +44 -0
  165. package/es/point/shaders/{text_vert.glsl → text/text_vert.glsl} +19 -17
  166. package/es/point/shape/extrude.d.ts +1 -1
  167. package/es/polygon/index.d.ts +2 -2
  168. package/es/polygon/models/extrude.d.ts +9 -9
  169. package/es/polygon/models/extrude.js +38 -15
  170. package/es/polygon/models/extrusion.d.ts +8 -1
  171. package/es/polygon/models/extrusion.js +24 -7
  172. package/es/polygon/models/fill.d.ts +9 -4
  173. package/es/polygon/models/fill.js +26 -13
  174. package/es/polygon/models/ocean.d.ts +9 -7
  175. package/es/polygon/models/ocean.js +30 -14
  176. package/es/polygon/models/water.d.ts +9 -4
  177. package/es/polygon/models/water.js +26 -10
  178. package/es/polygon/shaders/extrude/polygon_extrude_frag.glsl +14 -14
  179. package/es/polygon/shaders/extrude/polygon_extrude_picklight_frag.glsl +17 -15
  180. package/es/polygon/shaders/extrude/polygon_extrude_picklight_vert.glsl +18 -18
  181. package/es/polygon/shaders/extrude/polygon_extrude_vert.glsl +18 -24
  182. package/es/polygon/shaders/extrude/polygon_extrudetex_frag.glsl +19 -15
  183. package/es/polygon/shaders/extrude/polygon_extrudetex_vert.glsl +20 -24
  184. package/es/polygon/shaders/extrusion/polygon_extrusion_frag.glsl +4 -8
  185. package/es/polygon/shaders/extrusion/polygon_extrusion_vert.glsl +7 -16
  186. package/es/polygon/shaders/fill/fill_frag.glsl +7 -0
  187. package/es/polygon/shaders/fill/fill_linear_frag.glsl +20 -0
  188. package/{lib/polygon/shaders/polygon_linear_vert.glsl → es/polygon/shaders/fill/fill_linear_vert.glsl} +12 -11
  189. package/es/polygon/shaders/{polygon_vert.glsl → fill/fill_vert.glsl} +6 -6
  190. package/es/polygon/shaders/{water/polygon_ocean_frag.glsl → ocean/ocean_frag.glsl} +13 -13
  191. package/es/polygon/shaders/ocean/ocean_vert.glsl +22 -0
  192. package/es/polygon/shaders/water/polygon_water_frag.glsl +14 -12
  193. package/es/polygon/shaders/water/polygon_water_vert.glsl +10 -10
  194. package/es/raster/buffers/triangulation.d.ts +1 -1
  195. package/es/raster/index.d.ts +2 -2
  196. package/es/raster/models/raster.d.ts +9 -8
  197. package/es/raster/models/raster.js +54 -38
  198. package/es/raster/models/rasterRgb.d.ts +9 -7
  199. package/es/raster/models/rasterRgb.js +36 -19
  200. package/es/raster/models/rasterTerrainRgb.d.ts +1 -1
  201. package/es/raster/models/rasterTerrainRgb.js +2 -2
  202. package/es/raster/shaders/raster/raster_2d_frag.glsl +34 -0
  203. package/es/raster/shaders/raster/raster_2d_vert.glsl +21 -0
  204. package/es/raster/shaders/rgb/raster_rgb_frag.glsl +26 -0
  205. package/es/raster/shaders/rgb/raster_rgb_vert.glsl +21 -0
  206. package/es/tile/core/BaseLayer.d.ts +2 -2
  207. package/es/tile/core/TileDebugLayer.d.ts +1 -1
  208. package/es/tile/interaction/getRasterData.d.ts +2 -2
  209. package/es/tile/interaction/utils.d.ts +1 -1
  210. package/es/tile/interface.d.ts +2 -2
  211. package/es/tile/service/TileLayerService.d.ts +2 -2
  212. package/es/tile/service/TilePickService.d.ts +2 -2
  213. package/es/tile/service/TileSourceService.d.ts +1 -1
  214. package/es/tile/tile/Tile.d.ts +2 -3
  215. package/es/tile/tile/VectorTile.d.ts +1 -1
  216. package/es/tile/tile/index.d.ts +1 -1
  217. package/es/tile/utils/constants.js +1 -1
  218. package/es/tile/utils/utils.d.ts +1 -1
  219. package/es/utils/blend.d.ts +1 -1
  220. package/es/utils/multiPassRender.d.ts +1 -1
  221. package/es/utils/stencil.d.ts +1 -1
  222. package/es/wind/index.d.ts +3 -3
  223. package/es/wind/models/wind.d.ts +1 -1
  224. package/lib/citybuliding/models/build.js +22 -11
  225. package/lib/citybuliding/shaders/build_frag.glsl +26 -23
  226. package/lib/citybuliding/shaders/build_vert.glsl +24 -16
  227. package/lib/core/BaseLayer.js +53 -9
  228. package/lib/core/BaseModel.js +41 -15
  229. package/lib/core/CommonStyleAttribute.js +3 -0
  230. package/lib/core/triangulation.js +12 -6
  231. package/lib/core/utils.js +1 -1
  232. package/lib/earth/models/atmosphere.js +15 -8
  233. package/lib/earth/models/base.js +21 -12
  234. package/lib/earth/models/bloomsphere.js +15 -8
  235. package/lib/earth/shaders/{atmosphere_frag.glsl → atmosphere/atmosphere_frag.glsl} +9 -6
  236. package/lib/earth/shaders/atmosphere/atmosphere_vert.glsl +22 -0
  237. package/lib/earth/shaders/base/base_frag.glsl +11 -0
  238. package/lib/earth/shaders/base/base_vert.glsl +52 -0
  239. package/lib/earth/shaders/bloomshpere/bloomsphere_frag.glsl +16 -0
  240. package/lib/earth/shaders/bloomshpere/bloomsphere_vert.glsl +19 -0
  241. package/lib/geometry/models/billboard.js +26 -11
  242. package/lib/geometry/models/plane.js +23 -6
  243. package/lib/geometry/models/sprite.js +44 -18
  244. package/lib/geometry/shaders/billboard_frag.glsl +11 -6
  245. package/lib/geometry/shaders/billboard_vert.glsl +12 -15
  246. package/lib/geometry/shaders/plane_frag.glsl +14 -10
  247. package/lib/geometry/shaders/plane_vert.glsl +11 -10
  248. package/lib/geometry/shaders/sprite_frag.glsl +11 -7
  249. package/lib/geometry/shaders/sprite_vert.glsl +10 -9
  250. package/lib/heatmap/models/grid.js +25 -12
  251. package/lib/heatmap/models/grid3d.js +29 -13
  252. package/lib/heatmap/models/heatmap.js +122 -74
  253. package/lib/heatmap/models/hexagon.js +25 -12
  254. package/lib/heatmap/shaders/grid/grid_frag.glsl +8 -0
  255. package/lib/heatmap/shaders/{grid_vert.glsl → grid/grid_vert.glsl} +15 -15
  256. package/lib/heatmap/shaders/grid3d/grid_3d_frag.glsl +8 -0
  257. package/{es/heatmap/shaders/hexagon_3d_vert.glsl → lib/heatmap/shaders/grid3d/grid_3d_vert.glsl} +13 -16
  258. package/lib/heatmap/shaders/heatmap/heatmap_3d_frag.glsl +24 -0
  259. package/lib/heatmap/shaders/{heatmap_3d_vert.glsl → heatmap/heatmap_3d_vert.glsl} +19 -9
  260. package/lib/heatmap/shaders/heatmap/heatmap_frag.glsl +52 -0
  261. package/lib/heatmap/shaders/heatmap/heatmap_framebuffer_frag.glsl +16 -0
  262. package/{es/heatmap/shaders → lib/heatmap/shaders/heatmap}/heatmap_framebuffer_vert.glsl +14 -9
  263. package/lib/heatmap/shaders/heatmap/heatmap_vert.glsl +19 -0
  264. package/lib/heatmap/shaders/hexagon/hexagon_frag.glsl +8 -0
  265. package/lib/heatmap/shaders/{hexagon_vert.glsl → hexagon/hexagon_vert.glsl} +12 -13
  266. package/lib/image/models/image.js +83 -44
  267. package/lib/image/shaders/image_frag.glsl +34 -7
  268. package/lib/image/shaders/image_vert.glsl +11 -5
  269. package/lib/line/index.js +2 -1
  270. package/lib/line/models/arc.js +57 -76
  271. package/lib/line/models/arc_3d.js +47 -59
  272. package/lib/line/models/flow.js +14 -12
  273. package/lib/line/models/great_circle.js +40 -29
  274. package/lib/line/models/index.js +4 -7
  275. package/lib/line/models/line.js +67 -142
  276. package/lib/line/models/{simpleLine.js → simple_line.js} +84 -74
  277. package/lib/line/models/wall.js +35 -27
  278. package/lib/line/shaders/{line_arc_frag.glsl → arc/line_arc_frag.glsl} +36 -26
  279. package/lib/line/shaders/{line_arc_vert.glsl → arc/line_arc_vert.glsl} +52 -22
  280. package/lib/line/shaders/{line_arc_3d_frag.glsl → arc3d/line_arc_3d_frag.glsl} +32 -24
  281. package/{es/line/shaders → lib/line/shaders/arc3d}/line_arc_3d_vert.glsl +37 -27
  282. package/lib/line/shaders/flow/flow_line_frag.glsl +5 -4
  283. package/lib/line/shaders/flow/flow_line_vert.glsl +17 -18
  284. package/lib/line/shaders/{line_arc_great_circle_frag.glsl → greatCircle/line_arc_great_circle_frag.glsl} +30 -30
  285. package/{es/line/shaders → lib/line/shaders/greatCircle}/line_arc_great_circle_vert.glsl +43 -40
  286. package/lib/line/shaders/{line_frag.glsl → line/line_frag.glsl} +55 -28
  287. package/lib/line/shaders/line/line_vert.glsl +114 -0
  288. package/lib/line/shaders/simple/simpleline_frag.glsl +27 -3
  289. package/lib/line/shaders/simple/simpleline_vert.glsl +20 -20
  290. package/lib/line/shaders/wall/wall_frag.glsl +31 -26
  291. package/lib/line/shaders/wall/wall_vert.glsl +29 -22
  292. package/lib/plugins/DataMappingPlugin.js +1 -3
  293. package/lib/plugins/FeatureScalePlugin.js +14 -3
  294. package/lib/plugins/PixelPickingPlugin.js +35 -48
  295. package/lib/plugins/ShaderUniformPlugin.js +11 -6
  296. package/lib/point/index.js +1 -0
  297. package/lib/point/models/billboard_point.js +18 -18
  298. package/lib/point/models/earthExtrude.js +21 -13
  299. package/lib/point/models/earthFill.js +18 -30
  300. package/lib/point/models/extrude.js +2 -11
  301. package/lib/point/models/fill.js +33 -84
  302. package/lib/point/models/{fillmage.js → fillImage.js} +24 -17
  303. package/lib/point/models/image.js +31 -17
  304. package/lib/point/models/index.js +2 -2
  305. package/lib/point/models/normal.js +13 -30
  306. package/lib/point/models/radar.js +23 -45
  307. package/lib/point/models/text.js +31 -32
  308. package/{es/point/shaders → lib/point/shaders/billboard}/billboard_point_frag.glsl +17 -13
  309. package/{es/point/shaders → lib/point/shaders/billboard}/billboard_point_vert.glsl +13 -14
  310. package/lib/point/shaders/earthExtrude/earthExtrude_frag.glsl +36 -0
  311. package/{es/point/shaders/earth/extrude_vert.glsl → lib/point/shaders/earthExtrude/earthExtrude_vert.glsl} +25 -22
  312. package/{es/point/shaders/earth/fill_frag.glsl → lib/point/shaders/earthFill/earthFill_frag.glsl} +20 -18
  313. package/{es/point/shaders/earth/fill_vert.glsl → lib/point/shaders/earthFill/earthFill_vert.glsl} +17 -22
  314. package/lib/point/shaders/extrude/extrude_vert.glsl +0 -3
  315. package/{es/point/shaders → lib/point/shaders/fill}/fill_frag.glsl +18 -1
  316. package/lib/point/shaders/{fill_vert.glsl → fill/fill_vert.glsl} +5 -4
  317. package/lib/point/shaders/fillImage/fillImage_frag.glsl +24 -0
  318. package/{es/point/shaders/image → lib/point/shaders/fillImage}/fillImage_vert.glsl +15 -17
  319. package/lib/point/shaders/image/image_frag.glsl +42 -0
  320. package/{es/point/shaders → lib/point/shaders/image}/image_vert.glsl +14 -13
  321. package/lib/point/shaders/radar/radar_frag.glsl +19 -14
  322. package/lib/point/shaders/radar/radar_vert.glsl +21 -24
  323. package/lib/point/shaders/text/text_frag.glsl +44 -0
  324. package/lib/point/shaders/{text_vert.glsl → text/text_vert.glsl} +19 -17
  325. package/lib/polygon/models/extrude.js +38 -15
  326. package/lib/polygon/models/extrusion.js +24 -7
  327. package/lib/polygon/models/fill.js +26 -13
  328. package/lib/polygon/models/ocean.js +30 -14
  329. package/lib/polygon/models/water.js +26 -10
  330. package/lib/polygon/shaders/extrude/polygon_extrude_frag.glsl +14 -14
  331. package/lib/polygon/shaders/extrude/polygon_extrude_picklight_frag.glsl +17 -15
  332. package/lib/polygon/shaders/extrude/polygon_extrude_picklight_vert.glsl +18 -18
  333. package/lib/polygon/shaders/extrude/polygon_extrude_vert.glsl +18 -24
  334. package/lib/polygon/shaders/extrude/polygon_extrudetex_frag.glsl +19 -15
  335. package/lib/polygon/shaders/extrude/polygon_extrudetex_vert.glsl +20 -24
  336. package/lib/polygon/shaders/extrusion/polygon_extrusion_frag.glsl +4 -8
  337. package/lib/polygon/shaders/extrusion/polygon_extrusion_vert.glsl +7 -16
  338. package/lib/polygon/shaders/fill/fill_frag.glsl +7 -0
  339. package/lib/polygon/shaders/fill/fill_linear_frag.glsl +20 -0
  340. package/{es/polygon/shaders/polygon_linear_vert.glsl → lib/polygon/shaders/fill/fill_linear_vert.glsl} +12 -11
  341. package/lib/polygon/shaders/{polygon_vert.glsl → fill/fill_vert.glsl} +6 -6
  342. package/lib/polygon/shaders/{water/polygon_ocean_frag.glsl → ocean/ocean_frag.glsl} +13 -13
  343. package/lib/polygon/shaders/ocean/ocean_vert.glsl +22 -0
  344. package/lib/polygon/shaders/water/polygon_water_frag.glsl +14 -12
  345. package/lib/polygon/shaders/water/polygon_water_vert.glsl +10 -10
  346. package/lib/raster/models/raster.js +54 -38
  347. package/lib/raster/models/rasterRgb.js +36 -19
  348. package/lib/raster/models/rasterTerrainRgb.js +2 -2
  349. package/lib/raster/shaders/raster/raster_2d_frag.glsl +34 -0
  350. package/lib/raster/shaders/raster/raster_2d_vert.glsl +21 -0
  351. package/lib/raster/shaders/rgb/raster_rgb_frag.glsl +26 -0
  352. package/lib/raster/shaders/rgb/raster_rgb_vert.glsl +21 -0
  353. package/lib/tile/utils/constants.js +1 -1
  354. package/package.json +7 -7
  355. package/es/earth/shaders/atmosphere_vert.glsl +0 -26
  356. package/es/earth/shaders/base_frag.glsl +0 -13
  357. package/es/earth/shaders/base_vert.glsl +0 -52
  358. package/es/earth/shaders/bloomsphere_frag.glsl +0 -15
  359. package/es/earth/shaders/bloomsphere_vert.glsl +0 -20
  360. package/es/heatmap/shaders/heatmap_3d_frag.glsl +0 -14
  361. package/es/heatmap/shaders/heatmap_frag.glsl +0 -47
  362. package/es/heatmap/shaders/heatmap_framebuffer_frag.glsl +0 -10
  363. package/es/heatmap/shaders/heatmap_vert.glsl +0 -10
  364. package/es/heatmap/shaders/hexagon_frag.glsl +0 -12
  365. package/es/line/models/earthArc_3d.d.ts +0 -17
  366. package/es/line/models/earthArc_3d.js +0 -285
  367. package/es/line/models/linearline.d.ts +0 -11
  368. package/es/line/models/linearline.js +0 -241
  369. package/es/line/models/simpleLine.js +0 -194
  370. package/es/line/shaders/arc_chunks.vert.glsl +0 -21
  371. package/es/line/shaders/dash/arc_dash_frag.glsl +0 -21
  372. package/es/line/shaders/dash/arc_dash_vert.glsl +0 -102
  373. package/es/line/shaders/dash/line_dash_frag.glsl +0 -27
  374. package/es/line/shaders/dash/line_dash_vert.glsl +0 -82
  375. package/es/line/shaders/line_arc2d_vert.glsl +0 -114
  376. package/es/line/shaders/line_bezier_vert.glsl +0 -85
  377. package/es/line/shaders/line_vert.glsl +0 -165
  378. package/es/line/shaders/linear/arc3d_linear_frag.glsl +0 -32
  379. package/es/line/shaders/linear/arc3d_linear_vert.glsl +0 -161
  380. package/es/line/shaders/linear/arc_linear_frag.glsl +0 -10
  381. package/es/line/shaders/linear/arc_linear_vert.glsl +0 -98
  382. package/es/line/shaders/linear/line_linear_frag.glsl +0 -25
  383. package/es/line/shaders/linearLine/line_linear_frag.glsl +0 -8
  384. package/es/line/shaders/linearLine/line_linear_vert.glsl +0 -93
  385. package/es/line/shaders/simple/simpleline_linear_frag.glsl +0 -8
  386. package/es/point/shaders/animate/wave_frag.glsl +0 -55
  387. package/es/point/shaders/earth/extrude_frag.glsl +0 -32
  388. package/es/point/shaders/image/fillImage_frag.glsl +0 -18
  389. package/es/point/shaders/image_frag.glsl +0 -37
  390. package/es/point/shaders/text_frag.glsl +0 -39
  391. package/es/polygon/shaders/polygon_frag.glsl +0 -7
  392. package/es/polygon/shaders/polygon_linear_frag.glsl +0 -15
  393. package/es/polygon/shaders/water/polygon_ocean_vert.glsl +0 -16
  394. package/es/raster/shaders/raster_2d_frag.glsl +0 -32
  395. package/es/raster/shaders/raster_2d_vert.glsl +0 -13
  396. package/es/raster/shaders/raster_frag.glsl +0 -11
  397. package/es/raster/shaders/raster_rgb_frag.glsl +0 -20
  398. package/es/raster/shaders/raster_vert.glsl +0 -34
  399. package/lib/earth/shaders/atmosphere_vert.glsl +0 -26
  400. package/lib/earth/shaders/base_frag.glsl +0 -13
  401. package/lib/earth/shaders/base_vert.glsl +0 -52
  402. package/lib/earth/shaders/bloomsphere_frag.glsl +0 -15
  403. package/lib/earth/shaders/bloomsphere_vert.glsl +0 -20
  404. package/lib/heatmap/shaders/heatmap_3d_frag.glsl +0 -14
  405. package/lib/heatmap/shaders/heatmap_frag.glsl +0 -47
  406. package/lib/heatmap/shaders/heatmap_framebuffer_frag.glsl +0 -10
  407. package/lib/heatmap/shaders/heatmap_vert.glsl +0 -10
  408. package/lib/heatmap/shaders/hexagon_frag.glsl +0 -12
  409. package/lib/line/models/earthArc_3d.js +0 -291
  410. package/lib/line/models/linearline.js +0 -247
  411. package/lib/line/shaders/arc_chunks.vert.glsl +0 -21
  412. package/lib/line/shaders/dash/arc_dash_frag.glsl +0 -21
  413. package/lib/line/shaders/dash/arc_dash_vert.glsl +0 -102
  414. package/lib/line/shaders/dash/line_dash_frag.glsl +0 -27
  415. package/lib/line/shaders/dash/line_dash_vert.glsl +0 -82
  416. package/lib/line/shaders/line_arc2d_vert.glsl +0 -114
  417. package/lib/line/shaders/line_bezier_vert.glsl +0 -85
  418. package/lib/line/shaders/line_vert.glsl +0 -165
  419. package/lib/line/shaders/linear/arc3d_linear_frag.glsl +0 -32
  420. package/lib/line/shaders/linear/arc3d_linear_vert.glsl +0 -161
  421. package/lib/line/shaders/linear/arc_linear_frag.glsl +0 -10
  422. package/lib/line/shaders/linear/arc_linear_vert.glsl +0 -98
  423. package/lib/line/shaders/linear/line_linear_frag.glsl +0 -25
  424. package/lib/line/shaders/linearLine/line_linear_frag.glsl +0 -8
  425. package/lib/line/shaders/linearLine/line_linear_vert.glsl +0 -93
  426. package/lib/line/shaders/simple/simpleline_linear_frag.glsl +0 -8
  427. package/lib/point/shaders/animate/wave_frag.glsl +0 -55
  428. package/lib/point/shaders/earth/extrude_frag.glsl +0 -32
  429. package/lib/point/shaders/image/fillImage_frag.glsl +0 -18
  430. package/lib/point/shaders/image_frag.glsl +0 -37
  431. package/lib/point/shaders/text_frag.glsl +0 -39
  432. package/lib/polygon/shaders/polygon_frag.glsl +0 -7
  433. package/lib/polygon/shaders/polygon_linear_frag.glsl +0 -15
  434. package/lib/polygon/shaders/water/polygon_ocean_vert.glsl +0 -16
  435. package/lib/raster/shaders/raster_2d_frag.glsl +0 -32
  436. package/lib/raster/shaders/raster_2d_vert.glsl +0 -13
  437. package/lib/raster/shaders/raster_frag.glsl +0 -11
  438. package/lib/raster/shaders/raster_rgb_frag.glsl +0 -20
  439. package/lib/raster/shaders/raster_vert.glsl +0 -34
  440. /package/es/point/shaders/{normal_frag.glsl → normal/normal_frag.glsl} +0 -0
  441. /package/es/point/shaders/{normal_vert.glsl → normal/normal_vert.glsl} +0 -0
  442. /package/es/raster/shaders/{raster_terrain_rgb_frag.glsl → terrain/terrain_rgb_frag.glsl} +0 -0
  443. /package/es/raster/shaders/{rater_terrain_rgb_vert.glsl → terrain/terrain_rgb_vert.glsl} +0 -0
  444. /package/lib/point/shaders/{normal_frag.glsl → normal/normal_frag.glsl} +0 -0
  445. /package/lib/point/shaders/{normal_vert.glsl → normal/normal_vert.glsl} +0 -0
  446. /package/lib/raster/shaders/{raster_terrain_rgb_frag.glsl → terrain/terrain_rgb_frag.glsl} +0 -0
  447. /package/lib/raster/shaders/{rater_terrain_rgb_vert.glsl → terrain/terrain_rgb_vert.glsl} +0 -0
@@ -1,21 +1,25 @@
1
1
  uniform sampler2D u_texture;
2
- uniform float u_time: 0.0;
3
- uniform float u_speed: 1.0;
4
- uniform float u_opacity: 1.0;
2
+ layout(std140) uniform commonUniforms {
3
+ float u_speed;
4
+ float u_time;
5
+ };
5
6
 
6
- varying vec4 v_Color;
7
- varying vec2 v_uv;
7
+ out vec4 outputColor;
8
+
9
+
10
+ in vec4 v_Color;
11
+ in vec2 v_uv;
8
12
 
9
13
  float rand(vec2 n) { return 0.5 + 0.5 * fract(sin(dot(n.xy, vec2(12.9898, 78.233)))* 43758.5453); }
10
14
 
11
15
  float water(vec3 p) {
12
16
  float t = u_time * u_speed;
13
17
  p.z += t * 2.; p.x += t * 2.;
14
- vec3 c1 = texture2D(u_texture, p.xz / 30.).xyz;
18
+ vec3 c1 = texture(SAMPLER_2D(u_texture), p.xz / 30.).xyz;
15
19
  p.z += t * 3.; p.x += t * 0.52;
16
- vec3 c2 = texture2D(u_texture, p.xz / 30.).xyz;
20
+ vec3 c2 = texture(SAMPLER_2D(u_texture), p.xz / 30.).xyz;
17
21
  p.z += t * 4.; p.x += t * 0.8;
18
- vec3 c3 = texture2D(u_texture, p.xz / 30.).xyz;
22
+ vec3 c3 = texture(SAMPLER_2D(u_texture), p.xz / 30.).xyz;
19
23
  c1 += c2 - c3;
20
24
  float z = (c1.x + c1.y + c1.z) / 3.;
21
25
  return p.y + z / 4.;
@@ -62,10 +66,8 @@ float calSpc() {
62
66
  }
63
67
 
64
68
  void main() {
65
- float opacity = u_opacity;
66
- gl_FragColor = v_Color;
67
- gl_FragColor.a *= opacity;
68
69
 
70
+ outputColor = v_Color;
69
71
  float spc = calSpc();
70
- gl_FragColor += spc * 0.4;
72
+ outputColor += spc * 0.4;
71
73
  }
@@ -1,20 +1,20 @@
1
- attribute vec4 a_Color;
2
- attribute vec2 a_uv;
3
- attribute vec3 a_Position;
4
- uniform mat4 u_ModelMatrix;
5
-
6
-
7
- varying vec4 v_Color;
8
- varying vec2 v_uv;
9
- uniform float u_opacity: 1.0;
1
+ layout(location = 0) in vec3 a_Position;
2
+ layout(location = 1) in vec4 a_Color;
3
+ layout(location = 14) in vec2 a_uv;
4
+ layout(std140) uniform commonUniforms {
5
+ float u_speed;
6
+ float u_time;
7
+ };
8
+ out vec4 v_Color;
9
+ out vec2 v_uv;
10
10
 
11
11
 
12
12
  #pragma include "projection"
13
13
 
14
14
  void main() {
15
15
  v_uv = a_uv;
16
-
17
16
  v_Color = a_Color;
17
+ v_Color.a *= opacity;
18
18
  vec4 project_pos = project_position(vec4(a_Position, 1.0));
19
19
 
20
20
  gl_Position = project_common_position_to_clipspace_v2(vec4(project_pos.xyz, 1.0));
@@ -1,4 +1,4 @@
1
- import { IParseDataItem } from '@antv/l7-core';
1
+ import type { IParseDataItem } from '@antv/l7-core';
2
2
  export declare function RasterTriangulation(parserData: IParseDataItem): {
3
3
  vertices: number[];
4
4
  indices: number[];
@@ -1,6 +1,6 @@
1
1
  import BaseLayer from '../core/BaseLayer';
2
- import { IRasterLayerStyleOptions } from '../core/interface';
3
- import { RasterModelType } from './models/index';
2
+ import type { IRasterLayerStyleOptions } from '../core/interface';
3
+ import type { RasterModelType } from './models/index';
4
4
  export default class RaterLayer extends BaseLayer<IRasterLayerStyleOptions> {
5
5
  type: string;
6
6
  buildModels(): Promise<void>;
@@ -1,16 +1,17 @@
1
- import { IModel, ITexture2D } from '@antv/l7-core';
1
+ import type { IModel, ITexture2D } from '@antv/l7-core';
2
2
  import BaseModel from '../../core/BaseModel';
3
3
  export default class RasterModel extends BaseModel {
4
4
  protected texture: ITexture2D;
5
5
  protected colorTexture: ITexture2D;
6
6
  getUninforms(): {
7
- u_opacity: number;
8
- u_texture: ITexture2D;
9
- u_domain: [number, number];
10
- u_clampLow: boolean;
11
- u_clampHigh: boolean;
12
- u_noDataValue: number;
13
- u_colorTexture: ITexture2D;
7
+ [x: string]: any;
8
+ };
9
+ protected getCommonUniformsInfo(): {
10
+ uniformsArray: number[];
11
+ uniformsLength: number;
12
+ uniformsOption: {
13
+ [key: string]: any;
14
+ };
14
15
  };
15
16
  private getRasterData;
16
17
  initModels(): 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 _classCallCheck from "@babel/runtime/helpers/esm/classCallCheck";
3
4
  import _createClass from "@babel/runtime/helpers/esm/createClass";
4
5
  import _inherits from "@babel/runtime/helpers/esm/inherits";
@@ -10,11 +11,12 @@ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Re
10
11
  import { AttributeType, gl } from '@antv/l7-core';
11
12
  import { getDefaultDomain } from '@antv/l7-utils';
12
13
  import BaseModel from "../../core/BaseModel";
14
+ import { ShaderLocation } from "../../core/CommonStyleAttribute";
13
15
  import { RasterImageTriangulation } from "../../core/triangulation";
14
- /* babel-plugin-inline-import '../shaders/raster_2d_frag.glsl' */
15
- var rasterFrag = "precision mediump float;\nuniform float u_opacity: 1.0;\nuniform sampler2D u_texture;\nuniform sampler2D u_colorTexture;\nuniform float u_min;\nuniform float u_max;\nuniform vec2 u_domain;\nuniform float u_noDataValue;\nuniform bool u_clampLow: true;\nuniform bool u_clampHigh: true;\nvarying vec2 v_texCoord;\nbool isnan_emu(float x) { return (x > 0.0 || x < 0.0) ? x != x : x != 0.0; }\n\n\nvoid main() {\n\n float value = texture2D(u_texture,vec2(v_texCoord.x,v_texCoord.y)).r;\n if (value == u_noDataValue || isnan_emu(value))\n discard;\n else if ((!u_clampLow && value < u_domain[0]) || (!u_clampHigh && value > u_domain[1]))\n discard;\n else {\n float normalisedValue =(value - u_domain[0]) / (u_domain[1] -u_domain[0]);\n vec4 color = texture2D(u_colorTexture,vec2(normalisedValue, 0));\n \n gl_FragColor = color;\n gl_FragColor.a = gl_FragColor.a * u_opacity ;\n if(gl_FragColor.a < 0.01)\n discard;\n \n }\n}\n";
16
- /* babel-plugin-inline-import '../shaders/raster_2d_vert.glsl' */
17
- var rasterVert = "precision highp float;\nuniform mat4 u_ModelMatrix;\n\nattribute vec3 a_Position;\nattribute vec2 a_Uv;\nvarying vec2 v_texCoord;\n#pragma include \"projection\"\nvoid main() {\n v_texCoord = a_Uv;\n vec4 project_pos = project_position(vec4(a_Position, 1.0));\n\n gl_Position = project_common_position_to_clipspace_v2(vec4(project_pos.xy,0., 1.0));\n}\n";
16
+ /* babel-plugin-inline-import '../shaders/raster/raster_2d_frag.glsl' */
17
+ var rasterFrag = "layout(std140) uniform commonUniforms {\n vec2 u_domain;\n float u_opacity;\n float u_noDataValue;\n bool u_clampLow;\n bool u_clampHigh;\n};\n\nuniform sampler2D u_rasterTexture;\nuniform sampler2D u_colorTexture;\n\nin vec2 v_texCoord;\n\nbool isnan_emu(float x) { return (x > 0.0 || x < 0.0) ? x != x : x != 0.0; }\n\nout vec4 outputColor;\n\nvoid main() {\n // Can use any component here since u_rasterTexture is under luminance format.\n float value = texture(SAMPLER_2D(u_rasterTexture), vec2(v_texCoord.x, v_texCoord.y)).r * 255.0;\n if (value == u_noDataValue || isnan_emu(value)) {\n discard;\n } else if ((!u_clampLow && value < u_domain[0]) || (!u_clampHigh && value > u_domain[1])) {\n discard;\n } else {\n float normalisedValue =(value - u_domain[0]) / (u_domain[1] - u_domain[0]);\n vec4 color = texture(SAMPLER_2D(u_colorTexture), vec2(normalisedValue, 0));\n \n outputColor = color;\n outputColor.a = outputColor.a * u_opacity ;\n if (outputColor.a < 0.01)\n discard;\n }\n}\n";
18
+ /* babel-plugin-inline-import '../shaders/raster/raster_2d_vert.glsl' */
19
+ var rasterVert = "\nlayout(location = 0) in vec3 a_Position;\nlayout(location = 14) in vec2 a_Uv;\n\nlayout(std140) uniform commonUniforms {\n vec2 u_domain;\n float u_opacity;\n float u_noDataValue;\n bool u_clampLow;\n bool u_clampHigh;\n};\n\nout vec2 v_texCoord;\n\n#pragma include \"projection\"\n\nvoid main() {\n v_texCoord = a_Uv;\n vec4 project_pos = project_position(vec4(a_Position, 1.0));\n gl_Position = project_common_position_to_clipspace_v2(vec4(project_pos.xy,0., 1.0));\n}\n";
18
20
  var RasterModel = /*#__PURE__*/function (_BaseModel) {
19
21
  _inherits(RasterModel, _BaseModel);
20
22
  var _super = _createSuper(RasterModel);
@@ -25,6 +27,14 @@ var RasterModel = /*#__PURE__*/function (_BaseModel) {
25
27
  _createClass(RasterModel, [{
26
28
  key: "getUninforms",
27
29
  value: function getUninforms() {
30
+ var commoninfo = this.getCommonUniformsInfo();
31
+ var attributeInfo = this.getUniformsBufferInfo(this.getStyleAttribute());
32
+ this.updateStyleUnifoms();
33
+ return _objectSpread(_objectSpread({}, commoninfo.uniformsOption), attributeInfo.uniformsOption);
34
+ }
35
+ }, {
36
+ key: "getCommonUniformsInfo",
37
+ value: function getCommonUniformsInfo() {
28
38
  var _ref = this.layer.getLayerConfig(),
29
39
  _ref$opacity = _ref.opacity,
30
40
  opacity = _ref$opacity === void 0 ? 1 : _ref$opacity,
@@ -38,15 +48,18 @@ var RasterModel = /*#__PURE__*/function (_BaseModel) {
38
48
  rampColors = _ref.rampColors;
39
49
  var newdomain = domain || getDefaultDomain(rampColors);
40
50
  this.colorTexture = this.layer.textureService.getColorTexture(rampColors, newdomain);
41
- return {
42
- u_opacity: opacity || 1,
43
- u_texture: this.texture,
51
+ var commonOptions = {
44
52
  u_domain: newdomain,
53
+ u_opacity: opacity || 1,
54
+ u_noDataValue: noDataValue,
45
55
  u_clampLow: clampLow,
46
56
  u_clampHigh: typeof clampHigh !== 'undefined' ? clampHigh : clampLow,
47
- u_noDataValue: noDataValue,
57
+ u_rasterTexture: this.texture,
48
58
  u_colorTexture: this.colorTexture
49
59
  };
60
+ this.textures = [this.texture, this.colorTexture];
61
+ var commonBufferInfo = this.getUniformsBufferInfo(commonOptions);
62
+ return commonBufferInfo;
50
63
  }
51
64
  }, {
52
65
  key: "getRasterData",
@@ -93,29 +106,50 @@ var RasterModel = /*#__PURE__*/function (_BaseModel) {
93
106
  key: "initModels",
94
107
  value: function () {
95
108
  var _initModels = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2() {
96
- var source, createTexture2D, parserDataItem, _yield$this$getRaster, data, width, height, model;
97
109
  return _regeneratorRuntime.wrap(function _callee2$(_context2) {
98
110
  while (1) switch (_context2.prev = _context2.next) {
99
111
  case 0:
112
+ return _context2.abrupt("return", this.buildModels());
113
+ case 1:
114
+ case "end":
115
+ return _context2.stop();
116
+ }
117
+ }, _callee2, this);
118
+ }));
119
+ function initModels() {
120
+ return _initModels.apply(this, arguments);
121
+ }
122
+ return initModels;
123
+ }()
124
+ }, {
125
+ key: "buildModels",
126
+ value: function () {
127
+ var _buildModels = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee3() {
128
+ var source, createTexture2D, parserDataItem, _yield$this$getRaster, data, width, height, model;
129
+ return _regeneratorRuntime.wrap(function _callee3$(_context3) {
130
+ while (1) switch (_context3.prev = _context3.next) {
131
+ case 0:
132
+ this.initUniformsBuffer();
100
133
  source = this.layer.getSource();
101
134
  createTexture2D = this.rendererService.createTexture2D;
102
135
  parserDataItem = source.data.dataArray[0];
103
- _context2.next = 5;
136
+ _context3.next = 6;
104
137
  return this.getRasterData(parserDataItem);
105
- case 5:
106
- _yield$this$getRaster = _context2.sent;
138
+ case 6:
139
+ _yield$this$getRaster = _context3.sent;
107
140
  data = _yield$this$getRaster.data;
108
141
  width = _yield$this$getRaster.width;
109
142
  height = _yield$this$getRaster.height;
110
143
  this.texture = createTexture2D({
111
- data: data,
144
+ data: new Uint8Array(data),
112
145
  width: width,
113
146
  height: height,
114
147
  format: gl.LUMINANCE,
115
- type: gl.FLOAT
148
+ type: gl.UNSIGNED_BYTE,
149
+ alignment: 1
116
150
  // aniso: 4,
117
151
  });
118
- _context2.next = 12;
152
+ _context3.next = 13;
119
153
  return this.layer.buildLayerModel({
120
154
  moduleName: 'rasterImageData',
121
155
  vertexShader: rasterVert,
@@ -126,29 +160,10 @@ var RasterModel = /*#__PURE__*/function (_BaseModel) {
126
160
  enable: false
127
161
  }
128
162
  });
129
- case 12:
130
- model = _context2.sent;
131
- return _context2.abrupt("return", [model]);
132
- case 14:
133
- case "end":
134
- return _context2.stop();
135
- }
136
- }, _callee2, this);
137
- }));
138
- function initModels() {
139
- return _initModels.apply(this, arguments);
140
- }
141
- return initModels;
142
- }()
143
- }, {
144
- key: "buildModels",
145
- value: function () {
146
- var _buildModels = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee3() {
147
- return _regeneratorRuntime.wrap(function _callee3$(_context3) {
148
- while (1) switch (_context3.prev = _context3.next) {
149
- case 0:
150
- return _context3.abrupt("return", this.initModels());
151
- case 1:
163
+ case 13:
164
+ model = _context3.sent;
165
+ return _context3.abrupt("return", [model]);
166
+ case 15:
152
167
  case "end":
153
168
  return _context3.stop();
154
169
  }
@@ -174,6 +189,7 @@ var RasterModel = /*#__PURE__*/function (_BaseModel) {
174
189
  name: 'uv',
175
190
  type: AttributeType.Attribute,
176
191
  descriptor: {
192
+ shaderLocation: ShaderLocation.UV,
177
193
  name: 'a_Uv',
178
194
  buffer: {
179
195
  // give the WebGL driver a hint that this buffer may change
@@ -1,15 +1,17 @@
1
- import { IModel, ITexture2D } from '@antv/l7-core';
1
+ import type { IModel, ITexture2D } from '@antv/l7-core';
2
2
  import BaseModel from '../../core/BaseModel';
3
3
  export default class RasterModel extends BaseModel {
4
4
  protected texture: ITexture2D;
5
5
  protected dataOption: any;
6
6
  getUninforms(): {
7
- u_opacity: number;
8
- u_texture: ITexture2D;
9
- u_noDataValue: number;
10
- u_rminmax: any;
11
- u_gminmax: any;
12
- u_bminmax: any;
7
+ [x: string]: any;
8
+ };
9
+ protected getCommonUniformsInfo(): {
10
+ uniformsArray: number[];
11
+ uniformsLength: number;
12
+ uniformsOption: {
13
+ [key: string]: any;
14
+ };
13
15
  };
14
16
  private getRasterData;
15
17
  initModels(): Promise<IModel[]>;
@@ -1,6 +1,6 @@
1
- import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
2
1
  import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
3
2
  import _asyncToGenerator from "@babel/runtime/helpers/esm/asyncToGenerator";
3
+ import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
4
4
  import _classCallCheck from "@babel/runtime/helpers/esm/classCallCheck";
5
5
  import _createClass from "@babel/runtime/helpers/esm/createClass";
6
6
  import _assertThisInitialized from "@babel/runtime/helpers/esm/assertThisInitialized";
@@ -15,11 +15,12 @@ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflec
15
15
  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; } }
16
16
  import { AttributeType, gl } from '@antv/l7-core';
17
17
  import BaseModel from "../../core/BaseModel";
18
+ import { ShaderLocation } from "../../core/CommonStyleAttribute";
18
19
  import { RasterImageTriangulation } from "../../core/triangulation";
19
- /* babel-plugin-inline-import '../shaders/raster_2d_vert.glsl' */
20
- var rasterVert = "precision highp float;\nuniform mat4 u_ModelMatrix;\n\nattribute vec3 a_Position;\nattribute vec2 a_Uv;\nvarying vec2 v_texCoord;\n#pragma include \"projection\"\nvoid main() {\n v_texCoord = a_Uv;\n vec4 project_pos = project_position(vec4(a_Position, 1.0));\n\n gl_Position = project_common_position_to_clipspace_v2(vec4(project_pos.xy,0., 1.0));\n}\n";
21
- /* babel-plugin-inline-import '../shaders/raster_rgb_frag.glsl' */
22
- var rasterFrag = "precision mediump float;\nuniform vec2 u_rminmax: vec2(0,255); \nuniform vec2 u_gminmax: vec2(0,255);\nuniform vec2 u_bminmax: vec2(0,255);\nuniform float u_opacity: 1.0;\nuniform sampler2D u_texture;\nuniform float u_noDataValue : 0.0;\nvarying vec2 v_texCoord;\n\nvoid main() {\n vec3 rgb = texture2D(u_texture,vec2(v_texCoord.x,v_texCoord.y)).rgb;\n if(rgb == vec3(u_noDataValue)) {\n gl_FragColor = vec4(0.0, 0, 0, 0.0);\n } else {\n gl_FragColor = vec4(rgb.r / (u_rminmax.y -u_rminmax.x), rgb.g /(u_gminmax.y -u_gminmax.x), rgb.b/ (u_bminmax.y - u_bminmax.x), u_opacity);\n }\n if(gl_FragColor.a < 0.01)\n discard;\n \n}";
20
+ /* babel-plugin-inline-import '../shaders/rgb/raster_rgb_frag.glsl' */
21
+ var rasterFrag = "uniform sampler2D u_texture;\nlayout(std140) uniform commonUniforms {\n vec2 u_rminmax;\n vec2 u_gminmax;\n vec2 u_bminmax;\n float u_opacity;\n float u_noDataValue;\n};\n\nin vec2 v_texCoord;\n\nout vec4 outputColor;\n\nvoid main() {\n\n vec3 rgb = texture(SAMPLER_2D(u_texture),vec2(v_texCoord.x,v_texCoord.y)).rgb;\n\n if(rgb == vec3(u_noDataValue)) {\n outputColor = vec4(0.0, 0, 0, 0.0);\n } else {\n outputColor = vec4(rgb.r / (u_rminmax.y -u_rminmax.x), rgb.g /(u_gminmax.y -u_gminmax.x), rgb.b/ (u_bminmax.y - u_bminmax.x), u_opacity);\n }\n if(outputColor.a < 0.01)\n discard;\n \n}";
22
+ /* babel-plugin-inline-import '../shaders/rgb/raster_rgb_vert.glsl' */
23
+ var rasterVert = "\nlayout(location = 0) in vec3 a_Position;\nlayout(location = 14) in vec2 a_Uv;\n\nlayout(std140) uniform commonUniforms {\n vec2 u_rminmax;\n vec2 u_gminmax;\n vec2 u_bminmax;\n float u_opacity;\n float u_noDataValue;\n};\n\nout vec2 v_texCoord;\n\n#pragma include \"projection\"\n\nvoid main() {\n v_texCoord = a_Uv;\n vec4 project_pos = project_position(vec4(a_Position, 1.0));\n gl_Position = project_common_position_to_clipspace_v2(vec4(project_pos.xy,0., 1.0));\n}\n";
23
24
  var RasterModel = /*#__PURE__*/function (_BaseModel) {
24
25
  _inherits(RasterModel, _BaseModel);
25
26
  var _super = _createSuper(RasterModel);
@@ -36,23 +37,37 @@ var RasterModel = /*#__PURE__*/function (_BaseModel) {
36
37
  _createClass(RasterModel, [{
37
38
  key: "getUninforms",
38
39
  value: function getUninforms() {
40
+ var commoninfo = this.getCommonUniformsInfo();
41
+ var attributeInfo = this.getUniformsBufferInfo(this.getStyleAttribute());
42
+ this.updateStyleUnifoms();
43
+ return _objectSpread(_objectSpread({}, commoninfo.uniformsOption), attributeInfo.uniformsOption);
44
+ }
45
+ }, {
46
+ key: "getCommonUniformsInfo",
47
+ value: function getCommonUniformsInfo() {
39
48
  var _ref = this.layer.getLayerConfig(),
40
49
  _ref$opacity = _ref.opacity,
41
50
  opacity = _ref$opacity === void 0 ? 1 : _ref$opacity,
42
51
  _ref$noDataValue = _ref.noDataValue,
43
52
  noDataValue = _ref$noDataValue === void 0 ? 0 : _ref$noDataValue;
44
53
  var _this$dataOption = this.dataOption,
45
- rMinMax = _this$dataOption.rMinMax,
46
- gMinMax = _this$dataOption.gMinMax,
47
- bMinMax = _this$dataOption.bMinMax;
48
- return {
49
- u_opacity: opacity || 1,
50
- u_texture: this.texture,
51
- u_noDataValue: noDataValue,
54
+ _this$dataOption$rMin = _this$dataOption.rMinMax,
55
+ rMinMax = _this$dataOption$rMin === void 0 ? [0, 255] : _this$dataOption$rMin,
56
+ _this$dataOption$gMin = _this$dataOption.gMinMax,
57
+ gMinMax = _this$dataOption$gMin === void 0 ? [0, 255] : _this$dataOption$gMin,
58
+ _this$dataOption$bMin = _this$dataOption.bMinMax,
59
+ bMinMax = _this$dataOption$bMin === void 0 ? [0, 255] : _this$dataOption$bMin;
60
+ var commonOptions = {
52
61
  u_rminmax: rMinMax,
53
62
  u_gminmax: gMinMax,
54
- u_bminmax: bMinMax
63
+ u_bminmax: bMinMax,
64
+ u_opacity: opacity || 1,
65
+ u_noDataValue: noDataValue,
66
+ u_texture: this.texture
55
67
  };
68
+ this.textures = [this.texture];
69
+ var commonBufferInfo = this.getUniformsBufferInfo(commonOptions);
70
+ return commonBufferInfo;
56
71
  }
57
72
  }, {
58
73
  key: "getRasterData",
@@ -109,25 +124,26 @@ var RasterModel = /*#__PURE__*/function (_BaseModel) {
109
124
  return _regeneratorRuntime.wrap(function _callee2$(_context2) {
110
125
  while (1) switch (_context2.prev = _context2.next) {
111
126
  case 0:
127
+ this.initUniformsBuffer();
112
128
  source = this.layer.getSource();
113
129
  createTexture2D = this.rendererService.createTexture2D;
114
130
  parserDataItem = source.data.dataArray[0];
115
- _context2.next = 5;
131
+ _context2.next = 6;
116
132
  return this.getRasterData(parserDataItem);
117
- case 5:
133
+ case 6:
118
134
  _yield$this$getRaster = _context2.sent;
119
135
  data = _yield$this$getRaster.data;
120
136
  width = _yield$this$getRaster.width;
121
137
  height = _yield$this$getRaster.height;
122
138
  this.texture = createTexture2D({
123
139
  // @ts-ignore
124
- data: data,
140
+ data: new Float32Array(data),
125
141
  width: width,
126
142
  height: height,
127
143
  format: gl.RGB,
128
144
  type: gl.FLOAT
129
145
  });
130
- _context2.next = 12;
146
+ _context2.next = 13;
131
147
  return this.layer.buildLayerModel({
132
148
  moduleName: 'rasterImageDataRGBA',
133
149
  vertexShader: rasterVert,
@@ -138,10 +154,10 @@ var RasterModel = /*#__PURE__*/function (_BaseModel) {
138
154
  enable: false
139
155
  }
140
156
  });
141
- case 12:
157
+ case 13:
142
158
  model = _context2.sent;
143
159
  return _context2.abrupt("return", [model]);
144
- case 14:
160
+ case 15:
145
161
  case "end":
146
162
  return _context2.stop();
147
163
  }
@@ -186,6 +202,7 @@ var RasterModel = /*#__PURE__*/function (_BaseModel) {
186
202
  type: AttributeType.Attribute,
187
203
  descriptor: {
188
204
  name: 'a_Uv',
205
+ shaderLocation: ShaderLocation.UV,
189
206
  buffer: {
190
207
  // give the WebGL driver a hint that this buffer may change
191
208
  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
  export default class RasterTerrainRGB extends BaseModel {
4
4
  protected texture: ITexture2D;
@@ -11,9 +11,9 @@ import { AttributeType, gl } from '@antv/l7-core';
11
11
  import { getDefaultDomain } from '@antv/l7-utils';
12
12
  import BaseModel from "../../core/BaseModel";
13
13
  import { RasterImageTriangulation } from "../../core/triangulation";
14
- /* babel-plugin-inline-import '../shaders/raster_terrain_rgb_frag.glsl' */
14
+ /* babel-plugin-inline-import '../shaders/terrain/terrain_rgb_frag.glsl' */
15
15
  var Raster_terrainFrag = "precision mediump float;\nuniform float u_opacity: 1.0;\n\nuniform sampler2D u_texture;\nuniform sampler2D u_colorTexture;\n\nvarying vec2 v_texCoord;\n\nuniform vec2 u_domain;\nuniform float u_noDataValue;\nuniform bool u_clampLow: true;\nuniform bool u_clampHigh: true;\nuniform vec4 u_unpack;\n\nfloat getElevation(vec2 coord, float bias) {\n // Convert encoded elevation value to meters\n vec4 data = texture2D(u_texture, coord,bias) * 255.0;\n data.a = -1.0;\n return dot(data, u_unpack);\n}\n\nvec4 getColor(float value) {\n float normalisedValue =(value- u_domain[0]) / (u_domain[1] - u_domain[0]);\n vec2 coord = vec2(normalisedValue, 0);\n return texture2D(u_colorTexture, coord);\n}\n\nvoid main() {\n float value = getElevation(v_texCoord,0.0);\n if (value == u_noDataValue) {\n gl_FragColor = vec4(0.0, 0, 0, 0.0);\n } else if ((!u_clampLow && value < u_domain[0]) || (!u_clampHigh && value > u_domain[1])) {\n gl_FragColor = vec4(0.0, 0, 0, 0.0);\n } else {\n \n gl_FragColor = getColor(value);\n gl_FragColor.a = gl_FragColor.a * u_opacity ;\n if(gl_FragColor.a < 0.01)\n discard;\n }\n}\n";
16
- /* babel-plugin-inline-import '../shaders/rater_terrain_rgb_vert.glsl' */
16
+ /* babel-plugin-inline-import '../shaders/terrain/terrain_rgb_vert.glsl' */
17
17
  var Raster_terrainVert = "precision highp float;\nuniform mat4 u_ModelMatrix;\n\nattribute vec3 a_Position;\nattribute vec2 a_Uv;\nvarying vec2 v_texCoord;\n#pragma include \"projection\"\nvoid main() {\n v_texCoord = a_Uv;\n vec4 project_pos = project_position(vec4(a_Position, 1.0));\n gl_Position = project_common_position_to_clipspace_v2(vec4(project_pos.xy,0., 1.0));\n}\n";
18
18
  var RasterTerrainRGB = /*#__PURE__*/function (_BaseModel) {
19
19
  _inherits(RasterTerrainRGB, _BaseModel);
@@ -0,0 +1,34 @@
1
+ layout(std140) uniform commonUniforms {
2
+ vec2 u_domain;
3
+ float u_opacity;
4
+ float u_noDataValue;
5
+ bool u_clampLow;
6
+ bool u_clampHigh;
7
+ };
8
+
9
+ uniform sampler2D u_rasterTexture;
10
+ uniform sampler2D u_colorTexture;
11
+
12
+ in vec2 v_texCoord;
13
+
14
+ bool isnan_emu(float x) { return (x > 0.0 || x < 0.0) ? x != x : x != 0.0; }
15
+
16
+ out vec4 outputColor;
17
+
18
+ void main() {
19
+ // Can use any component here since u_rasterTexture is under luminance format.
20
+ float value = texture(SAMPLER_2D(u_rasterTexture), vec2(v_texCoord.x, v_texCoord.y)).r * 255.0;
21
+ if (value == u_noDataValue || isnan_emu(value)) {
22
+ discard;
23
+ } else if ((!u_clampLow && value < u_domain[0]) || (!u_clampHigh && value > u_domain[1])) {
24
+ discard;
25
+ } else {
26
+ float normalisedValue =(value - u_domain[0]) / (u_domain[1] - u_domain[0]);
27
+ vec4 color = texture(SAMPLER_2D(u_colorTexture), vec2(normalisedValue, 0));
28
+
29
+ outputColor = color;
30
+ outputColor.a = outputColor.a * u_opacity ;
31
+ if (outputColor.a < 0.01)
32
+ discard;
33
+ }
34
+ }
@@ -0,0 +1,21 @@
1
+
2
+ layout(location = 0) in vec3 a_Position;
3
+ layout(location = 14) in vec2 a_Uv;
4
+
5
+ layout(std140) uniform commonUniforms {
6
+ vec2 u_domain;
7
+ float u_opacity;
8
+ float u_noDataValue;
9
+ bool u_clampLow;
10
+ bool u_clampHigh;
11
+ };
12
+
13
+ out vec2 v_texCoord;
14
+
15
+ #pragma include "projection"
16
+
17
+ void main() {
18
+ v_texCoord = a_Uv;
19
+ vec4 project_pos = project_position(vec4(a_Position, 1.0));
20
+ gl_Position = project_common_position_to_clipspace_v2(vec4(project_pos.xy,0., 1.0));
21
+ }
@@ -0,0 +1,26 @@
1
+ uniform sampler2D u_texture;
2
+ layout(std140) uniform commonUniforms {
3
+ vec2 u_rminmax;
4
+ vec2 u_gminmax;
5
+ vec2 u_bminmax;
6
+ float u_opacity;
7
+ float u_noDataValue;
8
+ };
9
+
10
+ in vec2 v_texCoord;
11
+
12
+ out vec4 outputColor;
13
+
14
+ void main() {
15
+
16
+ vec3 rgb = texture(SAMPLER_2D(u_texture),vec2(v_texCoord.x,v_texCoord.y)).rgb;
17
+
18
+ if(rgb == vec3(u_noDataValue)) {
19
+ outputColor = vec4(0.0, 0, 0, 0.0);
20
+ } else {
21
+ outputColor = vec4(rgb.r / (u_rminmax.y -u_rminmax.x), rgb.g /(u_gminmax.y -u_gminmax.x), rgb.b/ (u_bminmax.y - u_bminmax.x), u_opacity);
22
+ }
23
+ if(outputColor.a < 0.01)
24
+ discard;
25
+
26
+ }
@@ -0,0 +1,21 @@
1
+
2
+ layout(location = 0) in vec3 a_Position;
3
+ layout(location = 14) in vec2 a_Uv;
4
+
5
+ layout(std140) uniform commonUniforms {
6
+ vec2 u_rminmax;
7
+ vec2 u_gminmax;
8
+ vec2 u_bminmax;
9
+ float u_opacity;
10
+ float u_noDataValue;
11
+ };
12
+
13
+ out vec2 v_texCoord;
14
+
15
+ #pragma include "projection"
16
+
17
+ void main() {
18
+ v_texCoord = a_Uv;
19
+ vec4 project_pos = project_position(vec4(a_Position, 1.0));
20
+ gl_Position = project_common_position_to_clipspace_v2(vec4(project_pos.xy,0., 1.0));
21
+ }
@@ -1,5 +1,5 @@
1
- import { IInteractionTarget, ILayer, ILayerService, IMapService, IPickingService, IRendererService } from '@antv/l7-core';
2
- import { SourceTile, TilesetManager } from '@antv/l7-utils';
1
+ import type { IInteractionTarget, ILayer, ILayerService, IMapService, IPickingService, IRendererService } from '@antv/l7-core';
2
+ import type { SourceTile, TilesetManager } from '@antv/l7-utils';
3
3
  import { TileLayerService } from '../service/TileLayerService';
4
4
  import { TilePickService } from '../service/TilePickService';
5
5
  export default class BaseTileLayer {
@@ -1,5 +1,5 @@
1
1
  import BaseLayer from '../../core/BaseLayer';
2
- import { IBaseLayerStyleOptions } from '../../core/interface';
2
+ import type { IBaseLayerStyleOptions } from '../../core/interface';
3
3
  export default class TileDebugLayer extends BaseLayer<IBaseLayerStyleOptions> {
4
4
  type: string;
5
5
  zIndex: number;
@@ -1,4 +1,4 @@
1
- import { IMapService, IRendererService } from '@antv/l7-core';
2
- import { SourceTile } from '@antv/l7-utils';
1
+ import type { IMapService, IRendererService } from '@antv/l7-core';
2
+ import type { SourceTile } from '@antv/l7-utils';
3
3
  export declare function readRasterValue(tile: SourceTile, mapService: IMapService, x: number, y: number): any;
4
4
  export declare function readPixel(x: number, y: number, rendererService: IRendererService): false | Uint8Array;
@@ -1,4 +1,4 @@
1
- import { ILayer } from '@antv/l7-core';
1
+ import type { ILayer } from '@antv/l7-core';
2
2
  export declare function clearPickState(layers: ILayer[]): void;
3
3
  export declare function setSelect(layers: ILayer[], pickedColors: any, renderList: ILayer[]): undefined;
4
4
  export declare function setHighlight(layers: ILayer[], pickedColors: any): void;
@@ -1,5 +1,5 @@
1
- import { ILayer, IMapService, IRendererService, ISource, ISubLayerInitOptions } from '@antv/l7-core';
2
- import { SourceTile } from '@antv/l7-utils';
1
+ import type { ILayer, IMapService, IRendererService, ISource, ISubLayerInitOptions } from '@antv/l7-core';
2
+ import type { SourceTile } from '@antv/l7-utils';
3
3
  export type Timeout = any;
4
4
  export type CacheEvent = 'click' | 'mousemove' | 'mouseup' | 'mousedown' | 'contextmenu';
5
5
  export interface ITileFactoryOptions {
@@ -1,5 +1,5 @@
1
- import { ILayer, ILayerService, ILngLat, IRendererService, ITile } from '@antv/l7-core';
2
- import { SourceTile } from '@antv/l7-utils';
1
+ import type { ILayer, ILayerService, ILngLat, IRendererService, ITile } from '@antv/l7-core';
2
+ import type { SourceTile } from '@antv/l7-utils';
3
3
  import 'reflect-metadata';
4
4
  interface ITileLayerServiceOptions {
5
5
  rendererService: IRendererService;
@@ -1,5 +1,5 @@
1
- import { IInteractionTarget, ILayer, ILayerService, ITilePickService } from '@antv/l7-core';
2
- import { TileLayerService } from './TileLayerService';
1
+ import type { IInteractionTarget, ILayer, ILayerService, ITilePickService } from '@antv/l7-core';
2
+ import type { TileLayerService } from './TileLayerService';
3
3
  export interface ITilePickServiceOptions {
4
4
  layerService: ILayerService;
5
5
  tileLayerService: TileLayerService;
@@ -1,4 +1,4 @@
1
- import { IParseDataItem } from '@antv/l7-core';
1
+ import type { IParseDataItem } from '@antv/l7-core';
2
2
  /**
3
3
  * 专门处理 Tile 数据相关
4
4
  */