@luma.gl/webgl 8.5.8 → 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 (763) 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/bundle.d.ts +2 -0
  6. package/dist/bundle.d.ts.map +1 -0
  7. package/dist/bundle.js +5 -0
  8. package/dist/bundle.js.map +1 -0
  9. package/dist/classes/accessor.d.ts +28 -0
  10. package/dist/classes/accessor.d.ts.map +1 -0
  11. package/dist/classes/accessor.js +112 -0
  12. package/dist/classes/accessor.js.map +1 -0
  13. package/dist/classes/accessor.ts.disabled +159 -0
  14. package/dist/classes/clear.d.ts +17 -0
  15. package/dist/classes/clear.d.ts.map +1 -0
  16. package/{src → dist}/classes/clear.js +29 -23
  17. package/dist/classes/clear.js.map +1 -0
  18. package/dist/classes/copy-and-blit.d.ts +86 -0
  19. package/dist/classes/copy-and-blit.d.ts.map +1 -0
  20. package/dist/classes/copy-and-blit.js +338 -0
  21. package/dist/classes/copy-and-blit.js.map +1 -0
  22. package/dist/classes/framebuffer.d.ts +139 -0
  23. package/dist/classes/framebuffer.d.ts.map +1 -0
  24. package/dist/classes/framebuffer.js +656 -0
  25. package/dist/classes/framebuffer.js.map +1 -0
  26. package/dist/classes/program-configuration.d.ts +27 -0
  27. package/dist/classes/program-configuration.d.ts.map +1 -0
  28. package/dist/classes/program-configuration.js +160 -0
  29. package/dist/classes/program-configuration.js.map +1 -0
  30. package/dist/classes/program.d.ts +61 -0
  31. package/dist/classes/program.d.ts.map +1 -0
  32. package/dist/classes/program.js +370 -0
  33. package/dist/classes/program.js.map +1 -0
  34. package/dist/classes/query.d.ts +27 -0
  35. package/dist/classes/query.d.ts.map +1 -0
  36. package/dist/classes/query.js +145 -0
  37. package/dist/classes/query.js.map +1 -0
  38. package/dist/classes/renderbuffer-formats.d.ts +16 -0
  39. package/dist/classes/renderbuffer-formats.d.ts.map +1 -0
  40. package/dist/classes/renderbuffer-formats.js +185 -0
  41. package/dist/classes/renderbuffer-formats.js.map +1 -0
  42. package/dist/classes/renderbuffer.d.ts +60 -0
  43. package/dist/classes/renderbuffer.d.ts.map +1 -0
  44. package/dist/classes/renderbuffer.js +128 -0
  45. package/dist/classes/renderbuffer.js.map +1 -0
  46. package/dist/classes/texture-2d.d.ts +9 -0
  47. package/dist/classes/texture-2d.d.ts.map +1 -0
  48. package/dist/classes/texture-2d.js +36 -0
  49. package/dist/classes/texture-2d.js.map +1 -0
  50. package/dist/classes/texture-3d.d.ts +29 -0
  51. package/dist/classes/texture-3d.d.ts.map +1 -0
  52. package/dist/classes/texture-3d.js +76 -0
  53. package/dist/classes/texture-3d.js.map +1 -0
  54. package/dist/classes/texture-cube.d.ts +28 -0
  55. package/dist/classes/texture-cube.d.ts.map +1 -0
  56. package/dist/classes/texture-cube.js +130 -0
  57. package/dist/classes/texture-cube.js.map +1 -0
  58. package/dist/classes/texture-formats.d.ts +37 -0
  59. package/dist/classes/texture-formats.d.ts.map +1 -0
  60. package/dist/classes/texture-formats.js +98 -0
  61. package/dist/classes/texture-formats.js.map +1 -0
  62. package/dist/classes/texture.d.ts +123 -0
  63. package/dist/classes/texture.d.ts.map +1 -0
  64. package/dist/classes/texture.js +786 -0
  65. package/dist/classes/texture.js.map +1 -0
  66. package/dist/classes/transform-feedback.d.ts +33 -0
  67. package/dist/classes/transform-feedback.d.ts.map +1 -0
  68. package/dist/classes/transform-feedback.js +198 -0
  69. package/dist/classes/transform-feedback.js.map +1 -0
  70. package/dist/classes/uniform-buffer-layout.d.ts +17 -0
  71. package/dist/classes/uniform-buffer-layout.d.ts.map +1 -0
  72. package/dist/classes/uniform-buffer-layout.js +104 -0
  73. package/dist/classes/uniform-buffer-layout.js.map +1 -0
  74. package/dist/classes/uniforms.d.ts +37 -0
  75. package/dist/classes/uniforms.d.ts.map +1 -0
  76. package/dist/classes/uniforms.js +250 -0
  77. package/dist/classes/uniforms.js.map +1 -0
  78. package/dist/classes/vertex-array-object.d.ts +75 -0
  79. package/dist/classes/vertex-array-object.d.ts.map +1 -0
  80. package/dist/classes/vertex-array-object.js +261 -0
  81. package/dist/classes/vertex-array-object.js.map +1 -0
  82. package/dist/classes/vertex-array.d.ts +75 -0
  83. package/dist/classes/vertex-array.d.ts.map +1 -0
  84. package/dist/classes/vertex-array.js +408 -0
  85. package/dist/classes/vertex-array.js.map +1 -0
  86. package/dist/classes/webgl-buffer.d.ts +100 -0
  87. package/dist/classes/webgl-buffer.d.ts.map +1 -0
  88. package/dist/{esm/classes/buffer.js → classes/webgl-buffer.js} +100 -73
  89. package/dist/classes/webgl-buffer.js.map +1 -0
  90. package/dist/classes/webgl-resource.d.ts +56 -0
  91. package/dist/classes/webgl-resource.d.ts.map +1 -0
  92. package/dist/{esm/classes/resource.js → classes/webgl-resource.js} +35 -52
  93. package/dist/classes/webgl-resource.js.map +1 -0
  94. package/dist/classes/webgl-shader.d.ts +53 -0
  95. package/dist/classes/webgl-shader.d.ts.map +1 -0
  96. package/dist/classes/webgl-shader.js +193 -0
  97. package/dist/classes/webgl-shader.js.map +1 -0
  98. package/dist/context/context/context-state.d.ts +18 -0
  99. package/dist/context/context/context-state.d.ts.map +1 -0
  100. package/dist/context/context/context-state.js +26 -0
  101. package/dist/context/context/context-state.js.map +1 -0
  102. package/dist/context/context/create-context.d.ts +40 -0
  103. package/dist/context/context/create-context.d.ts.map +1 -0
  104. package/dist/context/context/create-context.js +37 -0
  105. package/dist/context/context/create-context.js.map +1 -0
  106. package/dist/context/context/device-pixels.d.ts +25 -0
  107. package/dist/context/context/device-pixels.d.ts.map +1 -0
  108. package/dist/context/context/device-pixels.js +98 -0
  109. package/dist/context/context/device-pixels.js.map +1 -0
  110. package/dist/context/context/get-canvas.d.ts +13 -0
  111. package/dist/context/context/get-canvas.d.ts.map +1 -0
  112. package/dist/context/context/get-canvas.js +31 -0
  113. package/dist/context/context/get-canvas.js.map +1 -0
  114. package/dist/context/context/resize-context.d.ts +20 -0
  115. package/dist/context/context/resize-context.d.ts.map +1 -0
  116. package/dist/context/context/resize-context.js +15 -0
  117. package/dist/context/context/resize-context.js.map +1 -0
  118. package/dist/context/context/webgl-checks.d.ts +13 -0
  119. package/dist/context/context/webgl-checks.d.ts.map +1 -0
  120. package/dist/context/context/webgl-checks.js +34 -0
  121. package/dist/context/context/webgl-checks.js.map +1 -0
  122. package/dist/context/parameters/unified-parameter-api.d.ts +30 -0
  123. package/dist/context/parameters/unified-parameter-api.d.ts.map +1 -0
  124. package/dist/context/parameters/unified-parameter-api.js +65 -0
  125. package/dist/context/parameters/unified-parameter-api.js.map +1 -0
  126. package/dist/context/parameters/webgl-parameter-tables.d.ts +169 -0
  127. package/dist/context/parameters/webgl-parameter-tables.d.ts.map +1 -0
  128. package/dist/context/parameters/webgl-parameter-tables.js +445 -0
  129. package/dist/context/parameters/webgl-parameter-tables.js.map +1 -0
  130. package/dist/context/parameters/webgl-parameters.d.ts +144 -0
  131. package/dist/context/parameters/webgl-parameters.d.ts.map +1 -0
  132. package/dist/context/parameters/webgl-parameters.js +2 -0
  133. package/dist/context/parameters/webgl-parameters.js.map +1 -0
  134. package/dist/context/polyfill/get-parameter-polyfill.d.ts +2 -0
  135. package/dist/context/polyfill/get-parameter-polyfill.d.ts.map +1 -0
  136. package/dist/context/polyfill/get-parameter-polyfill.js +91 -0
  137. package/dist/context/polyfill/get-parameter-polyfill.js.map +1 -0
  138. package/dist/context/polyfill/polyfill-context.d.ts +5 -0
  139. package/dist/context/polyfill/polyfill-context.d.ts.map +1 -0
  140. package/dist/context/polyfill/polyfill-context.js +91 -0
  141. package/dist/context/polyfill/polyfill-context.js.map +1 -0
  142. package/dist/context/polyfill/polyfill-table.d.ts +48 -0
  143. package/dist/context/polyfill/polyfill-table.d.ts.map +1 -0
  144. package/dist/context/polyfill/polyfill-table.js +160 -0
  145. package/dist/context/polyfill/polyfill-table.js.map +1 -0
  146. package/dist/context/polyfill/polyfill-vertex-array-object.d.ts +2 -0
  147. package/dist/context/polyfill/polyfill-vertex-array-object.d.ts.map +1 -0
  148. package/dist/context/polyfill/polyfill-vertex-array-object.js +335 -0
  149. package/dist/context/polyfill/polyfill-vertex-array-object.js.map +1 -0
  150. package/dist/context/state-tracker/deep-array-equal.d.ts +3 -0
  151. package/dist/context/state-tracker/deep-array-equal.d.ts.map +1 -0
  152. package/dist/context/state-tracker/deep-array-equal.js +21 -0
  153. package/dist/context/state-tracker/deep-array-equal.js.map +1 -0
  154. package/dist/context/state-tracker/track-context-state.d.ts +22 -0
  155. package/dist/context/state-tracker/track-context-state.d.ts.map +1 -0
  156. package/dist/context/state-tracker/track-context-state.js +169 -0
  157. package/dist/context/state-tracker/track-context-state.js.map +1 -0
  158. package/dist/context/state-tracker/with-parameters.d.ts +13 -0
  159. package/dist/context/state-tracker/with-parameters.d.ts.map +1 -0
  160. package/dist/context/state-tracker/with-parameters.js +36 -0
  161. package/dist/context/state-tracker/with-parameters.js.map +1 -0
  162. package/dist/debug/debug-program-configuration.d.ts +2 -0
  163. package/dist/debug/debug-program-configuration.d.ts.map +1 -0
  164. package/dist/debug/debug-program-configuration.js +40 -0
  165. package/dist/debug/debug-program-configuration.js.map +1 -0
  166. package/dist/debug/debug-uniforms.d.ts +12 -0
  167. package/dist/debug/debug-uniforms.d.ts.map +1 -0
  168. package/dist/debug/debug-uniforms.js +108 -0
  169. package/dist/debug/debug-uniforms.js.map +1 -0
  170. package/dist/debug/debug-vertex-array.d.ts +5 -0
  171. package/dist/debug/debug-vertex-array.d.ts.map +1 -0
  172. package/dist/debug/debug-vertex-array.js +118 -0
  173. package/dist/debug/debug-vertex-array.js.map +1 -0
  174. package/dist/device/check-glsl-extension.d.ts +4 -0
  175. package/dist/device/check-glsl-extension.d.ts.map +1 -0
  176. package/dist/device/check-glsl-extension.js +22 -0
  177. package/dist/device/check-glsl-extension.js.map +1 -0
  178. package/dist/device/device-features.d.ts +12 -0
  179. package/dist/device/device-features.d.ts.map +1 -0
  180. package/dist/device/device-features.js +123 -0
  181. package/dist/device/device-features.js.map +1 -0
  182. package/dist/device/device-limits.d.ts +51 -0
  183. package/dist/device/device-limits.d.ts.map +1 -0
  184. package/dist/device/device-limits.js +90 -0
  185. package/dist/device/device-limits.js.map +1 -0
  186. package/dist/device/get-device-info.d.ts +4 -0
  187. package/dist/device/get-device-info.d.ts.map +1 -0
  188. package/dist/device/get-device-info.js +44 -0
  189. package/dist/device/get-device-info.js.map +1 -0
  190. package/dist/device/webgl-device.d.ts +111 -0
  191. package/dist/device/webgl-device.d.ts.map +1 -0
  192. package/dist/device/webgl-device.js +208 -0
  193. package/dist/device/webgl-device.js.map +1 -0
  194. package/dist/es5/api/device2.js +42 -0
  195. package/dist/es5/api/device2.js.map +1 -0
  196. package/dist/es5/bundle.js +2 -4
  197. package/dist/es5/bundle.js.map +1 -1
  198. package/dist/es5/classes/accessor.js +36 -38
  199. package/dist/es5/classes/accessor.js.map +1 -1
  200. package/dist/es5/classes/accessor.ts.disabled +159 -0
  201. package/dist/es5/classes/clear.js +17 -11
  202. package/dist/es5/classes/clear.js.map +1 -1
  203. package/dist/es5/classes/copy-and-blit.js +121 -117
  204. package/dist/es5/classes/copy-and-blit.js.map +1 -1
  205. package/dist/es5/classes/framebuffer.js +435 -423
  206. package/dist/es5/classes/framebuffer.js.map +1 -1
  207. package/dist/es5/classes/program-configuration.js +14 -11
  208. package/dist/es5/classes/program-configuration.js.map +1 -1
  209. package/dist/es5/classes/program.js +79 -67
  210. package/dist/es5/classes/program.js.map +1 -1
  211. package/dist/es5/classes/query.js +58 -59
  212. package/dist/es5/classes/query.js.map +1 -1
  213. package/dist/es5/classes/renderbuffer-formats.js +79 -52
  214. package/dist/es5/classes/renderbuffer-formats.js.map +1 -1
  215. package/dist/es5/classes/renderbuffer.js +129 -100
  216. package/dist/es5/classes/renderbuffer.js.map +1 -1
  217. package/dist/es5/classes/texture-2d.js +25 -21
  218. package/dist/es5/classes/texture-2d.js.map +1 -1
  219. package/dist/es5/classes/texture-3d.js +49 -29
  220. package/dist/es5/classes/texture-3d.js.map +1 -1
  221. package/dist/es5/classes/texture-cube.js +45 -36
  222. package/dist/es5/classes/texture-cube.js.map +1 -1
  223. package/dist/es5/classes/texture-formats.js +35 -33
  224. package/dist/es5/classes/texture-formats.js.map +1 -1
  225. package/dist/es5/classes/texture.js +213 -101
  226. package/dist/es5/classes/texture.js.map +1 -1
  227. package/dist/es5/classes/transform-feedback.js +37 -34
  228. package/dist/es5/classes/transform-feedback.js.map +1 -1
  229. package/dist/es5/classes/uniform-buffer-layout.js +4 -4
  230. package/dist/es5/classes/uniform-buffer-layout.js.map +1 -1
  231. package/dist/es5/classes/uniforms.js +73 -73
  232. package/dist/es5/classes/uniforms.js.map +1 -1
  233. package/dist/es5/classes/vertex-array-object.js +106 -149
  234. package/dist/es5/classes/vertex-array-object.js.map +1 -1
  235. package/dist/es5/classes/vertex-array.js +47 -38
  236. package/dist/es5/classes/vertex-array.js.map +1 -1
  237. package/dist/es5/classes/{buffer.js → webgl-buffer.js} +120 -111
  238. package/dist/es5/classes/webgl-buffer.js.map +1 -0
  239. package/dist/es5/classes/{resource.js → webgl-resource.js} +78 -99
  240. package/dist/es5/classes/webgl-resource.js.map +1 -0
  241. package/dist/es5/classes/webgl-shader.js +309 -0
  242. package/dist/es5/classes/webgl-shader.js.map +1 -0
  243. package/dist/es5/context/context/context-state.js +31 -0
  244. package/dist/es5/context/context/context-state.js.map +1 -0
  245. package/dist/es5/context/context/create-context.js +57 -0
  246. package/dist/es5/context/context/create-context.js.map +1 -0
  247. package/dist/es5/context/context/device-pixels.js +115 -0
  248. package/dist/es5/context/context/device-pixels.js.map +1 -0
  249. package/dist/es5/context/context/get-canvas.js +40 -0
  250. package/dist/es5/context/context/get-canvas.js.map +1 -0
  251. package/dist/es5/context/context/resize-context.js +23 -0
  252. package/dist/es5/context/context/resize-context.js.map +1 -0
  253. package/dist/es5/context/context/webgl-checks.js +54 -0
  254. package/dist/es5/context/context/webgl-checks.js.map +1 -0
  255. package/dist/es5/context/parameters/unified-parameter-api.js +95 -0
  256. package/dist/es5/context/parameters/unified-parameter-api.js.map +1 -0
  257. package/dist/es5/context/parameters/webgl-parameter-tables.js +392 -0
  258. package/dist/es5/context/parameters/webgl-parameter-tables.js.map +1 -0
  259. package/dist/es5/context/parameters/webgl-parameters.js +6 -0
  260. package/dist/es5/context/parameters/webgl-parameters.js.map +1 -0
  261. package/dist/es5/context/polyfill/get-parameter-polyfill.js +81 -0
  262. package/dist/es5/context/polyfill/get-parameter-polyfill.js.map +1 -0
  263. package/dist/es5/context/polyfill/polyfill-context.js +134 -0
  264. package/dist/es5/context/polyfill/polyfill-context.js.map +1 -0
  265. package/dist/es5/context/polyfill/polyfill-table.js +166 -0
  266. package/dist/es5/context/polyfill/polyfill-table.js.map +1 -0
  267. package/dist/es5/context/polyfill/polyfill-vertex-array-object.js +341 -0
  268. package/dist/es5/context/polyfill/polyfill-vertex-array-object.js.map +1 -0
  269. package/dist/es5/context/state-tracker/deep-array-equal.js +28 -0
  270. package/dist/es5/context/state-tracker/deep-array-equal.js.map +1 -0
  271. package/dist/es5/context/state-tracker/track-context-state.js +196 -0
  272. package/dist/es5/context/state-tracker/track-context-state.js.map +1 -0
  273. package/dist/es5/context/state-tracker/with-parameters.js +44 -0
  274. package/dist/es5/context/state-tracker/with-parameters.js.map +1 -0
  275. package/dist/es5/debug/debug-program-configuration.js +1 -1
  276. package/dist/es5/debug/debug-program-configuration.js.map +1 -1
  277. package/dist/es5/debug/debug-uniforms.js +18 -20
  278. package/dist/es5/debug/debug-uniforms.js.map +1 -1
  279. package/dist/es5/debug/debug-vertex-array.js +16 -16
  280. package/dist/es5/debug/debug-vertex-array.js.map +1 -1
  281. package/dist/es5/device/check-glsl-extension.js +33 -0
  282. package/dist/es5/device/check-glsl-extension.js.map +1 -0
  283. package/dist/es5/device/device-features.js +152 -0
  284. package/dist/es5/device/device-features.js.map +1 -0
  285. package/dist/es5/device/device-limits.js +64 -0
  286. package/dist/es5/device/device-limits.js.map +1 -0
  287. package/dist/es5/device/get-device-info.js +55 -0
  288. package/dist/es5/device/get-device-info.js.map +1 -0
  289. package/dist/es5/device/webgl-device.js +279 -0
  290. package/dist/es5/device/webgl-device.js.map +1 -0
  291. package/dist/es5/index.js +140 -96
  292. package/dist/es5/index.js.map +1 -1
  293. package/dist/es5/init.js +21 -41
  294. package/dist/es5/init.js.map +1 -1
  295. package/dist/es5/types.js +2 -0
  296. package/dist/es5/types.js.map +1 -0
  297. package/dist/es5/webgl-utils/attribute-utils.js +4 -4
  298. package/dist/es5/webgl-utils/attribute-utils.js.map +1 -1
  299. package/dist/es5/webgl-utils/constants-to-keys.js +3 -3
  300. package/dist/es5/webgl-utils/constants-to-keys.js.map +1 -1
  301. package/dist/es5/webgl-utils/format-utils.js +21 -17
  302. package/dist/es5/webgl-utils/format-utils.js.map +1 -1
  303. package/dist/es5/webgl-utils/get-error.js.map +1 -1
  304. package/dist/es5/webgl-utils/index.js +74 -0
  305. package/dist/es5/webgl-utils/index.js.map +1 -0
  306. package/dist/es5/{features/check-old-ie.js → webgl-utils/is-old-ie.js} +3 -3
  307. package/dist/es5/webgl-utils/is-old-ie.js.map +1 -0
  308. package/dist/es5/webgl-utils/parse-shader-compiler-log.js +72 -0
  309. package/dist/es5/webgl-utils/parse-shader-compiler-log.js.map +1 -0
  310. package/dist/es5/webgl-utils/request-animation-frame.js.map +1 -1
  311. package/dist/es5/webgl-utils/texture-utils.js +6 -4
  312. package/dist/es5/webgl-utils/texture-utils.js.map +1 -1
  313. package/dist/es5/webgl-utils/typed-array-utils.js +39 -34
  314. package/dist/es5/webgl-utils/typed-array-utils.js.map +1 -1
  315. package/dist/es5/webgl-utils/webgl-info.ts.disabled +135 -0
  316. package/dist/esm/api/device2.js +23 -0
  317. package/dist/esm/api/device2.js.map +1 -0
  318. package/dist/esm/bundle.js +2 -4
  319. package/dist/esm/bundle.js.map +1 -1
  320. package/dist/esm/classes/accessor.js +6 -6
  321. package/dist/esm/classes/accessor.js.map +1 -1
  322. package/dist/esm/classes/accessor.ts.disabled +159 -0
  323. package/dist/esm/classes/clear.js +19 -14
  324. package/dist/esm/classes/clear.js.map +1 -1
  325. package/dist/esm/classes/copy-and-blit.js +67 -64
  326. package/dist/esm/classes/copy-and-blit.js.map +1 -1
  327. package/dist/esm/classes/framebuffer.js +341 -313
  328. package/dist/esm/classes/framebuffer.js.map +1 -1
  329. package/dist/esm/classes/program-configuration.js +18 -10
  330. package/dist/esm/classes/program-configuration.js.map +1 -1
  331. package/dist/esm/classes/program.js +71 -44
  332. package/dist/esm/classes/program.js.map +1 -1
  333. package/dist/esm/classes/query.js +20 -16
  334. package/dist/esm/classes/query.js.map +1 -1
  335. package/dist/esm/classes/renderbuffer-formats.js +72 -49
  336. package/dist/esm/classes/renderbuffer-formats.js.map +1 -1
  337. package/dist/esm/classes/renderbuffer.js +86 -73
  338. package/dist/esm/classes/renderbuffer.js.map +1 -1
  339. package/dist/esm/classes/texture-2d.js +13 -9
  340. package/dist/esm/classes/texture-2d.js.map +1 -1
  341. package/dist/esm/classes/texture-3d.js +28 -16
  342. package/dist/esm/classes/texture-3d.js.map +1 -1
  343. package/dist/esm/classes/texture-cube.js +45 -31
  344. package/dist/esm/classes/texture-cube.js.map +1 -1
  345. package/dist/esm/classes/texture-formats.js +52 -51
  346. package/dist/esm/classes/texture-formats.js.map +1 -1
  347. package/dist/esm/classes/texture.js +174 -58
  348. package/dist/esm/classes/texture.js.map +1 -1
  349. package/dist/esm/classes/transform-feedback.js +26 -14
  350. package/dist/esm/classes/transform-feedback.js.map +1 -1
  351. package/dist/esm/classes/uniform-buffer-layout.js +1 -1
  352. package/dist/esm/classes/uniform-buffer-layout.js.map +1 -1
  353. package/dist/esm/classes/uniforms.js +111 -113
  354. package/dist/esm/classes/uniforms.js.map +1 -1
  355. package/dist/esm/classes/vertex-array-object.js +52 -89
  356. package/dist/esm/classes/vertex-array-object.js.map +1 -1
  357. package/dist/esm/classes/vertex-array.js +50 -29
  358. package/dist/esm/classes/vertex-array.js.map +1 -1
  359. package/dist/esm/classes/webgl-buffer.js +382 -0
  360. package/dist/esm/classes/webgl-buffer.js.map +1 -0
  361. package/dist/esm/classes/webgl-resource.js +212 -0
  362. package/dist/esm/classes/webgl-resource.js.map +1 -0
  363. package/dist/esm/classes/webgl-shader.js +193 -0
  364. package/dist/esm/classes/webgl-shader.js.map +1 -0
  365. package/dist/esm/context/context/context-state.js +26 -0
  366. package/dist/esm/context/context/context-state.js.map +1 -0
  367. package/dist/esm/context/context/create-context.js +37 -0
  368. package/dist/esm/context/context/create-context.js.map +1 -0
  369. package/dist/esm/context/context/device-pixels.js +98 -0
  370. package/dist/esm/context/context/device-pixels.js.map +1 -0
  371. package/dist/esm/context/context/get-canvas.js +31 -0
  372. package/dist/esm/context/context/get-canvas.js.map +1 -0
  373. package/dist/esm/context/context/resize-context.js +15 -0
  374. package/dist/esm/context/context/resize-context.js.map +1 -0
  375. package/dist/esm/context/context/webgl-checks.js +34 -0
  376. package/dist/esm/context/context/webgl-checks.js.map +1 -0
  377. package/dist/esm/context/parameters/unified-parameter-api.js +65 -0
  378. package/dist/esm/context/parameters/unified-parameter-api.js.map +1 -0
  379. package/dist/esm/context/parameters/webgl-parameter-tables.js +445 -0
  380. package/dist/esm/context/parameters/webgl-parameter-tables.js.map +1 -0
  381. package/dist/esm/context/parameters/webgl-parameters.js +2 -0
  382. package/dist/esm/context/parameters/webgl-parameters.js.map +1 -0
  383. package/dist/esm/context/polyfill/get-parameter-polyfill.js +91 -0
  384. package/dist/esm/context/polyfill/get-parameter-polyfill.js.map +1 -0
  385. package/dist/esm/context/polyfill/polyfill-context.js +91 -0
  386. package/dist/esm/context/polyfill/polyfill-context.js.map +1 -0
  387. package/dist/esm/context/polyfill/polyfill-table.js +160 -0
  388. package/dist/esm/context/polyfill/polyfill-table.js.map +1 -0
  389. package/dist/esm/context/polyfill/polyfill-vertex-array-object.js +335 -0
  390. package/dist/esm/context/polyfill/polyfill-vertex-array-object.js.map +1 -0
  391. package/dist/esm/context/state-tracker/deep-array-equal.js +21 -0
  392. package/dist/esm/context/state-tracker/deep-array-equal.js.map +1 -0
  393. package/dist/esm/context/state-tracker/track-context-state.js +169 -0
  394. package/dist/esm/context/state-tracker/track-context-state.js.map +1 -0
  395. package/dist/esm/context/state-tracker/with-parameters.js +36 -0
  396. package/dist/esm/context/state-tracker/with-parameters.js.map +1 -0
  397. package/dist/esm/debug/debug-program-configuration.js +4 -4
  398. package/dist/esm/debug/debug-program-configuration.js.map +1 -1
  399. package/dist/esm/debug/debug-uniforms.js +9 -9
  400. package/dist/esm/debug/debug-uniforms.js.map +1 -1
  401. package/dist/esm/debug/debug-vertex-array.js +18 -16
  402. package/dist/esm/debug/debug-vertex-array.js.map +1 -1
  403. package/dist/esm/device/check-glsl-extension.js +22 -0
  404. package/dist/esm/device/check-glsl-extension.js.map +1 -0
  405. package/dist/esm/device/device-features.js +123 -0
  406. package/dist/esm/device/device-features.js.map +1 -0
  407. package/dist/esm/device/device-limits.js +90 -0
  408. package/dist/esm/device/device-limits.js.map +1 -0
  409. package/dist/esm/device/get-device-info.js +44 -0
  410. package/dist/esm/device/get-device-info.js.map +1 -0
  411. package/dist/esm/device/webgl-device.js +208 -0
  412. package/dist/esm/device/webgl-device.js.map +1 -0
  413. package/dist/esm/index.js +15 -15
  414. package/dist/esm/index.js.map +1 -1
  415. package/dist/esm/init.js +12 -28
  416. package/dist/esm/init.js.map +1 -1
  417. package/dist/esm/types.js +2 -0
  418. package/dist/esm/types.js.map +1 -0
  419. package/dist/esm/webgl-utils/attribute-utils.js +1 -1
  420. package/dist/esm/webgl-utils/attribute-utils.js.map +1 -1
  421. package/dist/esm/webgl-utils/constants-to-keys.js +4 -4
  422. package/dist/esm/webgl-utils/constants-to-keys.js.map +1 -1
  423. package/dist/esm/webgl-utils/format-utils.js +16 -15
  424. package/dist/esm/webgl-utils/format-utils.js.map +1 -1
  425. package/dist/esm/webgl-utils/get-error.js +1 -1
  426. package/dist/esm/webgl-utils/get-error.js.map +1 -1
  427. package/dist/esm/webgl-utils/index.js +5 -0
  428. package/dist/esm/webgl-utils/index.js.map +1 -0
  429. package/dist/esm/{features/check-old-ie.js → webgl-utils/is-old-ie.js} +3 -3
  430. package/dist/esm/webgl-utils/is-old-ie.js.map +1 -0
  431. package/dist/esm/webgl-utils/parse-shader-compiler-log.js +37 -0
  432. package/dist/esm/webgl-utils/parse-shader-compiler-log.js.map +1 -0
  433. package/dist/esm/webgl-utils/request-animation-frame.js.map +1 -1
  434. package/dist/esm/webgl-utils/texture-utils.js +4 -3
  435. package/dist/esm/webgl-utils/texture-utils.js.map +1 -1
  436. package/dist/esm/webgl-utils/typed-array-utils.js +41 -36
  437. package/dist/esm/webgl-utils/typed-array-utils.js.map +1 -1
  438. package/dist/esm/webgl-utils/webgl-info.ts.disabled +135 -0
  439. package/dist/index.d.ts +49 -0
  440. package/dist/index.d.ts.map +1 -0
  441. package/dist/index.js +35 -0
  442. package/dist/index.js.map +1 -0
  443. package/dist/init.d.ts +5 -0
  444. package/dist/init.d.ts.map +1 -0
  445. package/dist/init.js +33 -0
  446. package/dist/init.js.map +1 -0
  447. package/dist/types.d.ts +9 -0
  448. package/dist/types.d.ts.map +1 -0
  449. package/dist/types.js +2 -0
  450. package/dist/types.js.map +1 -0
  451. package/dist/webgl-utils/attribute-utils.d.ts +18 -0
  452. package/dist/webgl-utils/attribute-utils.d.ts.map +1 -0
  453. package/dist/webgl-utils/attribute-utils.js +182 -0
  454. package/dist/webgl-utils/attribute-utils.js.map +1 -0
  455. package/dist/webgl-utils/constants-to-keys.d.ts +4 -0
  456. package/dist/webgl-utils/constants-to-keys.d.ts.map +1 -0
  457. package/dist/webgl-utils/constants-to-keys.js +41 -0
  458. package/dist/webgl-utils/constants-to-keys.js.map +1 -0
  459. package/dist/webgl-utils/format-utils.d.ts +3 -0
  460. package/dist/webgl-utils/format-utils.d.ts.map +1 -0
  461. package/dist/webgl-utils/format-utils.js +45 -0
  462. package/dist/webgl-utils/format-utils.js.map +1 -0
  463. package/dist/webgl-utils/get-error.d.ts +3 -0
  464. package/dist/webgl-utils/get-error.d.ts.map +1 -0
  465. package/dist/webgl-utils/get-error.js +41 -0
  466. package/dist/webgl-utils/get-error.js.map +1 -0
  467. package/dist/webgl-utils/index.d.ts +5 -0
  468. package/dist/webgl-utils/index.d.ts.map +1 -0
  469. package/dist/webgl-utils/index.js +5 -0
  470. package/dist/webgl-utils/index.js.map +1 -0
  471. package/dist/webgl-utils/is-old-ie.d.ts +2 -0
  472. package/dist/webgl-utils/is-old-ie.d.ts.map +1 -0
  473. package/dist/webgl-utils/is-old-ie.js +8 -0
  474. package/dist/webgl-utils/is-old-ie.js.map +1 -0
  475. package/dist/webgl-utils/parse-shader-compiler-log.d.ts +8 -0
  476. package/dist/webgl-utils/parse-shader-compiler-log.d.ts.map +1 -0
  477. package/dist/webgl-utils/parse-shader-compiler-log.js +37 -0
  478. package/dist/webgl-utils/parse-shader-compiler-log.js.map +1 -0
  479. package/dist/webgl-utils/request-animation-frame.d.ts +4 -0
  480. package/dist/webgl-utils/request-animation-frame.d.ts.map +1 -0
  481. package/dist/webgl-utils/request-animation-frame.js +7 -0
  482. package/dist/webgl-utils/request-animation-frame.js.map +1 -0
  483. package/dist/webgl-utils/texture-utils.d.ts +15 -0
  484. package/dist/webgl-utils/texture-utils.d.ts.map +1 -0
  485. package/dist/webgl-utils/texture-utils.js +48 -0
  486. package/dist/webgl-utils/texture-utils.js.map +1 -0
  487. package/dist/webgl-utils/typed-array-utils.d.ts +43 -0
  488. package/dist/webgl-utils/typed-array-utils.d.ts.map +1 -0
  489. package/{src → dist}/webgl-utils/typed-array-utils.js +45 -27
  490. package/dist/webgl-utils/typed-array-utils.js.map +1 -0
  491. package/dist/webgl-utils/webgl-info.ts.disabled +135 -0
  492. package/package.json +9 -9
  493. package/src/.DS_Store +0 -0
  494. package/src/api/device2.ts +71 -0
  495. package/src/bundle.ts +4 -0
  496. package/src/classes/accessor.js +2 -3
  497. package/src/classes/accessor.ts.disabled +159 -0
  498. package/src/classes/clear.ts +108 -0
  499. package/src/classes/{copy-and-blit.js → copy-and-blit.ts} +143 -55
  500. package/src/classes/{framebuffer.js → framebuffer.ts} +381 -321
  501. package/src/classes/{program-configuration.js → program-configuration.ts} +19 -12
  502. package/src/classes/{program.js → program.ts} +66 -40
  503. package/src/classes/{query.js → query.ts} +31 -25
  504. package/src/classes/{renderbuffer-formats.js → renderbuffer-formats.ts} +42 -14
  505. package/src/classes/renderbuffer.ts +154 -0
  506. package/src/classes/texture-2d.ts +35 -0
  507. package/src/classes/{texture-3d.js → texture-3d.ts} +48 -18
  508. package/src/classes/{texture-cube.js → texture-cube.ts} +52 -34
  509. package/src/classes/{texture-formats.js → texture-formats.ts} +10 -2
  510. package/src/classes/{texture.js → texture.ts} +223 -57
  511. package/src/classes/{transform-feedback.js → transform-feedback.ts} +34 -25
  512. package/src/classes/{uniform-buffer-layout.js → uniform-buffer-layout.ts} +10 -6
  513. package/src/classes/{uniforms.js → uniforms.ts} +123 -77
  514. package/src/classes/{vertex-array-object.js → vertex-array-object.ts} +133 -112
  515. package/src/classes/{vertex-array.js → vertex-array.ts} +74 -55
  516. package/src/classes/{buffer.js → webgl-buffer.ts} +126 -50
  517. package/src/classes/{resource.js → webgl-resource.ts} +55 -46
  518. package/src/classes/webgl-shader.ts +202 -0
  519. package/src/context/context/context-state.ts +39 -0
  520. package/src/context/context/create-context.ts +83 -0
  521. package/src/context/context/device-pixels.ts +147 -0
  522. package/src/context/context/get-canvas.ts +37 -0
  523. package/src/context/context/resize-context.ts +37 -0
  524. package/src/context/context/webgl-checks.ts +49 -0
  525. package/src/context/parameters/unified-parameter-api.ts +127 -0
  526. package/src/context/parameters/webgl-parameter-tables.ts +625 -0
  527. package/src/context/parameters/webgl-parameters.ts +197 -0
  528. package/src/context/polyfill/get-parameter-polyfill.ts +118 -0
  529. package/src/context/polyfill/polyfill-context.ts +98 -0
  530. package/src/context/polyfill/polyfill-table.ts +162 -0
  531. package/src/context/polyfill/polyfill-vertex-array-object.ts +360 -0
  532. package/src/context/state-tracker/deep-array-equal.ts +20 -0
  533. package/src/context/state-tracker/track-context-state.ts +250 -0
  534. package/src/context/state-tracker/with-parameters.ts +50 -0
  535. package/src/debug/{debug-program-configuration.js → debug-program-configuration.ts} +0 -0
  536. package/src/debug/{debug-uniforms.js → debug-uniforms.ts} +18 -8
  537. package/src/debug/{debug-vertex-array.js → debug-vertex-array.ts} +6 -5
  538. package/src/device/check-glsl-extension.ts +44 -0
  539. package/src/device/device-features.ts +227 -0
  540. package/src/device/device-limits.ts +150 -0
  541. package/src/device/get-device-info.ts +49 -0
  542. package/src/device/webgl-device.ts +406 -0
  543. package/src/index.ts +127 -0
  544. package/src/{init.js → init.ts} +11 -25
  545. package/src/{types.d.ts → types.ts} +1 -1
  546. package/src/webgl-utils/{attribute-utils.js → attribute-utils.ts} +1 -2
  547. package/src/webgl-utils/{constants-to-keys.js → constants-to-keys.ts} +1 -1
  548. package/src/webgl-utils/{format-utils.js → format-utils.ts} +1 -1
  549. package/src/webgl-utils/{get-error.js → get-error.ts} +0 -0
  550. package/src/webgl-utils/index.ts +12 -0
  551. package/src/{features/check-old-ie.js → webgl-utils/is-old-ie.ts} +3 -3
  552. package/src/webgl-utils/parse-shader-compiler-log.ts +48 -0
  553. package/src/webgl-utils/{request-animation-frame.js → request-animation-frame.ts} +3 -2
  554. package/src/webgl-utils/{texture-utils.js → texture-utils.ts} +14 -10
  555. package/src/webgl-utils/typed-array-utils.ts +137 -0
  556. package/src/webgl-utils/webgl-info.ts.disabled +135 -0
  557. package/dist/dist.js +0 -13710
  558. package/dist/dist.min.js +0 -1
  559. package/dist/es5/classes/buffer.d.ts +0 -84
  560. package/dist/es5/classes/buffer.js.map +0 -1
  561. package/dist/es5/classes/clear.d.ts +0 -11
  562. package/dist/es5/classes/copy-and-blit.d.ts +0 -101
  563. package/dist/es5/classes/framebuffer.d.ts +0 -96
  564. package/dist/es5/classes/program-configuration.d.ts +0 -15
  565. package/dist/es5/classes/program.d.ts +0 -44
  566. package/dist/es5/classes/query.d.ts +0 -21
  567. package/dist/es5/classes/renderbuffer.d.ts +0 -34
  568. package/dist/es5/classes/resource.d.ts +0 -47
  569. package/dist/es5/classes/resource.js.map +0 -1
  570. package/dist/es5/classes/shader.d.ts +0 -29
  571. package/dist/es5/classes/shader.js +0 -221
  572. package/dist/es5/classes/shader.js.map +0 -1
  573. package/dist/es5/classes/texture-2d.d.ts +0 -11
  574. package/dist/es5/classes/texture-3d.d.ts +0 -29
  575. package/dist/es5/classes/texture-cube.d.ts +0 -23
  576. package/dist/es5/classes/texture.d.ts +0 -80
  577. package/dist/es5/classes/transform-feedback.d.ts +0 -16
  578. package/dist/es5/classes/uniform-buffer-layout.d.ts +0 -18
  579. package/dist/es5/classes/uniforms.d.ts +0 -63
  580. package/dist/es5/classes/vertex-array-object.d.ts +0 -25
  581. package/dist/es5/classes/vertex-array.d.ts +0 -37
  582. package/dist/es5/debug/debug-program-configuration.d.ts +0 -1
  583. package/dist/es5/debug/debug-uniforms.d.ts +0 -11
  584. package/dist/es5/debug/debug-vertex-array.d.ts +0 -1
  585. package/dist/es5/features/check-glsl-extension.js +0 -41
  586. package/dist/es5/features/check-glsl-extension.js.map +0 -1
  587. package/dist/es5/features/check-old-ie.js.map +0 -1
  588. package/dist/es5/features/features.js +0 -99
  589. package/dist/es5/features/features.js.map +0 -1
  590. package/dist/es5/features/index.js +0 -64
  591. package/dist/es5/features/index.js.map +0 -1
  592. package/dist/es5/features/limits.js +0 -64
  593. package/dist/es5/features/limits.js.map +0 -1
  594. package/dist/es5/features/webgl-features-table.js +0 -64
  595. package/dist/es5/features/webgl-features-table.js.map +0 -1
  596. package/dist/es5/features/webgl-limits-table.js +0 -132
  597. package/dist/es5/features/webgl-limits-table.js.map +0 -1
  598. package/dist/es5/glsl-utils/format-glsl-error.d.ts +0 -16
  599. package/dist/es5/glsl-utils/format-glsl-error.js +0 -108
  600. package/dist/es5/glsl-utils/format-glsl-error.js.map +0 -1
  601. package/dist/es5/glsl-utils/get-shader-name.js +0 -14
  602. package/dist/es5/glsl-utils/get-shader-name.js.map +0 -1
  603. package/dist/es5/glsl-utils/get-shader-type-name.js +0 -22
  604. package/dist/es5/glsl-utils/get-shader-type-name.js.map +0 -1
  605. package/dist/es5/glsl-utils/get-shader-version.js +0 -22
  606. package/dist/es5/glsl-utils/get-shader-version.js.map +0 -1
  607. package/dist/es5/glsl-utils/index.js +0 -48
  608. package/dist/es5/glsl-utils/index.js.map +0 -1
  609. package/dist/es5/index.d.ts +0 -71
  610. package/dist/es5/init.d.ts +0 -12
  611. package/dist/es5/types.d.ts +0 -8
  612. package/dist/es5/utils/array-utils-flat.js +0 -51
  613. package/dist/es5/utils/array-utils-flat.js.map +0 -1
  614. package/dist/es5/utils/assert.d.ts +0 -1
  615. package/dist/es5/utils/assert.js +0 -13
  616. package/dist/es5/utils/assert.js.map +0 -1
  617. package/dist/es5/utils/check-props.js +0 -51
  618. package/dist/es5/utils/check-props.js.map +0 -1
  619. package/dist/es5/utils/format-value.js +0 -57
  620. package/dist/es5/utils/format-value.js.map +0 -1
  621. package/dist/es5/utils/is-old-ie.d.ts +0 -1
  622. package/dist/es5/utils/is-old-ie.js +0 -14
  623. package/dist/es5/utils/is-old-ie.js.map +0 -1
  624. package/dist/es5/utils/load-file.js +0 -50
  625. package/dist/es5/utils/load-file.js.map +0 -1
  626. package/dist/es5/utils/stub-methods.js +0 -25
  627. package/dist/es5/utils/stub-methods.js.map +0 -1
  628. package/dist/es5/utils/utils.d.ts +0 -13
  629. package/dist/es5/utils/utils.js +0 -36
  630. package/dist/es5/utils/utils.js.map +0 -1
  631. package/dist/es5/webgl-utils/request-animation-frame.d.ts +0 -3
  632. package/dist/es5/webgl-utils/texture-utils.d.ts +0 -11
  633. package/dist/es5/webgl-utils/typed-array-utils.d.ts +0 -36
  634. package/dist/esm/classes/buffer.d.ts +0 -84
  635. package/dist/esm/classes/buffer.js.map +0 -1
  636. package/dist/esm/classes/clear.d.ts +0 -11
  637. package/dist/esm/classes/copy-and-blit.d.ts +0 -101
  638. package/dist/esm/classes/framebuffer.d.ts +0 -96
  639. package/dist/esm/classes/program-configuration.d.ts +0 -15
  640. package/dist/esm/classes/program.d.ts +0 -44
  641. package/dist/esm/classes/query.d.ts +0 -21
  642. package/dist/esm/classes/renderbuffer.d.ts +0 -34
  643. package/dist/esm/classes/resource.d.ts +0 -47
  644. package/dist/esm/classes/resource.js.map +0 -1
  645. package/dist/esm/classes/shader.d.ts +0 -29
  646. package/dist/esm/classes/shader.js +0 -138
  647. package/dist/esm/classes/shader.js.map +0 -1
  648. package/dist/esm/classes/texture-2d.d.ts +0 -11
  649. package/dist/esm/classes/texture-3d.d.ts +0 -29
  650. package/dist/esm/classes/texture-cube.d.ts +0 -23
  651. package/dist/esm/classes/texture.d.ts +0 -80
  652. package/dist/esm/classes/transform-feedback.d.ts +0 -16
  653. package/dist/esm/classes/uniform-buffer-layout.d.ts +0 -18
  654. package/dist/esm/classes/uniforms.d.ts +0 -63
  655. package/dist/esm/classes/vertex-array-object.d.ts +0 -25
  656. package/dist/esm/classes/vertex-array.d.ts +0 -37
  657. package/dist/esm/debug/debug-program-configuration.d.ts +0 -1
  658. package/dist/esm/debug/debug-uniforms.d.ts +0 -11
  659. package/dist/esm/debug/debug-vertex-array.d.ts +0 -1
  660. package/dist/esm/features/check-glsl-extension.js +0 -27
  661. package/dist/esm/features/check-glsl-extension.js.map +0 -1
  662. package/dist/esm/features/check-old-ie.js.map +0 -1
  663. package/dist/esm/features/features.js +0 -66
  664. package/dist/esm/features/features.js.map +0 -1
  665. package/dist/esm/features/index.js +0 -5
  666. package/dist/esm/features/index.js.map +0 -1
  667. package/dist/esm/features/limits.js +0 -52
  668. package/dist/esm/features/limits.js.map +0 -1
  669. package/dist/esm/features/webgl-features-table.js +0 -71
  670. package/dist/esm/features/webgl-features-table.js.map +0 -1
  671. package/dist/esm/features/webgl-limits-table.js +0 -160
  672. package/dist/esm/features/webgl-limits-table.js.map +0 -1
  673. package/dist/esm/glsl-utils/format-glsl-error.d.ts +0 -16
  674. package/dist/esm/glsl-utils/format-glsl-error.js +0 -93
  675. package/dist/esm/glsl-utils/format-glsl-error.js.map +0 -1
  676. package/dist/esm/glsl-utils/get-shader-name.js +0 -6
  677. package/dist/esm/glsl-utils/get-shader-name.js.map +0 -1
  678. package/dist/esm/glsl-utils/get-shader-type-name.js +0 -15
  679. package/dist/esm/glsl-utils/get-shader-type-name.js.map +0 -1
  680. package/dist/esm/glsl-utils/get-shader-version.js +0 -15
  681. package/dist/esm/glsl-utils/get-shader-version.js.map +0 -1
  682. package/dist/esm/glsl-utils/index.js +0 -5
  683. package/dist/esm/glsl-utils/index.js.map +0 -1
  684. package/dist/esm/index.d.ts +0 -71
  685. package/dist/esm/init.d.ts +0 -12
  686. package/dist/esm/types.d.ts +0 -8
  687. package/dist/esm/utils/array-utils-flat.js +0 -39
  688. package/dist/esm/utils/array-utils-flat.js.map +0 -1
  689. package/dist/esm/utils/assert.d.ts +0 -1
  690. package/dist/esm/utils/assert.js +0 -6
  691. package/dist/esm/utils/assert.js.map +0 -1
  692. package/dist/esm/utils/check-props.js +0 -38
  693. package/dist/esm/utils/check-props.js.map +0 -1
  694. package/dist/esm/utils/format-value.js +0 -50
  695. package/dist/esm/utils/format-value.js.map +0 -1
  696. package/dist/esm/utils/is-old-ie.d.ts +0 -1
  697. package/dist/esm/utils/is-old-ie.js +0 -5
  698. package/dist/esm/utils/is-old-ie.js.map +0 -1
  699. package/dist/esm/utils/load-file.js +0 -30
  700. package/dist/esm/utils/load-file.js.map +0 -1
  701. package/dist/esm/utils/stub-methods.js +0 -17
  702. package/dist/esm/utils/stub-methods.js.map +0 -1
  703. package/dist/esm/utils/utils.d.ts +0 -13
  704. package/dist/esm/utils/utils.js +0 -22
  705. package/dist/esm/utils/utils.js.map +0 -1
  706. package/dist/esm/webgl-utils/request-animation-frame.d.ts +0 -3
  707. package/dist/esm/webgl-utils/texture-utils.d.ts +0 -11
  708. package/dist/esm/webgl-utils/typed-array-utils.d.ts +0 -36
  709. package/src/bundle.js +0 -8
  710. package/src/classes/buffer.d.ts +0 -84
  711. package/src/classes/clear.d.ts +0 -11
  712. package/src/classes/copy-and-blit.d.ts +0 -101
  713. package/src/classes/framebuffer.d.ts +0 -96
  714. package/src/classes/program-configuration.d.ts +0 -15
  715. package/src/classes/program.d.ts +0 -44
  716. package/src/classes/query.d.ts +0 -21
  717. package/src/classes/renderbuffer.d.ts +0 -34
  718. package/src/classes/renderbuffer.js +0 -105
  719. package/src/classes/resource.d.ts +0 -47
  720. package/src/classes/shader.d.ts +0 -29
  721. package/src/classes/shader.js +0 -147
  722. package/src/classes/texture-2d.d.ts +0 -11
  723. package/src/classes/texture-2d.js +0 -30
  724. package/src/classes/texture-3d.d.ts +0 -29
  725. package/src/classes/texture-cube.d.ts +0 -23
  726. package/src/classes/texture.d.ts +0 -80
  727. package/src/classes/transform-feedback.d.ts +0 -16
  728. package/src/classes/uniform-buffer-layout.d.ts +0 -18
  729. package/src/classes/uniforms.d.ts +0 -63
  730. package/src/classes/vertex-array-object.d.ts +0 -25
  731. package/src/classes/vertex-array.d.ts +0 -37
  732. package/src/debug/debug-program-configuration.d.ts +0 -1
  733. package/src/debug/debug-uniforms.d.ts +0 -11
  734. package/src/debug/debug-vertex-array.d.ts +0 -1
  735. package/src/features/check-glsl-extension.js +0 -34
  736. package/src/features/features.js +0 -79
  737. package/src/features/index.js +0 -5
  738. package/src/features/limits.js +0 -65
  739. package/src/features/webgl-features-table.js +0 -104
  740. package/src/features/webgl-limits-table.js +0 -51
  741. package/src/glsl-utils/format-glsl-error.d.ts +0 -16
  742. package/src/glsl-utils/format-glsl-error.js +0 -107
  743. package/src/glsl-utils/get-shader-name.js +0 -7
  744. package/src/glsl-utils/get-shader-type-name.js +0 -13
  745. package/src/glsl-utils/get-shader-version.js +0 -12
  746. package/src/glsl-utils/index.js +0 -8
  747. package/src/index.d.ts +0 -71
  748. package/src/index.js +0 -70
  749. package/src/init.d.ts +0 -12
  750. package/src/utils/array-utils-flat.js +0 -56
  751. package/src/utils/assert.d.ts +0 -1
  752. package/src/utils/assert.js +0 -7
  753. package/src/utils/check-props.js +0 -68
  754. package/src/utils/format-value.js +0 -37
  755. package/src/utils/is-old-ie.d.ts +0 -1
  756. package/src/utils/is-old-ie.js +0 -6
  757. package/src/utils/load-file.js +0 -39
  758. package/src/utils/stub-methods.js +0 -20
  759. package/src/utils/utils.d.ts +0 -13
  760. package/src/utils/utils.js +0 -36
  761. package/src/webgl-utils/request-animation-frame.d.ts +0 -3
  762. package/src/webgl-utils/texture-utils.d.ts +0 -11
  763. package/src/webgl-utils/typed-array-utils.d.ts +0 -36
