@luma.gl/webgl 8.6.0-alpha.1 → 8.6.0-alpha.2

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 (651) hide show
  1. package/dist/api/device2.d.ts +52 -0
  2. package/dist/api/device2.d.ts.map +1 -0
  3. package/dist/api/device2.js +23 -0
  4. package/dist/api/device2.js.map +1 -0
  5. package/dist/classes/accessor.js +2 -2
  6. package/dist/classes/accessor.js.map +1 -1
  7. package/dist/classes/accessor.ts.disabled +1 -1
  8. package/dist/classes/clear.d.ts +3 -2
  9. package/dist/classes/clear.d.ts.map +1 -1
  10. package/dist/classes/clear.js +7 -4
  11. package/dist/classes/clear.js.map +1 -1
  12. package/dist/classes/copy-and-blit.d.ts +18 -1
  13. package/dist/classes/copy-and-blit.d.ts.map +1 -1
  14. package/dist/classes/copy-and-blit.js +30 -25
  15. package/dist/classes/copy-and-blit.js.map +1 -1
  16. package/dist/classes/framebuffer.d.ts +10 -1
  17. package/dist/classes/framebuffer.d.ts.map +1 -1
  18. package/dist/classes/framebuffer.js +15 -15
  19. package/dist/classes/framebuffer.js.map +1 -1
  20. package/dist/classes/program-configuration.d.ts +2 -2
  21. package/dist/classes/program-configuration.d.ts.map +1 -1
  22. package/dist/classes/program-configuration.js +1 -1
  23. package/dist/classes/program-configuration.js.map +1 -1
  24. package/dist/classes/program.d.ts +6 -6
  25. package/dist/classes/program.d.ts.map +1 -1
  26. package/dist/classes/program.js +11 -9
  27. package/dist/classes/program.js.map +1 -1
  28. package/dist/classes/query.d.ts.map +1 -1
  29. package/dist/classes/query.js +6 -5
  30. package/dist/classes/query.js.map +1 -1
  31. package/dist/classes/renderbuffer-formats.js +1 -1
  32. package/dist/classes/renderbuffer-formats.js.map +1 -1
  33. package/dist/classes/renderbuffer.d.ts.map +1 -1
  34. package/dist/classes/renderbuffer.js +4 -3
  35. package/dist/classes/renderbuffer.js.map +1 -1
  36. package/dist/classes/texture-2d.d.ts +4 -3
  37. package/dist/classes/texture-2d.d.ts.map +1 -1
  38. package/dist/classes/texture-2d.js +5 -8
  39. package/dist/classes/texture-2d.js.map +1 -1
  40. package/dist/classes/texture-3d.d.ts +3 -2
  41. package/dist/classes/texture-3d.d.ts.map +1 -1
  42. package/dist/classes/texture-3d.js +15 -6
  43. package/dist/classes/texture-3d.js.map +1 -1
  44. package/dist/classes/texture-cube.d.ts +2 -1
  45. package/dist/classes/texture-cube.d.ts.map +1 -1
  46. package/dist/classes/texture-cube.js +3 -4
  47. package/dist/classes/texture-cube.js.map +1 -1
  48. package/dist/classes/texture-formats.js +1 -1
  49. package/dist/classes/texture-formats.js.map +1 -1
  50. package/dist/classes/texture.d.ts +14 -9
  51. package/dist/classes/texture.d.ts.map +1 -1
  52. package/dist/classes/texture.js +19 -18
  53. package/dist/classes/texture.js.map +1 -1
  54. package/dist/classes/transform-feedback.d.ts.map +1 -1
  55. package/dist/classes/transform-feedback.js +5 -4
  56. package/dist/classes/transform-feedback.js.map +1 -1
  57. package/dist/classes/uniform-buffer-layout.js +1 -1
  58. package/dist/classes/uniform-buffer-layout.js.map +1 -1
  59. package/dist/classes/uniforms.d.ts +0 -1
  60. package/dist/classes/uniforms.d.ts.map +1 -1
  61. package/dist/classes/uniforms.js +1 -2
  62. package/dist/classes/uniforms.js.map +1 -1
  63. package/dist/classes/vertex-array-object.d.ts +1 -1
  64. package/dist/classes/vertex-array-object.d.ts.map +1 -1
  65. package/dist/classes/vertex-array-object.js +8 -9
  66. package/dist/classes/vertex-array-object.js.map +1 -1
  67. package/dist/classes/vertex-array.d.ts +1 -1
  68. package/dist/classes/vertex-array.d.ts.map +1 -1
  69. package/dist/classes/vertex-array.js +1 -2
  70. package/dist/classes/vertex-array.js.map +1 -1
  71. package/dist/classes/webgl-buffer.d.ts +2 -0
  72. package/dist/classes/webgl-buffer.d.ts.map +1 -1
  73. package/dist/classes/webgl-buffer.js +8 -5
  74. package/dist/classes/webgl-buffer.js.map +1 -1
  75. package/dist/classes/webgl-resource.d.ts +6 -4
  76. package/dist/classes/webgl-resource.d.ts.map +1 -1
  77. package/dist/classes/webgl-resource.js +12 -8
  78. package/dist/classes/webgl-resource.js.map +1 -1
  79. package/dist/classes/webgl-shader.d.ts +3 -1
  80. package/dist/classes/webgl-shader.d.ts.map +1 -1
  81. package/dist/classes/webgl-shader.js +7 -4
  82. package/dist/classes/webgl-shader.js.map +1 -1
  83. package/dist/context/context/context-state.d.ts +18 -0
  84. package/dist/context/context/context-state.d.ts.map +1 -0
  85. package/dist/context/context/context-state.js +26 -0
  86. package/dist/context/context/context-state.js.map +1 -0
  87. package/dist/context/context/create-context.d.ts +40 -0
  88. package/dist/context/context/create-context.d.ts.map +1 -0
  89. package/dist/context/context/create-context.js +37 -0
  90. package/dist/context/context/create-context.js.map +1 -0
  91. package/dist/context/context/device-pixels.d.ts +25 -0
  92. package/dist/context/context/device-pixels.d.ts.map +1 -0
  93. package/dist/context/context/device-pixels.js +98 -0
  94. package/dist/context/context/device-pixels.js.map +1 -0
  95. package/dist/context/context/get-canvas.d.ts +13 -0
  96. package/dist/context/context/get-canvas.d.ts.map +1 -0
  97. package/dist/context/context/get-canvas.js +31 -0
  98. package/dist/context/context/get-canvas.js.map +1 -0
  99. package/dist/context/context/resize-context.d.ts +20 -0
  100. package/dist/context/context/resize-context.d.ts.map +1 -0
  101. package/dist/context/context/resize-context.js +15 -0
  102. package/dist/context/context/resize-context.js.map +1 -0
  103. package/dist/context/context/webgl-checks.d.ts +13 -0
  104. package/dist/context/context/webgl-checks.d.ts.map +1 -0
  105. package/dist/context/context/webgl-checks.js +34 -0
  106. package/dist/context/context/webgl-checks.js.map +1 -0
  107. package/dist/context/parameters/unified-parameter-api.d.ts +30 -0
  108. package/dist/context/parameters/unified-parameter-api.d.ts.map +1 -0
  109. package/dist/context/parameters/unified-parameter-api.js +65 -0
  110. package/dist/context/parameters/unified-parameter-api.js.map +1 -0
  111. package/dist/context/parameters/webgl-parameter-tables.d.ts +169 -0
  112. package/dist/context/parameters/webgl-parameter-tables.d.ts.map +1 -0
  113. package/dist/context/parameters/webgl-parameter-tables.js +445 -0
  114. package/dist/context/parameters/webgl-parameter-tables.js.map +1 -0
  115. package/dist/context/parameters/webgl-parameters.d.ts +144 -0
  116. package/dist/context/parameters/webgl-parameters.d.ts.map +1 -0
  117. package/dist/context/parameters/webgl-parameters.js +2 -0
  118. package/dist/context/parameters/webgl-parameters.js.map +1 -0
  119. package/dist/context/polyfill/get-parameter-polyfill.d.ts +2 -0
  120. package/dist/context/polyfill/get-parameter-polyfill.d.ts.map +1 -0
  121. package/dist/context/polyfill/get-parameter-polyfill.js +91 -0
  122. package/dist/context/polyfill/get-parameter-polyfill.js.map +1 -0
  123. package/dist/context/polyfill/polyfill-context.d.ts +5 -0
  124. package/dist/context/polyfill/polyfill-context.d.ts.map +1 -0
  125. package/dist/context/polyfill/polyfill-context.js +91 -0
  126. package/dist/context/polyfill/polyfill-context.js.map +1 -0
  127. package/dist/context/polyfill/polyfill-table.d.ts +48 -0
  128. package/dist/context/polyfill/polyfill-table.d.ts.map +1 -0
  129. package/dist/context/polyfill/polyfill-table.js +160 -0
  130. package/dist/context/polyfill/polyfill-table.js.map +1 -0
  131. package/dist/context/polyfill/polyfill-vertex-array-object.d.ts +2 -0
  132. package/dist/context/polyfill/polyfill-vertex-array-object.d.ts.map +1 -0
  133. package/dist/context/polyfill/polyfill-vertex-array-object.js +335 -0
  134. package/dist/context/polyfill/polyfill-vertex-array-object.js.map +1 -0
  135. package/dist/context/state-tracker/deep-array-equal.d.ts +3 -0
  136. package/dist/context/state-tracker/deep-array-equal.d.ts.map +1 -0
  137. package/dist/context/state-tracker/deep-array-equal.js +21 -0
  138. package/dist/context/state-tracker/deep-array-equal.js.map +1 -0
  139. package/dist/context/state-tracker/track-context-state.d.ts +22 -0
  140. package/dist/context/state-tracker/track-context-state.d.ts.map +1 -0
  141. package/dist/context/state-tracker/track-context-state.js +169 -0
  142. package/dist/context/state-tracker/track-context-state.js.map +1 -0
  143. package/dist/context/state-tracker/with-parameters.d.ts +13 -0
  144. package/dist/context/state-tracker/with-parameters.d.ts.map +1 -0
  145. package/dist/context/state-tracker/with-parameters.js +36 -0
  146. package/dist/context/state-tracker/with-parameters.js.map +1 -0
  147. package/dist/debug/debug-uniforms.js +1 -1
  148. package/dist/debug/debug-uniforms.js.map +1 -1
  149. package/dist/debug/debug-vertex-array.js +2 -2
  150. package/dist/debug/debug-vertex-array.js.map +1 -1
  151. package/dist/device/check-glsl-extension.d.ts +4 -0
  152. package/dist/device/check-glsl-extension.d.ts.map +1 -0
  153. package/dist/device/check-glsl-extension.js +22 -0
  154. package/dist/device/check-glsl-extension.js.map +1 -0
  155. package/dist/device/device-features.d.ts +12 -0
  156. package/dist/device/device-features.d.ts.map +1 -0
  157. package/dist/device/device-features.js +123 -0
  158. package/dist/device/device-features.js.map +1 -0
  159. package/dist/device/device-limits.d.ts +51 -0
  160. package/dist/device/device-limits.d.ts.map +1 -0
  161. package/dist/device/device-limits.js +90 -0
  162. package/dist/device/device-limits.js.map +1 -0
  163. package/dist/device/get-device-info.d.ts +4 -0
  164. package/dist/device/get-device-info.d.ts.map +1 -0
  165. package/dist/device/get-device-info.js +44 -0
  166. package/dist/device/get-device-info.js.map +1 -0
  167. package/dist/device/webgl-device.d.ts +111 -0
  168. package/dist/device/webgl-device.d.ts.map +1 -0
  169. package/dist/device/webgl-device.js +208 -0
  170. package/dist/device/webgl-device.js.map +1 -0
  171. package/dist/es5/api/device2.js +42 -0
  172. package/dist/es5/api/device2.js.map +1 -0
  173. package/dist/es5/bundle.js +1 -1
  174. package/dist/es5/bundle.js.map +1 -1
  175. package/dist/es5/classes/accessor.js +104 -74
  176. package/dist/es5/classes/accessor.js.map +1 -1
  177. package/dist/es5/classes/accessor.ts.disabled +1 -1
  178. package/dist/es5/classes/clear.js +55 -34
  179. package/dist/es5/classes/clear.js.map +1 -1
  180. package/dist/es5/classes/copy-and-blit.js +175 -156
  181. package/dist/es5/classes/copy-and-blit.js.map +1 -1
  182. package/dist/es5/classes/framebuffer.js +647 -518
  183. package/dist/es5/classes/framebuffer.js.map +1 -1
  184. package/dist/es5/classes/program-configuration.js +138 -121
  185. package/dist/es5/classes/program-configuration.js.map +1 -1
  186. package/dist/es5/classes/program.js +368 -292
  187. package/dist/es5/classes/program.js.map +1 -1
  188. package/dist/es5/classes/query.js +172 -107
  189. package/dist/es5/classes/query.js.map +1 -1
  190. package/dist/es5/classes/renderbuffer-formats.js +126 -164
  191. package/dist/es5/classes/renderbuffer-formats.js.map +1 -1
  192. package/dist/es5/classes/renderbuffer.js +151 -98
  193. package/dist/es5/classes/renderbuffer.js.map +1 -1
  194. package/dist/es5/classes/texture-2d.js +44 -17
  195. package/dist/es5/classes/texture-2d.js.map +1 -1
  196. package/dist/es5/classes/texture-3d.js +107 -48
  197. package/dist/es5/classes/texture-3d.js.map +1 -1
  198. package/dist/es5/classes/texture-cube.js +169 -110
  199. package/dist/es5/classes/texture-cube.js.map +1 -1
  200. package/dist/es5/classes/texture-formats.js +42 -71
  201. package/dist/es5/classes/texture-formats.js.map +1 -1
  202. package/dist/es5/classes/texture.js +780 -665
  203. package/dist/es5/classes/texture.js.map +1 -1
  204. package/dist/es5/classes/transform-feedback.js +206 -150
  205. package/dist/es5/classes/transform-feedback.js.map +1 -1
  206. package/dist/es5/classes/uniform-buffer-layout.js +103 -89
  207. package/dist/es5/classes/uniform-buffer-layout.js.map +1 -1
  208. package/dist/es5/classes/uniforms.js +39 -80
  209. package/dist/es5/classes/uniforms.js.map +1 -1
  210. package/dist/es5/classes/vertex-array-object.js +268 -209
  211. package/dist/es5/classes/vertex-array-object.js.map +1 -1
  212. package/dist/es5/classes/vertex-array.js +348 -303
  213. package/dist/es5/classes/vertex-array.js.map +1 -1
  214. package/dist/es5/classes/webgl-buffer.js +374 -303
  215. package/dist/es5/classes/webgl-buffer.js.map +1 -1
  216. package/dist/es5/classes/webgl-resource.js +231 -161
  217. package/dist/es5/classes/webgl-resource.js.map +1 -1
  218. package/dist/es5/classes/webgl-shader.js +230 -134
  219. package/dist/es5/classes/webgl-shader.js.map +1 -1
  220. package/dist/es5/context/context/context-state.js +31 -0
  221. package/dist/es5/context/context/context-state.js.map +1 -0
  222. package/dist/es5/context/context/create-context.js +57 -0
  223. package/dist/es5/context/context/create-context.js.map +1 -0
  224. package/dist/es5/context/context/device-pixels.js +115 -0
  225. package/dist/es5/context/context/device-pixels.js.map +1 -0
  226. package/dist/es5/context/context/get-canvas.js +40 -0
  227. package/dist/es5/context/context/get-canvas.js.map +1 -0
  228. package/dist/es5/context/context/resize-context.js +23 -0
  229. package/dist/es5/context/context/resize-context.js.map +1 -0
  230. package/dist/es5/context/context/webgl-checks.js +54 -0
  231. package/dist/es5/context/context/webgl-checks.js.map +1 -0
  232. package/dist/es5/context/parameters/unified-parameter-api.js +95 -0
  233. package/dist/es5/context/parameters/unified-parameter-api.js.map +1 -0
  234. package/dist/es5/context/parameters/webgl-parameter-tables.js +392 -0
  235. package/dist/es5/context/parameters/webgl-parameter-tables.js.map +1 -0
  236. package/dist/es5/context/parameters/webgl-parameters.js +6 -0
  237. package/dist/es5/context/parameters/webgl-parameters.js.map +1 -0
  238. package/dist/es5/context/polyfill/get-parameter-polyfill.js +81 -0
  239. package/dist/es5/context/polyfill/get-parameter-polyfill.js.map +1 -0
  240. package/dist/es5/context/polyfill/polyfill-context.js +134 -0
  241. package/dist/es5/context/polyfill/polyfill-context.js.map +1 -0
  242. package/dist/es5/context/polyfill/polyfill-table.js +166 -0
  243. package/dist/es5/context/polyfill/polyfill-table.js.map +1 -0
  244. package/dist/es5/context/polyfill/polyfill-vertex-array-object.js +341 -0
  245. package/dist/es5/context/polyfill/polyfill-vertex-array-object.js.map +1 -0
  246. package/dist/es5/context/state-tracker/deep-array-equal.js +28 -0
  247. package/dist/es5/context/state-tracker/deep-array-equal.js.map +1 -0
  248. package/dist/es5/context/state-tracker/track-context-state.js +196 -0
  249. package/dist/es5/context/state-tracker/track-context-state.js.map +1 -0
  250. package/dist/es5/context/state-tracker/with-parameters.js +44 -0
  251. package/dist/es5/context/state-tracker/with-parameters.js.map +1 -0
  252. package/dist/es5/debug/debug-program-configuration.js +48 -20
  253. package/dist/es5/debug/debug-program-configuration.js.map +1 -1
  254. package/dist/es5/debug/debug-uniforms.js +110 -70
  255. package/dist/es5/debug/debug-uniforms.js.map +1 -1
  256. package/dist/es5/debug/debug-vertex-array.js +49 -54
  257. package/dist/es5/debug/debug-vertex-array.js.map +1 -1
  258. package/dist/es5/device/check-glsl-extension.js +33 -0
  259. package/dist/es5/device/check-glsl-extension.js.map +1 -0
  260. package/dist/es5/device/device-features.js +152 -0
  261. package/dist/es5/device/device-features.js.map +1 -0
  262. package/dist/es5/device/device-limits.js +64 -0
  263. package/dist/es5/device/device-limits.js.map +1 -0
  264. package/dist/es5/device/get-device-info.js +55 -0
  265. package/dist/es5/device/get-device-info.js.map +1 -0
  266. package/dist/es5/device/webgl-device.js +279 -0
  267. package/dist/es5/device/webgl-device.js.map +1 -0
  268. package/dist/es5/index.js +179 -189
  269. package/dist/es5/index.js.map +1 -1
  270. package/dist/es5/init.js +18 -14
  271. package/dist/es5/init.js.map +1 -1
  272. package/dist/es5/webgl-utils/attribute-utils.js +74 -87
  273. package/dist/es5/webgl-utils/attribute-utils.js.map +1 -1
  274. package/dist/es5/webgl-utils/constants-to-keys.js +7 -7
  275. package/dist/es5/webgl-utils/constants-to-keys.js.map +1 -1
  276. package/dist/es5/webgl-utils/format-utils.js +4 -4
  277. package/dist/es5/webgl-utils/format-utils.js.map +1 -1
  278. package/dist/es5/webgl-utils/get-error.js +18 -18
  279. package/dist/es5/webgl-utils/get-error.js.map +1 -1
  280. package/dist/es5/webgl-utils/index.js +10 -10
  281. package/dist/es5/webgl-utils/is-old-ie.js +16 -0
  282. package/dist/es5/webgl-utils/is-old-ie.js.map +1 -0
  283. package/dist/es5/webgl-utils/parse-shader-compiler-log.js +53 -25
  284. package/dist/es5/webgl-utils/parse-shader-compiler-log.js.map +1 -1
  285. package/dist/es5/webgl-utils/texture-utils.js +32 -36
  286. package/dist/es5/webgl-utils/texture-utils.js.map +1 -1
  287. package/dist/es5/webgl-utils/typed-array-utils.js +33 -32
  288. package/dist/es5/webgl-utils/typed-array-utils.js.map +1 -1
  289. package/dist/es5/webgl-utils/webgl-info.ts.disabled +135 -0
  290. package/dist/esm/api/device2.js +23 -0
  291. package/dist/esm/api/device2.js.map +1 -0
  292. package/dist/esm/classes/accessor.js +2 -2
  293. package/dist/esm/classes/accessor.js.map +1 -1
  294. package/dist/esm/classes/accessor.ts.disabled +1 -1
  295. package/dist/esm/classes/clear.js +7 -4
  296. package/dist/esm/classes/clear.js.map +1 -1
  297. package/dist/esm/classes/copy-and-blit.js +30 -25
  298. package/dist/esm/classes/copy-and-blit.js.map +1 -1
  299. package/dist/esm/classes/framebuffer.js +15 -15
  300. package/dist/esm/classes/framebuffer.js.map +1 -1
  301. package/dist/esm/classes/program-configuration.js +1 -1
  302. package/dist/esm/classes/program-configuration.js.map +1 -1
  303. package/dist/esm/classes/program.js +11 -9
  304. package/dist/esm/classes/program.js.map +1 -1
  305. package/dist/esm/classes/query.js +6 -5
  306. package/dist/esm/classes/query.js.map +1 -1
  307. package/dist/esm/classes/renderbuffer-formats.js +1 -1
  308. package/dist/esm/classes/renderbuffer-formats.js.map +1 -1
  309. package/dist/esm/classes/renderbuffer.js +4 -3
  310. package/dist/esm/classes/renderbuffer.js.map +1 -1
  311. package/dist/esm/classes/texture-2d.js +5 -8
  312. package/dist/esm/classes/texture-2d.js.map +1 -1
  313. package/dist/esm/classes/texture-3d.js +15 -6
  314. package/dist/esm/classes/texture-3d.js.map +1 -1
  315. package/dist/esm/classes/texture-cube.js +3 -4
  316. package/dist/esm/classes/texture-cube.js.map +1 -1
  317. package/dist/esm/classes/texture-formats.js +1 -1
  318. package/dist/esm/classes/texture-formats.js.map +1 -1
  319. package/dist/esm/classes/texture.js +19 -18
  320. package/dist/esm/classes/texture.js.map +1 -1
  321. package/dist/esm/classes/transform-feedback.js +5 -4
  322. package/dist/esm/classes/transform-feedback.js.map +1 -1
  323. package/dist/esm/classes/uniform-buffer-layout.js +1 -1
  324. package/dist/esm/classes/uniform-buffer-layout.js.map +1 -1
  325. package/dist/esm/classes/uniforms.js +1 -2
  326. package/dist/esm/classes/uniforms.js.map +1 -1
  327. package/dist/esm/classes/vertex-array-object.js +8 -9
  328. package/dist/esm/classes/vertex-array-object.js.map +1 -1
  329. package/dist/esm/classes/vertex-array.js +1 -2
  330. package/dist/esm/classes/vertex-array.js.map +1 -1
  331. package/dist/esm/classes/webgl-buffer.js +8 -5
  332. package/dist/esm/classes/webgl-buffer.js.map +1 -1
  333. package/dist/esm/classes/webgl-resource.js +12 -8
  334. package/dist/esm/classes/webgl-resource.js.map +1 -1
  335. package/dist/esm/classes/webgl-shader.js +7 -4
  336. package/dist/esm/classes/webgl-shader.js.map +1 -1
  337. package/dist/esm/context/context/context-state.js +26 -0
  338. package/dist/esm/context/context/context-state.js.map +1 -0
  339. package/dist/esm/context/context/create-context.js +37 -0
  340. package/dist/esm/context/context/create-context.js.map +1 -0
  341. package/dist/esm/context/context/device-pixels.js +98 -0
  342. package/dist/esm/context/context/device-pixels.js.map +1 -0
  343. package/dist/esm/context/context/get-canvas.js +31 -0
  344. package/dist/esm/context/context/get-canvas.js.map +1 -0
  345. package/dist/esm/context/context/resize-context.js +15 -0
  346. package/dist/esm/context/context/resize-context.js.map +1 -0
  347. package/dist/esm/context/context/webgl-checks.js +34 -0
  348. package/dist/esm/context/context/webgl-checks.js.map +1 -0
  349. package/dist/esm/context/parameters/unified-parameter-api.js +65 -0
  350. package/dist/esm/context/parameters/unified-parameter-api.js.map +1 -0
  351. package/dist/esm/context/parameters/webgl-parameter-tables.js +445 -0
  352. package/dist/esm/context/parameters/webgl-parameter-tables.js.map +1 -0
  353. package/dist/esm/context/parameters/webgl-parameters.js +2 -0
  354. package/dist/esm/context/parameters/webgl-parameters.js.map +1 -0
  355. package/dist/esm/context/polyfill/get-parameter-polyfill.js +91 -0
  356. package/dist/esm/context/polyfill/get-parameter-polyfill.js.map +1 -0
  357. package/dist/esm/context/polyfill/polyfill-context.js +91 -0
  358. package/dist/esm/context/polyfill/polyfill-context.js.map +1 -0
  359. package/dist/esm/context/polyfill/polyfill-table.js +160 -0
  360. package/dist/esm/context/polyfill/polyfill-table.js.map +1 -0
  361. package/dist/esm/context/polyfill/polyfill-vertex-array-object.js +335 -0
  362. package/dist/esm/context/polyfill/polyfill-vertex-array-object.js.map +1 -0
  363. package/dist/esm/context/state-tracker/deep-array-equal.js +21 -0
  364. package/dist/esm/context/state-tracker/deep-array-equal.js.map +1 -0
  365. package/dist/esm/context/state-tracker/track-context-state.js +169 -0
  366. package/dist/esm/context/state-tracker/track-context-state.js.map +1 -0
  367. package/dist/esm/context/state-tracker/with-parameters.js +36 -0
  368. package/dist/esm/context/state-tracker/with-parameters.js.map +1 -0
  369. package/dist/esm/debug/debug-uniforms.js +1 -1
  370. package/dist/esm/debug/debug-uniforms.js.map +1 -1
  371. package/dist/esm/debug/debug-vertex-array.js +2 -2
  372. package/dist/esm/debug/debug-vertex-array.js.map +1 -1
  373. package/dist/esm/device/check-glsl-extension.js +22 -0
  374. package/dist/esm/device/check-glsl-extension.js.map +1 -0
  375. package/dist/esm/device/device-features.js +123 -0
  376. package/dist/esm/device/device-features.js.map +1 -0
  377. package/dist/esm/device/device-limits.js +90 -0
  378. package/dist/esm/device/device-limits.js.map +1 -0
  379. package/dist/esm/device/get-device-info.js +44 -0
  380. package/dist/esm/device/get-device-info.js.map +1 -0
  381. package/dist/esm/device/webgl-device.js +208 -0
  382. package/dist/esm/device/webgl-device.js.map +1 -0
  383. package/dist/esm/index.js +22 -20
  384. package/dist/esm/index.js.map +1 -1
  385. package/dist/esm/init.js +11 -8
  386. package/dist/esm/init.js.map +1 -1
  387. package/dist/esm/webgl-utils/attribute-utils.js +1 -1
  388. package/dist/esm/webgl-utils/attribute-utils.js.map +1 -1
  389. package/dist/esm/webgl-utils/constants-to-keys.js +1 -1
  390. package/dist/esm/webgl-utils/constants-to-keys.js.map +1 -1
  391. package/dist/esm/webgl-utils/format-utils.js +1 -1
  392. package/dist/esm/webgl-utils/format-utils.js.map +1 -1
  393. package/dist/esm/{features/check-old-ie.js → webgl-utils/is-old-ie.js} +3 -3
  394. package/dist/esm/webgl-utils/is-old-ie.js.map +1 -0
  395. package/dist/esm/webgl-utils/texture-utils.js +2 -2
  396. package/dist/esm/webgl-utils/texture-utils.js.map +1 -1
  397. package/dist/esm/webgl-utils/typed-array-utils.js +22 -18
  398. package/dist/esm/webgl-utils/typed-array-utils.js.map +1 -1
  399. package/dist/esm/webgl-utils/webgl-info.ts.disabled +135 -0
  400. package/dist/index.d.ts +36 -20
  401. package/dist/index.d.ts.map +1 -1
  402. package/dist/index.js +22 -20
  403. package/dist/index.js.map +1 -1
  404. package/dist/init.d.ts.map +1 -1
  405. package/dist/init.js +11 -8
  406. package/dist/init.js.map +1 -1
  407. package/dist/webgl-utils/attribute-utils.d.ts +1 -1
  408. package/dist/webgl-utils/attribute-utils.js +1 -1
  409. package/dist/webgl-utils/attribute-utils.js.map +1 -1
  410. package/dist/webgl-utils/constants-to-keys.js +1 -1
  411. package/dist/webgl-utils/constants-to-keys.js.map +1 -1
  412. package/dist/webgl-utils/format-utils.d.ts +2 -2
  413. package/dist/webgl-utils/format-utils.js +1 -1
  414. package/dist/webgl-utils/format-utils.js.map +1 -1
  415. package/dist/webgl-utils/is-old-ie.d.ts +2 -0
  416. package/dist/webgl-utils/is-old-ie.d.ts.map +1 -0
  417. package/dist/{features/check-old-ie.js → webgl-utils/is-old-ie.js} +3 -3
  418. package/dist/webgl-utils/is-old-ie.js.map +1 -0
  419. package/dist/webgl-utils/texture-utils.d.ts +12 -8
  420. package/dist/webgl-utils/texture-utils.d.ts.map +1 -1
  421. package/dist/webgl-utils/texture-utils.js +2 -2
  422. package/dist/webgl-utils/texture-utils.js.map +1 -1
  423. package/dist/webgl-utils/typed-array-utils.d.ts +39 -32
  424. package/dist/webgl-utils/typed-array-utils.d.ts.map +1 -1
  425. package/dist/webgl-utils/typed-array-utils.js +22 -18
  426. package/dist/webgl-utils/typed-array-utils.js.map +1 -1
  427. package/dist/webgl-utils/webgl-info.ts.disabled +135 -0
  428. package/package.json +5 -6
  429. package/src/.DS_Store +0 -0
  430. package/src/api/device2.ts +71 -0
  431. package/src/classes/accessor.js +2 -2
  432. package/src/classes/accessor.ts.disabled +1 -1
  433. package/src/classes/clear.ts +9 -4
  434. package/src/classes/copy-and-blit.ts +49 -52
  435. package/src/classes/framebuffer.ts +38 -35
  436. package/src/classes/program-configuration.ts +6 -6
  437. package/src/classes/program.ts +21 -15
  438. package/src/classes/query.ts +6 -6
  439. package/src/classes/renderbuffer-formats.ts +1 -1
  440. package/src/classes/renderbuffer.ts +5 -4
  441. package/src/classes/texture-2d.ts +6 -11
  442. package/src/classes/texture-3d.ts +16 -11
  443. package/src/classes/texture-cube.ts +7 -7
  444. package/src/classes/texture-formats.ts +1 -1
  445. package/src/classes/texture.ts +39 -40
  446. package/src/classes/transform-feedback.ts +14 -13
  447. package/src/classes/uniform-buffer-layout.ts +1 -1
  448. package/src/classes/uniforms.ts +4 -10
  449. package/src/classes/vertex-array-object.ts +10 -14
  450. package/src/classes/vertex-array.ts +2 -3
  451. package/src/classes/webgl-buffer.ts +7 -5
  452. package/src/classes/webgl-resource.ts +20 -18
  453. package/src/classes/webgl-shader.ts +6 -4
  454. package/src/context/context/context-state.ts +39 -0
  455. package/src/context/context/create-context.ts +83 -0
  456. package/src/context/context/device-pixels.ts +147 -0
  457. package/src/context/context/get-canvas.ts +37 -0
  458. package/src/context/context/resize-context.ts +37 -0
  459. package/src/context/context/webgl-checks.ts +49 -0
  460. package/src/context/parameters/unified-parameter-api.ts +127 -0
  461. package/src/context/parameters/webgl-parameter-tables.ts +625 -0
  462. package/src/context/parameters/webgl-parameters.ts +197 -0
  463. package/src/context/polyfill/get-parameter-polyfill.ts +118 -0
  464. package/src/context/polyfill/polyfill-context.ts +98 -0
  465. package/src/context/polyfill/polyfill-table.ts +162 -0
  466. package/src/context/polyfill/polyfill-vertex-array-object.ts +360 -0
  467. package/src/context/state-tracker/deep-array-equal.ts +20 -0
  468. package/src/context/state-tracker/track-context-state.ts +250 -0
  469. package/src/context/state-tracker/with-parameters.ts +50 -0
  470. package/src/debug/debug-uniforms.ts +1 -1
  471. package/src/debug/debug-vertex-array.ts +2 -4
  472. package/src/device/check-glsl-extension.ts +44 -0
  473. package/src/device/device-features.ts +227 -0
  474. package/src/device/device-limits.ts +150 -0
  475. package/src/device/get-device-info.ts +49 -0
  476. package/src/device/webgl-device.ts +406 -0
  477. package/src/index.ts +76 -22
  478. package/src/init.ts +12 -9
  479. package/src/types.ts +1 -1
  480. package/src/webgl-utils/attribute-utils.ts +1 -1
  481. package/src/webgl-utils/constants-to-keys.ts +1 -1
  482. package/src/webgl-utils/format-utils.ts +1 -1
  483. package/src/{features/check-old-ie.ts → webgl-utils/is-old-ie.ts} +3 -3
  484. package/src/webgl-utils/{texture-utils.js → texture-utils.ts} +13 -10
  485. package/src/webgl-utils/{typed-array-utils.js → typed-array-utils.ts} +59 -16
  486. package/src/webgl-utils/webgl-info.ts.disabled +135 -0
  487. package/dist/context/gl-context.d.ts +0 -15
  488. package/dist/context/gl-context.d.ts.map +0 -1
  489. package/dist/context/gl-context.js +0 -32
  490. package/dist/context/gl-context.js.map +0 -1
  491. package/dist/context/luma-context-data.d.ts +0 -31
  492. package/dist/context/luma-context-data.d.ts.map +0 -1
  493. package/dist/context/luma-context-data.js +0 -5
  494. package/dist/context/luma-context-data.js.map +0 -1
  495. package/dist/es5/context/gl-context.js +0 -46
  496. package/dist/es5/context/gl-context.js.map +0 -1
  497. package/dist/es5/context/luma-context-data.js +0 -12
  498. package/dist/es5/context/luma-context-data.js.map +0 -1
  499. package/dist/es5/features/check-glsl-extension.js +0 -40
  500. package/dist/es5/features/check-glsl-extension.js.map +0 -1
  501. package/dist/es5/features/check-old-ie.js +0 -15
  502. package/dist/es5/features/check-old-ie.js.map +0 -1
  503. package/dist/es5/features/features.js +0 -85
  504. package/dist/es5/features/features.js.map +0 -1
  505. package/dist/es5/features/index.js +0 -64
  506. package/dist/es5/features/index.js.map +0 -1
  507. package/dist/es5/features/limits.js +0 -72
  508. package/dist/es5/features/limits.js.map +0 -1
  509. package/dist/es5/features/webgl-features-table.js +0 -84
  510. package/dist/es5/features/webgl-features-table.js.map +0 -1
  511. package/dist/es5/features/webgl-limits-table.js +0 -172
  512. package/dist/es5/features/webgl-limits-table.js.map +0 -1
  513. package/dist/es5/utils/array-utils-flat.js +0 -50
  514. package/dist/es5/utils/array-utils-flat.js.map +0 -1
  515. package/dist/es5/utils/assert.js +0 -13
  516. package/dist/es5/utils/assert.js.map +0 -1
  517. package/dist/es5/utils/check-props.js +0 -50
  518. package/dist/es5/utils/check-props.js.map +0 -1
  519. package/dist/es5/utils/format-value.js +0 -57
  520. package/dist/es5/utils/format-value.js.map +0 -1
  521. package/dist/es5/utils/index.js +0 -68
  522. package/dist/es5/utils/index.js.map +0 -1
  523. package/dist/es5/utils/is-old-ie.js +0 -13
  524. package/dist/es5/utils/is-old-ie.js.map +0 -1
  525. package/dist/es5/utils/load-file.js +0 -43
  526. package/dist/es5/utils/load-file.js.map +0 -1
  527. package/dist/es5/utils/stub-methods.js +0 -25
  528. package/dist/es5/utils/stub-methods.js.map +0 -1
  529. package/dist/es5/utils/utils.js +0 -31
  530. package/dist/es5/utils/utils.js.map +0 -1
  531. package/dist/es5/webgl-utils/texture-utils.d.ts +0 -11
  532. package/dist/es5/webgl-utils/typed-array-utils.d.ts +0 -36
  533. package/dist/esm/context/gl-context.js +0 -32
  534. package/dist/esm/context/gl-context.js.map +0 -1
  535. package/dist/esm/context/luma-context-data.js +0 -5
  536. package/dist/esm/context/luma-context-data.js.map +0 -1
  537. package/dist/esm/features/check-glsl-extension.js +0 -27
  538. package/dist/esm/features/check-glsl-extension.js.map +0 -1
  539. package/dist/esm/features/check-old-ie.js.map +0 -1
  540. package/dist/esm/features/features.js +0 -67
  541. package/dist/esm/features/features.js.map +0 -1
  542. package/dist/esm/features/index.js +0 -5
  543. package/dist/esm/features/index.js.map +0 -1
  544. package/dist/esm/features/limits.js +0 -55
  545. package/dist/esm/features/limits.js.map +0 -1
  546. package/dist/esm/features/webgl-features-table.js +0 -71
  547. package/dist/esm/features/webgl-features-table.js.map +0 -1
  548. package/dist/esm/features/webgl-limits-table.js +0 -161
  549. package/dist/esm/features/webgl-limits-table.js.map +0 -1
  550. package/dist/esm/utils/array-utils-flat.js +0 -39
  551. package/dist/esm/utils/array-utils-flat.js.map +0 -1
  552. package/dist/esm/utils/assert.js +0 -6
  553. package/dist/esm/utils/assert.js.map +0 -1
  554. package/dist/esm/utils/check-props.js +0 -38
  555. package/dist/esm/utils/check-props.js.map +0 -1
  556. package/dist/esm/utils/format-value.js +0 -50
  557. package/dist/esm/utils/format-value.js.map +0 -1
  558. package/dist/esm/utils/index.js +0 -7
  559. package/dist/esm/utils/index.js.map +0 -1
  560. package/dist/esm/utils/is-old-ie.js +0 -5
  561. package/dist/esm/utils/is-old-ie.js.map +0 -1
  562. package/dist/esm/utils/load-file.js +0 -30
  563. package/dist/esm/utils/load-file.js.map +0 -1
  564. package/dist/esm/utils/stub-methods.js +0 -16
  565. package/dist/esm/utils/stub-methods.js.map +0 -1
  566. package/dist/esm/utils/utils.js +0 -20
  567. package/dist/esm/utils/utils.js.map +0 -1
  568. package/dist/esm/webgl-utils/texture-utils.d.ts +0 -11
  569. package/dist/esm/webgl-utils/typed-array-utils.d.ts +0 -36
  570. package/dist/features/check-glsl-extension.d.ts +0 -2
  571. package/dist/features/check-glsl-extension.d.ts.map +0 -1
  572. package/dist/features/check-glsl-extension.js +0 -27
  573. package/dist/features/check-glsl-extension.js.map +0 -1
  574. package/dist/features/check-old-ie.d.ts +0 -2
  575. package/dist/features/check-old-ie.d.ts.map +0 -1
  576. package/dist/features/check-old-ie.js.map +0 -1
  577. package/dist/features/features.d.ts +0 -6
  578. package/dist/features/features.d.ts.map +0 -1
  579. package/dist/features/features.js +0 -67
  580. package/dist/features/features.js.map +0 -1
  581. package/dist/features/index.d.ts +0 -5
  582. package/dist/features/index.d.ts.map +0 -1
  583. package/dist/features/index.js +0 -5
  584. package/dist/features/index.js.map +0 -1
  585. package/dist/features/limits.d.ts +0 -28
  586. package/dist/features/limits.d.ts.map +0 -1
  587. package/dist/features/limits.js +0 -55
  588. package/dist/features/limits.js.map +0 -1
  589. package/dist/features/webgl-features-table.d.ts +0 -30
  590. package/dist/features/webgl-features-table.d.ts.map +0 -1
  591. package/dist/features/webgl-features-table.js +0 -71
  592. package/dist/features/webgl-features-table.js.map +0 -1
  593. package/dist/features/webgl-limits-table.d.ts +0 -161
  594. package/dist/features/webgl-limits-table.d.ts.map +0 -1
  595. package/dist/features/webgl-limits-table.js +0 -161
  596. package/dist/features/webgl-limits-table.js.map +0 -1
  597. package/dist/utils/array-utils-flat.d.ts +0 -9
  598. package/dist/utils/array-utils-flat.d.ts.map +0 -1
  599. package/dist/utils/array-utils-flat.js +0 -39
  600. package/dist/utils/array-utils-flat.js.map +0 -1
  601. package/dist/utils/assert.d.ts +0 -2
  602. package/dist/utils/assert.d.ts.map +0 -1
  603. package/dist/utils/assert.js +0 -6
  604. package/dist/utils/assert.js.map +0 -1
  605. package/dist/utils/check-props.d.ts +0 -2
  606. package/dist/utils/check-props.d.ts.map +0 -1
  607. package/dist/utils/check-props.js +0 -38
  608. package/dist/utils/check-props.js.map +0 -1
  609. package/dist/utils/format-value.d.ts +0 -5
  610. package/dist/utils/format-value.d.ts.map +0 -1
  611. package/dist/utils/format-value.js +0 -50
  612. package/dist/utils/format-value.js.map +0 -1
  613. package/dist/utils/index.d.ts +0 -7
  614. package/dist/utils/index.d.ts.map +0 -1
  615. package/dist/utils/index.js +0 -7
  616. package/dist/utils/index.js.map +0 -1
  617. package/dist/utils/is-old-ie.d.ts +0 -4
  618. package/dist/utils/is-old-ie.d.ts.map +0 -1
  619. package/dist/utils/is-old-ie.js +0 -5
  620. package/dist/utils/is-old-ie.js.map +0 -1
  621. package/dist/utils/load-file.d.ts +0 -4
  622. package/dist/utils/load-file.d.ts.map +0 -1
  623. package/dist/utils/load-file.js +0 -30
  624. package/dist/utils/load-file.js.map +0 -1
  625. package/dist/utils/stub-methods.d.ts +0 -2
  626. package/dist/utils/stub-methods.d.ts.map +0 -1
  627. package/dist/utils/stub-methods.js +0 -16
  628. package/dist/utils/stub-methods.js.map +0 -1
  629. package/dist/utils/utils.d.ts +0 -15
  630. package/dist/utils/utils.d.ts.map +0 -1
  631. package/dist/utils/utils.js +0 -20
  632. package/dist/utils/utils.js.map +0 -1
  633. package/src/context/gl-context.ts +0 -31
  634. package/src/context/luma-context-data.ts +0 -27
  635. package/src/features/check-glsl-extension.ts +0 -34
  636. package/src/features/features.ts +0 -80
  637. package/src/features/index.ts +0 -5
  638. package/src/features/limits.ts +0 -66
  639. package/src/features/webgl-features-table.ts +0 -104
  640. package/src/features/webgl-limits-table.ts +0 -51
  641. package/src/utils/array-utils-flat.ts +0 -56
  642. package/src/utils/assert.ts +0 -7
  643. package/src/utils/check-props.ts +0 -68
  644. package/src/utils/format-value.ts +0 -37
  645. package/src/utils/index.ts +0 -6
  646. package/src/utils/is-old-ie.ts +0 -6
  647. package/src/utils/load-file.ts +0 -40
  648. package/src/utils/stub-methods.ts +0 -20
  649. package/src/utils/utils.ts +0 -35
  650. package/src/webgl-utils/texture-utils.d.ts +0 -11
  651. package/src/webgl-utils/typed-array-utils.d.ts +0 -36
