@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
@@ -20,6 +20,9 @@ var ShaderLocation = exports.ShaderLocation = /*#__PURE__*/function (ShaderLocat
20
20
  ShaderLocation[ShaderLocation["SHAPE"] = 10] = "SHAPE";
21
21
  ShaderLocation[ShaderLocation["EXTRUDE"] = 11] = "EXTRUDE";
22
22
  ShaderLocation[ShaderLocation["MAX"] = 12] = "MAX";
23
+ ShaderLocation[ShaderLocation["NORMAL"] = 13] = "NORMAL";
24
+ ShaderLocation[ShaderLocation["UV"] = 14] = "UV";
25
+ ShaderLocation[ShaderLocation["LINEAR"] = 15] = "LINEAR";
23
26
  return ShaderLocation;
24
27
  }({});
25
28
  function getCommonStyleAttributeOptions(name) {
@@ -134,6 +137,7 @@ function getCommonStyleAttributeOptions(name) {
134
137
  type: _l7Core.AttributeType.Attribute,
135
138
  descriptor: {
136
139
  name: 'a_ThetaOffset',
140
+ shaderLocation: 15,
137
141
  buffer: {
138
142
  // give the WebGL driver a hint that this buffer may change
139
143
  usage: _l7Core.gl.STATIC_DRAW,
@@ -191,7 +191,8 @@ function FlowLineFillTriangulation(feature) {
191
191
  };
192
192
  }
193
193
  function SimpleLineTriangulation(feature) {
194
- var coordinates = feature.coordinates;
194
+ var coordinates = feature.coordinates,
195
+ originCoordinates = feature.originCoordinates;
195
196
  var pos = [];
196
197
  if (!Array.isArray(coordinates[0])) {
197
198
  return {
@@ -202,7 +203,7 @@ function SimpleLineTriangulation(feature) {
202
203
  count: 0
203
204
  };
204
205
  }
205
- var _getSimpleLineVertice = getSimpleLineVertices(coordinates),
206
+ var _getSimpleLineVertice = getSimpleLineVertices(coordinates, originCoordinates),
206
207
  results = _getSimpleLineVertice.results,
207
208
  totalDistance = _getSimpleLineVertice.totalDistance;
208
209
  results.map(function (point) {
@@ -253,12 +254,17 @@ function pushDis(point, n) {
253
254
  }
254
255
  return point;
255
256
  }
256
- function getSimpleLineVertices(coordinates) {
257
+ function getSimpleLineVertices(coordinates, originCoordinates) {
257
258
  var points = coordinates;
259
+ //除了amap2.0以外 coordinates就是经纬度数据
260
+ var originPoints = originCoordinates || coordinates;
258
261
  if (Array.isArray(points) && Array.isArray(points[0]) && Array.isArray(points[0][0])) {
259
262
  // @ts-ignore
260
- points = coordinates.flat();
263
+ points = originCoordinates.flat();
264
+ // @ts-ignore
265
+ originPoints = originCoordinates.flat();
261
266
  }
267
+ //修改计算距离的方式,与普通线的计算方式保持一致 edit by huyang 20231214
262
268
  var distance = 0;
263
269
  if (points.length < 2) {
264
270
  return {
@@ -270,13 +276,13 @@ function getSimpleLineVertices(coordinates) {
270
276
  var point = pushDis(points[0], distance);
271
277
  results.push(point);
272
278
  for (var i = 1; i < points.length - 1; i++) {
273
- var subDistance = lineSegmentDistance(points[i - 1], points[i]);
279
+ var subDistance = lineSegmentDistance((0, _l7Utils.aProjectFlat)(originPoints[i - 1]), (0, _l7Utils.aProjectFlat)(originPoints[i]));
274
280
  distance += subDistance;
275
281
  var mulPoint = pushDis(points[i], distance);
276
282
  results.push(mulPoint);
277
283
  results.push(mulPoint);
278
284
  }
279
- var pointDistance = lineSegmentDistance(points[points.length - 2], points[points.length - 1]);
285
+ var pointDistance = lineSegmentDistance((0, _l7Utils.aProjectFlat)(originPoints[originPoints.length - 2]), (0, _l7Utils.aProjectFlat)(originPoints[originPoints.length - 1]));
280
286
  distance += pointDistance;
281
287
  results.push(pushDis(points[points.length - 1], distance));
282
288
  return {
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.MultipleOfFourNumber = MultipleOfFourNumber;
7
+ exports.formatUniformsOption2Std140 = formatUniformsOption2Std140;
8
+ function formatUniformsOption2Std140(uniformsOption) {
9
+ var std140_str = '';
10
+ Object.keys(uniformsOption).forEach(function (key) {
11
+ var value = uniformsOption[key];
12
+ if (Array.isArray(value)) {
13
+ std140_str += "vec".concat(value.length, " ").concat(key, ";\n");
14
+ } else {
15
+ std140_str += "flot ".concat(key, ";\n");
16
+ }
17
+ });
18
+ return std140_str;
19
+ }
20
+ function MultipleOfFourNumber(num) {
21
+ return Math.max(Math.ceil(num / 4) * 4, 4);
22
+ }
@@ -16,12 +16,13 @@ var _l7Core = require("@antv/l7-core");
16
16
  var _l7Utils = require("@antv/l7-utils");
17
17
  var _BaseModel2 = _interopRequireDefault(require("../../core/BaseModel"));
18
18
  var _triangulation = require("../../core/triangulation");
19
+ var _CommonStyleAttribute = require("../../core/CommonStyleAttribute");
19
20
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
20
21
  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; } }
21
- /* babel-plugin-inline-import '../shaders/atmosphere_frag.glsl' */
22
- var atmoSphereFrag = "\nuniform float u_opacity;\nuniform vec3 u_CameraPosition;\n\nvarying vec3 vVertexNormal;\nvarying float v_offset;\nvarying vec4 v_Color;\nvoid main() {\n \n \n // float intensity = pow(0.5 + dot(normalize(vVertexNormal), normalize(u_CameraPosition)), 3.0);\n float intensity = pow(v_offset + dot(normalize(vVertexNormal), normalize(u_CameraPosition)), 3.0);\n // \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";
23
- /* babel-plugin-inline-import '../shaders/atmosphere_vert.glsl' */
24
- var atmoSphereVert = "\nattribute vec3 a_Position;\nattribute vec3 a_Normal;\nattribute vec2 a_Uv;\nattribute vec4 a_Color;\nuniform vec3 u_CameraPosition;\nvarying float v_CamreaDistance;\n\nuniform mat4 u_ViewProjectionMatrix;\nuniform mat4 u_ModelMatrix;\nuniform mat4 u_ViewMatrix;\n\nvarying vec3 vVertexNormal;\nvarying vec4 v_Color;\nvarying float v_offset;\n\nvoid main() {\n float EARTH_RADIUS = 100.0;\n \n v_Color = a_Color;\n\n v_offset = min(((length(u_CameraPosition) - EARTH_RADIUS)/600.0) * 0.5 + 0.4, 1.0);\n vVertexNormal = a_Normal;\n\n gl_Position = u_ViewProjectionMatrix * u_ModelMatrix * vec4(a_Position, 1.0);\n}\n";
22
+ /* babel-plugin-inline-import '../shaders/atmosphere/atmosphere_frag.glsl' */
23
+ var atmoSphereFrag = "\nlayout(std140) uniform commonUniforms {\n float u_opacity;\n};\nin vec3 vVertexNormal;\nin float v_offset;\nin vec4 v_Color;\n\n#pragma include \"scene_uniforms\"\nout vec4 outputColor;\nvoid main() {\n \n \n // float intensity = pow(0.5 + dot(normalize(vVertexNormal), normalize(u_CameraPosition)), 3.0);\n float intensity = pow(v_offset + dot(normalize(vVertexNormal), normalize(u_CameraPosition)), 3.0);\n // \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";
24
+ /* babel-plugin-inline-import '../shaders/atmosphere/atmosphere_vert.glsl' */
25
+ var atmoSphereVert = "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\"\nout vec3 vVertexNormal;\nout vec4 v_Color;\nout float v_offset;\n\nvoid main() {\n float EARTH_RADIUS = 100.0;\n \n v_Color = a_Color;\n\n v_offset = min(((length(u_CameraPosition) - EARTH_RADIUS)/600.0) * 0.5 + 0.4, 1.0);\n vVertexNormal = a_Normal;\n\n gl_Position = u_ViewProjectionMatrix * u_ModelMatrix * vec4(a_Position, 1.0);\n}\n";
25
26
  var isNumber = _l7Utils.lodashUtil.isNumber;
26
27
  var EarthAtomSphereModel = exports.default = /*#__PURE__*/function (_BaseModel) {
27
28
  (0, _inherits2.default)(EarthAtomSphereModel, _BaseModel);
@@ -31,14 +32,16 @@ var EarthAtomSphereModel = exports.default = /*#__PURE__*/function (_BaseModel)
31
32
  return _super.apply(this, arguments);
32
33
  }
33
34
  (0, _createClass2.default)(EarthAtomSphereModel, [{
34
- key: "getUninforms",
35
- value: function getUninforms() {
35
+ key: "getCommonUniformsInfo",
36
+ value: function getCommonUniformsInfo() {
36
37
  var _ref = this.layer.getLayerConfig(),
37
38
  _ref$opacity = _ref.opacity,
38
39
  opacity = _ref$opacity === void 0 ? 1 : _ref$opacity;
39
- return {
40
+ var commonOptions = {
40
41
  u_opacity: isNumber(opacity) ? opacity : 1.0
41
42
  };
43
+ var commonBufferInfo = this.getUniformsBufferInfo(commonOptions);
44
+ return commonBufferInfo;
42
45
  }
43
46
  }, {
44
47
  key: "initModels",
@@ -47,8 +50,9 @@ var EarthAtomSphereModel = exports.default = /*#__PURE__*/function (_BaseModel)
47
50
  return _regenerator.default.wrap(function _callee$(_context) {
48
51
  while (1) switch (_context.prev = _context.next) {
49
52
  case 0:
53
+ this.initUniformsBuffer();
50
54
  return _context.abrupt("return", this.buildModels());
51
- case 1:
55
+ case 2:
52
56
  case "end":
53
57
  return _context.stop();
54
58
  }
@@ -108,6 +112,7 @@ var EarthAtomSphereModel = exports.default = /*#__PURE__*/function (_BaseModel)
108
112
  type: _l7Core.AttributeType.Attribute,
109
113
  descriptor: {
110
114
  name: 'a_Size',
115
+ shaderLocation: _CommonStyleAttribute.ShaderLocation.SIZE,
111
116
  buffer: {
112
117
  usage: _l7Core.gl.DYNAMIC_DRAW,
113
118
  data: [],
@@ -126,6 +131,7 @@ var EarthAtomSphereModel = exports.default = /*#__PURE__*/function (_BaseModel)
126
131
  type: _l7Core.AttributeType.Attribute,
127
132
  descriptor: {
128
133
  name: 'a_Normal',
134
+ shaderLocation: _CommonStyleAttribute.ShaderLocation.NORMAL,
129
135
  buffer: {
130
136
  usage: _l7Core.gl.STATIC_DRAW,
131
137
  data: [],
@@ -142,6 +148,7 @@ var EarthAtomSphereModel = exports.default = /*#__PURE__*/function (_BaseModel)
142
148
  type: _l7Core.AttributeType.Attribute,
143
149
  descriptor: {
144
150
  name: 'a_Uv',
151
+ shaderLocation: _CommonStyleAttribute.ShaderLocation.UV,
145
152
  buffer: {
146
153
  usage: _l7Core.gl.DYNAMIC_DRAW,
147
154
  data: [],
@@ -17,12 +17,13 @@ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/de
17
17
  var _l7Core = require("@antv/l7-core");
18
18
  var _BaseModel2 = _interopRequireDefault(require("../../core/BaseModel"));
19
19
  var _triangulation = require("../../core/triangulation");
20
+ var _CommonStyleAttribute = require("../../core/CommonStyleAttribute");
20
21
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
21
22
  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; } }
22
- /* babel-plugin-inline-import '../shaders/base_frag.glsl' */
23
- var baseFrag = "\nuniform sampler2D u_texture;\n\nvarying vec2 v_texCoord;\nvarying float v_lightWeight;\n\n\nvoid main() {\n\n vec4 color = texture2D(u_texture,vec2(v_texCoord.x,v_texCoord.y));\n color.xyz = color.xyz * v_lightWeight;\n gl_FragColor = color;\n}\n";
24
- /* babel-plugin-inline-import '../shaders/base_vert.glsl' */
25
- var baseVert = "// attribute vec4 a_Color;\nattribute vec3 a_Position;\nattribute vec3 a_Normal;\nattribute vec2 a_Uv;\nvarying vec2 v_texCoord;\n\n// attribute vec2 a_Extrude;\n// attribute float a_Size;\n// attribute float a_Shape;\n\nuniform vec3 u_CameraPosition;\nuniform mat4 u_ViewProjectionMatrix;\nuniform mat4 u_ModelMatrix;\nuniform float u_ambientRatio : 0.5;\nuniform float u_diffuseRatio : 0.3;\nuniform float u_specularRatio : 0.2;\nuniform vec3 u_sunLight: [1.0, -10.5, 12.0];\n\n\n\nfloat calc_lighting(vec4 pos) {\n\n vec3 worldPos = vec3(pos * u_ModelMatrix);\n\n vec3 worldNormal = a_Normal;\n\n // cal light weight\n vec3 viewDir = normalize(u_CameraPosition - worldPos);\n\n vec3 lightDir = normalize(u_sunLight);\n\n vec3 halfDir = normalize(viewDir+lightDir);\n // lambert\n float lambert = dot(worldNormal, lightDir);\n // specular\n float specular = pow(max(0.0, dot(worldNormal, halfDir)), 32.0);\n //sum to light weight\n float lightWeight = u_ambientRatio + u_diffuseRatio * lambert + u_specularRatio * specular;\n\n return lightWeight;\n}\n\nvarying float v_lightWeight;\nvoid main() {\n\n v_texCoord = a_Uv;\n\n float lightWeight = calc_lighting(vec4(a_Position, 1.0));\n v_lightWeight = lightWeight;\n\n gl_Position = u_ViewProjectionMatrix * u_ModelMatrix * vec4(a_Position, 1.0);\n}\n";
23
+ /* babel-plugin-inline-import '../shaders/base/base_frag.glsl' */
24
+ var baseFrag = "uniform sampler2D u_texture;\n\nin vec2 v_texCoord;\nin float v_lightWeight;\nout vec4 outputColor;\n\nvoid main() {\n vec4 color = texture(SAMPLER_2D(u_texture),vec2(v_texCoord.x,v_texCoord.y));\n color.xyz = color.xyz * v_lightWeight;\n outputColor = color;\n}\n";
25
+ /* babel-plugin-inline-import '../shaders/base/base_vert.glsl' */
26
+ var baseVert = "// attribute vec4 a_Color;\nlayout(location = 0) in vec3 a_Position;\nlayout(location = 13) in vec3 a_Normal;\nlayout(location = 14) in vec2 a_Uv;\n\n// attribute vec2 a_Extrude;\n// attribute float a_Size;\n// attribute float a_Shape;\n\nlayout(std140) uniform commonUniforms {\n\tvec4 u_sunLight: [1.0, -10.5, 12.0,0.0];\n\tfloat u_ambientRatio : 0.5;\n\tfloat u_diffuseRatio : 0.3;\n\tfloat u_specularRatio : 0.2;\n};\n\n#pragma include \"scene_uniforms\"\n\nout vec2 v_texCoord;\nout float v_lightWeight;\n\nfloat calc_lighting(vec4 pos) {\n\n\tvec3 worldPos = vec3(pos * u_ModelMatrix);\n\n\tvec3 worldNormal = a_Normal;\n\n\t// cal light weight\n\tvec3 viewDir = normalize(u_CameraPosition - worldPos);\n\n\tvec3 lightDir = normalize(u_sunLight.xyz);\n\n\tvec3 halfDir = normalize(viewDir+lightDir);\n\t// lambert\n\tfloat lambert = dot(worldNormal, lightDir);\n\t// specular\n\tfloat specular = pow(max(0.0, dot(worldNormal, halfDir)), 32.0);\n\t//sum to light weight\n\tfloat lightWeight = u_ambientRatio + u_diffuseRatio * lambert + u_specularRatio * specular;\n\n\treturn lightWeight;\n}\n\nvoid main() {\n\n\tv_texCoord = a_Uv;\n\n\tfloat lightWeight = calc_lighting(vec4(a_Position, 1.0));\n\tv_lightWeight = lightWeight;\n\n\tgl_Position = u_ViewProjectionMatrix * u_ModelMatrix * vec4(a_Position, 1.0);\n}\n";
26
27
  var BaseEarthModel = exports.default = /*#__PURE__*/function (_BaseModel) {
27
28
  (0, _inherits2.default)(BaseEarthModel, _BaseModel);
28
29
  var _super = _createSuper(BaseEarthModel);
@@ -42,8 +43,8 @@ var BaseEarthModel = exports.default = /*#__PURE__*/function (_BaseModel) {
42
43
  return _this;
43
44
  }
44
45
  (0, _createClass2.default)(BaseEarthModel, [{
45
- key: "getUninforms",
46
- value: function getUninforms() {
46
+ key: "getCommonUniformsInfo",
47
+ value: function getCommonUniformsInfo() {
47
48
  var _this$layer$getLayerC = this.layer.getLayerConfig(),
48
49
  animateOption = _this$layer$getLayerC.animateOption,
49
50
  globalOptions = _this$layer$getLayerC.globalOptions;
@@ -58,16 +59,19 @@ var BaseEarthModel = exports.default = /*#__PURE__*/function (_BaseModel) {
58
59
  this.sunX = Math.cos(this.earthTime) * (this.sunRadius - this.sunY);
59
60
  this.sunZ = Math.sin(this.earthTime) * (this.sunRadius - this.sunY);
60
61
  }
61
- return {
62
+ var commonOptions = {
63
+ u_sunLight: [this.sunX, this.sunY, this.sunZ, 0.0],
62
64
  u_ambientRatio: (globalOptions === null || globalOptions === void 0 ? void 0 : globalOptions.ambientRatio) || 0.6,
63
65
  // 环境光
64
66
  u_diffuseRatio: (globalOptions === null || globalOptions === void 0 ? void 0 : globalOptions.diffuseRatio) || 0.4,
65
67
  // 漫反射
66
- u_specularRatio: (globalOptions === null || globalOptions === void 0 ? void 0 : globalOptions.specularRatio) || 0.1,
67
- // 高光反射
68
- u_sunLight: [this.sunX, this.sunY, this.sunZ],
69
- u_texture: this.texture
68
+ u_specularRatio: (globalOptions === null || globalOptions === void 0 ? void 0 : globalOptions.specularRatio) || 0.1 // 高光反射
69
+ // u_texture: this.texture,
70
70
  };
71
+
72
+ this.textures = [this.texture];
73
+ var commonBufferInfo = this.getUniformsBufferInfo(commonOptions);
74
+ return commonBufferInfo;
71
75
  }
72
76
  }, {
73
77
  key: "setEarthTime",
@@ -103,10 +107,12 @@ var BaseEarthModel = exports.default = /*#__PURE__*/function (_BaseModel) {
103
107
  width: imageData[0].width,
104
108
  height: imageData[0].height
105
109
  });
110
+ _this2.textures = [_this2.texture];
106
111
  _this2.layerService.reRender();
107
112
  });
113
+ this.initUniformsBuffer();
108
114
  return _context.abrupt("return", this.buildModels());
109
- case 7:
115
+ case 8:
110
116
  case "end":
111
117
  return _context.stop();
112
118
  }
@@ -165,6 +171,7 @@ var BaseEarthModel = exports.default = /*#__PURE__*/function (_BaseModel) {
165
171
  type: _l7Core.AttributeType.Attribute,
166
172
  descriptor: {
167
173
  name: 'a_Size',
174
+ shaderLocation: _CommonStyleAttribute.ShaderLocation.SIZE,
168
175
  buffer: {
169
176
  usage: _l7Core.gl.DYNAMIC_DRAW,
170
177
  data: [],
@@ -183,6 +190,7 @@ var BaseEarthModel = exports.default = /*#__PURE__*/function (_BaseModel) {
183
190
  type: _l7Core.AttributeType.Attribute,
184
191
  descriptor: {
185
192
  name: 'a_Normal',
193
+ shaderLocation: _CommonStyleAttribute.ShaderLocation.NORMAL,
186
194
  buffer: {
187
195
  usage: _l7Core.gl.STATIC_DRAW,
188
196
  data: [],
@@ -199,6 +207,7 @@ var BaseEarthModel = exports.default = /*#__PURE__*/function (_BaseModel) {
199
207
  type: _l7Core.AttributeType.Attribute,
200
208
  descriptor: {
201
209
  name: 'a_Uv',
210
+ shaderLocation: _CommonStyleAttribute.ShaderLocation.UV,
202
211
  buffer: {
203
212
  // give the WebGL driver a hint that this buffer may change
204
213
  usage: _l7Core.gl.DYNAMIC_DRAW,
@@ -16,12 +16,13 @@ var _l7Core = require("@antv/l7-core");
16
16
  var _l7Utils = require("@antv/l7-utils");
17
17
  var _BaseModel2 = _interopRequireDefault(require("../../core/BaseModel"));
18
18
  var _triangulation = require("../../core/triangulation");
19
+ var _CommonStyleAttribute = require("../../core/CommonStyleAttribute");
19
20
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
20
21
  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; } }
21
- /* babel-plugin-inline-import '../shaders/bloomsphere_frag.glsl' */
22
- 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";
23
- /* babel-plugin-inline-import '../shaders/bloomsphere_vert.glsl' */
24
- 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";
22
+ /* babel-plugin-inline-import '../shaders/bloomshpere/bloomsphere_frag.glsl' */
23
+ 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";
24
+ /* babel-plugin-inline-import '../shaders/bloomshpere/bloomsphere_vert.glsl' */
25
+ 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";
25
26
  var isNumber = _l7Utils.lodashUtil.isNumber;
26
27
  var EarthBloomSphereModel = exports.default = /*#__PURE__*/function (_BaseModel) {
27
28
  (0, _inherits2.default)(EarthBloomSphereModel, _BaseModel);
@@ -31,14 +32,16 @@ var EarthBloomSphereModel = exports.default = /*#__PURE__*/function (_BaseModel)
31
32
  return _super.apply(this, arguments);
32
33
  }
33
34
  (0, _createClass2.default)(EarthBloomSphereModel, [{
34
- key: "getUninforms",
35
- value: function getUninforms() {
35
+ key: "getCommonUniformsInfo",
36
+ value: function getCommonUniformsInfo() {
36
37
  var _ref = this.layer.getLayerConfig(),
37
38
  _ref$opacity = _ref.opacity,
38
39
  opacity = _ref$opacity === void 0 ? 1 : _ref$opacity;
39
- return {
40
+ var commonOptions = {
40
41
  u_opacity: isNumber(opacity) ? opacity : 1.0
41
42
  };
43
+ var commonBufferInfo = this.getUniformsBufferInfo(commonOptions);
44
+ return commonBufferInfo;
42
45
  }
43
46
  }, {
44
47
  key: "initModels",
@@ -47,8 +50,9 @@ var EarthBloomSphereModel = exports.default = /*#__PURE__*/function (_BaseModel)
47
50
  return _regenerator.default.wrap(function _callee$(_context) {
48
51
  while (1) switch (_context.prev = _context.next) {
49
52
  case 0:
53
+ this.initUniformsBuffer();
50
54
  return _context.abrupt("return", this.buildModels());
51
- case 1:
55
+ case 2:
52
56
  case "end":
53
57
  return _context.stop();
54
58
  }
@@ -107,6 +111,7 @@ var EarthBloomSphereModel = exports.default = /*#__PURE__*/function (_BaseModel)
107
111
  type: _l7Core.AttributeType.Attribute,
108
112
  descriptor: {
109
113
  name: 'a_Size',
114
+ shaderLocation: _CommonStyleAttribute.ShaderLocation.SIZE,
110
115
  buffer: {
111
116
  usage: _l7Core.gl.DYNAMIC_DRAW,
112
117
  data: [],
@@ -125,6 +130,7 @@ var EarthBloomSphereModel = exports.default = /*#__PURE__*/function (_BaseModel)
125
130
  type: _l7Core.AttributeType.Attribute,
126
131
  descriptor: {
127
132
  name: 'a_Normal',
133
+ shaderLocation: _CommonStyleAttribute.ShaderLocation.NORMAL,
128
134
  buffer: {
129
135
  usage: _l7Core.gl.STATIC_DRAW,
130
136
  data: [],
@@ -141,6 +147,7 @@ var EarthBloomSphereModel = exports.default = /*#__PURE__*/function (_BaseModel)
141
147
  type: _l7Core.AttributeType.Attribute,
142
148
  descriptor: {
143
149
  name: 'a_Uv',
150
+ shaderLocation: _CommonStyleAttribute.ShaderLocation.UV,
144
151
  buffer: {
145
152
  usage: _l7Core.gl.DYNAMIC_DRAW,
146
153
  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
+ }
@@ -7,6 +7,7 @@ Object.defineProperty(exports, "__esModule", {
7
7
  exports.default = void 0;
8
8
  var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
9
9
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
10
+ var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
10
11
  var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
11
12
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
12
13
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
@@ -17,12 +18,13 @@ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/ge
17
18
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
18
19
  var _l7Core = require("@antv/l7-core");
19
20
  var _BaseModel2 = _interopRequireDefault(require("../../core/BaseModel"));
21
+ var _CommonStyleAttribute = require("../../core/CommonStyleAttribute");
20
22
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
21
23
  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; } }
22
24
  /* babel-plugin-inline-import '../shaders/billboard_frag.glsl' */
23
- 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";
25
+ 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";
24
26
  /* babel-plugin-inline-import '../shaders/billboard_vert.glsl' */
25
- 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";
27
+ 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";
26
28
  var BillBoardModel = exports.default = /*#__PURE__*/function (_BaseModel) {
27
29
  (0, _inherits2.default)(BillBoardModel, _BaseModel);
28
30
  var _super = _createSuper(BillBoardModel);
@@ -50,6 +52,14 @@ var BillBoardModel = exports.default = /*#__PURE__*/function (_BaseModel) {
50
52
  (0, _createClass2.default)(BillBoardModel, [{
51
53
  key: "getUninforms",
52
54
  value: function getUninforms() {
55
+ var commoninfo = this.getCommonUniformsInfo();
56
+ var attributeInfo = this.getUniformsBufferInfo(this.getStyleAttribute());
57
+ this.updateStyleUnifoms();
58
+ return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, commoninfo.uniformsOption), attributeInfo.uniformsOption);
59
+ }
60
+ }, {
61
+ key: "getCommonUniformsInfo",
62
+ value: function getCommonUniformsInfo() {
53
63
  var _ref2 = this.layer.getLayerConfig(),
54
64
  opacity = _ref2.opacity,
55
65
  _ref2$width = _ref2.width,
@@ -72,15 +82,16 @@ var BillBoardModel = exports.default = /*#__PURE__*/function (_BaseModel) {
72
82
  }
73
83
  // 控制图标的旋转角度(绕 Z 轴旋转)
74
84
  this.radian = rotateFlag * Math.PI * (this.mapService.getRotation() % 360) / 180;
75
- return {
85
+ var commonOptions = {
86
+ u_size: [width, height],
76
87
  u_raisingHeight: Number(raisingHeight),
77
- u_RotateMatrix: new Float32Array([
78
- // z
79
- Math.cos(this.radian), Math.sin(this.radian), -Math.sin(this.radian), Math.cos(this.radian)]),
88
+ u_rotation: this.radian,
80
89
  u_opacity: opacity || 1,
81
- u_texture: this.texture,
82
- u_size: [width, height]
90
+ u_texture: this.texture
83
91
  };
92
+ this.textures = [this.texture];
93
+ var commonBufferInfo = this.getUniformsBufferInfo(commonOptions);
94
+ return commonBufferInfo;
84
95
  }
85
96
  }, {
86
97
  key: "clearModels",
@@ -105,21 +116,23 @@ var BillBoardModel = exports.default = /*#__PURE__*/function (_BaseModel) {
105
116
  if (drawCanvas) {
106
117
  this.updateTexture(drawCanvas);
107
118
  }
108
- _context.next = 6;
119
+ this.initUniformsBuffer();
120
+ _context.next = 7;
109
121
  return this.layer.buildLayerModel({
110
122
  moduleName: 'geometryBillboard',
111
123
  vertexShader: planeVert,
112
124
  fragmentShader: planeFrag,
113
125
  triangulation: this.planeGeometryTriangulation,
126
+ inject: this.getInject(),
114
127
  primitive: _l7Core.gl.TRIANGLES,
115
128
  depth: {
116
129
  enable: true
117
130
  }
118
131
  });
119
- case 6:
132
+ case 7:
120
133
  model = _context.sent;
121
134
  return _context.abrupt("return", [model]);
122
- case 8:
135
+ case 9:
123
136
  case "end":
124
137
  return _context.stop();
125
138
  }
@@ -182,6 +195,7 @@ var BillBoardModel = exports.default = /*#__PURE__*/function (_BaseModel) {
182
195
  type: _l7Core.AttributeType.Attribute,
183
196
  descriptor: {
184
197
  name: 'a_Extrude',
198
+ shaderLocation: _CommonStyleAttribute.ShaderLocation.EXTRUDE,
185
199
  buffer: {
186
200
  usage: _l7Core.gl.DYNAMIC_DRAW,
187
201
  data: [],
@@ -200,6 +214,7 @@ var BillBoardModel = exports.default = /*#__PURE__*/function (_BaseModel) {
200
214
  type: _l7Core.AttributeType.Attribute,
201
215
  descriptor: {
202
216
  name: 'a_Uv',
217
+ shaderLocation: _CommonStyleAttribute.ShaderLocation.UV,
203
218
  buffer: {
204
219
  usage: _l7Core.gl.DYNAMIC_DRAW,
205
220
  data: [],