@@ -0,0 +1,135 @@
1
+ // Feature detection for WebGL
2
+ //
3
+ // Provides a function that enables simple checking of which WebGL features are
4
+ // available in an WebGL1 or WebGL2 environment.
5
+
6
+ /* eslint-disable no-inline-comments, max-len */
7
+ import isOldIE from './is-old-ie';
8
+ import {assert} from './assert';
9
+
10
+ const GL_VENDOR = 0x1f00;
11
+ const GL_RENDERER = 0x1f01;
12
+ const GL_VERSION = 0x1f02;
13
+ const GL_SHADING_LANGUAGE_VERSION = 0x8b8c;
14
+
15
+ // Defines luma.gl "feature" names and semantics
16
+ const WEBGL_FEATURES = {
17
+ // GLSL extensions
18
+ GLSL_FRAG_DATA: ['WEBGL_draw_buffers', true], // TODO - name makes no sense in GLSL 3.00
19
+ GLSL_FRAG_DEPTH: ['EXT_frag_depth', true],
20
+ GLSL_DERIVATIVES: ['OES_standard_derivatives', true],
21
+ GLSL_TEXTURE_LOD: ['EXT_shader_texture_lod', true]
22
+ };
23
+
24
+ // Create a key-mirrored FEATURES array
25
+ export const FEATURES = {
26
+ GLSL_FRAG_DATA: 'GLSL_FRAG_DATA',
27
+ GLSL_FRAG_DEPTH: 'GLSL_FRAG_DEPTH',
28
+ GLSL_DERIVATIVES: 'GLSL_DERIVATIVES',
29
+ GLSL_TEXTURE_LOD: 'GLSL_TEXTURE_LOD',
30
+ };
31
+
32
+ function isWebGL2(gl) {
33
+ if (typeof WebGL2RenderingContext !== 'undefined' && gl instanceof WebGL2RenderingContext) {
34
+ return true;
35
+ }
36
+ return Boolean(gl && gl._version === 2);
37
+ }
38
+
39
+ export function getContextInfo(gl) {
40
+ const info = gl.getExtension('WEBGL_debug_renderer_info');
41
+ const vendor = gl.getParameter((info && info.UNMASKED_VENDOR_WEBGL) || GL_VENDOR);
42
+ const renderer = gl.getParameter((info && info.UNMASKED_RENDERER_WEBGL) || GL_RENDERER);
43
+ const gpuVendor = identifyGPUVendor(vendor, renderer);
44
+ const gpuInfo = {
45
+ gpuVendor,
46
+ vendor,
47
+ renderer,
48
+ version: gl.getParameter(GL_VERSION),
49
+ shadingLanguageVersion: gl.getParameter(GL_SHADING_LANGUAGE_VERSION)
50
+ };
51
+ return gpuInfo;
52
+ }
53
+
54
+ function identifyGPUVendor(vendor, renderer) {
55
+ if (vendor.match(/NVIDIA/i) || renderer.match(/NVIDIA/i)) {
56
+ return 'NVIDIA';
57
+ }
58
+ if (vendor.match(/INTEL/i) || renderer.match(/INTEL/i)) {
59
+ return 'INTEL';
60
+ }
61
+ if (vendor.match(/Apple/i) || renderer.match(/Apple/i)) {
62
+ return 'APPLE';
63
+ }
64
+ if (
65
+ vendor.match(/AMD/i) ||
66
+ renderer.match(/AMD/i) ||
67
+ vendor.match(/ATI/i) ||
68
+ renderer.match(/ATI/i)
69
+ ) {
70
+ return 'AMD';
71
+ }
72
+ return 'UNKNOWN';
73
+ }
74
+
75
+ const compiledGlslExtensions = {};
76
+
77
+ // Enables feature detection in IE11 due to a bug where gl.getExtension may return true
78
+ // but fail to compile when the extension is enabled in the shader. Specifically,
79
+ // the OES_standard_derivatives and WEBGL_draw_buffers extensions fails to compile in IE11 even though its included
80
+ // in the list of supported extensions.
81
+ // opts allows user agent to be overridden for testing
82
+ /*
83
+ * Inputs :
84
+ * gl : WebGL context
85
+ * cap : Key of WEBGL_FEATURES object identifying the extension
86
+ * opts :
87
+ * behavior : behavior of extension to be tested, by defualt `enable` is used
88
+ * Returns : true, if shader is compiled successfully, false otherwise
89
+ */
90
+ export function canCompileGLGSExtension(gl, cap, opts: {behavior?} = {}) {
91
+ const feature = WEBGL_FEATURES[cap];
92
+ assert(feature, cap);
93
+
94
+ if (!isOldIE(opts)) {
95
+ return true;
96
+ }
97
+
98
+ if (cap in compiledGlslExtensions) {
99
+ return compiledGlslExtensions[cap];
100
+ }
101
+
102
+ const extensionName = feature[0];
103
+ const behavior = opts.behavior || 'enable';
104
+ const source = `#extension GL_${extensionName} : ${behavior}\nvoid main(void) {}`;
105
+
106
+ const shader = gl.createShader(gl.VERTEX_SHADER);
107
+ gl.shaderSource(shader, source);
108
+ gl.compileShader(shader);
109
+ const canCompile = gl.getShaderParameter(shader, gl.COMPILE_STATUS);
110
+ gl.deleteShader(shader);
111
+ compiledGlslExtensions[cap] = canCompile;
112
+ return canCompile;
113
+ }
114
+
115
+ // TODO - cache the value
116
+ function getFeature(gl, cap) {
117
+ const feature = WEBGL_FEATURES[cap];
118
+ assert(feature, cap);
119
+
120
+ // Get extension name from table
121
+ const extensionName = isWebGL2(gl) ? feature[1] || feature[0] : feature[0];
122
+
123
+ // Check if the value is dependent on checking an extension
124
+ const value =
125
+ typeof extensionName === 'string' ? Boolean(gl.getExtension(extensionName)) : extensionName;
126
+
127
+ assert(value === false || value === true);
128
+
129
+ return value;
130
+ }
131
+
132
+ export function hasFeatures(gl, features) {
133
+ features = Array.isArray(features) ? features : [features];
134
+ return features.every((feature) => getFeature(gl, feature));
135
+ }
@@ -0,0 +1,23 @@
1
+ import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
2
+ import { Stats } from '@probe.gl/stats';
3
+ export default class Device {
4
+ constructor() {
5
+ _defineProperty(this, "stats", new Map());
6
+
7
+ _defineProperty(this, "features", void 0);
8
+
9
+ _defineProperty(this, "limits", void 0);
10
+ }
11
+
12
+ getStats(name) {
13
+ if (!this.stats.has(name)) {
14
+ this.stats.set(name, new Stats({
15
+ id: name
16
+ }));
17
+ }
18
+
19
+ return this.stats.get(name);
20
+ }
21
+
22
+ }
23
+ //# sourceMappingURL=device2.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/api/device2.ts"],"names":["Stats","Device","Map","getStats","name","stats","has","set","id","get"],"mappings":";AACA,SAAQA,KAAR,QAAoB,iBAApB;AA4CA,eAAe,MAAeC,MAAf,CAAsB;AAAA;AAAA,mCACnB,IAAIC,GAAJ,EADmB;;AAAA;;AAAA;AAAA;;AAmBnCC,EAAAA,QAAQ,CAACC,IAAD,EAAsB;AAC5B,QAAI,CAAC,KAAKC,KAAL,CAAWC,GAAX,CAAeF,IAAf,CAAL,EAA2B;AACzB,WAAKC,KAAL,CAAWE,GAAX,CAAeH,IAAf,EAAqB,IAAIJ,KAAJ,CAAU;AAACQ,QAAAA,EAAE,EAAEJ;AAAL,OAAV,CAArB;AACD;;AACD,WAAO,KAAKC,KAAL,CAAWI,GAAX,CAAeL,IAAf,CAAP;AACD;;AAxBkC","sourcesContent":["\nimport {Stats} from '@probe.gl/stats';\n\nexport type DeviceInfo = {\n vendor: string,\n renderer: string,\n vendorMasked: string,\n rendererMasked: string,\n version: string,\n shadingLanguage: string\n};\n\n/** Limits for a device */\nexport type DeviceLimits = {\n readonly maxTextureDimension1D?: number;\n readonly maxTextureDimension2D?: number;\n readonly maxTextureDimension3D?: number;\n readonly maxTextureArrayLayers?: number;\n readonly maxBindGroups: number;\n readonly maxDynamicUniformBuffersPerPipelineLayout: number;\n readonly maxDynamicStorageBuffersPerPipelineLayout: number;\n readonly maxSampledTexturesPerShaderStage: number;\n readonly maxSamplersPerShaderStage: number;\n readonly maxStorageBuffersPerShaderStage: number;\n readonly maxStorageTexturesPerShaderStage: number;\n readonly maxUniformBuffersPerShaderStage: number;\n readonly maxUniformBufferBindingSize: number;\n readonly maxStorageBufferBindingSize?: number;\n readonly minUniformBufferOffsetAlignment?: number;\n readonly minStorageBufferOffsetAlignment?: number;\n readonly maxVertexBuffers?: number;\n readonly maxVertexAttributes?: number;\n readonly maxVertexBufferArrayStride?: number;\n readonly maxInterStageShaderComponents?: number;\n readonly maxComputeWorkgroupStorageSize?: number;\n readonly maxComputeInvocationsPerWorkgroup?: number;\n readonly maxComputeWorkgroupSizeX?: number;\n readonly maxComputeWorkgroupSizeY?: number;\n readonly maxComputeWorkgroupSizeZ?: number;\n readonly maxComputeWorkgroupsPerDimension?: number;\n};\n\n/**\n * WebGPU Device/WebGL context abstraction\n */\nexport default abstract class Device {\n private stats = new Map();\n\n // readonly canvas: HTMLCanvasElement;\n\n /** Check if this device type is supported on this platform */\n // static isSupported(): boolean;\n\n /** Create device of this type (asynchronous) */\n // static async create(props?: object): Promise<Device>;\n\n /** Attach to existing WebGPU device */\n // static attach(device: WebGPUDevice, props?: object): Device;\n\n /** Resize the context */\n // resize(width: number, height: number): void;\n abstract features: Set<string>;\n abstract limits: DeviceLimits;\n\n getStats(name: string): Stats {\n if (!this.stats.has(name)) {\n this.stats.set(name, new Stats({id: name}));\n }\n return this.stats.get(name);\n }\n}\n"],"file":"device2.js"}
@@ -1,7 +1,5 @@
1
1
  const moduleExports = require('./index');