@@ -1,13 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = isOldIE;
7
-
8
- var _env = require("probe.gl/env");
9
-
10
- function isOldIE(opts) {
11
- return (0, _env.getBrowser)(opts.userAgent) === 'IE';
12
- }
13
- //# sourceMappingURL=is-old-ie.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/utils/is-old-ie.ts"],"names":["isOldIE","opts","userAgent"],"mappings":";;;;;;;AAAA;;AAGe,SAASA,OAAT,CAAiBC,IAAjB,EAA8C;AAC3D,SAAO,qBAAWA,IAAI,CAACC,SAAhB,MAA+B,IAAtC;AACD","sourcesContent":["import {getBrowser} from 'probe.gl/env';\n\n// opts allows user agent to be overridden for testing\nexport default function isOldIE(opts: {userAgent?}): boolean {\n return getBrowser(opts.userAgent) === 'IE';\n}\n"],"file":"is-old-ie.js"}
@@ -1,43 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.setPathPrefix = setPathPrefix;
7
- exports.loadFile = loadFile;
8
- exports.loadImage = loadImage;
9
-
10
- var _utils = require("../utils");
11
-
12
- let pathPrefix = '';
13
-
14
- function setPathPrefix(prefix) {
15
- pathPrefix = prefix;
16
- }
17
-
18
- function loadFile(url, options = {}) {
19
- (0, _utils.assert)(typeof url === 'string');
20
- url = pathPrefix + url;
21
- const dataType = options.dataType || 'text';
22
- return fetch(url, options).then(res => res[dataType]());
23
- }
24
-
25
- function loadImage(url, opts) {
26
- (0, _utils.assert)(typeof url === 'string');
27
- url = pathPrefix + url;
28
- return new Promise((resolve, reject) => {
29
- try {
30
- const image = new Image();
31
-
32
- image.onload = () => resolve(image);
33
-
34
- image.onerror = () => reject(new Error("Could not load image ".concat(url, ".")));
35
-
36
- image.crossOrigin = opts && opts.crossOrigin || 'anonymous';
37
- image.src = url;
38
- } catch (error) {
39
- reject(error);
40
- }
41
- });
42
- }
43
- //# sourceMappingURL=load-file.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/utils/load-file.ts"],"names":["pathPrefix","setPathPrefix","prefix","loadFile","url","options","dataType","fetch","then","res","loadImage","opts","Promise","resolve","reject","image","Image","onload","onerror","Error","crossOrigin","src","error"],"mappings":";;;;;;;;;AAAA;;AAEA,IAAIA,UAAU,GAAG,EAAjB;;AAKO,SAASC,aAAT,CAAuBC,MAAvB,EAA+B;AACpCF,EAAAA,UAAU,GAAGE,MAAb;AACD;;AAGM,SAASC,QAAT,CAAkBC,GAAlB,EAAuBC,OAAO,GAAG,EAAjC,EAAqC;AAC1C,qBAAO,OAAOD,GAAP,KAAe,QAAtB;AACAA,EAAAA,GAAG,GAAGJ,UAAU,GAAGI,GAAnB;AAEA,QAAME,QAAQ,GAAGD,OAAO,CAACC,QAAR,IAAoB,MAArC;AACA,SAAOC,KAAK,CAACH,GAAD,EAAMC,OAAN,CAAL,CAAoBG,IAApB,CAA0BC,GAAD,IAASA,GAAG,CAACH,QAAD,CAAH,EAAlC,CAAP;AACD;;AAOM,SAASI,SAAT,CAAmBN,GAAnB,EAAwBO,IAAxB,EAA8B;AACnC,qBAAO,OAAOP,GAAP,KAAe,QAAtB;AACAA,EAAAA,GAAG,GAAGJ,UAAU,GAAGI,GAAnB;AACA,SAAO,IAAIQ,OAAJ,CAAY,CAACC,OAAD,EAAUC,MAAV,KAAqB;AACtC,QAAI;AACF,YAAMC,KAAK,GAAG,IAAIC,KAAJ,EAAd;;AACAD,MAAAA,KAAK,CAACE,MAAN,GAAe,MAAMJ,OAAO,CAACE,KAAD,CAA5B;;AACAA,MAAAA,KAAK,CAACG,OAAN,GAAgB,MAAMJ,MAAM,CAAC,IAAIK,KAAJ,gCAAkCf,GAAlC,OAAD,CAA5B;;AACAW,MAAAA,KAAK,CAACK,WAAN,GAAqBT,IAAI,IAAIA,IAAI,CAACS,WAAd,IAA8B,WAAlD;AACAL,MAAAA,KAAK,CAACM,GAAN,GAAYjB,GAAZ;AACD,KAND,CAME,OAAOkB,KAAP,EAAc;AACdR,MAAAA,MAAM,CAACQ,KAAD,CAAN;AACD;AACF,GAVM,CAAP;AAWD","sourcesContent":["import {assert} from '../utils';\n\nlet pathPrefix = '';\n\n/*\n * Set a relative path prefix\n */\nexport function setPathPrefix(prefix) {\n pathPrefix = prefix;\n}\n\n// Reads raw file data from:\nexport function loadFile(url, options = {}) {\n assert(typeof url === 'string');\n url = pathPrefix + url;\n // @ts-expect-error\n const dataType = options.dataType || 'text';\n return fetch(url, options).then((res) => res[dataType]());\n}\n\n/*\n * Loads images asynchronously\n * image.crossOrigin can be set via opts.crossOrigin, default to 'anonymous'\n * returns a promise tracking the load\n */\nexport function loadImage(url, opts) {\n assert(typeof url === 'string');\n url = pathPrefix + url;\n return new Promise((resolve, reject) => {\n try {\n const image = new Image();\n image.onload = () => resolve(image);\n image.onerror = () => reject(new Error(`Could not load image ${url}.`));\n image.crossOrigin = (opts && opts.crossOrigin) || 'anonymous';\n image.src = url;\n } catch (error) {\n reject(error);\n }\n });\n}\n"],"file":"load-file.js"}
@@ -1,25 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.stubRemovedMethods = stubRemovedMethods;
7
-
8
- var _gltools = require("@luma.gl/gltools");
9
-
10
- function stubRemovedMethods(instance, className, version, methodNames) {
11
- const upgradeMessage = "See luma.gl ".concat(version, " Upgrade Guide at https://luma.gl/docs/upgrade-guide");
12
- const prototype = Object.getPrototypeOf(instance);
13
- methodNames.forEach(methodName => {
14
- if (prototype.methodName) {
15
- return;
16
- }
17
-
18
- prototype[methodName] = () => {
19
- _gltools.log.removed("Calling removed method ".concat(className, ".").concat(methodName, ": "), upgradeMessage)();
20
-
21
- throw new Error(methodName);
22
- };
23
- });
24
- }
25
- //# sourceMappingURL=stub-methods.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/utils/stub-methods.ts"],"names":["stubRemovedMethods","instance","className","version","methodNames","upgradeMessage","prototype","Object","getPrototypeOf","forEach","methodName","log","removed","Error"],"mappings":";;;;;;;AAAA;;AAGO,SAASA,kBAAT,CAA4BC,QAA5B,EAAsCC,SAAtC,EAAiDC,OAAjD,EAA0DC,WAA1D,EAAuE;AAC5E,QAAMC,cAAc,yBAAkBF,OAAlB,yDAApB;AAGA,QAAMG,SAAS,GAAGC,MAAM,CAACC,cAAP,CAAsBP,QAAtB,CAAlB;AAEAG,EAAAA,WAAW,CAACK,OAAZ,CAAqBC,UAAD,IAAgB;AAClC,QAAIJ,SAAS,CAACI,UAAd,EAA0B;AACxB;AACD;;AAEDJ,IAAAA,SAAS,CAACI,UAAD,CAAT,GAAwB,MAAM;AAC5BC,mBAAIC,OAAJ,kCAAsCV,SAAtC,cAAmDQ,UAAnD,SAAmEL,cAAnE;;AACA,YAAM,IAAIQ,KAAJ,CAAUH,UAAV,CAAN;AACD,KAHD;AAID,GATD;AAUD","sourcesContent":["import {log} from '@luma.gl/gltools';\n\n// Install stubs for removed methods\nexport function stubRemovedMethods(instance, className, version, methodNames) {\n const upgradeMessage = `See luma.gl ${version} Upgrade Guide at \\\nhttps://luma.gl/docs/upgrade-guide`;\n\n const prototype = Object.getPrototypeOf(instance);\n\n methodNames.forEach((methodName) => {\n if (prototype.methodName) {\n return;\n }\n\n prototype[methodName] = () => {\n log.removed(`Calling removed method ${className}.${methodName}: `, upgradeMessage)();\n throw new Error(methodName);\n };\n });\n}\n"],"file":"stub-methods.js"}
@@ -1,31 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.uid = uid;
7
- exports.isPowerOfTwo = isPowerOfTwo;
8
- exports.isObjectEmpty = isObjectEmpty;
9
- const uidCounters = {};
10
-
11
- function uid(id = 'id') {
12
- uidCounters[id] = uidCounters[id] || 1;
13
- const count = uidCounters[id]++;
14
- return "".concat(id, "-").concat(count);
15
- }
16
-
17
- function isPowerOfTwo(n) {
18
- return n && (n & n - 1) === 0;
19
- }
20
-
21
- function isObjectEmpty(obj) {
22
- let isEmpty = true;
23
-
24
- for (const key in obj) {
25
- isEmpty = false;
26
- break;
27
- }
28
-
29
- return isEmpty;
30
- }
31
- //# sourceMappingURL=utils.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/utils/utils.ts"],"names":["uidCounters","uid","id","count","isPowerOfTwo","n","isObjectEmpty","obj","isEmpty","key"],"mappings":";;;;;;;;AAEA,MAAMA,WAAW,GAAG,EAApB;;AAOO,SAASC,GAAT,CAAaC,EAAU,GAAG,IAA1B,EAAwC;AAC7CF,EAAAA,WAAW,CAACE,EAAD,CAAX,GAAkBF,WAAW,CAACE,EAAD,CAAX,IAAmB,CAArC;AACA,QAAMC,KAAK,GAAGH,WAAW,CAACE,EAAD,CAAX,EAAd;AACA,mBAAUA,EAAV,cAAgBC,KAAhB;AACD;;AAOM,SAASC,YAAT,CAAsBC,CAAtB,EAA0C;AAC/C,SAAOA,CAAC,IAAI,CAACA,CAAC,GAAIA,CAAC,GAAG,CAAV,MAAkB,CAA9B;AACD;;AAGM,SAASC,aAAT,CAAuBC,GAAvB,EAA6C;AAClD,MAAIC,OAAO,GAAG,IAAd;;AAEA,OAAK,MAAMC,GAAX,IAAkBF,GAAlB,EAAuB;AACrBC,IAAAA,OAAO,GAAG,KAAV;AACA;AACD;;AAED,SAAOA,OAAP;AACD","sourcesContent":["import assert from './assert';\n\nconst uidCounters = {};\n\n/**\n * Returns a UID.\n * @param id= - Identifier base name\n * @return uid\n **/\nexport function uid(id: string = 'id'): string {\n uidCounters[id] = uidCounters[id] || 1;\n const count = uidCounters[id]++;\n return `${id}-${count}`;\n}\n\n/**\n * Verifies if a given number is power of two or not.\n * @param n - The number to check.\n * @return Returns true if the given number is power of 2, false otherwise.\n **/\nexport function isPowerOfTwo(n: number): boolean {\n return n && (n & (n - 1)) === 0;\n}\n\n/** Returns true if given object is empty, false otherwise. */\nexport function isObjectEmpty(obj: object): boolean {\n let isEmpty = true;\n /* eslint-disable no-unused-vars */\n for (const key in obj) {\n isEmpty = false;\n break;\n }\n /* eslint-enable no-unused-vars */\n return isEmpty;\n}\n"],"file":"utils.js"}
@@ -1,11 +0,0 @@
1
- import Texture2D from '../classes/texture-2d';
2
- import TextureCube from '../classes/texture-cube';
3
- import Texture3D from '../classes/texture-3d';
4
- import Texture from '../classes/texture';
5
- import Framebuffer, {FramebufferProps} from '../classes/framebuffer';
6
-
7
- type TextureType = Texture2D | TextureCube | Texture3D;
8
-
9
- export function cloneTextureFrom<T extends TextureType>(refTexture: T, overrides?: any): T;
10
-
11
- export function toFramebuffer(texture: Texture, opts?: FramebufferProps): Framebuffer;
@@ -1,36 +0,0 @@
1
- type TypedArrayConstructor =
2
- | Float32ArrayConstructor
3
- | Uint16ArrayConstructor
4
- | Uint32ArrayConstructor
5
- | Uint8ArrayConstructor
6
- | Uint8ClampedArrayConstructor
7
- | Int8ArrayConstructor
8
- | Int16ArrayConstructor
9
- | Int32ArrayConstructor;
10
-
11
- export function getGLTypeFromTypedArray(arrayOrType: any): any;
12
-
13
- export function getTypedArrayFromGLType(
14
- glType: any,
15
- options?: {
16
- clamped?: boolean;
17
- }
18
- ): TypedArrayConstructor;
19
-
20
- export function flipRows(options: {
21
- data: any;
22
- width: any;
23
- height: any;
24
- bytesPerPixel?: number;
25
- temp?: any;
26
- }): void;
27
-
28
- export function scalePixels(options: {
29
- data: any;
30
- width: any;
31
- height: any;
32
- }): {
33
- data: Uint8Array;
34
- width: number;
35
- height: number;
36
- };
@@ -1,32 +0,0 @@
1
- import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
2
- import { createGLContext, isWebGL2 } from '@luma.gl/gltools';
3
- import { Device } from '@luma.gl/api';
4
- import WEBGLBuffer from '../classes/webgl-buffer';
5
- import { WEBGLShader } from '../classes/webgl-shader';
6
- import Texture2D from '../classes/texture-2d';
7
- export default class GLContext extends Device {
8
- constructor(props) {
9
- super();
10
-
11
- _defineProperty(this, "gl", void 0);
12
-
13
- _defineProperty(this, "gl2", void 0);
14
-
15
- this.gl = createGLContext(props);
16
- this.gl2 = isWebGL2(this.gl) ? this.gl : null;
17
- }
18
-
19
- createBuffer(props) {
20
- return new WEBGLBuffer(this.gl, props);
21
- }
22
-
23
- createTexture(props) {
24
- return new Texture2D(this.gl, props);
25
- }
26
-
27
- createShader(props) {
28
- return new WEBGLShader(this.gl, props);
29
- }
30
-
31
- }
32
- //# sourceMappingURL=gl-context.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/context/gl-context.ts"],"names":["createGLContext","isWebGL2","Device","WEBGLBuffer","WEBGLShader","Texture2D","GLContext","constructor","props","gl","gl2","createBuffer","createTexture","createShader"],"mappings":";AAEA,SAAQA,eAAR,EAAyBC,QAAzB,QAAwC,kBAAxC;AACA,SAAQC,MAAR,QAAqB,cAArB;AAEA,OAAOC,WAAP,MAAwB,yBAAxB;AACA,SAAQC,WAAR,QAA4B,yBAA5B;AACA,OAAOC,SAAP,MAAwC,uBAAxC;AAEA,eAAe,MAAMC,SAAN,SAAwBJ,MAAxB,CAA+B;AAI5CK,EAAAA,WAAW,CAACC,KAAD,EAA0B;AACnC;;AADmC;;AAAA;;AAEnC,SAAKC,EAAL,GAAUT,eAAe,CAACQ,KAAD,CAAzB;AACA,SAAKE,GAAL,GAAWT,QAAQ,CAAC,KAAKQ,EAAN,CAAR,GAAoB,KAAKA,EAAzB,GAAwD,IAAnE;AACD;;AAEDE,EAAAA,YAAY,CAACH,KAAD,EAAkC;AAC5C,WAAO,IAAIL,WAAJ,CAAgB,KAAKM,EAArB,EAAyBD,KAAzB,CAAP;AACD;;AAEDI,EAAAA,aAAa,CAACJ,KAAD,EAAmC;AAC9C,WAAO,IAAIH,SAAJ,CAAc,KAAKI,EAAnB,EAAuBD,KAAvB,CAAP;AACD;;AAEDK,EAAAA,YAAY,CAACL,KAAD,EAAkC;AAC5C,WAAO,IAAIJ,WAAJ,CAAgB,KAAKK,EAArB,EAAyBD,KAAzB,CAAP;AACD;;AApB2C","sourcesContent":["// \nimport type {GLContextOptions} from '@luma.gl/gltools';\nimport {createGLContext, isWebGL2} from '@luma.gl/gltools';\nimport {Device} from '@luma.gl/api';\nimport type {BufferProps, ShaderProps} from '@luma.gl/api';\nimport WEBGLBuffer from '../classes/webgl-buffer';\nimport {WEBGLShader, } from '../classes/webgl-shader';\nimport Texture2D, {Texture2DProps} from '../classes/texture-2d';\n\nexport default class GLContext extends Device {\n readonly gl: WebGLRenderingContext;\n readonly gl2: WebGL2RenderingContext | null;\n\n constructor(props: GLContextOptions) {\n super();\n this.gl = createGLContext(props);\n this.gl2 = isWebGL2(this.gl) ? this.gl as WebGL2RenderingContext : null;\n }\n\n createBuffer(props: BufferProps): WEBGLBuffer {\n return new WEBGLBuffer(this.gl, props);\n }\n\n createTexture(props: Texture2DProps): Texture2D {\n return new Texture2D(this.gl, props);\n }\n\n createShader(props: ShaderProps): WEBGLShader {\n return new WEBGLShader(this.gl, props);\n }\n}\n"],"file":"gl-context.js"}
@@ -1,5 +0,0 @@
1
- export function getLumaContextData(gl) {
2
- gl.luma = gl.luma || {};
3
- return gl.luma;
4
- }
5
- //# sourceMappingURL=luma-context-data.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/context/luma-context-data.ts"],"names":["getLumaContextData","gl","luma"],"mappings":"AAqBA,OAAO,SAASA,kBAAT,CAA4BC,EAA5B,EAAwE;AAE7EA,EAAAA,EAAE,CAACC,IAAH,GAAUD,EAAE,CAACC,IAAH,IAAW,EAArB;AAEA,SAAOD,EAAE,CAACC,IAAV;AACD","sourcesContent":["import type {default as Framebuffer} from '../classes/framebuffer';\nimport type {default as VertexArrayObject} from '../classes/vertex-array-object';\n\n/**\n * Data stored by luma.gl on the context\n */\nexport type LumaContextData = {\n defaultFramebuffer?: Framebuffer;\n defaultVertexArray?: VertexArrayObject;\n info: {[key: string]: any};\n caps: {[key: string]: any};\n limits: {[key: string]: any};\n webgl1MinLimits: {[key: string]: any};\n webgl2MinLimits: {[key: string]: any};\n};\n\n/**\n * \n * @param gl \n * @returns \n */\nexport function getLumaContextData(gl: WebGLRenderingContext): LumaContextData {\n // @ts-ignore\n gl.luma = gl.luma || {};\n // @ts-ignore\n return gl.luma as LumaContextData;\n}"],"file":"luma-context-data.js"}
@@ -1,27 +0,0 @@
1
- import isOldIE from './check-old-ie';
2
- import WEBGL_FEATURES from './webgl-features-table';
3
- import { assert } from '../utils';
4
- const compiledGlslExtensions = {};
5
- export default function canCompileGLGSExtension(gl, cap, options = {}) {
6
- const feature = WEBGL_FEATURES[cap];
7
- assert(feature, cap);
8
-
9
- if (!isOldIE(options)) {
10
- return true;
11
- }
12
-
13
- if (cap in compiledGlslExtensions) {
14
- return compiledGlslExtensions[cap];
15
- }
16
-
17
- const extensionName = feature[0];
18
- const source = "#extension GL_".concat(extensionName, " : enable\nvoid main(void) {}");
19
- const shader = gl.createShader(gl.VERTEX_SHADER);
20
- gl.shaderSource(shader, source);
21
- gl.compileShader(shader);
22
- const canCompile = gl.getShaderParameter(shader, gl.COMPILE_STATUS);
23
- gl.deleteShader(shader);
24
- compiledGlslExtensions[cap] = canCompile;
25
- return canCompile;
26
- }
27
- //# sourceMappingURL=check-glsl-extension.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/features/check-glsl-extension.ts"],"names":["isOldIE","WEBGL_FEATURES","assert","compiledGlslExtensions","canCompileGLGSExtension","gl","cap","options","feature","extensionName","source","shader","createShader","VERTEX_SHADER","shaderSource","compileShader","canCompile","getShaderParameter","COMPILE_STATUS","deleteShader"],"mappings":"AAAA,OAAOA,OAAP,MAAoB,gBAApB;AACA,OAAOC,cAAP,MAA2B,wBAA3B;AACA,SAAQC,MAAR,QAAqB,UAArB;AAMA,MAAMC,sBAAsB,GAAG,EAA/B;AAGA,eAAe,SAASC,uBAAT,CAAiCC,EAAjC,EAAqCC,GAArC,EAA0CC,OAAO,GAAG,EAApD,EAAwD;AACrE,QAAMC,OAAO,GAAGP,cAAc,CAACK,GAAD,CAA9B;AACAJ,EAAAA,MAAM,CAACM,OAAD,EAAUF,GAAV,CAAN;;AAEA,MAAI,CAACN,OAAO,CAACO,OAAD,CAAZ,EAAuB;AACrB,WAAO,IAAP;AACD;;AAED,MAAID,GAAG,IAAIH,sBAAX,EAAmC;AACjC,WAAOA,sBAAsB,CAACG,GAAD,CAA7B;AACD;;AAED,QAAMG,aAAa,GAAGD,OAAO,CAAC,CAAD,CAA7B;AACA,QAAME,MAAM,2BAAoBD,aAApB,kCAAZ;AAEA,QAAME,MAAM,GAAGN,EAAE,CAACO,YAAH,CAAgBP,EAAE,CAACQ,aAAnB,CAAf;AACAR,EAAAA,EAAE,CAACS,YAAH,CAAgBH,MAAhB,EAAwBD,MAAxB;AACAL,EAAAA,EAAE,CAACU,aAAH,CAAiBJ,MAAjB;AACA,QAAMK,UAAU,GAAGX,EAAE,CAACY,kBAAH,CAAsBN,MAAtB,EAA8BN,EAAE,CAACa,cAAjC,CAAnB;AACAb,EAAAA,EAAE,CAACc,YAAH,CAAgBR,MAAhB;AACAR,EAAAA,sBAAsB,CAACG,GAAD,CAAtB,GAA8BU,UAA9B;AACA,SAAOA,UAAP;AACD","sourcesContent":["import isOldIE from './check-old-ie';\nimport WEBGL_FEATURES from './webgl-features-table';\nimport {assert} from '../utils';\n\n// Enables feature detection in IE11 due to a bug where gl.getExtension may return true\n// but fail to compile when the extension is enabled in the shader. Specifically,\n// the OES_standard_derivatives extension fails to compile in IE11 even though its included\n// in the list of supported extensions.\nconst compiledGlslExtensions = {};\n\n// options allows user agent to be overridden for testing\nexport default function canCompileGLGSExtension(gl, cap, options = {}) {\n const feature = WEBGL_FEATURES[cap];\n assert(feature, cap);\n\n if (!isOldIE(options)) {\n return true;\n }\n\n if (cap in compiledGlslExtensions) {\n return compiledGlslExtensions[cap];\n }\n\n const extensionName = feature[0];\n const source = `#extension GL_${extensionName} : enable\\nvoid main(void) {}`;\n\n const shader = gl.createShader(gl.VERTEX_SHADER);\n gl.shaderSource(shader, source);\n gl.compileShader(shader);\n const canCompile = gl.getShaderParameter(shader, gl.COMPILE_STATUS);\n gl.deleteShader(shader);\n compiledGlslExtensions[cap] = canCompile;\n return canCompile;\n}\n"],"file":"check-glsl-extension.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/features/check-old-ie.ts"],"names":["isOldIE","opts","navigator","window","userAgent","isMSIE","indexOf","isTrident"],"mappings":"AACA,eAAe,SAASA,OAAT,CAAiBC,IAAI,GAAG,EAAxB,EAA4B;AACzC,QAAMC,SAAS,GAAI,OAAOC,MAAP,KAAkB,WAAlB,IAAiCA,MAAM,CAACD,SAAzC,IAAuD,EAAzE;AAEA,QAAME,SAAS,GAAGH,IAAI,CAACG,SAAL,IAAkBF,SAAS,CAACE,SAA5B,IAAyC,EAA3D;AAGA,QAAMC,MAAM,GAAGD,SAAS,CAACE,OAAV,CAAkB,OAAlB,MAA+B,CAAC,CAA/C;AACA,QAAMC,SAAS,GAAGH,SAAS,CAACE,OAAV,CAAkB,UAAlB,MAAkC,CAAC,CAArD;AACA,SAAOD,MAAM,IAAIE,SAAjB;AACD","sourcesContent":["// opts allows user agent to be overridden for testing\nexport default function isOldIE(opts = {}) {\n const navigator = (typeof window !== 'undefined' && window.navigator) || {};\n // @ts-ignore\n const userAgent = opts.userAgent || navigator.userAgent || '';\n // We only care about older versions of IE (IE 11 and below). Newer versions of IE (Edge)\n // have much better web standards support.\n const isMSIE = userAgent.indexOf('MSIE ') !== -1;\n const isTrident = userAgent.indexOf('Trident/') !== -1;\n return isMSIE || isTrident;\n}\n"],"file":"check-old-ie.js"}
@@ -1,67 +0,0 @@
1
- import WEBGL_FEATURES from './webgl-features-table';
2
- import { isWebGL2, log } from '@luma.gl/gltools';
3
- import { assert } from '../utils';
4
- import { getLumaContextData } from '../context/luma-context-data';
5
- const LOG_UNSUPPORTED_FEATURE = 2;
6
- export function hasFeature(gl, feature) {
7
- return hasFeatures(gl, feature);
8
- }
9
- export function hasFeatures(gl, features) {
10
- features = Array.isArray(features) ? features : [features];
11
- return features.every(feature => {
12
- return isFeatureSupported(gl, feature);
13
- });
14
- }
15
- export function getFeatures(gl) {
16
- const lumaContextData = getLumaContextData(gl);
17
- lumaContextData.caps = lumaContextData.caps || {};
18
-
19
- for (const cap in WEBGL_FEATURES) {
20
- if (lumaContextData.caps[cap] === undefined) {
21
- lumaContextData.caps[cap] = isFeatureSupported(gl, cap);
22
- }
23
- }
24
-
25
- return lumaContextData.caps;
26
- }
27
-
28
- function isFeatureSupported(gl, cap) {
29
- const lumaContextData = getLumaContextData(gl);
30
- lumaContextData.caps = lumaContextData.caps || {};
31
-
32
- if (lumaContextData.caps[cap] === undefined) {
33
- lumaContextData.caps[cap] = queryFeature(gl, cap);
34
- }
35
-
36
- if (!lumaContextData.caps[cap]) {
37
- log.log(LOG_UNSUPPORTED_FEATURE, "Feature: ".concat(cap, " not supported"))();
38
- }
39
-
40
- return lumaContextData.caps[cap];
41
- }
42
-
43
- function queryFeature(gl, cap) {
44
- const feature = WEBGL_FEATURES[cap];
45
- assert(feature, cap);
46
- let isSupported;
47
- const featureDefinition = isWebGL2(gl) ? feature[1] || feature[0] : feature[0];
48
-
49
- if (typeof featureDefinition === 'function') {
50
- isSupported = featureDefinition(gl);
51
- } else if (Array.isArray(featureDefinition)) {
52
- isSupported = true;
53
-
54
- for (const extension of featureDefinition) {
55
- isSupported = isSupported && Boolean(gl.getExtension(extension));
56
- }
57
- } else if (typeof featureDefinition === 'string') {
58
- isSupported = Boolean(gl.getExtension(featureDefinition));
59
- } else if (typeof featureDefinition === 'boolean') {
60
- isSupported = featureDefinition;
61
- } else {
62
- assert(false);
63
- }
64
-
65
- return isSupported;
66
- }
67
- //# sourceMappingURL=features.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/features/features.ts"],"names":["WEBGL_FEATURES","isWebGL2","log","assert","getLumaContextData","LOG_UNSUPPORTED_FEATURE","hasFeature","gl","feature","hasFeatures","features","Array","isArray","every","isFeatureSupported","getFeatures","lumaContextData","caps","cap","undefined","queryFeature","isSupported","featureDefinition","extension","Boolean","getExtension"],"mappings":"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","sourcesContent":["// Feature detection for WebGL\n//\n// Provides a function that enables simple checking of which WebGL features are\n// available in an WebGL1 or WebGL2 environment.\n\nimport WEBGL_FEATURES from './webgl-features-table';\nimport {isWebGL2, log} from '@luma.gl/gltools';\nimport {assert} from '../utils';\nimport {getLumaContextData} from '../context/luma-context-data';\n\nconst LOG_UNSUPPORTED_FEATURE = 2;\n\n// Check one feature\nexport function hasFeature(gl, feature) {\n return hasFeatures(gl, feature);\n}\n\n// Check one or more features\nexport function hasFeatures(gl, features) {\n features = Array.isArray(features) ? features : [features];\n return features.every((feature) => {\n return isFeatureSupported(gl, feature);\n });\n}\n\n// Return a list of supported features\nexport function getFeatures(gl) {\n const lumaContextData = getLumaContextData(gl);\n lumaContextData.caps = lumaContextData.caps || {};\n for (const cap in WEBGL_FEATURES) {\n if (lumaContextData.caps[cap] === undefined) {\n lumaContextData.caps[cap] = isFeatureSupported(gl, cap);\n }\n }\n return lumaContextData.caps;\n}\n\n// TODO - cache the value\nfunction isFeatureSupported(gl, cap) {\n const lumaContextData = getLumaContextData(gl);\n lumaContextData.caps = lumaContextData.caps || {};\n\n if (lumaContextData.caps[cap] === undefined) {\n lumaContextData.caps[cap] = queryFeature(gl, cap);\n }\n\n if (!lumaContextData.caps[cap]) {\n log.log(LOG_UNSUPPORTED_FEATURE, `Feature: ${cap} not supported`)();\n }\n\n return lumaContextData.caps[cap];\n}\n\nfunction queryFeature(gl, cap) {\n const feature = WEBGL_FEATURES[cap];\n assert(feature, cap);\n\n let isSupported;\n\n // Get extension name from table\n const featureDefinition = isWebGL2(gl) ? feature[1] || feature[0] : feature[0];\n\n // Check if the value is dependent on checking one or more extensions\n if (typeof featureDefinition === 'function') {\n isSupported = featureDefinition(gl);\n } else if (Array.isArray(featureDefinition)) {\n isSupported = true;\n for (const extension of featureDefinition) {\n isSupported = isSupported && Boolean(gl.getExtension(extension));\n }\n } else if (typeof featureDefinition === 'string') {\n isSupported = Boolean(gl.getExtension(featureDefinition));\n } else if (typeof featureDefinition === 'boolean') {\n isSupported = featureDefinition;\n } else {\n assert(false);\n }\n\n return isSupported;\n}\n"],"file":"features.js"}
@@ -1,5 +0,0 @@
1
- export { getContextInfo, getGLContextInfo, getContextLimits } from './limits';
2
- export { FEATURES } from './webgl-features-table';
3
- export { hasFeature, hasFeatures, getFeatures } from './features';
4
- export { default as canCompileGLGSExtension } from './check-glsl-extension';
5
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/features/index.ts"],"names":["getContextInfo","getGLContextInfo","getContextLimits","FEATURES","hasFeature","hasFeatures","getFeatures","default","canCompileGLGSExtension"],"mappings":"AAAA,SAAQA,cAAR,EAAwBC,gBAAxB,EAA0CC,gBAA1C,QAAiE,UAAjE;AACA,SAAQC,QAAR,QAAuB,wBAAvB;AACA,SAAQC,UAAR,EAAoBC,WAApB,EAAiCC,WAAjC,QAAmD,YAAnD;AAEA,SAAQC,OAAO,IAAIC,uBAAnB,QAAiD,wBAAjD","sourcesContent":["export {getContextInfo, getGLContextInfo, getContextLimits} from './limits';\nexport {FEATURES} from './webgl-features-table';\nexport {hasFeature, hasFeatures, getFeatures} from './features';\n\nexport {default as canCompileGLGSExtension} from './check-glsl-extension';\n"],"file":"index.js"}
@@ -1,55 +0,0 @@
1
- import GL from '@luma.gl/constants';
2
- import { isWebGL2, getContextDebugInfo } from '@luma.gl/gltools';
3
- import WEBGL_LIMITS from './webgl-limits-table';
4
- import { getLumaContextData } from '../context/luma-context-data';
5
- export function getContextLimits(gl) {
6
- const lumaContextData = getLumaContextData(gl);
7
-
8
- if (!lumaContextData.limits) {
9
- lumaContextData.limits = {};
10
- lumaContextData.webgl1MinLimits = {};
11
- lumaContextData.webgl2MinLimits = {};
12
- const isWebgl2 = isWebGL2(gl);
13
-
14
- for (const parameter in WEBGL_LIMITS) {
15
- const limit = WEBGL_LIMITS[parameter];
16
- const webgl1MinLimit = limit.gl1;
17
- const webgl2MinLimit = 'gl2' in limit ? limit.gl2 : limit.gl1;
18
- const minLimit = isWebgl2 ? webgl2MinLimit : webgl1MinLimit;
19
- const limitNotAvailable = 'gl2' in limit && !isWebgl2 || 'extension' in limit && !gl.getExtension(limit.extension);
20
- const value = limitNotAvailable ? minLimit : gl.getParameter(parameter);
21
- lumaContextData.limits[parameter] = value;
22
- lumaContextData.webgl1MinLimits[parameter] = webgl1MinLimit;
23
- lumaContextData.webgl2MinLimits[parameter] = webgl2MinLimit;
24
- }
25
- }
26
-
27
- return lumaContextData.limits;
28
- }
29
- export function getGLContextInfo(gl) {
30
- const lumaContextData = getLumaContextData(gl);
31
- const info = getContextDebugInfo(gl);
32
-
33
- if (!lumaContextData.info) {
34
- lumaContextData.info = {
35
- [GL.UNMASKED_VENDOR_WEBGL]: info.vendor,
36
- [GL.UNMASKED_RENDERER_WEBGL]: info.renderer,
37
- [GL.VENDOR]: info.vendorMasked,
38
- [GL.RENDERER]: info.rendererMasked,
39
- [GL.VERSION]: info.version,
40
- [GL.SHADING_LANGUAGE_VERSION]: info.shadingLanguageVersion
41
- };
42
- }
43
-
44
- return lumaContextData.info;
45
- }
46
- export function getContextInfo(gl) {
47
- const lumaContextData = getLumaContextData(gl);
48
- return Object.assign(getContextDebugInfo(gl), {
49
- limits: getContextLimits(gl),
50
- info: getGLContextInfo(gl),
51
- webgl1MinLimits: lumaContextData.webgl1MinLimits,
52
- webgl2MinLimits: lumaContextData.webgl2MinLimits
53
- });
54
- }
55
- //# sourceMappingURL=limits.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/features/limits.ts"],"names":["GL","isWebGL2","getContextDebugInfo","WEBGL_LIMITS","getLumaContextData","getContextLimits","gl","lumaContextData","limits","webgl1MinLimits","webgl2MinLimits","isWebgl2","parameter","limit","webgl1MinLimit","gl1","webgl2MinLimit","gl2","minLimit","limitNotAvailable","getExtension","extension","value","getParameter","getGLContextInfo","info","UNMASKED_VENDOR_WEBGL","vendor","UNMASKED_RENDERER_WEBGL","renderer","VENDOR","vendorMasked","RENDERER","rendererMasked","VERSION","version","SHADING_LANGUAGE_VERSION","shadingLanguageVersion","getContextInfo","Object","assign"],"mappings":"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","sourcesContent":["import GL from '@luma.gl/constants';\nimport {isWebGL2, getContextDebugInfo} from '@luma.gl/gltools';\nimport WEBGL_LIMITS from './webgl-limits-table';\nimport {getLumaContextData} from '../context/luma-context-data';\n\nexport function getContextLimits(gl) {\n const lumaContextData = getLumaContextData(gl);\n\n if (!lumaContextData.limits) {\n lumaContextData.limits = {};\n lumaContextData.webgl1MinLimits = {};\n lumaContextData.webgl2MinLimits = {};\n\n const isWebgl2 = isWebGL2(gl);\n\n // WEBGL limits\n for (const parameter in WEBGL_LIMITS) {\n const limit = WEBGL_LIMITS[parameter];\n\n const webgl1MinLimit = limit.gl1;\n const webgl2MinLimit = 'gl2' in limit ? limit.gl2 : limit.gl1;\n const minLimit = isWebgl2 ? webgl2MinLimit : webgl1MinLimit;\n\n // Check if we can query for this limit\n const limitNotAvailable =\n ('gl2' in limit && !isWebgl2) ||\n // @ts-ignore\n ('extension' in limit && !gl.getExtension(limit.extension));\n\n const value = limitNotAvailable ? minLimit : gl.getParameter(parameter);\n lumaContextData.limits[parameter] = value;\n lumaContextData.webgl1MinLimits[parameter] = webgl1MinLimit;\n lumaContextData.webgl2MinLimits[parameter] = webgl2MinLimit;\n }\n }\n\n return lumaContextData.limits;\n}\n\nexport function getGLContextInfo(gl) {\n const lumaContextData = getLumaContextData(gl);\n\n const info = getContextDebugInfo(gl);\n if (!lumaContextData.info) {\n lumaContextData.info = {\n [GL.UNMASKED_VENDOR_WEBGL]: info.vendor,\n [GL.UNMASKED_RENDERER_WEBGL]: info.renderer,\n [GL.VENDOR]: info.vendorMasked,\n [GL.RENDERER]: info.rendererMasked,\n [GL.VERSION]: info.version,\n [GL.SHADING_LANGUAGE_VERSION]: info.shadingLanguageVersion\n };\n }\n\n return lumaContextData.info;\n}\n\nexport function getContextInfo(gl) {\n const lumaContextData = getLumaContextData(gl);\n return Object.assign(getContextDebugInfo(gl), {\n limits: getContextLimits(gl),\n info: getGLContextInfo(gl),\n webgl1MinLimits: lumaContextData.webgl1MinLimits,\n webgl2MinLimits: lumaContextData.webgl2MinLimits\n });\n}\n"],"file":"limits.js"}
@@ -1,71 +0,0 @@
1
- import Framebuffer from '../classes/framebuffer';
2
- import Texture2D from '../classes/texture-2d';
3
- export const FEATURES = {
4
- WEBGL2: 'WEBGL2',
5
- VERTEX_ARRAY_OBJECT: 'VERTEX_ARRAY_OBJECT',
6
- TIMER_QUERY: 'TIMER_QUERY',
7
- INSTANCED_RENDERING: 'INSTANCED_RENDERING',
8
- MULTIPLE_RENDER_TARGETS: 'MULTIPLE_RENDER_TARGETS',
9
- ELEMENT_INDEX_UINT32: 'ELEMENT_INDEX_UINT32',
10
- BLEND_EQUATION_MINMAX: 'BLEND_EQUATION_MINMAX',
11
- FLOAT_BLEND: 'FLOAT_BLEND',
12
- COLOR_ENCODING_SRGB: 'COLOR_ENCODING_SRGB',
13
- TEXTURE_DEPTH: 'TEXTURE_DEPTH',
14
- TEXTURE_FLOAT: 'TEXTURE_FLOAT',
15
- TEXTURE_HALF_FLOAT: 'TEXTURE_HALF_FLOAT',
16
- TEXTURE_FILTER_LINEAR_FLOAT: 'TEXTURE_FILTER_LINEAR_FLOAT',
17
- TEXTURE_FILTER_LINEAR_HALF_FLOAT: 'TEXTURE_FILTER_LINEAR_HALF_FLOAT',
18
- TEXTURE_FILTER_ANISOTROPIC: 'TEXTURE_FILTER_ANISOTROPIC',
19
- COLOR_ATTACHMENT_RGBA32F: 'COLOR_ATTACHMENT_RGBA32F',
20
- COLOR_ATTACHMENT_FLOAT: 'COLOR_ATTACHMENT_FLOAT',
21
- COLOR_ATTACHMENT_HALF_FLOAT: 'COLOR_ATTACHMENT_HALF_FLOAT',
22
- GLSL_FRAG_DATA: 'GLSL_FRAG_DATA',
23
- GLSL_FRAG_DEPTH: 'GLSL_FRAG_DEPTH',
24
- GLSL_DERIVATIVES: 'GLSL_DERIVATIVES',
25
- GLSL_TEXTURE_LOD: 'GLSL_TEXTURE_LOD'
26
- };
27
-
28
- function checkFloat32ColorAttachment(gl) {
29
- const testTexture = new Texture2D(gl, {
30
- format: gl.RGBA,
31
- type: gl.FLOAT,
32
- dataFormat: gl.RGBA
33
- });
34
- const testFb = new Framebuffer(gl, {
35
- id: "test-framebuffer",
36
- check: false,
37
- attachments: {
38
- [gl.COLOR_ATTACHMENT0]: testTexture
39
- }
40
- });
41
- const status = testFb.getStatus();
42
- testTexture.delete();
43
- testFb.delete();
44
- return status === gl.FRAMEBUFFER_COMPLETE;
45
- }
46
-
47
- export default {
48
- [FEATURES.WEBGL2]: [false, true],
49
- [FEATURES.VERTEX_ARRAY_OBJECT]: ['OES_vertex_array_object', true],
50
- [FEATURES.TIMER_QUERY]: ['EXT_disjoint_timer_query', 'EXT_disjoint_timer_query_webgl2'],
51
- [FEATURES.INSTANCED_RENDERING]: ['ANGLE_instanced_arrays', true],
52
- [FEATURES.MULTIPLE_RENDER_TARGETS]: ['WEBGL_draw_buffers', true],
53
- [FEATURES.ELEMENT_INDEX_UINT32]: ['OES_element_index_uint', true],
54
- [FEATURES.BLEND_EQUATION_MINMAX]: ['EXT_blend_minmax', true],
55
- [FEATURES.FLOAT_BLEND]: ['EXT_float_blend'],
56
- [FEATURES.COLOR_ENCODING_SRGB]: ['EXT_sRGB', true],
57
- [FEATURES.TEXTURE_DEPTH]: ['WEBGL_depth_texture', true],
58
- [FEATURES.TEXTURE_FLOAT]: ['OES_texture_float', true],
59
- [FEATURES.TEXTURE_HALF_FLOAT]: ['OES_texture_half_float', true],
60
- [FEATURES.TEXTURE_FILTER_LINEAR_FLOAT]: ['OES_texture_float_linear'],
61
- [FEATURES.TEXTURE_FILTER_LINEAR_HALF_FLOAT]: ['OES_texture_half_float_linear'],
62
- [FEATURES.TEXTURE_FILTER_ANISOTROPIC]: ['EXT_texture_filter_anisotropic'],
63
- [FEATURES.COLOR_ATTACHMENT_RGBA32F]: [checkFloat32ColorAttachment, 'EXT_color_buffer_float'],
64
- [FEATURES.COLOR_ATTACHMENT_FLOAT]: [false, 'EXT_color_buffer_float'],
65
- [FEATURES.COLOR_ATTACHMENT_HALF_FLOAT]: ['EXT_color_buffer_half_float'],
66
- [FEATURES.GLSL_FRAG_DATA]: ['WEBGL_draw_buffers', true],
67
- [FEATURES.GLSL_FRAG_DEPTH]: ['EXT_frag_depth', true],
68
- [FEATURES.GLSL_DERIVATIVES]: ['OES_standard_derivatives', true],
69
- [FEATURES.GLSL_TEXTURE_LOD]: ['EXT_shader_texture_lod', true]
70
- };
71
- //# sourceMappingURL=webgl-features-table.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/features/webgl-features-table.ts"],"names":["Framebuffer","Texture2D","FEATURES","WEBGL2","VERTEX_ARRAY_OBJECT","TIMER_QUERY","INSTANCED_RENDERING","MULTIPLE_RENDER_TARGETS","ELEMENT_INDEX_UINT32","BLEND_EQUATION_MINMAX","FLOAT_BLEND","COLOR_ENCODING_SRGB","TEXTURE_DEPTH","TEXTURE_FLOAT","TEXTURE_HALF_FLOAT","TEXTURE_FILTER_LINEAR_FLOAT","TEXTURE_FILTER_LINEAR_HALF_FLOAT","TEXTURE_FILTER_ANISOTROPIC","COLOR_ATTACHMENT_RGBA32F","COLOR_ATTACHMENT_FLOAT","COLOR_ATTACHMENT_HALF_FLOAT","GLSL_FRAG_DATA","GLSL_FRAG_DEPTH","GLSL_DERIVATIVES","GLSL_TEXTURE_LOD","checkFloat32ColorAttachment","gl","testTexture","format","RGBA","type","FLOAT","dataFormat","testFb","id","check","attachments","COLOR_ATTACHMENT0","status","getStatus","delete","FRAMEBUFFER_COMPLETE"],"mappings":"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","sourcesContent":["import Framebuffer from '../classes/framebuffer';\nimport Texture2D from '../classes/texture-2d';\n// TODO - this should be the default export, test cases need updating\nexport const FEATURES = {\n WEBGL2: 'WEBGL2',\n\n // API SUPPORT\n VERTEX_ARRAY_OBJECT: 'VERTEX_ARRAY_OBJECT',\n TIMER_QUERY: 'TIMER_QUERY',\n INSTANCED_RENDERING: 'INSTANCED_RENDERING',\n MULTIPLE_RENDER_TARGETS: 'MULTIPLE_RENDER_TARGETS',\n\n // FEATURES\n ELEMENT_INDEX_UINT32: 'ELEMENT_INDEX_UINT32',\n\n // BLENDING\n BLEND_EQUATION_MINMAX: 'BLEND_EQUATION_MINMAX',\n FLOAT_BLEND: 'FLOAT_BLEND',\n\n // TEXTURES: '// TEXTURES', RENDERBUFFERS\n COLOR_ENCODING_SRGB: 'COLOR_ENCODING_SRGB',\n\n // TEXTURES\n TEXTURE_DEPTH: 'TEXTURE_DEPTH',\n TEXTURE_FLOAT: 'TEXTURE_FLOAT',\n TEXTURE_HALF_FLOAT: 'TEXTURE_HALF_FLOAT',\n\n TEXTURE_FILTER_LINEAR_FLOAT: 'TEXTURE_FILTER_LINEAR_FLOAT',\n TEXTURE_FILTER_LINEAR_HALF_FLOAT: 'TEXTURE_FILTER_LINEAR_HALF_FLOAT',\n TEXTURE_FILTER_ANISOTROPIC: 'TEXTURE_FILTER_ANISOTROPIC',\n\n // FRAMEBUFFERS: '// FRAMEBUFFERS', TEXTURES AND RENDERBUFFERS\n COLOR_ATTACHMENT_RGBA32F: 'COLOR_ATTACHMENT_RGBA32F',\n COLOR_ATTACHMENT_FLOAT: 'COLOR_ATTACHMENT_FLOAT',\n COLOR_ATTACHMENT_HALF_FLOAT: 'COLOR_ATTACHMENT_HALF_FLOAT',\n\n // GLSL extensions\n GLSL_FRAG_DATA: 'GLSL_FRAG_DATA',\n GLSL_FRAG_DEPTH: 'GLSL_FRAG_DEPTH',\n GLSL_DERIVATIVES: 'GLSL_DERIVATIVES',\n GLSL_TEXTURE_LOD: 'GLSL_TEXTURE_LOD'\n};\n\n// function to test if Float 32 bit format texture can be bound as color attachment\nfunction checkFloat32ColorAttachment(gl) {\n const testTexture = new Texture2D(gl, {\n format: gl.RGBA,\n type: gl.FLOAT,\n dataFormat: gl.RGBA\n });\n const testFb = new Framebuffer(gl, {\n id: `test-framebuffer`,\n check: false,\n attachments: {\n [gl.COLOR_ATTACHMENT0]: testTexture\n }\n });\n const status = testFb.getStatus();\n testTexture.delete();\n testFb.delete();\n return status === gl.FRAMEBUFFER_COMPLETE;\n}\n\n// Defines luma.gl \"feature\" names and semantics\n// Format: 'feature-name: [WebGL1 support, WebGL2 support] / [WebGL1 and WebGL2 support]', when support is 'string' it is the name of the extension\nexport default {\n [FEATURES.WEBGL2]: [false, true],\n\n // API SUPPORT\n [FEATURES.VERTEX_ARRAY_OBJECT]: ['OES_vertex_array_object', true],\n [FEATURES.TIMER_QUERY]: ['EXT_disjoint_timer_query', 'EXT_disjoint_timer_query_webgl2'],\n [FEATURES.INSTANCED_RENDERING]: ['ANGLE_instanced_arrays', true],\n [FEATURES.MULTIPLE_RENDER_TARGETS]: ['WEBGL_draw_buffers', true],\n\n // FEATURES\n [FEATURES.ELEMENT_INDEX_UINT32]: ['OES_element_index_uint', true],\n\n // BLENDING\n [FEATURES.BLEND_EQUATION_MINMAX]: ['EXT_blend_minmax', true],\n [FEATURES.FLOAT_BLEND]: ['EXT_float_blend'],\n\n // TEXTURES, RENDERBUFFERS\n [FEATURES.COLOR_ENCODING_SRGB]: ['EXT_sRGB', true],\n\n // TEXTURES\n [FEATURES.TEXTURE_DEPTH]: ['WEBGL_depth_texture', true],\n [FEATURES.TEXTURE_FLOAT]: ['OES_texture_float', true],\n [FEATURES.TEXTURE_HALF_FLOAT]: ['OES_texture_half_float', true],\n\n [FEATURES.TEXTURE_FILTER_LINEAR_FLOAT]: ['OES_texture_float_linear'],\n [FEATURES.TEXTURE_FILTER_LINEAR_HALF_FLOAT]: ['OES_texture_half_float_linear'],\n [FEATURES.TEXTURE_FILTER_ANISOTROPIC]: ['EXT_texture_filter_anisotropic'],\n\n // FRAMEBUFFERS, TEXTURES AND RENDERBUFFERS\n [FEATURES.COLOR_ATTACHMENT_RGBA32F]: [checkFloat32ColorAttachment, 'EXT_color_buffer_float'],\n [FEATURES.COLOR_ATTACHMENT_FLOAT]: [false, 'EXT_color_buffer_float'],\n [FEATURES.COLOR_ATTACHMENT_HALF_FLOAT]: ['EXT_color_buffer_half_float'],\n\n // GLSL extensions\n [FEATURES.GLSL_FRAG_DATA]: ['WEBGL_draw_buffers', true],\n [FEATURES.GLSL_FRAG_DEPTH]: ['EXT_frag_depth', true],\n [FEATURES.GLSL_DERIVATIVES]: ['OES_standard_derivatives', true],\n [FEATURES.GLSL_TEXTURE_LOD]: ['EXT_shader_texture_lod', true]\n};\n"],"file":"webgl-features-table.js"}