@openglobus/og 0.17.2 → 0.18.1

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 (845) hide show
  1. package/README.md +76 -47
  2. package/lib/@openglobus/og.esm.js +2 -0
  3. package/lib/@openglobus/og.esm.js.map +1 -0
  4. package/lib/@openglobus/og.umd.js +2 -0
  5. package/lib/@openglobus/og.umd.js.map +1 -0
  6. package/lib/@openglobus/res/fonts/Karla-Bold.json +5252 -0
  7. package/lib/@openglobus/res/fonts/Karla-Bold.ttf.cfg +920 -0
  8. package/lib/@openglobus/res/fonts/Karla-Bold.ttf.png +0 -0
  9. package/lib/@openglobus/res/fonts/Karla-Light.json +5252 -0
  10. package/lib/@openglobus/res/fonts/Karla-Light.ttf.cfg +830 -0
  11. package/lib/@openglobus/res/fonts/Karla-Light.ttf.png +0 -0
  12. package/lib/@openglobus/res/fonts/Karla-Medium.json +5252 -0
  13. package/lib/@openglobus/res/fonts/Karla-Medium.ttf.cfg +1196 -0
  14. package/lib/@openglobus/res/fonts/Karla-Medium.ttf.png +0 -0
  15. package/lib/@openglobus/res/fonts/NotoSansArabic-Regular.json +3332 -0
  16. package/lib/@openglobus/res/fonts/NotoSansArabic-Regular.ttf.cfg +1370 -0
  17. package/lib/@openglobus/res/fonts/NotoSansArabic-Regular.ttf.png +0 -0
  18. package/lib/@openglobus/res/fonts/Roboto-Regular.json +37147 -0
  19. package/lib/@openglobus/res/fonts/Roboto-Regular.ttf.cfg +1340 -0
  20. package/lib/@openglobus/res/fonts/Roboto-Regular.ttf.png +0 -0
  21. package/lib/@openglobus/res/fonts/arial.json +4321 -0
  22. package/lib/@openglobus/res/fonts/arial.ttf.cfg +1570 -0
  23. package/lib/@openglobus/res/fonts/arial.ttf.png +0 -0
  24. package/lib/@openglobus/res/night-4326.png +0 -0
  25. package/lib/@openglobus/res/night.png +0 -0
  26. package/lib/@openglobus/res/spec.png +0 -0
  27. package/lib/js/Clock.d.ts +106 -0
  28. package/lib/js/Clock.js +141 -0
  29. package/lib/js/Deferred.d.ts +6 -0
  30. package/lib/js/Deferred.js +13 -0
  31. package/lib/js/Events.d.ts +90 -0
  32. package/lib/js/Events.js +145 -0
  33. package/lib/js/Extent.d.ts +145 -0
  34. package/lib/js/Extent.js +278 -0
  35. package/lib/js/Globe.d.ts +132 -0
  36. package/lib/js/Globe.js +265 -0
  37. package/lib/js/ImageCanvas.d.ts +128 -0
  38. package/lib/js/ImageCanvas.js +203 -0
  39. package/lib/js/Lock.d.ts +15 -0
  40. package/lib/js/Lock.js +27 -0
  41. package/lib/js/LonLat.d.ts +128 -0
  42. package/lib/js/LonLat.js +192 -0
  43. package/lib/js/Object3d.d.ts +49 -0
  44. package/lib/js/Object3d.js +309 -0
  45. package/lib/js/Popup.d.ts +46 -0
  46. package/lib/js/Popup.js +160 -0
  47. package/lib/js/QueueArray.d.ts +16 -0
  48. package/lib/js/QueueArray.js +63 -0
  49. package/lib/js/Rectangle.d.ts +76 -0
  50. package/lib/js/Rectangle.js +77 -0
  51. package/lib/js/Stack.d.ts +20 -0
  52. package/lib/js/Stack.js +42 -0
  53. package/lib/js/astro/astro.d.ts +39 -0
  54. package/lib/js/astro/astro.js +43 -0
  55. package/lib/js/astro/earth.d.ts +8 -0
  56. package/lib/js/astro/earth.js +75 -0
  57. package/lib/js/astro/jd.d.ts +234 -0
  58. package/lib/js/astro/jd.js +416 -0
  59. package/lib/js/astro/orbit.d.ts +5 -0
  60. package/lib/js/astro/orbit.js +104 -0
  61. package/lib/js/astro/rotation.d.ts +2 -0
  62. package/lib/js/astro/rotation.js +25 -0
  63. package/lib/js/bv/Box.d.ts +32 -0
  64. package/lib/js/bv/Box.js +53 -0
  65. package/lib/js/bv/Sphere.d.ts +37 -0
  66. package/lib/js/bv/Sphere.js +31 -0
  67. package/lib/js/bv/index.d.ts +3 -0
  68. package/lib/js/bv/index.js +3 -0
  69. package/lib/js/camera/Camera.d.ts +314 -0
  70. package/lib/js/camera/Camera.js +453 -0
  71. package/lib/js/camera/Frustum.d.ts +139 -0
  72. package/lib/js/camera/Frustum.js +238 -0
  73. package/lib/js/camera/PlanetCamera.d.ts +234 -0
  74. package/lib/js/camera/PlanetCamera.js +465 -0
  75. package/lib/js/camera/index.d.ts +3 -0
  76. package/lib/js/camera/index.js +3 -0
  77. package/lib/js/cons.d.ts +40 -0
  78. package/lib/js/cons.js +92 -0
  79. package/lib/js/control/Atmosphere.d.ts +16 -0
  80. package/lib/js/control/Atmosphere.js +334 -0
  81. package/lib/js/control/CompassButton.d.ts +16 -0
  82. package/lib/js/control/CompassButton.js +118 -0
  83. package/lib/js/control/Control.d.ts +100 -0
  84. package/lib/js/control/Control.js +137 -0
  85. package/lib/js/control/DebugInfo.d.ts +25 -0
  86. package/lib/js/control/DebugInfo.js +281 -0
  87. package/lib/js/control/DrawingSwitcher.d.ts +13 -0
  88. package/lib/js/control/DrawingSwitcher.js +94 -0
  89. package/lib/js/control/EarthCoordinates.d.ts +41 -0
  90. package/lib/js/control/EarthCoordinates.js +161 -0
  91. package/lib/js/control/EarthNavigation.d.ts +50 -0
  92. package/lib/js/control/EarthNavigation.js +202 -0
  93. package/lib/js/control/GeoImageDragControl.d.ts +22 -0
  94. package/lib/js/control/GeoImageDragControl.js +102 -0
  95. package/lib/js/control/KeyboardNavigation.d.ts +28 -0
  96. package/lib/js/control/KeyboardNavigation.js +143 -0
  97. package/lib/js/control/LayerAnimation.d.ts +71 -0
  98. package/lib/js/control/LayerAnimation.js +283 -0
  99. package/lib/js/control/LayerSwitcher.d.ts +21 -0
  100. package/lib/js/control/LayerSwitcher.js +51 -0
  101. package/lib/js/control/Lighting.d.ts +49 -0
  102. package/lib/js/control/Lighting.js +412 -0
  103. package/lib/js/control/MouseNavigation.d.ts +62 -0
  104. package/lib/js/control/MouseNavigation.js +362 -0
  105. package/lib/js/control/MouseWheelZoomControl.d.ts +44 -0
  106. package/lib/js/control/MouseWheelZoomControl.js +181 -0
  107. package/lib/js/control/RulerSwitcher.d.ts +17 -0
  108. package/lib/js/control/RulerSwitcher.js +57 -0
  109. package/lib/js/control/ScaleControl.d.ts +24 -0
  110. package/lib/js/control/ScaleControl.js +91 -0
  111. package/lib/js/control/SegmentBoundVisualization.d.ts +12 -0
  112. package/lib/js/control/SegmentBoundVisualization.js +37 -0
  113. package/lib/js/control/ShowFps.d.ts +9 -0
  114. package/lib/js/control/ShowFps.js +20 -0
  115. package/lib/js/control/SimpleNavigation.d.ts +25 -0
  116. package/lib/js/control/SimpleNavigation.js +96 -0
  117. package/lib/js/control/SimpleSkyBackground.d.ts +15 -0
  118. package/lib/js/control/SimpleSkyBackground.js +177 -0
  119. package/lib/js/control/Sun.d.ts +33 -0
  120. package/lib/js/control/Sun.js +117 -0
  121. package/lib/js/control/ToggleWireframe.d.ts +14 -0
  122. package/lib/js/control/ToggleWireframe.js +28 -0
  123. package/lib/js/control/TouchNavigation.d.ts +52 -0
  124. package/lib/js/control/TouchNavigation.js +263 -0
  125. package/lib/js/control/ZoomControl.d.ts +27 -0
  126. package/lib/js/control/ZoomControl.js +86 -0
  127. package/lib/js/control/drawing/DrawingControl.d.ts +12 -0
  128. package/lib/js/control/drawing/DrawingControl.js +35 -0
  129. package/lib/js/control/drawing/LineStringDrawingScene.d.ts +15 -0
  130. package/lib/js/control/drawing/LineStringDrawingScene.js +139 -0
  131. package/lib/js/control/drawing/PolygonDrawingScene.d.ts +98 -0
  132. package/lib/js/control/drawing/PolygonDrawingScene.js +534 -0
  133. package/lib/js/control/elevationProfile/ElevationProfile.d.ts +61 -0
  134. package/lib/js/control/elevationProfile/ElevationProfile.js +217 -0
  135. package/lib/js/control/heightRuler/HeightRuler.d.ts +7 -0
  136. package/lib/js/control/heightRuler/HeightRuler.js +11 -0
  137. package/lib/js/control/heightRuler/HeightRulerScene.d.ts +35 -0
  138. package/lib/js/control/heightRuler/HeightRulerScene.js +181 -0
  139. package/lib/js/control/heightRuler/HeightRulerSwitcher.d.ts +6 -0
  140. package/lib/js/control/heightRuler/HeightRulerSwitcher.js +13 -0
  141. package/lib/js/control/index.d.ts +28 -0
  142. package/lib/js/control/index.js +28 -0
  143. package/lib/js/control/ruler/Ruler.d.ts +13 -0
  144. package/lib/js/control/ruler/Ruler.js +23 -0
  145. package/lib/js/control/ruler/RulerScene.d.ts +88 -0
  146. package/lib/js/control/ruler/RulerScene.js +324 -0
  147. package/lib/js/control/selection/Selection.d.ts +55 -0
  148. package/lib/js/control/selection/Selection.js +78 -0
  149. package/lib/js/control/selection/SelectionScene.d.ts +44 -0
  150. package/lib/js/control/selection/SelectionScene.js +272 -0
  151. package/lib/js/control/timeline/TimelineControl.d.ts +18 -0
  152. package/lib/js/control/timeline/TimelineControl.js +79 -0
  153. package/lib/js/control/timeline/TimelineModel.d.ts +41 -0
  154. package/lib/js/control/timeline/TimelineModel.js +104 -0
  155. package/lib/js/control/timeline/TimelineView.d.ts +85 -0
  156. package/lib/js/control/timeline/TimelineView.js +363 -0
  157. package/lib/js/control/timeline/timelineUtils.d.ts +12 -0
  158. package/lib/js/control/timeline/timelineUtils.js +112 -0
  159. package/lib/js/control/visibleExtent/Segment.d.ts +277 -0
  160. package/lib/js/control/visibleExtent/Segment.js +1301 -0
  161. package/lib/js/control/visibleExtent/VisibleExtent.d.ts +5 -0
  162. package/lib/js/control/visibleExtent/VisibleExtent.js +56 -0
  163. package/lib/js/control/visibleExtent/drawnode.d.ts +7 -0
  164. package/lib/js/control/visibleExtent/drawnode.js +718 -0
  165. package/lib/js/ellipsoid/Ellipsoid.d.ts +187 -0
  166. package/lib/js/ellipsoid/Ellipsoid.js +434 -0
  167. package/lib/js/ellipsoid/index.d.ts +3 -0
  168. package/lib/js/ellipsoid/index.js +3 -0
  169. package/lib/js/ellipsoid/wgs84.d.ts +6 -0
  170. package/lib/js/ellipsoid/wgs84.js +6 -0
  171. package/lib/js/entity/BaseBillboard.d.ts +222 -0
  172. package/lib/js/entity/BaseBillboard.js +284 -0
  173. package/lib/js/entity/BaseBillboardHandler.d.ts +81 -0
  174. package/lib/js/entity/BaseBillboardHandler.js +546 -0
  175. package/lib/js/entity/Billboard.d.ts +113 -0
  176. package/lib/js/entity/Billboard.js +127 -0
  177. package/lib/js/entity/BillboardHandler.d.ts +15 -0
  178. package/lib/js/entity/BillboardHandler.js +103 -0
  179. package/lib/js/entity/Entity.d.ts +354 -0
  180. package/lib/js/entity/Entity.js +515 -0
  181. package/lib/js/entity/EntityCollection.d.ts +364 -0
  182. package/lib/js/entity/EntityCollection.js +621 -0
  183. package/lib/js/entity/GeoObject.d.ts +138 -0
  184. package/lib/js/entity/GeoObject.js +194 -0
  185. package/lib/js/entity/GeoObjectHandler.d.ts +99 -0
  186. package/lib/js/entity/GeoObjectHandler.js +558 -0
  187. package/lib/js/entity/Geometry.d.ts +111 -0
  188. package/lib/js/entity/Geometry.js +283 -0
  189. package/lib/js/entity/GeometryHandler.d.ts +84 -0
  190. package/lib/js/entity/GeometryHandler.js +687 -0
  191. package/lib/js/entity/Label.d.ts +207 -0
  192. package/lib/js/entity/Label.js +291 -0
  193. package/lib/js/entity/LabelHandler.d.ts +65 -0
  194. package/lib/js/entity/LabelHandler.js +696 -0
  195. package/lib/js/entity/LabelWorker.d.ts +15 -0
  196. package/lib/js/entity/LabelWorker.js +163 -0
  197. package/lib/js/entity/PointCloud.d.ts +179 -0
  198. package/lib/js/entity/PointCloud.js +327 -0
  199. package/lib/js/entity/PointCloudHandler.d.ts +42 -0
  200. package/lib/js/entity/PointCloudHandler.js +82 -0
  201. package/lib/js/entity/Polyline.d.ts +337 -0
  202. package/lib/js/entity/Polyline.js +1546 -0
  203. package/lib/js/entity/PolylineHandler.d.ts +22 -0
  204. package/lib/js/entity/PolylineHandler.js +78 -0
  205. package/lib/js/entity/Ray.d.ts +133 -0
  206. package/lib/js/entity/Ray.js +171 -0
  207. package/lib/js/entity/RayHandler.d.ts +70 -0
  208. package/lib/js/entity/RayHandler.js +496 -0
  209. package/lib/js/entity/Strip.d.ts +127 -0
  210. package/lib/js/entity/Strip.js +401 -0
  211. package/lib/js/entity/StripHandler.d.ts +42 -0
  212. package/lib/js/entity/StripHandler.js +110 -0
  213. package/lib/js/entity/index.d.ts +11 -0
  214. package/lib/js/entity/index.js +11 -0
  215. package/lib/js/index.d.ts +33 -0
  216. package/lib/js/index.js +33 -0
  217. package/lib/js/input/KeyboardHandler.d.ts +33 -0
  218. package/lib/js/input/KeyboardHandler.js +157 -0
  219. package/lib/js/input/MouseHandler.d.ts +16 -0
  220. package/lib/js/input/MouseHandler.js +81 -0
  221. package/lib/js/input/TouchHandler.d.ts +11 -0
  222. package/lib/js/input/TouchHandler.js +42 -0
  223. package/lib/js/input/input.d.ts +3 -0
  224. package/lib/js/input/input.js +42 -0
  225. package/lib/js/layer/BaseGeoImage.d.ts +145 -0
  226. package/lib/js/layer/BaseGeoImage.js +382 -0
  227. package/lib/js/layer/CanvasTiles.d.ts +103 -0
  228. package/lib/js/layer/CanvasTiles.js +302 -0
  229. package/lib/js/layer/GeoImage.d.ts +61 -0
  230. package/lib/js/layer/GeoImage.js +130 -0
  231. package/lib/js/layer/GeoTexture2d.d.ts +17 -0
  232. package/lib/js/layer/GeoTexture2d.js +37 -0
  233. package/lib/js/layer/GeoVideo.d.ts +68 -0
  234. package/lib/js/layer/GeoVideo.js +157 -0
  235. package/lib/js/layer/KML.d.ts +72 -0
  236. package/lib/js/layer/KML.js +303 -0
  237. package/lib/js/layer/Layer.d.ts +401 -0
  238. package/lib/js/layer/Layer.js +732 -0
  239. package/lib/js/layer/Material.d.ts +34 -0
  240. package/lib/js/layer/Material.js +69 -0
  241. package/lib/js/layer/Vector.d.ts +244 -0
  242. package/lib/js/layer/Vector.js +849 -0
  243. package/lib/js/layer/WMS.d.ts +75 -0
  244. package/lib/js/layer/WMS.js +112 -0
  245. package/lib/js/layer/XYZ.d.ts +149 -0
  246. package/lib/js/layer/XYZ.js +299 -0
  247. package/lib/js/layer/index.d.ts +11 -0
  248. package/lib/js/layer/index.js +11 -0
  249. package/lib/js/light/LightSource.d.ts +174 -0
  250. package/lib/js/light/LightSource.js +292 -0
  251. package/lib/js/math/Line2.d.ts +11 -0
  252. package/lib/js/math/Line2.js +21 -0
  253. package/lib/js/math/Line3.d.ts +28 -0
  254. package/lib/js/math/Line3.js +85 -0
  255. package/lib/js/math/Mat3.d.ts +77 -0
  256. package/lib/js/math/Mat3.js +139 -0
  257. package/lib/js/math/Mat4.d.ts +195 -0
  258. package/lib/js/math/Mat4.js +470 -0
  259. package/lib/js/math/Plane.d.ts +20 -0
  260. package/lib/js/math/Plane.js +108 -0
  261. package/lib/js/math/Quat.d.ts +373 -0
  262. package/lib/js/math/Quat.js +783 -0
  263. package/lib/js/math/Ray.d.ts +76 -0
  264. package/lib/js/math/Ray.js +188 -0
  265. package/lib/js/math/Vec2.d.ts +310 -0
  266. package/lib/js/math/Vec2.js +463 -0
  267. package/lib/js/math/Vec3.d.ts +472 -0
  268. package/lib/js/math/Vec3.js +799 -0
  269. package/lib/js/math/Vec4.d.ts +163 -0
  270. package/lib/js/math/Vec4.js +211 -0
  271. package/lib/js/math/coder.d.ts +51 -0
  272. package/lib/js/math/coder.js +101 -0
  273. package/lib/js/math/index.d.ts +11 -0
  274. package/lib/js/math/index.js +11 -0
  275. package/lib/js/math.d.ts +266 -0
  276. package/lib/js/math.js +379 -0
  277. package/lib/js/mercator.d.ts +92 -0
  278. package/lib/js/mercator.js +119 -0
  279. package/lib/js/proj/EPSG3857.d.ts +9 -0
  280. package/lib/js/proj/EPSG3857.js +9 -0
  281. package/lib/js/proj/EPSG4326.d.ts +9 -0
  282. package/lib/js/proj/EPSG4326.js +9 -0
  283. package/lib/js/proj/Proj.d.ts +43 -0
  284. package/lib/js/proj/Proj.js +38 -0
  285. package/lib/js/quadTree/EPSG4326QuadTreeStrategy.d.ts +6 -0
  286. package/lib/js/quadTree/EPSG4326QuadTreeStrategy.js +17 -0
  287. package/lib/js/quadTree/EarthQuadTreeStrategy.d.ts +6 -0
  288. package/lib/js/quadTree/EarthQuadTreeStrategy.js +19 -0
  289. package/lib/js/quadTree/EntityCollectionNode.d.ts +54 -0
  290. package/lib/js/quadTree/EntityCollectionNode.js +328 -0
  291. package/lib/js/quadTree/MarsQuadTreeStrategy.d.ts +6 -0
  292. package/lib/js/quadTree/MarsQuadTreeStrategy.js +17 -0
  293. package/lib/js/quadTree/Node.d.ts +61 -0
  294. package/lib/js/quadTree/Node.js +660 -0
  295. package/lib/js/quadTree/QuadTreeStrategy.d.ts +25 -0
  296. package/lib/js/quadTree/QuadTreeStrategy.js +69 -0
  297. package/lib/js/quadTree/Wgs84QuadTreeStrategy.d.ts +6 -0
  298. package/lib/js/quadTree/Wgs84QuadTreeStrategy.js +15 -0
  299. package/lib/js/quadTree/index.d.ts +12 -0
  300. package/lib/js/quadTree/index.js +12 -0
  301. package/lib/js/quadTree/quadTree.d.ts +40 -0
  302. package/lib/js/quadTree/quadTree.js +66 -0
  303. package/lib/js/renderer/Renderer.d.ts +311 -0
  304. package/lib/js/renderer/Renderer.js +899 -0
  305. package/lib/js/renderer/RendererEvents.d.ts +237 -0
  306. package/lib/js/renderer/RendererEvents.js +848 -0
  307. package/lib/js/scene/Axes.d.ts +12 -0
  308. package/lib/js/scene/Axes.js +59 -0
  309. package/lib/js/scene/BaseNode.d.ts +61 -0
  310. package/lib/js/scene/BaseNode.js +69 -0
  311. package/lib/js/scene/Planet.d.ts +623 -0
  312. package/lib/js/scene/Planet.js +1431 -0
  313. package/lib/js/scene/RenderNode.d.ts +150 -0
  314. package/lib/js/scene/RenderNode.js +301 -0
  315. package/lib/js/scene/SkyBox.d.ts +13 -0
  316. package/lib/js/scene/SkyBox.js +87 -0
  317. package/lib/js/scene/index.d.ts +5 -0
  318. package/lib/js/scene/index.js +5 -0
  319. package/lib/js/segment/Segment.d.ts +278 -0
  320. package/lib/js/segment/Segment.js +1142 -0
  321. package/lib/js/segment/SegmentLonLat.d.ts +48 -0
  322. package/lib/js/segment/SegmentLonLat.js +214 -0
  323. package/lib/js/segment/SegmentLonLatWgs84.d.ts +10 -0
  324. package/lib/js/segment/SegmentLonLatWgs84.js +23 -0
  325. package/lib/js/segment/Slice.d.ts +13 -0
  326. package/lib/js/segment/Slice.js +33 -0
  327. package/lib/js/segment/segmentHelper.d.ts +18 -0
  328. package/lib/js/segment/segmentHelper.js +180 -0
  329. package/lib/js/shaders/atmos.d.ts +4 -0
  330. package/lib/js/shaders/atmos.js +312 -0
  331. package/lib/js/shaders/billboard.d.ts +3 -0
  332. package/lib/js/shaders/billboard.js +214 -0
  333. package/lib/js/shaders/bloom.d.ts +2 -0
  334. package/lib/js/shaders/bloom.js +32 -0
  335. package/lib/js/shaders/blur.d.ts +3 -0
  336. package/lib/js/shaders/blur.js +68 -0
  337. package/lib/js/shaders/depth.d.ts +2 -0
  338. package/lib/js/shaders/depth.js +43 -0
  339. package/lib/js/shaders/drawnode.d.ts +8 -0
  340. package/lib/js/shaders/drawnode.js +986 -0
  341. package/lib/js/shaders/geoObject.d.ts +3 -0
  342. package/lib/js/shaders/geoObject.js +256 -0
  343. package/lib/js/shaders/label.d.ts +4 -0
  344. package/lib/js/shaders/label.js +589 -0
  345. package/lib/js/shaders/lumFilter.d.ts +2 -0
  346. package/lib/js/shaders/lumFilter.js +36 -0
  347. package/lib/js/shaders/pickingMask.d.ts +2 -0
  348. package/lib/js/shaders/pickingMask.js +22 -0
  349. package/lib/js/shaders/pointCloud.d.ts +2 -0
  350. package/lib/js/shaders/pointCloud.js +32 -0
  351. package/lib/js/shaders/polyline.d.ts +3 -0
  352. package/lib/js/shaders/polyline.js +345 -0
  353. package/lib/js/shaders/ray.d.ts +2 -0
  354. package/lib/js/shaders/ray.js +76 -0
  355. package/lib/js/shaders/screenFrame.d.ts +2 -0
  356. package/lib/js/shaders/screenFrame.js +26 -0
  357. package/lib/js/shaders/skybox.d.ts +2 -0
  358. package/lib/js/shaders/skybox.js +28 -0
  359. package/lib/js/shaders/toneMapping.d.ts +2 -0
  360. package/lib/js/shaders/toneMapping.js +85 -0
  361. package/lib/js/shaders/utils.d.ts +1 -0
  362. package/lib/js/shaders/utils.js +86 -0
  363. package/lib/js/terrain/BilTerrain.d.ts +18 -0
  364. package/lib/js/terrain/BilTerrain.js +152 -0
  365. package/lib/js/terrain/EmptyTerrain.d.ts +106 -0
  366. package/lib/js/terrain/EmptyTerrain.js +106 -0
  367. package/lib/js/terrain/Geoid.d.ts +33 -0
  368. package/lib/js/terrain/Geoid.js +191 -0
  369. package/lib/js/terrain/GlobusTerrain.d.ts +134 -0
  370. package/lib/js/terrain/GlobusTerrain.js +332 -0
  371. package/lib/js/terrain/MapboxTerrain.d.ts +21 -0
  372. package/lib/js/terrain/MapboxTerrain.js +298 -0
  373. package/lib/js/terrain/index.d.ts +5 -0
  374. package/lib/js/terrain/index.js +5 -0
  375. package/lib/js/ui/Button.d.ts +32 -0
  376. package/lib/js/ui/Button.js +78 -0
  377. package/lib/js/ui/ButtonGroup.d.ts +16 -0
  378. package/lib/js/ui/ButtonGroup.js +41 -0
  379. package/lib/js/ui/Dialog.d.ts +55 -0
  380. package/lib/js/ui/Dialog.js +173 -0
  381. package/lib/js/ui/Slider.d.ts +38 -0
  382. package/lib/js/ui/Slider.js +129 -0
  383. package/lib/js/ui/ToggleButton.d.ts +20 -0
  384. package/lib/js/ui/ToggleButton.js +42 -0
  385. package/lib/js/ui/View.d.ts +37 -0
  386. package/lib/js/ui/View.js +151 -0
  387. package/lib/js/ui/icons.d.ts +1 -0
  388. package/lib/js/ui/icons.js +3 -0
  389. package/lib/js/utils/BaseWorker.d.ts +14 -0
  390. package/lib/js/utils/BaseWorker.js +47 -0
  391. package/lib/js/utils/FontAtlas.d.ts +82 -0
  392. package/lib/js/utils/FontAtlas.js +220 -0
  393. package/lib/js/utils/GeoImageCreator.d.ts +34 -0
  394. package/lib/js/utils/GeoImageCreator.js +163 -0
  395. package/lib/js/utils/ImagesCacheManager.d.ts +22 -0
  396. package/lib/js/utils/ImagesCacheManager.js +63 -0
  397. package/lib/js/utils/Loader.d.ts +63 -0
  398. package/lib/js/utils/Loader.js +156 -0
  399. package/lib/js/utils/NormalMapCreator.d.ts +52 -0
  400. package/lib/js/utils/NormalMapCreator.js +310 -0
  401. package/lib/js/utils/PlainSegmentWorker.d.ts +24 -0
  402. package/lib/js/utils/PlainSegmentWorker.js +383 -0
  403. package/lib/js/utils/TerrainWorker.d.ts +28 -0
  404. package/lib/js/utils/TerrainWorker.js +551 -0
  405. package/lib/js/utils/TextureAtlas.d.ts +113 -0
  406. package/lib/js/utils/TextureAtlas.js +231 -0
  407. package/lib/js/utils/VectorTileCreator.d.ts +18 -0
  408. package/lib/js/utils/VectorTileCreator.js +320 -0
  409. package/lib/js/utils/colorTable.d.ts +3 -0
  410. package/lib/js/utils/colorTable.js +143 -0
  411. package/lib/js/utils/earcut.d.ts +7 -0
  412. package/lib/js/utils/earcut.js +536 -0
  413. package/lib/js/utils/objParser.d.ts +24 -0
  414. package/lib/js/utils/objParser.js +201 -0
  415. package/lib/js/utils/shared.d.ts +267 -0
  416. package/lib/js/utils/shared.js +893 -0
  417. package/lib/js/utils/units.d.ts +16 -0
  418. package/lib/js/utils/units.js +61 -0
  419. package/lib/js/webgl/BaseFramebuffer.d.ts +53 -0
  420. package/lib/js/webgl/BaseFramebuffer.js +88 -0
  421. package/lib/js/webgl/Framebuffer.d.ts +69 -0
  422. package/lib/js/webgl/Framebuffer.js +149 -0
  423. package/lib/js/webgl/Handler.d.ts +473 -0
  424. package/lib/js/webgl/Handler.js +1003 -0
  425. package/lib/js/webgl/Multisample.d.ts +27 -0
  426. package/lib/js/webgl/Multisample.js +77 -0
  427. package/lib/js/webgl/Program.d.ts +159 -0
  428. package/lib/js/webgl/Program.js +314 -0
  429. package/lib/js/webgl/ProgramController.d.ts +86 -0
  430. package/lib/js/webgl/ProgramController.js +110 -0
  431. package/lib/js/webgl/index.d.ts +6 -0
  432. package/lib/js/webgl/index.js +6 -0
  433. package/lib/js/webgl/types.d.ts +9 -0
  434. package/lib/js/webgl/types.js +26 -0
  435. package/lib/js/webgl/variableHandlers.d.ts +22 -0
  436. package/lib/js/webgl/variableHandlers.js +78 -0
  437. package/package.json +29 -38
  438. package/dist/@openglobus/og.esm.js +0 -21
  439. package/dist/@openglobus/og.esm.js.map +0 -1
  440. package/dist/@openglobus/og.umd.js +0 -21
  441. package/dist/@openglobus/og.umd.js.map +0 -1
  442. package/src/og/Clock.js +0 -214
  443. package/src/og/Deferred.js +0 -11
  444. package/src/og/Events.js +0 -185
  445. package/src/og/Extent.js +0 -352
  446. package/src/og/Globe.js +0 -342
  447. package/src/og/ImageCanvas.js +0 -236
  448. package/src/og/Lock.js +0 -44
  449. package/src/og/LonLat.js +0 -220
  450. package/src/og/Object3d.js +0 -395
  451. package/src/og/Popup.js +0 -187
  452. package/src/og/QueueArray.js +0 -75
  453. package/src/og/Rectangle.js +0 -111
  454. package/src/og/Stack.js +0 -49
  455. package/src/og/astro/astro.js +0 -51
  456. package/src/og/astro/earth.js +0 -112
  457. package/src/og/astro/jd.js +0 -514
  458. package/src/og/astro/orbit.js +0 -119
  459. package/src/og/astro/rotation.js +0 -36
  460. package/src/og/bv/Box.js +0 -77
  461. package/src/og/bv/Sphere.js +0 -57
  462. package/src/og/bv/index.js +0 -4
  463. package/src/og/camera/Camera.js +0 -645
  464. package/src/og/camera/Frustum.js +0 -331
  465. package/src/og/camera/PlanetCamera.js +0 -674
  466. package/src/og/camera/index.js +0 -4
  467. package/src/og/cons.js +0 -108
  468. package/src/og/control/Atmosphere.js +0 -387
  469. package/src/og/control/CompassButton.js +0 -146
  470. package/src/og/control/Control.js +0 -198
  471. package/src/og/control/DebugInfo.js +0 -259
  472. package/src/og/control/DrawingSwitcher.js +0 -117
  473. package/src/og/control/EarthCoordinates.js +0 -214
  474. package/src/og/control/EarthNavigation.js +0 -258
  475. package/src/og/control/GeoImageDragControl.js +0 -117
  476. package/src/og/control/KeyboardNavigation.js +0 -172
  477. package/src/og/control/LayerAnimation.js +0 -379
  478. package/src/og/control/LayerSwitcher.js +0 -424
  479. package/src/og/control/Lighting.js +0 -487
  480. package/src/og/control/MouseNavigation.js +0 -436
  481. package/src/og/control/MouseWheelZoomControl.js +0 -253
  482. package/src/og/control/RulerSwitcher.js +0 -74
  483. package/src/og/control/ScaleControl.js +0 -119
  484. package/src/og/control/SegmentBoundVisualization.js +0 -54
  485. package/src/og/control/ShowFps.js +0 -40
  486. package/src/og/control/SimpleNavigation.js +0 -123
  487. package/src/og/control/SimpleSkyBackground.js +0 -206
  488. package/src/og/control/Sun.js +0 -176
  489. package/src/og/control/ToggleWireframe.js +0 -35
  490. package/src/og/control/TouchNavigation.js +0 -350
  491. package/src/og/control/ZoomControl.js +0 -115
  492. package/src/og/control/drawing/DrawingControl.js +0 -51
  493. package/src/og/control/drawing/LineStringDrawingScene.js +0 -203
  494. package/src/og/control/drawing/PolygonDrawingScene.js +0 -785
  495. package/src/og/control/elevationProfile/ElevationProfile.js +0 -275
  496. package/src/og/control/heightRuler/HeightRuler.js +0 -12
  497. package/src/og/control/heightRuler/HeightRulerScene.js +0 -228
  498. package/src/og/control/heightRuler/HeightRulerSwitcher.js +0 -15
  499. package/src/og/control/index.js +0 -56
  500. package/src/og/control/ruler/Ruler.js +0 -39
  501. package/src/og/control/ruler/RulerScene.js +0 -395
  502. package/src/og/control/selection/Selection.js +0 -95
  503. package/src/og/control/selection/SelectionScene.js +0 -345
  504. package/src/og/control/timeline/TimelineControl.js +0 -100
  505. package/src/og/control/timeline/TimelineModel.js +0 -137
  506. package/src/og/control/timeline/TimelineView.js +0 -462
  507. package/src/og/control/timeline/timelineUtils.js +0 -132
  508. package/src/og/control/visibleExtent/Segment.js +0 -1854
  509. package/src/og/control/visibleExtent/VisibleExtent.js +0 -80
  510. package/src/og/control/visibleExtent/drawnode.js +0 -747
  511. package/src/og/ellipsoid/Ellipsoid.js +0 -565
  512. package/src/og/ellipsoid/index.js +0 -4
  513. package/src/og/ellipsoid/wgs84.js +0 -9
  514. package/src/og/entity/BaseBillboard.js +0 -375
  515. package/src/og/entity/Billboard.js +0 -161
  516. package/src/og/entity/BillboardHandler.js +0 -883
  517. package/src/og/entity/Entity.js +0 -728
  518. package/src/og/entity/EntityCollection.js +0 -830
  519. package/src/og/entity/GeoObject.js +0 -244
  520. package/src/og/entity/GeoObjectHandler.js +0 -744
  521. package/src/og/entity/Geometry.js +0 -320
  522. package/src/og/entity/GeometryHandler.js +0 -1340
  523. package/src/og/entity/Label.js +0 -345
  524. package/src/og/entity/LabelHandler.js +0 -895
  525. package/src/og/entity/LabelWorker.js +0 -194
  526. package/src/og/entity/PointCloud.js +0 -491
  527. package/src/og/entity/PointCloudHandler.js +0 -122
  528. package/src/og/entity/Polyline.js +0 -2203
  529. package/src/og/entity/PolylineHandler.js +0 -105
  530. package/src/og/entity/Ray.js +0 -262
  531. package/src/og/entity/RayHandler.js +0 -841
  532. package/src/og/entity/Strip.js +0 -628
  533. package/src/og/entity/StripHandler.js +0 -158
  534. package/src/og/entity/index.js +0 -9
  535. package/src/og/index.js +0 -112
  536. package/src/og/input/KeyboardHandler.js +0 -195
  537. package/src/og/input/MouseHandler.js +0 -94
  538. package/src/og/input/TouchHandler.js +0 -59
  539. package/src/og/input/input.js +0 -44
  540. package/src/og/layer/BaseGeoImage.js +0 -480
  541. package/src/og/layer/CanvasTiles.js +0 -360
  542. package/src/og/layer/GeoImage.js +0 -150
  543. package/src/og/layer/GeoTexture2d.js +0 -50
  544. package/src/og/layer/GeoVideo.js +0 -187
  545. package/src/og/layer/KML.js +0 -358
  546. package/src/og/layer/Layer.js +0 -907
  547. package/src/og/layer/Material.js +0 -98
  548. package/src/og/layer/Vector.js +0 -1068
  549. package/src/og/layer/WMS.js +0 -182
  550. package/src/og/layer/XYZ.js +0 -374
  551. package/src/og/layer/index.js +0 -11
  552. package/src/og/light/LightSource.js +0 -362
  553. package/src/og/math/Line2.js +0 -28
  554. package/src/og/math/Line3.js +0 -140
  555. package/src/og/math/Mat3.js +0 -152
  556. package/src/og/math/Mat4.js +0 -603
  557. package/src/og/math/Plane.js +0 -117
  558. package/src/og/math/Quat.js +0 -980
  559. package/src/og/math/Ray.js +0 -237
  560. package/src/og/math/Vec2.js +0 -520
  561. package/src/og/math/Vec3.js +0 -931
  562. package/src/og/math/Vec4.js +0 -256
  563. package/src/og/math/coder.js +0 -104
  564. package/src/og/math/index.js +0 -23
  565. package/src/og/math.js +0 -430
  566. package/src/og/mercator.js +0 -149
  567. package/src/og/proj/EPSG3857.js +0 -13
  568. package/src/og/proj/EPSG4326.js +0 -13
  569. package/src/og/proj/Proj.js +0 -59
  570. package/src/og/quadTree/EPSG4326QuadTreeStrategy.js +0 -27
  571. package/src/og/quadTree/EarthQuadTreeStrategy.js +0 -30
  572. package/src/og/quadTree/EntityCollectionNode.js +0 -391
  573. package/src/og/quadTree/MarsQuadTreeStrategy.js +0 -28
  574. package/src/og/quadTree/Node.js +0 -785
  575. package/src/og/quadTree/QuadTreeStrategy.js +0 -94
  576. package/src/og/quadTree/Wgs84QuadTreeStrategy.js +0 -27
  577. package/src/og/quadTree/index.js +0 -14
  578. package/src/og/quadTree/quadTree.js +0 -77
  579. package/src/og/renderer/Renderer.js +0 -1185
  580. package/src/og/renderer/RendererEvents.js +0 -1094
  581. package/src/og/res/images.js +0 -8
  582. package/src/og/scene/Axes.js +0 -74
  583. package/src/og/scene/BaseNode.js +0 -109
  584. package/src/og/scene/Planet.js +0 -1931
  585. package/src/og/scene/RenderNode.js +0 -392
  586. package/src/og/scene/SkyBox.js +0 -104
  587. package/src/og/scene/index.js +0 -5
  588. package/src/og/segment/Segment.js +0 -1687
  589. package/src/og/segment/SegmentLonLat.js +0 -294
  590. package/src/og/segment/SegmentLonLatWgs84.js +0 -40
  591. package/src/og/segment/Slice.js +0 -45
  592. package/src/og/segment/segmentHelper.js +0 -230
  593. package/src/og/shaders/atmos.js +0 -332
  594. package/src/og/shaders/billboard.js +0 -225
  595. package/src/og/shaders/bloom.js +0 -37
  596. package/src/og/shaders/blur.js +0 -79
  597. package/src/og/shaders/depth.js +0 -48
  598. package/src/og/shaders/drawnode.js +0 -1040
  599. package/src/og/shaders/geoObject.js +0 -270
  600. package/src/og/shaders/label.js +0 -604
  601. package/src/og/shaders/lumFilter.js +0 -41
  602. package/src/og/shaders/pickingMask.js +0 -27
  603. package/src/og/shaders/pointCloud.js +0 -38
  604. package/src/og/shaders/polyline.js +0 -557
  605. package/src/og/shaders/ray.js +0 -81
  606. package/src/og/shaders/screenFrame.js +0 -31
  607. package/src/og/shaders/skybox.js +0 -33
  608. package/src/og/shaders/toneMapping.js +0 -90
  609. package/src/og/shaders/utils.js +0 -88
  610. package/src/og/terrain/BilTerrain.js +0 -243
  611. package/src/og/terrain/EmptyTerrain.js +0 -174
  612. package/src/og/terrain/Geoid.js +0 -247
  613. package/src/og/terrain/GlobusTerrain.js +0 -483
  614. package/src/og/terrain/MapboxTerrain.js +0 -470
  615. package/src/og/terrain/index.js +0 -6
  616. package/src/og/ui/Button.js +0 -107
  617. package/src/og/ui/ButtonGroup.js +0 -57
  618. package/src/og/ui/Dialog.js +0 -239
  619. package/src/og/ui/Slider.js +0 -170
  620. package/src/og/ui/ToggleButton.js +0 -51
  621. package/src/og/ui/UIhelpers.js +0 -155
  622. package/src/og/ui/View.js +0 -190
  623. package/src/og/ui/icons.js +0 -3
  624. package/src/og/utils/BaseWorker.js +0 -46
  625. package/src/og/utils/FontAtlas.js +0 -218
  626. package/src/og/utils/GeoImageCreator.js +0 -204
  627. package/src/og/utils/ImagesCacheManager.js +0 -70
  628. package/src/og/utils/Loader.js +0 -188
  629. package/src/og/utils/NormalMapCreator.js +0 -404
  630. package/src/og/utils/PlainSegmentWorker.js +0 -398
  631. package/src/og/utils/TerrainWorker.js +0 -573
  632. package/src/og/utils/TextureAtlas.js +0 -291
  633. package/src/og/utils/VectorTileCreator.js +0 -391
  634. package/src/og/utils/colorTable.js +0 -145
  635. package/src/og/utils/earcut.js +0 -661
  636. package/src/og/utils/functionComposition.js +0 -13
  637. package/src/og/utils/objParser.js +0 -227
  638. package/src/og/utils/shared.js +0 -989
  639. package/src/og/utils/units.js +0 -78
  640. package/src/og/webgl/Framebuffer.js +0 -311
  641. package/src/og/webgl/Handler.js +0 -1170
  642. package/src/og/webgl/Multisample.js +0 -275
  643. package/src/og/webgl/Program.js +0 -407
  644. package/src/og/webgl/ProgramController.js +0 -143
  645. package/src/og/webgl/callbacks.js +0 -98
  646. package/src/og/webgl/index.js +0 -13
  647. package/src/og/webgl/types.js +0 -31
  648. package/src/og.jsdoc +0 -3
  649. package/types/Clock.d.ts +0 -99
  650. package/types/Deferred.d.ts +0 -6
  651. package/types/Events.d.ts +0 -78
  652. package/types/Extent.d.ts +0 -166
  653. package/types/Globe.d.ts +0 -108
  654. package/types/ImageCanvas.d.ts +0 -128
  655. package/types/Lock.d.ts +0 -12
  656. package/types/LonLat.d.ts +0 -127
  657. package/types/Object3d.d.ts +0 -35
  658. package/types/Popup.d.ts +0 -29
  659. package/types/QueueArray.d.ts +0 -19
  660. package/types/Rectangle.d.ts +0 -80
  661. package/types/Stack.d.ts +0 -19
  662. package/types/arial.d.ts +0 -49
  663. package/types/astro/astro.d.ts +0 -38
  664. package/types/astro/earth.d.ts +0 -7
  665. package/types/astro/jd.d.ts +0 -254
  666. package/types/bv/Box.d.ts +0 -30
  667. package/types/bv/Sphere.d.ts +0 -38
  668. package/types/bv/index.d.ts +0 -3
  669. package/types/camera/Camera.d.ts +0 -314
  670. package/types/camera/Frustum.d.ts +0 -133
  671. package/types/camera/PlanetCamera.d.ts +0 -219
  672. package/types/camera/index.d.ts +0 -3
  673. package/types/cons.d.ts +0 -40
  674. package/types/control/Atmosphere.d.ts +0 -15
  675. package/types/control/CompassButton.d.ts +0 -16
  676. package/types/control/Control.d.ts +0 -104
  677. package/types/control/DebugInfo.d.ts +0 -19
  678. package/types/control/DrawingSwitcher.d.ts +0 -13
  679. package/types/control/EarthCoordinates.d.ts +0 -44
  680. package/types/control/EarthNavigation.d.ts +0 -43
  681. package/types/control/GeoImageDragControl.d.ts +0 -14
  682. package/types/control/KeyboardNavigation.d.ts +0 -24
  683. package/types/control/LayerAnimation.d.ts +0 -73
  684. package/types/control/LayerSwitcher.d.ts +0 -64
  685. package/types/control/Lighting.d.ts +0 -41
  686. package/types/control/MouseNavigation.d.ts +0 -49
  687. package/types/control/MouseWheelZoomControl.d.ts +0 -46
  688. package/types/control/ScaleControl.d.ts +0 -23
  689. package/types/control/ShowFps.d.ts +0 -11
  690. package/types/control/SimpleNavigation.d.ts +0 -26
  691. package/types/control/SimpleSkyBackground.d.ts +0 -15
  692. package/types/control/Sun.d.ts +0 -53
  693. package/types/control/ToggleWireframe.d.ts +0 -12
  694. package/types/control/TouchNavigation.d.ts +0 -54
  695. package/types/control/ZoomControl.d.ts +0 -26
  696. package/types/control/drawing/DrawingControl.d.ts +0 -14
  697. package/types/control/drawing/LineStringDrawingScene.d.ts +0 -5
  698. package/types/control/drawing/PolygonDrawingScene.d.ts +0 -99
  699. package/types/control/heightRuler/HeightRuler.d.ts +0 -6
  700. package/types/control/heightRuler/HeightRulerScene.d.ts +0 -23
  701. package/types/control/index.d.ts +0 -27
  702. package/types/control/ruler/Ruler.d.ts +0 -13
  703. package/types/control/ruler/RulerScene.d.ts +0 -51
  704. package/types/control/selection/Selection.d.ts +0 -49
  705. package/types/control/selection/SelectionScene.d.ts +0 -32
  706. package/types/control/timeline/TimelineControl.d.ts +0 -10
  707. package/types/control/timeline/TimelineModel.d.ts +0 -33
  708. package/types/control/timeline/TimelineView.d.ts +0 -57
  709. package/types/control/timeline/timelineUtils.d.ts +0 -9
  710. package/types/ellipsoid/Ellipsoid.d.ts +0 -170
  711. package/types/ellipsoid/index.d.ts +0 -3
  712. package/types/ellipsoid/wgs84.d.ts +0 -6
  713. package/types/entity/BaseBillboard.d.ts +0 -215
  714. package/types/entity/Billboard.d.ts +0 -94
  715. package/types/entity/BillboardHandler.d.ts +0 -75
  716. package/types/entity/Entity.d.ts +0 -340
  717. package/types/entity/EntityCollection.d.ts +0 -303
  718. package/types/entity/GeoObject.d.ts +0 -117
  719. package/types/entity/GeoObjectHandler.d.ts +0 -41
  720. package/types/entity/Geometry.d.ts +0 -79
  721. package/types/entity/GeometryHandler.d.ts +0 -76
  722. package/types/entity/Label.d.ts +0 -190
  723. package/types/entity/LabelHandler.d.ts +0 -31
  724. package/types/entity/LabelWorker.d.ts +0 -9
  725. package/types/entity/PointCloud.d.ts +0 -174
  726. package/types/entity/PointCloudHandler.d.ts +0 -38
  727. package/types/entity/Polyline.d.ts +0 -307
  728. package/types/entity/PolylineHandler.d.ts +0 -18
  729. package/types/entity/Ray.d.ts +0 -122
  730. package/types/entity/RayHandler.d.ts +0 -63
  731. package/types/entity/Strip.d.ts +0 -119
  732. package/types/entity/StripHandler.d.ts +0 -38
  733. package/types/entity/index.d.ts +0 -8
  734. package/types/index.d.ts +0 -53
  735. package/types/input/KeyboardHandler.d.ts +0 -17
  736. package/types/input/MouseHandler.d.ts +0 -5
  737. package/types/input/TouchHandler.d.ts +0 -5
  738. package/types/input/input.d.ts +0 -42
  739. package/types/layer/BaseGeoImage.d.ts +0 -116
  740. package/types/layer/CanvasTiles.d.ts +0 -73
  741. package/types/layer/GeoImage.d.ts +0 -51
  742. package/types/layer/GeoTexture2d.d.ts +0 -7
  743. package/types/layer/GeoVideo.d.ts +0 -47
  744. package/types/layer/KML.d.ts +0 -93
  745. package/types/layer/Layer.d.ts +0 -320
  746. package/types/layer/Material.d.ts +0 -45
  747. package/types/layer/Vector.d.ts +0 -211
  748. package/types/layer/WMS.d.ts +0 -66
  749. package/types/layer/XYZ.d.ts +0 -122
  750. package/types/layer/index.d.ts +0 -10
  751. package/types/light/LightSource.d.ts +0 -178
  752. package/types/math/Line2.d.ts +0 -11
  753. package/types/math/Line3.d.ts +0 -10
  754. package/types/math/Mat3.d.ts +0 -65
  755. package/types/math/Mat4.d.ts +0 -176
  756. package/types/math/Plane.d.ts +0 -18
  757. package/types/math/Quat.d.ts +0 -379
  758. package/types/math/Ray.d.ts +0 -82
  759. package/types/math/Vec2.d.ts +0 -309
  760. package/types/math/Vec3.d.ts +0 -472
  761. package/types/math/Vec4.d.ts +0 -161
  762. package/types/math/coder.d.ts +0 -43
  763. package/types/math/index.d.ts +0 -11
  764. package/types/math.d.ts +0 -268
  765. package/types/mercator.d.ts +0 -92
  766. package/types/proj/EPSG3857.d.ts +0 -6
  767. package/types/proj/EPSG4326.d.ts +0 -6
  768. package/types/proj/Proj.d.ts +0 -42
  769. package/types/quadTree/EPSG4326QuadTreeStrategy.d.ts +0 -3
  770. package/types/quadTree/EarthQuadTreeStrategy.d.ts +0 -3
  771. package/types/quadTree/EntityCollectionNode.d.ts +0 -41
  772. package/types/quadTree/MarsQuadTreeStrategy.d.ts +0 -3
  773. package/types/quadTree/Node.d.ts +0 -58
  774. package/types/quadTree/QuadTreeStrategy.d.ts +0 -21
  775. package/types/quadTree/Wgs84QuadTreeStrategy.d.ts +0 -3
  776. package/types/quadTree/index.d.ts +0 -12
  777. package/types/quadTree/quadTree.d.ts +0 -40
  778. package/types/renderer/Renderer.d.ts +0 -291
  779. package/types/renderer/RendererEvents.d.ts +0 -241
  780. package/types/res/images.d.ts +0 -2
  781. package/types/scene/Axes.d.ts +0 -10
  782. package/types/scene/BaseNode.d.ts +0 -60
  783. package/types/scene/Planet.d.ts +0 -594
  784. package/types/scene/RenderNode.d.ts +0 -152
  785. package/types/scene/SkyBox.d.ts +0 -9
  786. package/types/scene/index.d.ts +0 -4
  787. package/types/segment/Segment.d.ts +0 -273
  788. package/types/segment/SegmentLonLat.d.ts +0 -22
  789. package/types/segment/SegmentLonLatWgs84.d.ts +0 -4
  790. package/types/segment/Slice.d.ts +0 -10
  791. package/types/segment/segmentHelper.d.ts +0 -13
  792. package/types/shaders/atmos.d.ts +0 -4
  793. package/types/shaders/billboard.d.ts +0 -3
  794. package/types/shaders/depth.d.ts +0 -2
  795. package/types/shaders/drawnode.d.ts +0 -8
  796. package/types/shaders/geoObject.d.ts +0 -3
  797. package/types/shaders/label.d.ts +0 -4
  798. package/types/shaders/pickingMask.d.ts +0 -2
  799. package/types/shaders/pointCloud.d.ts +0 -2
  800. package/types/shaders/polyline.d.ts +0 -3
  801. package/types/shaders/ray.d.ts +0 -2
  802. package/types/shaders/screenFrame.d.ts +0 -2
  803. package/types/shaders/skybox.d.ts +0 -2
  804. package/types/shaders/toneMapping.d.ts +0 -2
  805. package/types/shaders/utils.d.ts +0 -1
  806. package/types/terrain/BilTerrain.d.ts +0 -14
  807. package/types/terrain/EmptyTerrain.d.ts +0 -87
  808. package/types/terrain/Geoid.d.ts +0 -17
  809. package/types/terrain/GlobusTerrain.d.ts +0 -122
  810. package/types/terrain/MapboxTerrain.d.ts +0 -14
  811. package/types/terrain/index.d.ts +0 -5
  812. package/types/ui/Button.d.ts +0 -21
  813. package/types/ui/ButtonGroup.d.ts +0 -12
  814. package/types/ui/Dialog.d.ts +0 -41
  815. package/types/ui/Slider.d.ts +0 -33
  816. package/types/ui/ToggleButton.d.ts +0 -10
  817. package/types/ui/UIhelpers.d.ts +0 -13
  818. package/types/ui/View.d.ts +0 -33
  819. package/types/ui/icons.d.ts +0 -1
  820. package/types/utils/BaseWorker.d.ts +0 -14
  821. package/types/utils/FontAtlas.d.ts +0 -16
  822. package/types/utils/GeoImageCreator.d.ts +0 -30
  823. package/types/utils/ImagesCacheManager.d.ts +0 -10
  824. package/types/utils/Loader.d.ts +0 -31
  825. package/types/utils/NormalMapCreator.d.ts +0 -39
  826. package/types/utils/PlainSegmentWorker.d.ts +0 -8
  827. package/types/utils/TerrainWorker.d.ts +0 -7
  828. package/types/utils/TextureAtlas.d.ts +0 -113
  829. package/types/utils/VectorTileCreator.d.ts +0 -14
  830. package/types/utils/colorTable.d.ts +0 -143
  831. package/types/utils/earcut.d.ts +0 -6
  832. package/types/utils/functionComposition.d.ts +0 -5
  833. package/types/utils/objParser.d.ts +0 -8
  834. package/types/utils/shared.d.ts +0 -241
  835. package/types/utils/units.d.ts +0 -20
  836. package/types/webgl/Framebuffer.d.ts +0 -134
  837. package/types/webgl/Handler.d.ts +0 -403
  838. package/types/webgl/Multisample.d.ts +0 -91
  839. package/types/webgl/Program.d.ts +0 -163
  840. package/types/webgl/ProgramController.d.ts +0 -89
  841. package/types/webgl/callbacks.d.ts +0 -1
  842. package/types/webgl/index.d.ts +0 -6
  843. package/types/webgl/types.d.ts +0 -2
  844. /package/{dist → lib}/@openglobus/og.css +0 -0
  845. /package/{src/og → lib/@openglobus/res/fonts}/arial.js +0 -0