2
2
 
3
- const _global = typeof window === 'undefined' ? global : window;
4
-
5
- _global.luma = _global.luma || {};
6
- module.exports = Object.assign(_global.luma, moduleExports);
3
+ globalThis.luma = globalThis.luma || {};
4
+ module.exports = Object.assign(globalThis.luma, moduleExports);
7
5
  //# sourceMappingURL=bundle.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/bundle.js"],"names":["moduleExports","require","_global","window","global","luma","module","exports","Object","assign"],"mappings":"AAAA,MAAMA,aAAa,GAAGC,OAAO,CAAC,SAAD,CAA7B;;AAEA,MAAMC,OAAO,GAAG,OAAOC,MAAP,KAAkB,WAAlB,GAAgCC,MAAhC,GAAyCD,MAAzD;;AAEAD,OAAO,CAACG,IAAR,GAAeH,OAAO,CAACG,IAAR,IAAgB,EAA/B;AAGAC,MAAM,CAACC,OAAP,GAAiBC,MAAM,CAACC,MAAP,CAAcP,OAAO,CAACG,IAAtB,EAA4BL,aAA5B,CAAjB","sourcesContent":["const moduleExports = require('./index');\n\nconst _global = typeof window === 'undefined' ? global : window;\n// @ts-ignore\n_global.luma = _global.luma || {};\n\n// @ts-ignore\nmodule.exports = Object.assign(_global.luma, moduleExports);\n"],"file":"bundle.js"}
1
+ {"version":3,"sources":["../../src/bundle.ts"],"names":["moduleExports","require","globalThis","luma","module","exports","Object","assign"],"mappings":"AACA,MAAMA,aAAa,GAAGC,OAAO,CAAC,SAAD,CAA7B;;AACAC,UAAU,CAACC,IAAX,GAAkBD,UAAU,CAACC,IAAX,IAAmB,EAArC;AACAC,MAAM,CAACC,OAAP,GAAiBC,MAAM,CAACC,MAAP,CAAcL,UAAU,CAACC,IAAzB,EAA+BH,aAA/B,CAAjB","sourcesContent":["// @ts-nocheck\nconst moduleExports = require('./index');\nglobalThis.luma = globalThis.luma || {};\nmodule.exports = Object.assign(globalThis.luma, moduleExports);\n"],"file":"bundle.js"}
@@ -1,10 +1,10 @@
1
+ import { assert, checkProps } from '@luma.gl/api';
2
+ import GL from '@luma.gl/constants';
1
3
  import { getTypedArrayFromGLType } from '../webgl-utils/typed-array-utils';
2
- import { assert } from '../utils/assert';
3
- import { checkProps } from '../utils/check-props';
4
4
  const DEFAULT_ACCESSOR_VALUES = {
5
5
  offset: 0,
6
6
  stride: 0,
7
- type: 5126,
7
+ type: GL.FLOAT,
8
8
  size: 1,
9
9
  divisor: 0,
10
10
  normalized: false,
@@ -18,13 +18,13 @@ const PROP_CHECKS = {
18
18
  };
19
19
  export default class Accessor {
20
20
  static getBytesPerElement(accessor) {
21
- const ArrayType = getTypedArrayFromGLType(accessor.type || 5126);
21
+ const ArrayType = getTypedArrayFromGLType(accessor.type || GL.FLOAT);
22
22
  return ArrayType.BYTES_PER_ELEMENT;
23
23
  }
24
24
 
25
25
  static getBytesPerVertex(accessor) {
26
26
  assert(accessor.size);
27
- const ArrayType = getTypedArrayFromGLType(accessor.type || 5126);
27
+ const ArrayType = getTypedArrayFromGLType(accessor.type || GL.FLOAT);
28
28
  return ArrayType.BYTES_PER_ELEMENT * accessor.size;
29
29
  }
30
30
 
@@ -55,7 +55,7 @@ export default class Accessor {
55
55
  if (props.type !== undefined) {
56
56
  this.type = props.type;
57
57
 
58
- if (props.type === 5124 || props.type === 5125) {
58
+ if (props.type === GL.INT || props.type === GL.UNSIGNED_INT) {
59
59
  this.integer = true;
60
60
  }
61
61
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/classes/accessor.js"],"names":["getTypedArrayFromGLType","assert","checkProps","DEFAULT_ACCESSOR_VALUES","offset","stride","type","size","divisor","normalized","integer","PROP_CHECKS","deprecatedProps","instanced","isInstanced","Accessor","getBytesPerElement","accessor","ArrayType","BYTES_PER_ELEMENT","getBytesPerVertex","resolve","accessors","constructor","forEach","_assign","Object","freeze","toString","JSON","stringify","BYTES_PER_VERTEX","props","undefined","buffer","index"],"mappings":"AACA,SAAQA,uBAAR,QAAsC,kCAAtC;AACA,SAAQC,MAAR,QAAqB,iBAArB;AACA,SAAQC,UAAR,QAAyB,sBAAzB;AAEA,MAAMC,uBAAuB,GAAG;AAC9BC,EAAAA,MAAM,EAAE,CADsB;AAE9BC,EAAAA,MAAM,EAAE,CAFsB;AAG9BC,EAAAA,IAAI,MAH0B;AAI9BC,EAAAA,IAAI,EAAE,CAJwB;AAK9BC,EAAAA,OAAO,EAAE,CALqB;AAM9BC,EAAAA,UAAU,EAAE,KANkB;AAO9BC,EAAAA,OAAO,EAAE;AAPqB,CAAhC;AAUA,MAAMC,WAAW,GAAG;AAClBC,EAAAA,eAAe,EAAE;AACfC,IAAAA,SAAS,EAAE,SADI;AAEfC,IAAAA,WAAW,EAAE;AAFE;AADC,CAApB;AAOA,eAAe,MAAMC,QAAN,CAAe;AAC5B,SAAOC,kBAAP,CAA0BC,QAA1B,EAAoC;AAGlC,UAAMC,SAAS,GAAGlB,uBAAuB,CAACiB,QAAQ,CAACX,IAAT,QAAD,CAAzC;AACA,WAAOY,SAAS,CAACC,iBAAjB;AACD;;AAED,SAAOC,iBAAP,CAAyBH,QAAzB,EAAmC;AACjChB,IAAAA,MAAM,CAACgB,QAAQ,CAACV,IAAV,CAAN;AAGA,UAAMW,SAAS,GAAGlB,uBAAuB,CAACiB,QAAQ,CAACX,IAAT,QAAD,CAAzC;AACA,WAAOY,SAAS,CAACC,iBAAV,GAA8BF,QAAQ,CAACV,IAA9C;AACD;;AAMD,SAAOc,OAAP,CAAe,GAAGC,SAAlB,EAA6B;AAC3B,WAAO,IAAIP,QAAJ,CAAa,GAAG,CAACZ,uBAAD,EAA0B,GAAGmB,SAA7B,CAAhB,CAAP;AACD;;AAEDC,EAAAA,WAAW,CAAC,GAAGD,SAAJ,EAAe;AACxBA,IAAAA,SAAS,CAACE,OAAV,CAAkBP,QAAQ,IAAI,KAAKQ,OAAL,CAAaR,QAAb,CAA9B;AACAS,IAAAA,MAAM,CAACC,MAAP,CAAc,IAAd;AACD;;AAEDC,EAAAA,QAAQ,GAAG;AACT,WAAOC,IAAI,CAACC,SAAL,CAAe,IAAf,CAAP;AACD;;AAKD,MAAIX,iBAAJ,GAAwB;AACtB,WAAOJ,QAAQ,CAACC,kBAAT,CAA4B,IAA5B,CAAP;AACD;;AAED,MAAIe,gBAAJ,GAAuB;AACrB,WAAOhB,QAAQ,CAACK,iBAAT,CAA2B,IAA3B,CAAP;AACD;;AAKDK,EAAAA,OAAO,CAACO,KAAK,GAAG,EAAT,EAAa;AAClBA,IAAAA,KAAK,GAAG9B,UAAU,CAAC,UAAD,EAAa8B,KAAb,EAAoBrB,WAApB,CAAlB;;AAEA,QAAIqB,KAAK,CAAC1B,IAAN,KAAe2B,SAAnB,EAA8B;AAC5B,WAAK3B,IAAL,GAAY0B,KAAK,CAAC1B,IAAlB;;AAGA,UAAI0B,KAAK,CAAC1B,IAAN,aAAyB0B,KAAK,CAAC1B,IAAN,SAA7B,EAA6D;AAC3D,aAAKI,OAAL,GAAe,IAAf;AACD;AACF;;AACD,QAAIsB,KAAK,CAACzB,IAAN,KAAe0B,SAAnB,EAA8B;AAC5B,WAAK1B,IAAL,GAAYyB,KAAK,CAACzB,IAAlB;AACD;;AACD,QAAIyB,KAAK,CAAC5B,MAAN,KAAiB6B,SAArB,EAAgC;AAC9B,WAAK7B,MAAL,GAAc4B,KAAK,CAAC5B,MAApB;AACD;;AACD,QAAI4B,KAAK,CAAC3B,MAAN,KAAiB4B,SAArB,EAAgC;AAC9B,WAAK5B,MAAL,GAAc2B,KAAK,CAAC3B,MAApB;AACD;;AACD,QAAI2B,KAAK,CAACvB,UAAN,KAAqBwB,SAAzB,EAAoC;AAClC,WAAKxB,UAAL,GAAkBuB,KAAK,CAACvB,UAAxB;AACD;;AACD,QAAIuB,KAAK,CAACtB,OAAN,KAAkBuB,SAAtB,EAAiC;AAC/B,WAAKvB,OAAL,GAAesB,KAAK,CAACtB,OAArB;AACD;;AAGD,QAAIsB,KAAK,CAACxB,OAAN,KAAkByB,SAAtB,EAAiC;AAC/B,WAAKzB,OAAL,GAAewB,KAAK,CAACxB,OAArB;AACD;;AAGD,QAAIwB,KAAK,CAACE,MAAN,KAAiBD,SAArB,EAAgC;AAC9B,WAAKC,MAAL,GAAcF,KAAK,CAACE,MAApB;AACD;;AAID,QAAIF,KAAK,CAACG,KAAN,KAAgBF,SAApB,EAA+B;AAC7B,UAAI,OAAOD,KAAK,CAACG,KAAb,KAAuB,SAA3B,EAAsC;AACpC,aAAKA,KAAL,GAAaH,KAAK,CAACG,KAAN,GAAc,CAAd,GAAkB,CAA/B;AACD,OAFD,MAEO;AACL,aAAKA,KAAL,GAAaH,KAAK,CAACG,KAAnB;AACD;AACF;;AAGD,QAAIH,KAAK,CAACnB,SAAN,KAAoBoB,SAAxB,EAAmC;AACjC,WAAKzB,OAAL,GAAewB,KAAK,CAACnB,SAAN,GAAkB,CAAlB,GAAsB,CAArC;AACD;;AACD,QAAImB,KAAK,CAAClB,WAAN,KAAsBmB,SAA1B,EAAqC;AACnC,WAAKzB,OAAL,GAAewB,KAAK,CAAClB,WAAN,GAAoB,CAApB,GAAwB,CAAvC;AACD;;AAED,WAAO,IAAP;AACD;;AAvG2B;AA2G9B,SAAQX,uBAAR","sourcesContent":["import GL from '@luma.gl/constants';\nimport {getTypedArrayFromGLType} from '../webgl-utils/typed-array-utils';\nimport {assert} from '../utils/assert';\nimport {checkProps} from '../utils/check-props';\n\nconst DEFAULT_ACCESSOR_VALUES = {\n offset: 0,\n stride: 0,\n type: GL.FLOAT,\n size: 1,\n divisor: 0,\n normalized: false,\n integer: false\n};\n\nconst PROP_CHECKS = {\n deprecatedProps: {\n instanced: 'divisor',\n isInstanced: 'divisor'\n }\n};\n\nexport default class Accessor {\n static getBytesPerElement(accessor) {\n // TODO: using `FLOAT` when type is not specified,\n // ensure this assumption is valid or force API to specify type.\n const ArrayType = getTypedArrayFromGLType(accessor.type || GL.FLOAT);\n return ArrayType.BYTES_PER_ELEMENT;\n }\n\n static getBytesPerVertex(accessor) {\n assert(accessor.size);\n // TODO: using `FLOAT` when type is not specified,\n // ensure this assumption is valid or force API to specify type.\n const ArrayType = getTypedArrayFromGLType(accessor.type || GL.FLOAT);\n return ArrayType.BYTES_PER_ELEMENT * accessor.size;\n }\n\n // Combines (merges) a list of accessors. On top of default values\n // Usually [programAccessor, bufferAccessor, appAccessor]\n // All props will be set in the returned object.\n // TODO check for conflicts between values in the supplied accessors\n static resolve(...accessors) {\n return new Accessor(...[DEFAULT_ACCESSOR_VALUES, ...accessors]); // Default values\n }\n\n constructor(...accessors) {\n accessors.forEach(accessor => this._assign(accessor)); // Merge in sequence\n Object.freeze(this);\n }\n\n toString() {\n return JSON.stringify(this);\n }\n\n // ACCESSORS\n\n // TODO - remove>\n get BYTES_PER_ELEMENT() {\n return Accessor.getBytesPerElement(this);\n }\n\n get BYTES_PER_VERTEX() {\n return Accessor.getBytesPerVertex(this);\n }\n\n // PRIVATE\n\n // eslint-disable-next-line complexity, max-statements\n _assign(props = {}) {\n props = checkProps('Accessor', props, PROP_CHECKS);\n\n if (props.type !== undefined) {\n this.type = props.type;\n\n // Auto-deduce integer type?\n if (props.type === GL.INT || props.type === GL.UNSIGNED_INT) {\n this.integer = true;\n }\n }\n if (props.size !== undefined) {\n this.size = props.size;\n }\n if (props.offset !== undefined) {\n this.offset = props.offset;\n }\n if (props.stride !== undefined) {\n this.stride = props.stride;\n }\n if (props.normalized !== undefined) {\n this.normalized = props.normalized;\n }\n if (props.integer !== undefined) {\n this.integer = props.integer;\n }\n\n // INSTANCE DIVISOR\n if (props.divisor !== undefined) {\n this.divisor = props.divisor;\n }\n\n // Buffer is optional\n if (props.buffer !== undefined) {\n this.buffer = props.buffer;\n }\n\n // The binding index (for binding e.g. Transform feedbacks and Uniform buffers)\n // TODO - should this be part of accessor?\n if (props.index !== undefined) {\n if (typeof props.index === 'boolean') {\n this.index = props.index ? 1 : 0;\n } else {\n this.index = props.index;\n }\n }\n\n // DEPRECATED\n if (props.instanced !== undefined) {\n this.divisor = props.instanced ? 1 : 0;\n }\n if (props.isInstanced !== undefined) {\n this.divisor = props.isInstanced ? 1 : 0;\n }\n\n return this;\n }\n}\n\n// TEST EXPORTS\nexport {DEFAULT_ACCESSOR_VALUES};\n"],"file":"accessor.js"}
1
+ {"version":3,"sources":["../../../src/classes/accessor.js"],"names":["assert","checkProps","GL","getTypedArrayFromGLType","DEFAULT_ACCESSOR_VALUES","offset","stride","type","FLOAT","size","divisor","normalized","integer","PROP_CHECKS","deprecatedProps","instanced","isInstanced","Accessor","getBytesPerElement","accessor","ArrayType","BYTES_PER_ELEMENT","getBytesPerVertex","resolve","accessors","constructor","forEach","_assign","Object","freeze","toString","JSON","stringify","BYTES_PER_VERTEX","props","undefined","INT","UNSIGNED_INT","buffer","index"],"mappings":"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","sourcesContent":["import {assert, checkProps} from '@luma.gl/api';\nimport GL from '@luma.gl/constants';\nimport {getTypedArrayFromGLType} from '../webgl-utils/typed-array-utils';\n\nconst DEFAULT_ACCESSOR_VALUES = {\n offset: 0,\n stride: 0,\n type: GL.FLOAT,\n size: 1,\n divisor: 0,\n normalized: false,\n integer: false\n};\n\nconst PROP_CHECKS = {\n deprecatedProps: {\n instanced: 'divisor',\n isInstanced: 'divisor'\n }\n};\n\nexport default class Accessor {\n static getBytesPerElement(accessor) {\n // TODO: using `FLOAT` when type is not specified,\n // ensure this assumption is valid or force API to specify type.\n const ArrayType = getTypedArrayFromGLType(accessor.type || GL.FLOAT);\n return ArrayType.BYTES_PER_ELEMENT;\n }\n\n static getBytesPerVertex(accessor) {\n assert(accessor.size);\n // TODO: using `FLOAT` when type is not specified,\n // ensure this assumption is valid or force API to specify type.\n const ArrayType = getTypedArrayFromGLType(accessor.type || GL.FLOAT);\n return ArrayType.BYTES_PER_ELEMENT * accessor.size;\n }\n\n // Combines (merges) a list of accessors. On top of default values\n // Usually [programAccessor, bufferAccessor, appAccessor]\n // All props will be set in the returned object.\n // TODO check for conflicts between values in the supplied accessors\n static resolve(...accessors) {\n return new Accessor(...[DEFAULT_ACCESSOR_VALUES, ...accessors]); // Default values\n }\n\n constructor(...accessors) {\n accessors.forEach((accessor) => this._assign(accessor)); // Merge in sequence\n Object.freeze(this);\n }\n\n toString() {\n return JSON.stringify(this);\n }\n\n // ACCESSORS\n\n // TODO - remove>\n get BYTES_PER_ELEMENT() {\n return Accessor.getBytesPerElement(this);\n }\n\n get BYTES_PER_VERTEX() {\n return Accessor.getBytesPerVertex(this);\n }\n\n // PRIVATE\n\n // eslint-disable-next-line complexity, max-statements\n _assign(props = {}) {\n props = checkProps('Accessor', props, PROP_CHECKS);\n\n if (props.type !== undefined) {\n this.type = props.type;\n\n // Auto-deduce integer type?\n if (props.type === GL.INT || props.type === GL.UNSIGNED_INT) {\n this.integer = true;\n }\n }\n if (props.size !== undefined) {\n this.size = props.size;\n }\n if (props.offset !== undefined) {\n this.offset = props.offset;\n }\n if (props.stride !== undefined) {\n this.stride = props.stride;\n }\n if (props.normalized !== undefined) {\n this.normalized = props.normalized;\n }\n if (props.integer !== undefined) {\n this.integer = props.integer;\n }\n\n // INSTANCE DIVISOR\n if (props.divisor !== undefined) {\n this.divisor = props.divisor;\n }\n\n // Buffer is optional\n if (props.buffer !== undefined) {\n this.buffer = props.buffer;\n }\n\n // The binding index (for binding e.g. Transform feedbacks and Uniform buffers)\n // TODO - should this be part of accessor?\n if (props.index !== undefined) {\n if (typeof props.index === 'boolean') {\n this.index = props.index ? 1 : 0;\n } else {\n this.index = props.index;\n }\n }\n\n // DEPRECATED\n if (props.instanced !== undefined) {\n this.divisor = props.instanced ? 1 : 0;\n }\n if (props.isInstanced !== undefined) {\n this.divisor = props.isInstanced ? 1 : 0;\n }\n\n return this;\n }\n}\n\n// TEST EXPORTS\nexport {DEFAULT_ACCESSOR_VALUES};\n"],"file":"accessor.js"}
@@ -0,0 +1,159 @@
1
+ import GL from '@luma.gl/constants';
2
+ import {getTypedArrayFromGLType} from '../webgl-utils';
3
+ import {checkProps, assert} from '../utils/index';
4
+ import {Buffer} from '@luma.gl/core/';
5
+
6
+ export interface AccessorObject {
7
+ buffer?: Buffer;
8
+ offset?: number;
9
+ stride?: number;
10
+ type?: number;
11
+ size?: number;
12
+ divisor?: number;
13
+ normalized?: boolean;
14
+ integer?: boolean;
15
+ index?: number;
16
+ /** @deprecated Use .divisor */
17
+ instanced?: boolean;
18
+ /** @deprecated Use .divisor */
19
+ isInstanced?: boolean;
20
+ }
21
+
22
+ const DEFAULT_ACCESSOR_VALUES = {
23
+ offset: 0,
24
+ stride: 0,
25
+ type: GL.FLOAT,
26
+ size: 1,
27
+ divisor: 0,
28
+ normalized: false,
29
+ integer: false
30
+ };
31
+
32
+ const PROP_CHECKS = {
33
+ deprecatedProps: {
34
+ instanced: 'divisor',
35
+ isInstanced: 'divisor'
36
+ }
37
+ };
38
+
39
+
40
+ // @ts-nocheck members are added dynamically
41
+ export default class Accessor {
42
+ // buffer: Buffer | undefined = undefined;
43
+ // index: number;
44
+
45
+ // offset: number;
46
+ // stride: number;
47
+ // type: number;
48
+ // size: number;
49
+ // divisor: number;
50
+ // normalized: boolean;
51
+ // integer: boolean;
52
+
53
+ static getBytesPerElement(accessor): number {
54
+ // TODO: using `FLOAT` when type is not specified,
55
+ // ensure this assumption is valid or force API to specify type.
56
+ const ArrayType = getTypedArrayFromGLType(accessor.type || GL.FLOAT);
57
+ return ArrayType.BYTES_PER_ELEMENT;
58
+ }
59
+
60
+ static getBytesPerVertex(accessor): number {
61
+ assert(accessor.size);
62
+ // TODO: using `FLOAT` when type is not specified,
63
+ // ensure this assumption is valid or force API to specify type.
64
+ const ArrayType = getTypedArrayFromGLType(accessor.type || GL.FLOAT);
65
+ return ArrayType.BYTES_PER_ELEMENT * accessor.size;
66
+ }
67
+
68
+ // Combines (merges) a list of accessors. On top of default values
69
+ // Usually [programAccessor, bufferAccessor, appAccessor]
70
+ // All props will be set in the returned object.
71
+ // TODO check for conflicts between values in the supplied accessors
72
+ static resolve(...accessors): Accessor {
73
+ return new Accessor(...[DEFAULT_ACCESSOR_VALUES, ...accessors]); // Default values
74
+ }
75
+
76
+ constructor(...accessors: any[]) {
77
+ accessors.forEach((accessor) => this._assign(accessor)); // Merge in sequence
78
+ Object.freeze(this);
79
+ }
80
+
81
+ toString(): string {
82
+ return JSON.stringify(this);
83
+ }
84
+
85
+ // ACCESSORS
86
+
87
+ // TODO - remove>
88
+ get BYTES_PER_ELEMENT(): number {
89
+ return Accessor.getBytesPerElement(this);
90
+ }
91
+
92
+ get BYTES_PER_VERTEX(): number {
93
+ return Accessor.getBytesPerVertex(this);
94
+ }
95
+
96
+ // PRIVATE
97
+
98
+ // eslint-disable-next-line complexity, max-statements
99
+ _assign(props: AccessorObject = {}) {
100
+ props = checkProps('Accessor', props, PROP_CHECKS);
101
+
102
+ if (props.type !== undefined) {
103
+ this.type = props.type;
104
+
105
+ // Auto-deduce integer type?
106
+ if (props.type === GL.INT || props.type === GL.UNSIGNED_INT) {
107
+ this.integer = true;
108
+ }
109
+ }
110
+ if (props.size !== undefined) {
111
+ this.size = props.size;
112
+ }
113
+ if (props.offset !== undefined) {
114
+ this.offset = props.offset;
115
+ }
116
+ if (props.stride !== undefined) {
117
+ this.stride = props.stride;
118
+ }
119
+ if (props.normalized !== undefined) {
120
+ this.normalized = props.normalized;
121
+ }
122
+ if (props.integer !== undefined) {
123
+ this.integer = props.integer;
124
+ }
125
+
126
+ // INSTANCE DIVISOR
127
+ if (props.divisor !== undefined) {
128
+ this.divisor = props.divisor;
129
+ }
130
+
131
+ // Buffer is optional
132
+ if (props.buffer !== undefined) {
133
+ this.buffer = props.buffer;
134
+ }
135
+
136
+ // The binding index (for binding e.g. Transform feedbacks and Uniform buffers)
137
+ // TODO - should this be part of accessor?
138
+ if (props.index !== undefined) {
139
+ if (typeof props.index === 'boolean') {
140
+ this.index = props.index ? 1 : 0;
141
+ } else {
142
+ this.index = props.index;
143
+ }
144
+ }
145
+
146
+ // DEPRECATED
147
+ if (props.instanced !== undefined) {
148
+ this.divisor = props.instanced ? 1 : 0;
149
+ }
150
+ if (props.isInstanced !== undefined) {
151
+ this.divisor = props.isInstanced ? 1 : 0;
152
+ }
153
+
154
+ return this;
155
+ }
156
+ }
157
+
158
+ // TEST EXPORTS
159
+ export {DEFAULT_ACCESSOR_VALUES};
@@ -1,5 +1,6 @@
1
- import { assertWebGL2Context, withParameters } from '@luma.gl/gltools';
2
- import { assert } from '../utils/assert';
1
+ import { assert } from '@luma.gl/api';
2
+ import { assertWebGL2Context } from '../context/context/webgl-checks';
3
+ import { withParameters } from '../context/state-tracker/with-parameters';
3
4
  const GL_DEPTH_BUFFER_BIT = 0x00000100;
4
5
  const GL_STENCIL_BUFFER_BIT = 0x00000400;
5
6
  const GL_COLOR_BUFFER_BIT = 0x00004000;
@@ -8,12 +9,14 @@ const GL_DEPTH = 0x1801;
8
9
  const GL_STENCIL = 0x1802;
9
10
  const GL_DEPTH_STENCIL = 0x84f9;
10
11
  const ERR_ARGUMENTS = 'clear: bad arguments';
11
- export function clear(gl, {
12
- framebuffer = null,
13
- color = null,
14
- depth = null,
15
- stencil = null
16
- } = {}) {
12
+ export function clear(device, options) {
13
+ const gl = device.gl || device;
14
+ const {
15
+ framebuffer = null,
16
+ color = null,
17
+ depth = null,
18
+ stencil = null
19
+ } = options || {};
17
20
  const parameters = {};
18
21
 
19
22
  if (framebuffer) {
@@ -51,13 +54,15 @@ export function clear(gl, {
51
54
  gl.clear(clearFlags);
52
55
  });
53
56
  }
54
- export function clearBuffer(gl, {
55
- framebuffer = null,
56
- buffer = GL_COLOR,
57
- drawBuffer = 0,
58
- value = [0, 0, 0, 0]
59
- } = {}) {
57
+ export function clearBuffer(device, options) {
58
+ const gl = device.gl || device;
60
59
  assertWebGL2Context(gl);
60
+ const {
61
+ framebuffer = null,
62
+ buffer = GL_COLOR,
63
+ drawBuffer = 0,
64
+ value = [0, 0, 0, 0]
65
+ } = options || {};
61
66
  withParameters(gl, {
62
67
  framebuffer
63
68
  }, () => {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/classes/clear.js"],"names":["assertWebGL2Context","withParameters","assert","GL_DEPTH_BUFFER_BIT","GL_STENCIL_BUFFER_BIT","GL_COLOR_BUFFER_BIT","GL_COLOR","GL_DEPTH","GL_STENCIL","GL_DEPTH_STENCIL","ERR_ARGUMENTS","clear","gl","framebuffer","color","depth","stencil","parameters","clearFlags","clearColor","clearDepth","clearStencil","clearBuffer","buffer","drawBuffer","value","constructor","Int32Array","clearBufferiv","Uint32Array","clearBufferuiv","Float32Array","clearBufferfv","clearBufferfi"],"mappings":"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","sourcesContent":["import {assertWebGL2Context, withParameters} from '@luma.gl/gltools';\nimport {assert} from '../utils/assert';\n\n// Should collapse during minification\nconst GL_DEPTH_BUFFER_BIT = 0x00000100;\nconst GL_STENCIL_BUFFER_BIT = 0x00000400;\nconst GL_COLOR_BUFFER_BIT = 0x00004000;\n\nconst GL_COLOR = 0x1800;\nconst GL_DEPTH = 0x1801;\nconst GL_STENCIL = 0x1802;\nconst GL_DEPTH_STENCIL = 0x84f9;\n\n// Should disappear if asserts are removed\nconst ERR_ARGUMENTS = 'clear: bad arguments';\n\n// Optionally clears depth, color and stencil buffers\n/** @type {import('./clear').clear} */\nexport function clear(gl, {framebuffer = null, color = null, depth = null, stencil = null} = {}) {\n const parameters = {};\n\n if (framebuffer) {\n parameters.framebuffer = framebuffer;\n }\n\n let clearFlags = 0;\n\n if (color) {\n clearFlags |= GL_COLOR_BUFFER_BIT;\n if (color !== true) {\n parameters.clearColor = color;\n }\n }\n\n if (depth) {\n clearFlags |= GL_DEPTH_BUFFER_BIT;\n if (depth !== true) {\n parameters.clearDepth = depth;\n }\n }\n\n if (stencil) {\n clearFlags |= GL_STENCIL_BUFFER_BIT;\n if (depth !== true) {\n parameters.clearStencil = depth;\n }\n }\n\n assert(clearFlags !== 0, ERR_ARGUMENTS);\n\n // Temporarily set any clear \"colors\" and call clear\n withParameters(gl, parameters, () => {\n gl.clear(clearFlags);\n });\n}\n\n// WebGL2 - clear a specific drawing buffer\n/** @type {import('./clear').clearBuffer} */\nexport function clearBuffer(\n gl,\n {framebuffer = null, buffer = GL_COLOR, drawBuffer = 0, value = [0, 0, 0, 0]} = {}\n) {\n assertWebGL2Context(gl);\n\n withParameters(gl, {framebuffer}, () => {\n // Method selection per OpenGL ES 3 docs\n switch (buffer) {\n case GL_COLOR:\n switch (value.constructor) {\n case Int32Array:\n gl.clearBufferiv(buffer, drawBuffer, value);\n break;\n case Uint32Array:\n gl.clearBufferuiv(buffer, drawBuffer, value);\n break;\n case Float32Array:\n default:\n gl.clearBufferfv(buffer, drawBuffer, value);\n }\n break;\n\n case GL_DEPTH:\n gl.clearBufferfv(GL_DEPTH, 0, [value]);\n break;\n\n case GL_STENCIL:\n gl.clearBufferiv(GL_STENCIL, 0, [value]);\n break;\n\n case GL_DEPTH_STENCIL:\n const [depth, stencil] = value;\n gl.clearBufferfi(GL_DEPTH_STENCIL, 0, depth, stencil);\n break;\n\n default:\n assert(false, ERR_ARGUMENTS);\n }\n });\n}\n"],"file":"clear.js"}
1
+ {"version":3,"sources":["../../../src/classes/clear.ts"],"names":["assert","assertWebGL2Context","withParameters","GL_DEPTH_BUFFER_BIT","GL_STENCIL_BUFFER_BIT","GL_COLOR_BUFFER_BIT","GL_COLOR","GL_DEPTH","GL_STENCIL","GL_DEPTH_STENCIL","ERR_ARGUMENTS","clear","device","options","gl","framebuffer","color","depth","stencil","parameters","clearFlags","clearColor","clearDepth","clearStencil","clearBuffer","buffer","drawBuffer","value","constructor","Int32Array","clearBufferiv","Uint32Array","clearBufferuiv","Float32Array","clearBufferfv","clearBufferfi"],"mappings":"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","sourcesContent":["import {Device, assert} from '@luma.gl/api';\nimport {assertWebGL2Context} from '../context/context/webgl-checks';\nimport {withParameters} from '../context/state-tracker/with-parameters';\nimport Framebuffer from './framebuffer';\n\n// Should collapse during minification\nconst GL_DEPTH_BUFFER_BIT = 0x00000100;\nconst GL_STENCIL_BUFFER_BIT = 0x00000400;\nconst GL_COLOR_BUFFER_BIT = 0x00004000;\n\nconst GL_COLOR = 0x1800;\nconst GL_DEPTH = 0x1801;\nconst GL_STENCIL = 0x1802;\nconst GL_DEPTH_STENCIL = 0x84f9;\n\n// Should disappear if asserts are removed\nconst ERR_ARGUMENTS = 'clear: bad arguments';\n\n/** Optionally clears depth, color and stencil buffers */\nexport function clear(\n device: Device | WebGLRenderingContext,\n options?: {framebuffer?: Framebuffer; color?: any; depth?: any; stencil?: any}\n): void {\n // @ts-expect-error Extract context\n const gl = device.gl || device;\n const {framebuffer = null, color = null, depth = null, stencil = null} = options || {};\n const parameters: any = {};\n\n if (framebuffer) {\n parameters.framebuffer = framebuffer;\n }\n\n let clearFlags = 0;\n\n if (color) {\n clearFlags |= GL_COLOR_BUFFER_BIT;\n if (color !== true) {\n parameters.clearColor = color;\n }\n }\n\n if (depth) {\n clearFlags |= GL_DEPTH_BUFFER_BIT;\n if (depth !== true) {\n parameters.clearDepth = depth;\n }\n }\n\n if (stencil) {\n clearFlags |= GL_STENCIL_BUFFER_BIT;\n if (depth !== true) {\n parameters.clearStencil = depth;\n }\n }\n\n assert(clearFlags !== 0, ERR_ARGUMENTS);\n\n // Temporarily set any clear \"colors\" and call clear\n withParameters(gl, parameters, () => {\n gl.clear(clearFlags);\n });\n}\n\n/** WebGL2 - clear a specific drawing buffer */\nexport function clearBuffer(\n device: Device | WebGLRenderingContext,\n options?: {framebuffer?: Framebuffer; buffer?: any; drawBuffer?: any; value?: any}\n) {\n // @ts-expect-error Extract context\n const gl = device.gl || device;\n assertWebGL2Context(gl);\n\n const {framebuffer = null, buffer = GL_COLOR, drawBuffer = 0, value = [0, 0, 0, 0]} = options || {};\n withParameters(gl, {framebuffer}, () => {\n // Method selection per OpenGL ES 3 docs\n switch (buffer) {\n case GL_COLOR:\n switch (value.constructor) {\n case Int32Array:\n gl.clearBufferiv(buffer, drawBuffer, value);\n break;\n case Uint32Array:\n gl.clearBufferuiv(buffer, drawBuffer, value);\n break;\n case Float32Array:\n default:\n gl.clearBufferfv(buffer, drawBuffer, value);\n }\n break;\n\n case GL_DEPTH:\n gl.clearBufferfv(GL_DEPTH, 0, [value]);\n break;\n\n case GL_STENCIL:\n gl.clearBufferiv(GL_STENCIL, 0, [value]);\n break;\n\n case GL_DEPTH_STENCIL:\n const [depth, stencil] = value;\n gl.clearBufferfi(GL_DEPTH_STENCIL, 0, depth, stencil);\n break;\n\n default:\n assert(false, ERR_ARGUMENTS);\n }\n });\n}\n"],"file":"clear.js"}