@@ -0,0 +1,27 @@
1
+ import { BaseFramebuffer, IBaseFramebufferParams } from "./BaseFramebuffer";
2
+ import { Handler } from "./Handler";
3
+ interface IMultisampleParams extends IBaseFramebufferParams {
4
+ msaa?: number;
5
+ internalFormat?: string;
6
+ }
7
+ /**
8
+ * Class represents multisample framebuffer.
9
+ * @class
10
+ * @param {Handler} handler - WebGL handler.
11
+ * @param {Object} [options] - Framebuffer options:
12
+ */
13
+ export declare class Multisample extends BaseFramebuffer {
14
+ protected _internalFormat: string;
15
+ protected _msaa: number;
16
+ protected _glFilter: number;
17
+ renderbuffers: WebGLRenderbuffer[];
18
+ constructor(handler: Handler, options?: IMultisampleParams);
19
+ destroy(): void;
20
+ /**
21
+ * Framebuffer initialization.
22
+ * @public
23
+ */
24
+ init(): void;
25
+ blitTo(framebuffer: BaseFramebuffer, attachmentIndex?: number): void;
26
+ }
27
+ export {};
@@ -0,0 +1,77 @@
1
+ import { BaseFramebuffer } from "./BaseFramebuffer";
2
+ /**
3
+ * Class represents multisample framebuffer.
4
+ * @class
5
+ * @param {Handler} handler - WebGL handler.
6
+ * @param {Object} [options] - Framebuffer options:
7
+ */
8
+ export class Multisample extends BaseFramebuffer {
9
+ constructor(handler, options = {}) {
10
+ super(handler, options);
11
+ this._internalFormat = options.internalFormat ? options.internalFormat.toUpperCase() : "RGBA8";
12
+ this._msaa = options.msaa != undefined ? options.msaa : 4;
13
+ this._glFilter = 0;
14
+ this.renderbuffers = new Array(this._size);
15
+ }
16
+ destroy() {
17
+ let gl = this.handler.gl;
18
+ if (!gl)
19
+ return;
20
+ for (let i = 0; i < this.renderbuffers.length; i++) {
21
+ gl.deleteRenderbuffer(this.renderbuffers[i]);
22
+ }
23
+ this.renderbuffers = new Array(this._size);
24
+ gl.deleteFramebuffer(this._fbo);
25
+ gl.deleteRenderbuffer(this._depthRenderbuffer);
26
+ this._depthRenderbuffer = null;
27
+ this._fbo = null;
28
+ this._active = false;
29
+ }
30
+ /**
31
+ * Framebuffer initialization.
32
+ * @public
33
+ */
34
+ init() {
35
+ let gl = this.handler.gl;
36
+ if (!gl)
37
+ return;
38
+ this._glFilter = gl[this._filter];
39
+ this._fbo = gl.createFramebuffer();
40
+ gl.bindFramebuffer(gl.FRAMEBUFFER, this._fbo);
41
+ let colorAttachments = [];
42
+ for (let i = 0; i < this.renderbuffers.length; i++) {
43
+ let rb = gl.createRenderbuffer();
44
+ gl.bindRenderbuffer(gl.RENDERBUFFER, rb);
45
+ if (this._msaa > 0) {
46
+ gl.renderbufferStorageMultisample(gl.RENDERBUFFER, this._msaa, gl[this._internalFormat], this._width, this._height);
47
+ }
48
+ else {
49
+ gl.renderbufferStorage(gl.RENDERBUFFER, gl[this._internalFormat], this._width, this._height);
50
+ }
51
+ gl.framebufferRenderbuffer(gl.FRAMEBUFFER, gl.COLOR_ATTACHMENT0 + i, gl.RENDERBUFFER, rb);
52
+ colorAttachments.push(gl.COLOR_ATTACHMENT0 + i);
53
+ this.renderbuffers[i] = rb;
54
+ gl.bindRenderbuffer(gl.RENDERBUFFER, null);
55
+ }
56
+ gl.drawBuffers(colorAttachments);
57
+ if (this._useDepth) {
58
+ this._depthRenderbuffer = gl.createRenderbuffer();
59
+ gl.bindRenderbuffer(gl.RENDERBUFFER, this._depthRenderbuffer);
60
+ gl.renderbufferStorageMultisample(gl.RENDERBUFFER, this._msaa, gl[this._depthComponent], this._width, this._height);
61
+ gl.framebufferRenderbuffer(gl.FRAMEBUFFER, gl.DEPTH_ATTACHMENT, gl.RENDERBUFFER, this._depthRenderbuffer);
62
+ gl.bindRenderbuffer(gl.RENDERBUFFER, null);
63
+ }
64
+ gl.bindFramebuffer(gl.FRAMEBUFFER, null);
65
+ }
66
+ blitTo(framebuffer, attachmentIndex = 0) {
67
+ let gl = this.handler.gl;
68
+ gl.bindFramebuffer(gl.READ_FRAMEBUFFER, this._fbo);
69
+ gl.bindFramebuffer(gl.DRAW_FRAMEBUFFER, framebuffer._fbo);
70
+ gl.readBuffer(gl.COLOR_ATTACHMENT0 + attachmentIndex);
71
+ gl.clearBufferfv(gl.COLOR, 0, [0.0, 0.0, 0.0, 1.0]);
72
+ gl.blitFramebuffer(0, 0, this._width, this._height, 0, 0, framebuffer._width, framebuffer._height, gl.COLOR_BUFFER_BIT, this._glFilter);
73
+ gl.bindFramebuffer(gl.FRAMEBUFFER, null);
74
+ gl.bindFramebuffer(gl.READ_FRAMEBUFFER, null);
75
+ gl.bindFramebuffer(gl.DRAW_FRAMEBUFFER, null);
76
+ }
77
+ }
@@ -0,0 +1,159 @@
1
+ import { ProgramVariable } from "./variableHandlers";
2
+ import { WebGLBufferExt } from "./Handler";
3
+ type WebGLProgramExt = WebGLProgram & {
4
+ [id: string]: WebGLUniformLocation;
5
+ };
6
+ type ProgramMaterial = {
7
+ attributes: Record<string, any>;
8
+ uniforms: Record<string, any>;
9
+ vertexShader: string;
10
+ fragmentShader: string;
11
+ };
12
+ /**
13
+ * Represents more comfortable using WebGL shader program.
14
+ * @class
15
+ * @param {string} name - Program name.
16
+ * @param {ProgramMaterial} material - Object stores uniforms, attributes and program codes:
17
+ * @param {Record<string, any>} material.uniforms - Uniforms definition section.
18
+ * @param {Record<string, any>} material.attributes - Attributes definition section.
19
+ * @param {string} material.vertexShader - Vertex glsl code.
20
+ * @param {string} material.fragmentShader - Fragment glsl code.
21
+ */
22
+ declare class Program {
23
+ /**
24
+ * Shader program name.
25
+ * @public
26
+ * @type {string}
27
+ */
28
+ name: string;
29
+ attributes: {
30
+ [id: string]: number;
31
+ };
32
+ uniforms: {
33
+ [id: string]: WebGLUniformLocation;
34
+ };
35
+ _attributes: Record<string, ProgramVariable>;
36
+ _uniforms: Record<string, ProgramVariable>;
37
+ vertexShader: string;
38
+ fragmentShader: string;
39
+ drawElementsInstanced: Function | null;
40
+ vertexAttribDivisor: Function | null;
41
+ /**
42
+ * Webgl context.
43
+ * @public
44
+ * @type {WebGL2RenderingContext | null}
45
+ */
46
+ gl: WebGL2RenderingContext | null;
47
+ /**
48
+ * All program variables.
49
+ * @private
50
+ * @type {Record<string, ProgramVariable>}
51
+ */
52
+ protected _variables: Record<string, ProgramVariable>;
53
+ /**
54
+ * Program pointer.
55
+ * @private
56
+ * @type {WebGLProgramExt | null}
57
+ */
58
+ _p: WebGLProgramExt | null;
59
+ /**
60
+ * Texture counter.
61
+ * @protected
62
+ * @type {number}
63
+ */
64
+ _textureID: number;
65
+ /**
66
+ * Program attributes array.
67
+ * @private
68
+ * @type {number[]}
69
+ */
70
+ protected _attribArrays: number[];
71
+ /**
72
+ * Program attributes divisors.
73
+ * @protected
74
+ * @type {number[]}
75
+ */
76
+ protected _attribDivisor: number[];
77
+ constructor(name: string, material: ProgramMaterial);
78
+ /**
79
+ * Bind program buffer.
80
+ * @function
81
+ * @param {Program} program - Used program.
82
+ * @param {Object} variable - Variable represents buffer data.
83
+ */
84
+ static bindBuffer(program: Program, variable: ProgramVariable): void;
85
+ /**
86
+ * Sets the current program frame.
87
+ * @public
88
+ */
89
+ use(): void;
90
+ /**
91
+ * Sets program variables.
92
+ * @public
93
+ * @param {Object} material - Variables and values object.
94
+ */
95
+ set(material: Record<string, any>): void;
96
+ /**
97
+ * Apply current variables.
98
+ * @public
99
+ */
100
+ apply(): void;
101
+ /**
102
+ * Calls drawElements index buffer function.
103
+ * @public
104
+ * @param {number} mode - Draw mode(GL_TRIANGLES, GL_LINESTRING etc.).
105
+ * @param {Object} buffer - Index buffer.
106
+ */
107
+ drawIndexBuffer(mode: number, buffer: WebGLBufferExt): void;
108
+ /**
109
+ * Calls drawArrays function.
110
+ * @public
111
+ * @param {number} mode - Draw mode GL_TRIANGLES, GL_LINESTRING, etc.
112
+ * @param {number} numItems - Items to draw
113
+ */
114
+ drawArrays(mode: number, numItems: number): void;
115
+ /**
116
+ * Check and log for a shader compile errors and warnings. Returns True - if no errors otherwise returns False.
117
+ * @private
118
+ * @param {WebGLShader} shader - WebGl shader program.
119
+ * @param {string} src - Shader program source.
120
+ * @returns {boolean} -
121
+ */
122
+ protected _getShaderCompileStatus(shader: WebGLShader, src: string): boolean;
123
+ /**
124
+ * Returns compiled vertex shader program pointer.
125
+ * @private
126
+ * @param {string} src - Vertex shader source code.
127
+ * @returns {Object} -
128
+ */
129
+ protected _createVertexShader(src: string): WebGLShader | undefined;
130
+ /**
131
+ * Returns compiled fragment shader program pointer.
132
+ * @private
133
+ * @param {string} src - Vertex shader source code.
134
+ * @returns {Object} -
135
+ */
136
+ protected _createFragmentShader(src: string): WebGLShader | undefined;
137
+ /**
138
+ * Disable current program vertexAttribArrays.
139
+ * @public
140
+ */
141
+ disableAttribArrays(): void;
142
+ /**
143
+ * Enable current program vertexAttribArrays.
144
+ * @public
145
+ */
146
+ enableAttribArrays(): void;
147
+ /**
148
+ * Delete program.
149
+ * @public
150
+ */
151
+ delete(): void;
152
+ /**
153
+ * Creates program.
154
+ * @public
155
+ * @param {Object} gl - WebGl context.
156
+ */
157
+ createProgram(gl: WebGL2RenderingContext): void;
158
+ }
159
+ export { Program };
@@ -0,0 +1,314 @@
1
+ import { cons } from "../cons";
2
+ import { variableHandlers } from "./variableHandlers";
3
+ import { types, typeStr } from "./types";
4
+ const itemTypes = ["BYTE", "SHORT", "UNSIGNED_BYTE", "UNSIGNED_SHORT", "FLOAT", "HALF_FLOAT"];
5
+ /**
6
+ * Represents more comfortable using WebGL shader program.
7
+ * @class
8
+ * @param {string} name - Program name.
9
+ * @param {ProgramMaterial} material - Object stores uniforms, attributes and program codes:
10
+ * @param {Record<string, any>} material.uniforms - Uniforms definition section.
11
+ * @param {Record<string, any>} material.attributes - Attributes definition section.
12
+ * @param {string} material.vertexShader - Vertex glsl code.
13
+ * @param {string} material.fragmentShader - Fragment glsl code.
14
+ */
15
+ class Program {
16
+ constructor(name, material) {
17
+ this.name = name;
18
+ this._attributes = {};
19
+ for (let t in material.attributes) {
20
+ if (typeof material.attributes[t] === "string" ||
21
+ typeof material.attributes[t] === "number") {
22
+ this._attributes[t] = { type: material.attributes[t] };
23
+ }
24
+ else {
25
+ this._attributes[t] = material.attributes[t];
26
+ }
27
+ }
28
+ this._uniforms = {};
29
+ for (let t in material.uniforms) {
30
+ if (typeof material.uniforms[t] === "string" ||
31
+ typeof material.uniforms[t] === "number") {
32
+ this._uniforms[t] = { type: material.uniforms[t] };
33
+ }
34
+ else {
35
+ this._uniforms[t] = material.uniforms[t];
36
+ }
37
+ }
38
+ this.vertexShader = material.vertexShader;
39
+ this.fragmentShader = material.fragmentShader;
40
+ this.gl = null;
41
+ this._variables = {};
42
+ this._p = null;
43
+ this._textureID = 0;
44
+ this._attribArrays = [];
45
+ this._attribDivisor = [];
46
+ this.attributes = {};
47
+ this.uniforms = {};
48
+ this.vertexAttribDivisor = null;
49
+ this.drawElementsInstanced = null;
50
+ }
51
+ /**
52
+ * Bind program buffer.
53
+ * @function
54
+ * @param {Program} program - Used program.
55
+ * @param {Object} variable - Variable represents buffer data.
56
+ */
57
+ static bindBuffer(program, variable) {
58
+ let gl = program.gl;
59
+ if (gl) {
60
+ gl.bindBuffer(gl.ARRAY_BUFFER, variable.value);
61
+ gl.vertexAttribPointer(variable._pName, variable.value.itemSize, variable.itemType, variable.normalized, 0, 0);
62
+ }
63
+ }
64
+ /**
65
+ * Sets the current program frame.
66
+ * @public
67
+ */
68
+ use() {
69
+ this.gl && this.gl.useProgram(this._p);
70
+ }
71
+ /**
72
+ * Sets program variables.
73
+ * @public
74
+ * @param {Object} material - Variables and values object.
75
+ */
76
+ set(material) {
77
+ this._textureID = 0;
78
+ for (let i in material) {
79
+ this._variables[i].value = material[i];
80
+ this._variables[i].func(this, this._variables[i]);
81
+ }
82
+ }
83
+ /**
84
+ * Apply current variables.
85
+ * @public
86
+ */
87
+ apply() {
88
+ this._textureID = 0;
89
+ let v = this._variables;
90
+ for (let i in v) {
91
+ v[i].func(this, v[i]);
92
+ }
93
+ }
94
+ /**
95
+ * Calls drawElements index buffer function.
96
+ * @public
97
+ * @param {number} mode - Draw mode(GL_TRIANGLES, GL_LINESTRING etc.).
98
+ * @param {Object} buffer - Index buffer.
99
+ */
100
+ drawIndexBuffer(mode, buffer) {
101
+ let gl = this.gl;
102
+ gl.bindBuffer(gl.ELEMENT_ARRAY_BUFFER, buffer);
103
+ gl.drawElements(mode, buffer.numItems, gl.UNSIGNED_SHORT, 0);
104
+ }
105
+ /**
106
+ * Calls drawArrays function.
107
+ * @public
108
+ * @param {number} mode - Draw mode GL_TRIANGLES, GL_LINESTRING, etc.
109
+ * @param {number} numItems - Items to draw
110
+ */
111
+ drawArrays(mode, numItems) {
112
+ this.gl.drawArrays(mode, 0, numItems);
113
+ }
114
+ /**
115
+ * Check and log for a shader compile errors and warnings. Returns True - if no errors otherwise returns False.
116
+ * @private
117
+ * @param {WebGLShader} shader - WebGl shader program.
118
+ * @param {string} src - Shader program source.
119
+ * @returns {boolean} -
120
+ */
121
+ _getShaderCompileStatus(shader, src) {
122
+ if (!this.gl)
123
+ return false;
124
+ this.gl.shaderSource(shader, src);
125
+ this.gl.compileShader(shader);
126
+ if (!this.gl.getShaderParameter(shader, this.gl.COMPILE_STATUS)) {
127
+ cons.logErr(`Shader program "${this.name}":${this.gl.getShaderInfoLog(shader)}.`);
128
+ return false;
129
+ }
130
+ return true;
131
+ }
132
+ /**
133
+ * Returns compiled vertex shader program pointer.
134
+ * @private
135
+ * @param {string} src - Vertex shader source code.
136
+ * @returns {Object} -
137
+ */
138
+ _createVertexShader(src) {
139
+ if (!this.gl)
140
+ return;
141
+ let shader = this.gl.createShader(this.gl.VERTEX_SHADER);
142
+ if (shader && this._getShaderCompileStatus(shader, src)) {
143
+ return shader;
144
+ }
145
+ }
146
+ /**
147
+ * Returns compiled fragment shader program pointer.
148
+ * @private
149
+ * @param {string} src - Vertex shader source code.
150
+ * @returns {Object} -
151
+ */
152
+ _createFragmentShader(src) {
153
+ if (!this.gl)
154
+ return;
155
+ let shader = this.gl.createShader(this.gl.FRAGMENT_SHADER);
156
+ if (shader && this._getShaderCompileStatus(shader, src)) {
157
+ return shader;
158
+ }
159
+ }
160
+ /**
161
+ * Disable current program vertexAttribArrays.
162
+ * @public
163
+ */
164
+ disableAttribArrays() {
165
+ let gl = this.gl;
166
+ let a = this._attribArrays;
167
+ for (let i = 0, len = a.length; i < len; i++) {
168
+ gl.disableVertexAttribArray(a[i]);
169
+ this.vertexAttribDivisor(a[i], 0);
170
+ }
171
+ }
172
+ /**
173
+ * Enable current program vertexAttribArrays.
174
+ * @public
175
+ */
176
+ enableAttribArrays() {
177
+ let gl = this.gl;
178
+ let a = this._attribArrays;
179
+ let d = this._attribDivisor;
180
+ for (let i = 0, len = a.length; i < len; i++) {
181
+ gl.enableVertexAttribArray(a[i]);
182
+ this.vertexAttribDivisor(a[i], d[i]);
183
+ }
184
+ }
185
+ // public vertexAttribDivisor(index: number, divisor: number) {
186
+ // const gl = this.gl!;
187
+ // gl.vertexAttribDivisor ?
188
+ // gl.vertexAttribDivisor(index, divisor) :
189
+ // gl.getExtension('ANGLE_instanced_arrays').vertexAttribDivisorANGLE(index, divisor);
190
+ // }
191
+ /**
192
+ * Delete program.
193
+ * @public
194
+ */
195
+ delete() {
196
+ this.gl && this.gl.deleteProgram(this._p);
197
+ }
198
+ /**
199
+ * Creates program.
200
+ * @public
201
+ * @param {Object} gl - WebGl context.
202
+ */
203
+ createProgram(gl) {
204
+ this.gl = gl;
205
+ this._p = this.gl.createProgram();
206
+ if (!this._p)
207
+ return;
208
+ let fs = this._createFragmentShader(this.fragmentShader);
209
+ let vs = this._createVertexShader(this.vertexShader);
210
+ if (!fs || !vs)
211
+ return;
212
+ gl.attachShader(this._p, fs);
213
+ gl.attachShader(this._p, vs);
214
+ gl.linkProgram(this._p);
215
+ if (!this.drawElementsInstanced) {
216
+ if (gl.drawElementsInstanced) {
217
+ this.drawElementsInstanced = gl.drawElementsInstanced.bind(gl);
218
+ }
219
+ else {
220
+ let ext = gl.getExtension('ANGLE_instanced_arrays');
221
+ if (ext) {
222
+ this.drawElementsInstanced = ext.drawElementsInstancedANGLE.bind(ext);
223
+ }
224
+ }
225
+ // this.drawElementsInstanced =
226
+ // gl.drawElementsInstanced ?
227
+ // gl.drawElementsInstanced.bind(gl) :
228
+ // gl.getExtension('ANGLE_instanced_arrays').drawElementsInstancedANGLE.bind(gl.getExtension('ANGLE_instanced_arrays'));
229
+ }
230
+ if (!this.vertexAttribDivisor) {
231
+ if (gl.vertexAttribDivisor) {
232
+ this.vertexAttribDivisor = gl.vertexAttribDivisor.bind(gl);
233
+ }
234
+ else {
235
+ let ext = gl.getExtension('ANGLE_instanced_arrays');
236
+ if (ext) {
237
+ this.vertexAttribDivisor = ext.vertexAttribDivisorANGLE.bind(ext);
238
+ }
239
+ }
240
+ // this.vertexAttribDivisor =
241
+ // gl.vertexAttribDivisor ?
242
+ // gl.vertexAttribDivisor.bind(gl) :
243
+ // gl.getExtension('ANGLE_instanced_arrays').vertexAttribDivisorANGLE.bind(gl.getExtension('ANGLE_instanced_arrays'));
244
+ }
245
+ if (!gl.getProgramParameter(this._p, gl.LINK_STATUS)) {
246
+ cons.logErr(`Shader program "${this.name}": initialization failed. ${gl.getProgramInfoLog(this._p)}.`);
247
+ gl.deleteProgram(this._p);
248
+ return;
249
+ }
250
+ this.use();
251
+ for (let a in this._attributes) {
252
+ //this.attributes[a]._name = a;
253
+ this._variables[a] = this._attributes[a];
254
+ this._attributes[a].func = Program.bindBuffer;
255
+ let t = this._attributes[a].itemType;
256
+ let itemTypeStr = t ? t.trim().toUpperCase() : "FLOAT";
257
+ if (itemTypes.indexOf(itemTypeStr) == -1) {
258
+ cons.logErr(`Shader program "${this.name}": attribute '${a}', item type '${this._attributes[a].itemType}' not exists.`);
259
+ this._attributes[a].itemType = gl.FLOAT;
260
+ }
261
+ else {
262
+ this._attributes[a].itemType = gl[itemTypeStr];
263
+ }
264
+ this._attributes[a].normalized = this._attributes[a].normalized || false;
265
+ this._attributes[a].divisor = this._attributes[a].divisor || 0;
266
+ this._p[a] = gl.getAttribLocation(this._p, a);
267
+ if (this._p[a] == undefined) {
268
+ cons.logErr(`Shader program "${this.name}": attribute '${a}' not exists.`);
269
+ gl.deleteProgram(this._p);
270
+ return;
271
+ }
272
+ let type = this._attributes[a].type;
273
+ if (typeof type === "string") {
274
+ type = typeStr[type.trim().toLowerCase()];
275
+ }
276
+ let d = this._attributes[a].divisor;
277
+ if (type === types.MAT4) {
278
+ let loc = this._p[a];
279
+ this._attribArrays.push(loc, loc + 1, loc + 2, loc + 3);
280
+ this._attribDivisor.push(d, d, d, d);
281
+ }
282
+ else {
283
+ this._attribArrays.push(this._p[a]);
284
+ this._attribDivisor.push(d);
285
+ }
286
+ gl.enableVertexAttribArray(this._p[a]);
287
+ this._attributes[a]._pName = this._p[a];
288
+ this.attributes[a] = this._p[a];
289
+ }
290
+ for (let u in this._uniforms) {
291
+ if (typeof this._uniforms[u].type === "string") {
292
+ let t = this._uniforms[u].type;
293
+ this._uniforms[u].func = variableHandlers.u[typeStr[t.trim().toLowerCase()]];
294
+ }
295
+ else {
296
+ this._uniforms[u].func = variableHandlers.u[this._uniforms[u].type];
297
+ }
298
+ this._variables[u] = this._uniforms[u];
299
+ this._p[u] = gl.getUniformLocation(this._p, u);
300
+ if (this._p[u] == undefined) {
301
+ cons.logErr(`Shader program "${this.name}": uniform '${u}' not exists.`);
302
+ gl.deleteProgram(this._p);
303
+ return;
304
+ }
305
+ this._uniforms[u]._pName = this._p[u];
306
+ this.uniforms[u] = this._p[u];
307
+ }
308
+ gl.detachShader(this._p, fs);
309
+ gl.detachShader(this._p, vs);
310
+ gl.deleteShader(fs);
311
+ gl.deleteShader(vs);
312
+ }
313
+ }
314
+ export { Program };
@@ -0,0 +1,86 @@
1
+ import { Handler, WebGLBufferExt } from "./Handler";
2
+ import { Program } from "./Program";
3
+ /**
4
+ * This is shader program controller that used by handler object to access the shader
5
+ * program capabilities, like switching program during the rendering.
6
+ * Get access to the program from ...handler.programs.<program name> etc.
7
+ * @class
8
+ * @param {Handler} handler - Handler.
9
+ * @param {Program} program - Shader program.
10
+ */
11
+ export declare class ProgramController {
12
+ /**
13
+ * Handler.
14
+ * @protected
15
+ * @type {Handler}
16
+ */
17
+ protected _handler: Handler;
18
+ /**
19
+ * Shader program.
20
+ * @public
21
+ * @type {Program}
22
+ */
23
+ _program: Program;
24
+ /**
25
+ * Program current frame activation flag.
26
+ * @public
27
+ * @type {boolean}
28
+ */
29
+ _activated: boolean;
30
+ constructor(handler: Handler, program: Program);
31
+ /**
32
+ * Lazy create program call.
33
+ * @public
34
+ */
35
+ initialize(): void;
36
+ /**
37
+ * Returns controller's shader program.
38
+ * @public
39
+ * @return {Program} -
40
+ */
41
+ getProgram(): Program;
42
+ /**
43
+ * Activates current shader program.
44
+ * @public
45
+ * @returns {ProgramController} -
46
+ */
47
+ activate(): this;
48
+ /**
49
+ * Remove program from handler
50
+ * @public
51
+ */
52
+ remove(): void;
53
+ /**
54
+ * Deactivate shader program. This is not necessary while activate function used.
55
+ * @public
56
+ */
57
+ deactivate(): void;
58
+ /**
59
+ * Returns program activity.
60
+ * @public
61
+ * @return {boolean} -
62
+ */
63
+ isActive(): boolean;
64
+ /**
65
+ * Sets program uniforms and attributes values and return controller instance.
66
+ * @public
67
+ * @param {Record<string, any>} params - Object with variable name and value like { value: 12, someArray:[1,2,3], uSampler: texture,... }
68
+ * @return {ProgramController} -
69
+ */
70
+ set(params: Record<string, any>): this;
71
+ /**
72
+ * Draw index buffer with this program.
73
+ * @public
74
+ * @param {number} mode - Gl draw mode
75
+ * @param {WebGLBuffer} buffer - Buffer to draw.
76
+ * @return {ProgramController} Returns current shader controller instance.
77
+ */
78
+ drawIndexBuffer(mode: number, buffer: WebGLBufferExt): ProgramController;
79
+ /**
80
+ * Calls Gl drawArray function.
81
+ * @param {number} mode - Gl draw mode.
82
+ * @param {number} numItems - draw items count.
83
+ * @return {ProgramController} Returns current shader controller instance.
84
+ */
85
+ drawArrays(mode: number, numItems: number): ProgramController;
86
+ }