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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (633) hide show
  1. package/dist/bundle.d.ts +2 -0
  2. package/dist/bundle.d.ts.map +1 -0
  3. package/dist/bundle.js +5 -0
  4. package/dist/bundle.js.map +1 -0
  5. package/dist/classes/accessor.d.ts +28 -0
  6. package/dist/classes/accessor.d.ts.map +1 -0
  7. package/dist/classes/accessor.js +112 -0
  8. package/dist/classes/accessor.js.map +1 -0
  9. package/dist/classes/accessor.ts.disabled +159 -0
  10. package/dist/classes/clear.d.ts +16 -0
  11. package/dist/classes/clear.d.ts.map +1 -0
  12. package/dist/classes/clear.js +102 -0
  13. package/dist/classes/clear.js.map +1 -0
  14. package/dist/classes/copy-and-blit.d.ts +69 -0
  15. package/dist/classes/copy-and-blit.d.ts.map +1 -0
  16. package/dist/classes/copy-and-blit.js +333 -0
  17. package/dist/classes/copy-and-blit.js.map +1 -0
  18. package/dist/classes/framebuffer.d.ts +130 -0
  19. package/dist/classes/framebuffer.d.ts.map +1 -0
  20. package/dist/classes/framebuffer.js +656 -0
  21. package/dist/classes/framebuffer.js.map +1 -0
  22. package/dist/classes/program-configuration.d.ts +27 -0
  23. package/dist/classes/program-configuration.d.ts.map +1 -0
  24. package/dist/classes/program-configuration.js +160 -0
  25. package/dist/classes/program-configuration.js.map +1 -0
  26. package/dist/classes/program.d.ts +61 -0
  27. package/dist/classes/program.d.ts.map +1 -0
  28. package/dist/classes/program.js +368 -0
  29. package/dist/classes/program.js.map +1 -0
  30. package/dist/classes/query.d.ts +27 -0
  31. package/dist/classes/query.d.ts.map +1 -0
  32. package/dist/classes/query.js +144 -0
  33. package/dist/classes/query.js.map +1 -0
  34. package/dist/classes/renderbuffer-formats.d.ts +16 -0
  35. package/dist/classes/renderbuffer-formats.d.ts.map +1 -0
  36. package/dist/classes/renderbuffer-formats.js +185 -0
  37. package/dist/classes/renderbuffer-formats.js.map +1 -0
  38. package/dist/classes/renderbuffer.d.ts +60 -0
  39. package/dist/classes/renderbuffer.d.ts.map +1 -0
  40. package/dist/classes/renderbuffer.js +127 -0
  41. package/dist/classes/renderbuffer.js.map +1 -0
  42. package/dist/classes/texture-2d.d.ts +8 -0
  43. package/dist/classes/texture-2d.d.ts.map +1 -0
  44. package/dist/classes/texture-2d.js +39 -0
  45. package/dist/classes/texture-2d.js.map +1 -0
  46. package/dist/classes/texture-3d.d.ts +28 -0
  47. package/dist/classes/texture-3d.d.ts.map +1 -0
  48. package/dist/classes/texture-3d.js +67 -0
  49. package/dist/classes/texture-3d.js.map +1 -0
  50. package/dist/classes/texture-cube.d.ts +27 -0
  51. package/dist/classes/texture-cube.d.ts.map +1 -0
  52. package/dist/classes/texture-cube.js +131 -0
  53. package/dist/classes/texture-cube.js.map +1 -0
  54. package/dist/classes/texture-formats.d.ts +37 -0
  55. package/dist/classes/texture-formats.d.ts.map +1 -0
  56. package/dist/classes/texture-formats.js +98 -0
  57. package/dist/classes/texture-formats.js.map +1 -0
  58. package/dist/classes/texture.d.ts +118 -0
  59. package/dist/classes/texture.d.ts.map +1 -0
  60. package/dist/classes/texture.js +785 -0
  61. package/dist/classes/texture.js.map +1 -0
  62. package/dist/classes/transform-feedback.d.ts +33 -0
  63. package/dist/classes/transform-feedback.d.ts.map +1 -0
  64. package/dist/classes/transform-feedback.js +197 -0
  65. package/dist/classes/transform-feedback.js.map +1 -0
  66. package/dist/classes/uniform-buffer-layout.d.ts +17 -0
  67. package/dist/classes/uniform-buffer-layout.d.ts.map +1 -0
  68. package/dist/classes/uniform-buffer-layout.js +104 -0
  69. package/dist/classes/uniform-buffer-layout.js.map +1 -0
  70. package/dist/classes/uniforms.d.ts +38 -0
  71. package/dist/classes/uniforms.d.ts.map +1 -0
  72. package/dist/classes/uniforms.js +251 -0
  73. package/dist/classes/uniforms.js.map +1 -0
  74. package/dist/classes/vertex-array-object.d.ts +75 -0
  75. package/dist/classes/vertex-array-object.d.ts.map +1 -0
  76. package/dist/classes/vertex-array-object.js +262 -0
  77. package/dist/classes/vertex-array-object.js.map +1 -0
  78. package/dist/classes/vertex-array.d.ts +75 -0
  79. package/dist/classes/vertex-array.d.ts.map +1 -0
  80. package/dist/classes/vertex-array.js +409 -0
  81. package/dist/classes/vertex-array.js.map +1 -0
  82. package/dist/classes/webgl-buffer.d.ts +98 -0
  83. package/dist/classes/webgl-buffer.d.ts.map +1 -0
  84. package/dist/{esm/classes/buffer.js → classes/webgl-buffer.js} +97 -73
  85. package/dist/classes/webgl-buffer.js.map +1 -0
  86. package/dist/classes/webgl-resource.d.ts +54 -0
  87. package/dist/classes/webgl-resource.d.ts.map +1 -0
  88. package/dist/{esm/classes/resource.js → classes/webgl-resource.js} +31 -52
  89. package/dist/classes/webgl-resource.js.map +1 -0
  90. package/dist/classes/webgl-shader.d.ts +51 -0
  91. package/dist/classes/webgl-shader.d.ts.map +1 -0
  92. package/dist/classes/webgl-shader.js +190 -0
  93. package/dist/classes/webgl-shader.js.map +1 -0
  94. package/dist/context/gl-context.d.ts +15 -0
  95. package/dist/context/gl-context.d.ts.map +1 -0
  96. package/dist/context/gl-context.js +32 -0
  97. package/dist/context/gl-context.js.map +1 -0
  98. package/dist/context/luma-context-data.d.ts +31 -0
  99. package/dist/context/luma-context-data.d.ts.map +1 -0
  100. package/dist/context/luma-context-data.js +5 -0
  101. package/dist/context/luma-context-data.js.map +1 -0
  102. package/dist/debug/debug-program-configuration.d.ts +2 -0
  103. package/dist/debug/debug-program-configuration.d.ts.map +1 -0
  104. package/dist/debug/debug-program-configuration.js +40 -0
  105. package/dist/debug/debug-program-configuration.js.map +1 -0
  106. package/dist/debug/debug-uniforms.d.ts +12 -0
  107. package/dist/debug/debug-uniforms.d.ts.map +1 -0
  108. package/dist/debug/debug-uniforms.js +108 -0
  109. package/dist/debug/debug-uniforms.js.map +1 -0
  110. package/dist/debug/debug-vertex-array.d.ts +5 -0
  111. package/dist/debug/debug-vertex-array.d.ts.map +1 -0
  112. package/dist/debug/debug-vertex-array.js +118 -0
  113. package/dist/debug/debug-vertex-array.js.map +1 -0
  114. package/dist/es5/bundle.js +3 -5
  115. package/dist/es5/bundle.js.map +1 -1
  116. package/dist/es5/classes/accessor.js +76 -108
  117. package/dist/es5/classes/accessor.js.map +1 -1
  118. package/dist/es5/classes/accessor.ts.disabled +159 -0
  119. package/dist/es5/classes/clear.js +33 -48
  120. package/dist/es5/classes/clear.js.map +1 -1
  121. package/dist/es5/classes/copy-and-blit.js +177 -192
  122. package/dist/es5/classes/copy-and-blit.js.map +1 -1
  123. package/dist/es5/classes/framebuffer.js +538 -655
  124. package/dist/es5/classes/framebuffer.js.map +1 -1
  125. package/dist/es5/classes/program-configuration.js +127 -141
  126. package/dist/es5/classes/program-configuration.js.map +1 -1
  127. package/dist/es5/classes/program.js +294 -358
  128. package/dist/es5/classes/program.js.map +1 -1
  129. package/dist/es5/classes/query.js +115 -181
  130. package/dist/es5/classes/query.js.map +1 -1
  131. package/dist/es5/classes/renderbuffer-formats.js +186 -121
  132. package/dist/es5/classes/renderbuffer-formats.js.map +1 -1
  133. package/dist/es5/classes/renderbuffer.js +104 -128
  134. package/dist/es5/classes/renderbuffer.js.map +1 -1
  135. package/dist/es5/classes/texture-2d.js +16 -39
  136. package/dist/es5/classes/texture-2d.js.map +1 -1
  137. package/dist/es5/classes/texture-3d.js +50 -89
  138. package/dist/es5/classes/texture-3d.js.map +1 -1
  139. package/dist/es5/classes/texture-cube.js +112 -162
  140. package/dist/es5/classes/texture-cube.js.map +1 -1
  141. package/dist/es5/classes/texture-formats.js +73 -42
  142. package/dist/es5/classes/texture-formats.js.map +1 -1
  143. package/dist/es5/classes/texture.js +670 -673
  144. package/dist/es5/classes/texture.js.map +1 -1
  145. package/dist/es5/classes/transform-feedback.js +150 -203
  146. package/dist/es5/classes/transform-feedback.js.map +1 -1
  147. package/dist/es5/classes/uniform-buffer-layout.js +89 -103
  148. package/dist/es5/classes/uniform-buffer-layout.js.map +1 -1
  149. package/dist/es5/classes/uniforms.js +134 -93
  150. package/dist/es5/classes/uniforms.js.map +1 -1
  151. package/dist/es5/classes/vertex-array-object.js +204 -306
  152. package/dist/es5/classes/vertex-array-object.js.map +1 -1
  153. package/dist/es5/classes/vertex-array.js +317 -353
  154. package/dist/es5/classes/vertex-array.js.map +1 -1
  155. package/dist/es5/classes/webgl-buffer.js +391 -0
  156. package/dist/es5/classes/webgl-buffer.js.map +1 -0
  157. package/dist/es5/classes/webgl-resource.js +217 -0
  158. package/dist/es5/classes/webgl-resource.js.map +1 -0
  159. package/dist/es5/classes/webgl-shader.js +213 -0
  160. package/dist/es5/classes/webgl-shader.js.map +1 -0
  161. package/dist/es5/context/gl-context.js +46 -0
  162. package/dist/es5/context/gl-context.js.map +1 -0
  163. package/dist/es5/context/luma-context-data.js +12 -0
  164. package/dist/es5/context/luma-context-data.js.map +1 -0
  165. package/dist/es5/debug/debug-program-configuration.js +20 -48
  166. package/dist/es5/debug/debug-program-configuration.js.map +1 -1
  167. package/dist/es5/debug/debug-uniforms.js +72 -114
  168. package/dist/es5/debug/debug-uniforms.js.map +1 -1
  169. package/dist/es5/debug/debug-vertex-array.js +56 -51
  170. package/dist/es5/debug/debug-vertex-array.js.map +1 -1
  171. package/dist/es5/features/check-glsl-extension.js +9 -10
  172. package/dist/es5/features/check-glsl-extension.js.map +1 -1
  173. package/dist/es5/features/check-old-ie.js +5 -6
  174. package/dist/es5/features/check-old-ie.js.map +1 -1
  175. package/dist/es5/features/features.js +23 -37
  176. package/dist/es5/features/features.js.map +1 -1
  177. package/dist/es5/features/index.js +8 -8
  178. package/dist/es5/features/index.js.map +1 -1
  179. package/dist/es5/features/limits.js +36 -28
  180. package/dist/es5/features/limits.js.map +1 -1
  181. package/dist/es5/features/webgl-features-table.js +35 -15
  182. package/dist/es5/features/webgl-features-table.js.map +1 -1
  183. package/dist/es5/features/webgl-limits-table.js +160 -120
  184. package/dist/es5/features/webgl-limits-table.js.map +1 -1
  185. package/dist/es5/index.js +144 -90
  186. package/dist/es5/index.js.map +1 -1
  187. package/dist/es5/init.js +12 -36
  188. package/dist/es5/init.js.map +1 -1
  189. package/dist/es5/types.js +2 -0
  190. package/dist/es5/types.js.map +1 -0
  191. package/dist/es5/utils/array-utils-flat.js +13 -14
  192. package/dist/es5/utils/array-utils-flat.js.map +1 -1
  193. package/dist/es5/utils/assert.js +1 -1
  194. package/dist/es5/utils/assert.js.map +1 -1
  195. package/dist/es5/utils/check-props.js +20 -21
  196. package/dist/es5/utils/check-props.js.map +1 -1
  197. package/dist/es5/utils/format-value.js +14 -14
  198. package/dist/es5/utils/format-value.js.map +1 -1
  199. package/dist/es5/utils/index.js +68 -0
  200. package/dist/es5/utils/index.js.map +1 -0
  201. package/dist/es5/utils/is-old-ie.js +2 -3
  202. package/dist/es5/utils/is-old-ie.js.map +1 -1
  203. package/dist/es5/utils/load-file.js +11 -18
  204. package/dist/es5/utils/load-file.js.map +1 -1
  205. package/dist/es5/utils/stub-methods.js +4 -4
  206. package/dist/es5/utils/stub-methods.js.map +1 -1
  207. package/dist/es5/utils/utils.js +5 -10
  208. package/dist/es5/utils/utils.js.map +1 -1
  209. package/dist/es5/webgl-utils/attribute-utils.js +87 -74
  210. package/dist/es5/webgl-utils/attribute-utils.js.map +1 -1
  211. package/dist/es5/webgl-utils/constants-to-keys.js +7 -7
  212. package/dist/es5/webgl-utils/constants-to-keys.js.map +1 -1
  213. package/dist/es5/webgl-utils/format-utils.js +21 -17
  214. package/dist/es5/webgl-utils/format-utils.js.map +1 -1
  215. package/dist/es5/webgl-utils/get-error.js +18 -18
  216. package/dist/es5/webgl-utils/get-error.js.map +1 -1
  217. package/dist/es5/webgl-utils/index.js +74 -0
  218. package/dist/es5/webgl-utils/index.js.map +1 -0
  219. package/dist/es5/webgl-utils/parse-shader-compiler-log.js +44 -0
  220. package/dist/es5/webgl-utils/parse-shader-compiler-log.js.map +1 -0
  221. package/dist/es5/webgl-utils/request-animation-frame.js.map +1 -1
  222. package/dist/es5/webgl-utils/texture-utils.js +35 -29
  223. package/dist/es5/webgl-utils/texture-utils.js.map +1 -1
  224. package/dist/es5/webgl-utils/typed-array-utils.js +51 -47
  225. package/dist/es5/webgl-utils/typed-array-utils.js.map +1 -1
  226. package/dist/esm/bundle.js +2 -4
  227. package/dist/esm/bundle.js.map +1 -1
  228. package/dist/esm/classes/accessor.js +7 -7
  229. package/dist/esm/classes/accessor.js.map +1 -1
  230. package/dist/esm/classes/accessor.ts.disabled +159 -0
  231. package/dist/esm/classes/clear.js +15 -13
  232. package/dist/esm/classes/clear.js.map +1 -1
  233. package/dist/esm/classes/copy-and-blit.js +41 -43
  234. package/dist/esm/classes/copy-and-blit.js.map +1 -1
  235. package/dist/esm/classes/framebuffer.js +336 -308
  236. package/dist/esm/classes/framebuffer.js.map +1 -1
  237. package/dist/esm/classes/program-configuration.js +17 -9
  238. package/dist/esm/classes/program-configuration.js.map +1 -1
  239. package/dist/esm/classes/program.js +69 -44
  240. package/dist/esm/classes/program.js.map +1 -1
  241. package/dist/esm/classes/query.js +17 -14
  242. package/dist/esm/classes/query.js.map +1 -1
  243. package/dist/esm/classes/renderbuffer-formats.js +72 -49
  244. package/dist/esm/classes/renderbuffer-formats.js.map +1 -1
  245. package/dist/esm/classes/renderbuffer.js +84 -72
  246. package/dist/esm/classes/renderbuffer.js.map +1 -1
  247. package/dist/esm/classes/texture-2d.js +10 -3
  248. package/dist/esm/classes/texture-2d.js.map +1 -1
  249. package/dist/esm/classes/texture-3d.js +14 -11
  250. package/dist/esm/classes/texture-3d.js.map +1 -1
  251. package/dist/esm/classes/texture-cube.js +43 -28
  252. package/dist/esm/classes/texture-cube.js.map +1 -1
  253. package/dist/esm/classes/texture-formats.js +51 -50
  254. package/dist/esm/classes/texture-formats.js.map +1 -1
  255. package/dist/esm/classes/texture.js +164 -49
  256. package/dist/esm/classes/texture.js.map +1 -1
  257. package/dist/esm/classes/transform-feedback.js +24 -13
  258. package/dist/esm/classes/transform-feedback.js.map +1 -1
  259. package/dist/esm/classes/uniform-buffer-layout.js +1 -1
  260. package/dist/esm/classes/uniform-buffer-layout.js.map +1 -1
  261. package/dist/esm/classes/uniforms.js +111 -112
  262. package/dist/esm/classes/uniforms.js.map +1 -1
  263. package/dist/esm/classes/vertex-array-object.js +52 -88
  264. package/dist/esm/classes/vertex-array-object.js.map +1 -1
  265. package/dist/esm/classes/vertex-array.js +50 -28
  266. package/dist/esm/classes/vertex-array.js.map +1 -1
  267. package/dist/esm/classes/webgl-buffer.js +379 -0
  268. package/dist/esm/classes/webgl-buffer.js.map +1 -0
  269. package/dist/esm/classes/webgl-resource.js +208 -0
  270. package/dist/esm/classes/webgl-resource.js.map +1 -0
  271. package/dist/esm/classes/webgl-shader.js +190 -0
  272. package/dist/esm/classes/webgl-shader.js.map +1 -0
  273. package/dist/esm/context/gl-context.js +32 -0
  274. package/dist/esm/context/gl-context.js.map +1 -0
  275. package/dist/esm/context/luma-context-data.js +5 -0
  276. package/dist/esm/context/luma-context-data.js.map +1 -0
  277. package/dist/esm/debug/debug-program-configuration.js +4 -4
  278. package/dist/esm/debug/debug-program-configuration.js.map +1 -1
  279. package/dist/esm/debug/debug-uniforms.js +9 -9
  280. package/dist/esm/debug/debug-uniforms.js.map +1 -1
  281. package/dist/esm/debug/debug-vertex-array.js +19 -17
  282. package/dist/esm/debug/debug-vertex-array.js.map +1 -1
  283. package/dist/esm/features/check-glsl-extension.js +4 -4
  284. package/dist/esm/features/check-glsl-extension.js.map +1 -1
  285. package/dist/esm/features/check-old-ie.js.map +1 -1
  286. package/dist/esm/features/features.js +14 -13
  287. package/dist/esm/features/features.js.map +1 -1
  288. package/dist/esm/features/index.js.map +1 -1
  289. package/dist/esm/features/limits.js +25 -22
  290. package/dist/esm/features/limits.js.map +1 -1
  291. package/dist/esm/features/webgl-features-table.js +6 -6
  292. package/dist/esm/features/webgl-features-table.js.map +1 -1
  293. package/dist/esm/features/webgl-limits-table.js +43 -42
  294. package/dist/esm/features/webgl-limits-table.js.map +1 -1
  295. package/dist/esm/index.js +13 -15
  296. package/dist/esm/index.js.map +1 -1
  297. package/dist/esm/init.js +4 -23
  298. package/dist/esm/init.js.map +1 -1
  299. package/dist/esm/types.js +2 -0
  300. package/dist/esm/types.js.map +1 -0
  301. package/dist/esm/utils/array-utils-flat.js.map +1 -1
  302. package/dist/esm/utils/assert.js +1 -1
  303. package/dist/esm/utils/assert.js.map +1 -1
  304. package/dist/esm/utils/check-props.js +4 -4
  305. package/dist/esm/utils/check-props.js.map +1 -1
  306. package/dist/esm/utils/format-value.js +4 -4
  307. package/dist/esm/utils/format-value.js.map +1 -1
  308. package/dist/esm/utils/index.js +7 -0
  309. package/dist/esm/utils/index.js.map +1 -0
  310. package/dist/esm/utils/is-old-ie.js +1 -1
  311. package/dist/esm/utils/is-old-ie.js.map +1 -1
  312. package/dist/esm/utils/load-file.js +2 -2
  313. package/dist/esm/utils/load-file.js.map +1 -1
  314. package/dist/esm/utils/stub-methods.js +2 -3
  315. package/dist/esm/utils/stub-methods.js.map +1 -1
  316. package/dist/esm/utils/utils.js +1 -3
  317. package/dist/esm/utils/utils.js.map +1 -1
  318. package/dist/esm/webgl-utils/attribute-utils.js +1 -1
  319. package/dist/esm/webgl-utils/attribute-utils.js.map +1 -1
  320. package/dist/esm/webgl-utils/constants-to-keys.js +4 -4
  321. package/dist/esm/webgl-utils/constants-to-keys.js.map +1 -1
  322. package/dist/esm/webgl-utils/format-utils.js +16 -15
  323. package/dist/esm/webgl-utils/format-utils.js.map +1 -1
  324. package/dist/esm/webgl-utils/get-error.js +1 -1
  325. package/dist/esm/webgl-utils/get-error.js.map +1 -1
  326. package/dist/esm/webgl-utils/index.js +5 -0
  327. package/dist/esm/webgl-utils/index.js.map +1 -0
  328. package/dist/esm/webgl-utils/parse-shader-compiler-log.js +37 -0
  329. package/dist/esm/webgl-utils/parse-shader-compiler-log.js.map +1 -0
  330. package/dist/esm/webgl-utils/request-animation-frame.js.map +1 -1
  331. package/dist/esm/webgl-utils/texture-utils.js +4 -3
  332. package/dist/esm/webgl-utils/texture-utils.js.map +1 -1
  333. package/dist/esm/webgl-utils/typed-array-utils.js +19 -18
  334. package/dist/esm/webgl-utils/typed-array-utils.js.map +1 -1
  335. package/dist/features/check-glsl-extension.d.ts +2 -0
  336. package/dist/features/check-glsl-extension.d.ts.map +1 -0
  337. package/dist/features/check-glsl-extension.js +27 -0
  338. package/dist/features/check-glsl-extension.js.map +1 -0
  339. package/dist/features/check-old-ie.d.ts +2 -0
  340. package/dist/features/check-old-ie.d.ts.map +1 -0
  341. package/dist/features/check-old-ie.js +8 -0
  342. package/dist/features/check-old-ie.js.map +1 -0
  343. package/dist/features/features.d.ts +6 -0
  344. package/dist/features/features.d.ts.map +1 -0
  345. package/dist/features/features.js +67 -0
  346. package/dist/features/features.js.map +1 -0
  347. package/dist/features/index.d.ts +5 -0
  348. package/dist/features/index.d.ts.map +1 -0
  349. package/dist/features/index.js +5 -0
  350. package/dist/features/index.js.map +1 -0
  351. package/dist/features/limits.d.ts +28 -0
  352. package/dist/features/limits.d.ts.map +1 -0
  353. package/dist/features/limits.js +55 -0
  354. package/dist/features/limits.js.map +1 -0
  355. package/dist/features/webgl-features-table.d.ts +30 -0
  356. package/dist/features/webgl-features-table.d.ts.map +1 -0
  357. package/dist/features/webgl-features-table.js +71 -0
  358. package/dist/features/webgl-features-table.js.map +1 -0
  359. package/dist/features/webgl-limits-table.d.ts +161 -0
  360. package/dist/features/webgl-limits-table.d.ts.map +1 -0
  361. package/dist/features/webgl-limits-table.js +161 -0
  362. package/dist/features/webgl-limits-table.js.map +1 -0
  363. package/dist/index.d.ts +33 -0
  364. package/dist/index.d.ts.map +1 -0
  365. package/dist/index.js +33 -0
  366. package/dist/index.js.map +1 -0
  367. package/dist/init.d.ts +5 -0
  368. package/dist/init.d.ts.map +1 -0
  369. package/dist/init.js +30 -0
  370. package/dist/init.js.map +1 -0
  371. package/dist/types.d.ts +9 -0
  372. package/dist/types.d.ts.map +1 -0
  373. package/dist/types.js +2 -0
  374. package/dist/types.js.map +1 -0
  375. package/dist/utils/array-utils-flat.d.ts +9 -0
  376. package/dist/utils/array-utils-flat.d.ts.map +1 -0
  377. package/dist/utils/array-utils-flat.js +39 -0
  378. package/dist/utils/array-utils-flat.js.map +1 -0
  379. package/dist/utils/assert.d.ts +2 -0
  380. package/dist/utils/assert.d.ts.map +1 -0
  381. package/dist/utils/assert.js +6 -0
  382. package/dist/utils/assert.js.map +1 -0
  383. package/dist/utils/check-props.d.ts +2 -0
  384. package/dist/utils/check-props.d.ts.map +1 -0
  385. package/dist/utils/check-props.js +38 -0
  386. package/dist/utils/check-props.js.map +1 -0
  387. package/dist/utils/format-value.d.ts +5 -0
  388. package/dist/utils/format-value.d.ts.map +1 -0
  389. package/dist/utils/format-value.js +50 -0
  390. package/dist/utils/format-value.js.map +1 -0
  391. package/dist/utils/index.d.ts +7 -0
  392. package/dist/utils/index.d.ts.map +1 -0
  393. package/dist/utils/index.js +7 -0
  394. package/dist/utils/index.js.map +1 -0
  395. package/dist/utils/is-old-ie.d.ts +4 -0
  396. package/dist/utils/is-old-ie.d.ts.map +1 -0
  397. package/dist/utils/is-old-ie.js +5 -0
  398. package/dist/utils/is-old-ie.js.map +1 -0
  399. package/dist/utils/load-file.d.ts +4 -0
  400. package/dist/utils/load-file.d.ts.map +1 -0
  401. package/dist/utils/load-file.js +30 -0
  402. package/dist/utils/load-file.js.map +1 -0
  403. package/dist/utils/stub-methods.d.ts +2 -0
  404. package/dist/utils/stub-methods.d.ts.map +1 -0
  405. package/dist/utils/stub-methods.js +16 -0
  406. package/dist/utils/stub-methods.js.map +1 -0
  407. package/dist/utils/utils.d.ts +15 -0
  408. package/dist/utils/utils.d.ts.map +1 -0
  409. package/dist/utils/utils.js +20 -0
  410. package/dist/utils/utils.js.map +1 -0
  411. package/dist/webgl-utils/attribute-utils.d.ts +18 -0
  412. package/dist/webgl-utils/attribute-utils.d.ts.map +1 -0
  413. package/dist/webgl-utils/attribute-utils.js +182 -0
  414. package/dist/webgl-utils/attribute-utils.js.map +1 -0
  415. package/dist/webgl-utils/constants-to-keys.d.ts +4 -0
  416. package/dist/webgl-utils/constants-to-keys.d.ts.map +1 -0
  417. package/dist/webgl-utils/constants-to-keys.js +41 -0
  418. package/dist/webgl-utils/constants-to-keys.js.map +1 -0
  419. package/dist/webgl-utils/format-utils.d.ts +3 -0
  420. package/dist/webgl-utils/format-utils.d.ts.map +1 -0
  421. package/dist/webgl-utils/format-utils.js +45 -0
  422. package/dist/webgl-utils/format-utils.js.map +1 -0
  423. package/dist/webgl-utils/get-error.d.ts +3 -0
  424. package/dist/webgl-utils/get-error.d.ts.map +1 -0
  425. package/dist/webgl-utils/get-error.js +41 -0
  426. package/dist/webgl-utils/get-error.js.map +1 -0
  427. package/dist/webgl-utils/index.d.ts +5 -0
  428. package/dist/webgl-utils/index.d.ts.map +1 -0
  429. package/dist/webgl-utils/index.js +5 -0
  430. package/dist/webgl-utils/index.js.map +1 -0
  431. package/dist/webgl-utils/parse-shader-compiler-log.d.ts +8 -0
  432. package/dist/webgl-utils/parse-shader-compiler-log.d.ts.map +1 -0
  433. package/dist/webgl-utils/parse-shader-compiler-log.js +37 -0
  434. package/dist/webgl-utils/parse-shader-compiler-log.js.map +1 -0
  435. package/dist/webgl-utils/request-animation-frame.d.ts +4 -0
  436. package/dist/webgl-utils/request-animation-frame.d.ts.map +1 -0
  437. package/dist/webgl-utils/request-animation-frame.js +7 -0
  438. package/dist/webgl-utils/request-animation-frame.js.map +1 -0
  439. package/dist/webgl-utils/texture-utils.d.ts +11 -0
  440. package/dist/webgl-utils/texture-utils.d.ts.map +1 -0
  441. package/dist/webgl-utils/texture-utils.js +48 -0
  442. package/dist/webgl-utils/texture-utils.js.map +1 -0
  443. package/dist/webgl-utils/typed-array-utils.d.ts +36 -0
  444. package/dist/webgl-utils/typed-array-utils.d.ts.map +1 -0
  445. package/dist/webgl-utils/typed-array-utils.js +108 -0
  446. package/dist/webgl-utils/typed-array-utils.js.map +1 -0
  447. package/package.json +9 -8
  448. package/src/bundle.ts +4 -0
  449. package/src/classes/accessor.js +3 -4
  450. package/src/classes/accessor.ts.disabled +159 -0
  451. package/src/classes/{clear.js → clear.ts} +13 -9
  452. package/src/classes/{copy-and-blit.js → copy-and-blit.ts} +113 -22
  453. package/src/classes/{framebuffer.js → framebuffer.ts} +355 -298
  454. package/src/classes/{program-configuration.js → program-configuration.ts} +18 -11
  455. package/src/classes/{program.js → program.ts} +56 -36
  456. package/src/classes/{query.js → query.ts} +28 -22
  457. package/src/classes/{renderbuffer-formats.js → renderbuffer-formats.ts} +42 -14
  458. package/src/classes/renderbuffer.ts +153 -0
  459. package/src/classes/{texture-2d.js → texture-2d.ts} +15 -5
  460. package/src/classes/{texture-3d.js → texture-3d.ts} +35 -10
  461. package/src/classes/{texture-cube.js → texture-cube.ts} +46 -28
  462. package/src/classes/{texture-formats.js → texture-formats.ts} +9 -1
  463. package/src/classes/{texture.js → texture.ts} +204 -37
  464. package/src/classes/{transform-feedback.js → transform-feedback.ts} +22 -14
  465. package/src/classes/{uniform-buffer-layout.js → uniform-buffer-layout.ts} +10 -6
  466. package/src/classes/{uniforms.js → uniforms.ts} +122 -70
  467. package/src/classes/{vertex-array-object.js → vertex-array-object.ts} +132 -107
  468. package/src/classes/{vertex-array.js → vertex-array.ts} +74 -54
  469. package/src/classes/{buffer.js → webgl-buffer.ts} +125 -51
  470. package/src/classes/{resource.js → webgl-resource.ts} +43 -36
  471. package/src/classes/webgl-shader.ts +200 -0
  472. package/src/context/gl-context.ts +31 -0
  473. package/src/context/luma-context-data.ts +27 -0
  474. package/src/debug/{debug-program-configuration.js → debug-program-configuration.ts} +0 -0
  475. package/src/debug/{debug-uniforms.js → debug-uniforms.ts} +18 -8
  476. package/src/debug/{debug-vertex-array.js → debug-vertex-array.ts} +7 -4
  477. package/src/features/{check-glsl-extension.js → check-glsl-extension.ts} +1 -1
  478. package/src/features/{check-old-ie.js → check-old-ie.ts} +0 -0
  479. package/src/features/{features.js → features.ts} +14 -13
  480. package/src/features/{index.js → index.ts} +0 -0
  481. package/src/features/{limits.js → limits.ts} +18 -17
  482. package/src/features/{webgl-features-table.js → webgl-features-table.ts} +0 -0
  483. package/src/features/{webgl-limits-table.js → webgl-limits-table.ts} +0 -0
  484. package/{dist/es5/index.d.ts → src/index.ts} +18 -16
  485. package/src/{init.js → init.ts} +1 -18
  486. package/{dist/es5/types.d.ts → src/types.ts} +0 -0
  487. package/src/utils/{array-utils-flat.js → array-utils-flat.ts} +0 -0
  488. package/src/utils/{assert.js → assert.ts} +1 -1
  489. package/src/utils/{check-props.js → check-props.ts} +0 -0
  490. package/src/utils/{format-value.js → format-value.ts} +2 -2
  491. package/src/utils/index.ts +6 -0
  492. package/src/utils/{is-old-ie.js → is-old-ie.ts} +1 -1
  493. package/src/utils/{load-file.js → load-file.ts} +3 -2
  494. package/src/utils/{stub-methods.js → stub-methods.ts} +1 -1
  495. package/src/utils/utils.ts +35 -0
  496. package/src/webgl-utils/{attribute-utils.js → attribute-utils.ts} +1 -2
  497. package/src/webgl-utils/{constants-to-keys.js → constants-to-keys.ts} +1 -1
  498. package/src/webgl-utils/{format-utils.js → format-utils.ts} +1 -1
  499. package/src/webgl-utils/{get-error.js → get-error.ts} +0 -0
  500. package/src/webgl-utils/index.ts +12 -0
  501. package/src/webgl-utils/parse-shader-compiler-log.ts +48 -0
  502. package/src/webgl-utils/{request-animation-frame.js → request-animation-frame.ts} +3 -2
  503. package/src/webgl-utils/texture-utils.js +2 -1
  504. package/dist/dist.js +0 -13555
  505. package/dist/dist.min.js +0 -1
  506. package/dist/es5/classes/buffer.d.ts +0 -84
  507. package/dist/es5/classes/buffer.js +0 -453
  508. package/dist/es5/classes/buffer.js.map +0 -1
  509. package/dist/es5/classes/clear.d.ts +0 -11
  510. package/dist/es5/classes/copy-and-blit.d.ts +0 -101
  511. package/dist/es5/classes/framebuffer.d.ts +0 -96
  512. package/dist/es5/classes/program-configuration.d.ts +0 -15
  513. package/dist/es5/classes/program.d.ts +0 -44
  514. package/dist/es5/classes/query.d.ts +0 -21
  515. package/dist/es5/classes/renderbuffer.d.ts +0 -34
  516. package/dist/es5/classes/resource.d.ts +0 -47
  517. package/dist/es5/classes/resource.js +0 -308
  518. package/dist/es5/classes/resource.js.map +0 -1
  519. package/dist/es5/classes/shader.d.ts +0 -29
  520. package/dist/es5/classes/shader.js +0 -221
  521. package/dist/es5/classes/shader.js.map +0 -1
  522. package/dist/es5/classes/texture-2d.d.ts +0 -11
  523. package/dist/es5/classes/texture-3d.d.ts +0 -29
  524. package/dist/es5/classes/texture-cube.d.ts +0 -23
  525. package/dist/es5/classes/texture.d.ts +0 -80
  526. package/dist/es5/classes/transform-feedback.d.ts +0 -16
  527. package/dist/es5/classes/uniform-buffer-layout.d.ts +0 -18
  528. package/dist/es5/classes/uniforms.d.ts +0 -63
  529. package/dist/es5/classes/vertex-array-object.d.ts +0 -25
  530. package/dist/es5/classes/vertex-array.d.ts +0 -37
  531. package/dist/es5/debug/debug-program-configuration.d.ts +0 -1
  532. package/dist/es5/debug/debug-uniforms.d.ts +0 -11
  533. package/dist/es5/debug/debug-vertex-array.d.ts +0 -1
  534. package/dist/es5/glsl-utils/format-glsl-error.d.ts +0 -16
  535. package/dist/es5/glsl-utils/format-glsl-error.js +0 -108
  536. package/dist/es5/glsl-utils/format-glsl-error.js.map +0 -1
  537. package/dist/es5/glsl-utils/get-shader-name.js +0 -14
  538. package/dist/es5/glsl-utils/get-shader-name.js.map +0 -1
  539. package/dist/es5/glsl-utils/get-shader-type-name.js +0 -22
  540. package/dist/es5/glsl-utils/get-shader-type-name.js.map +0 -1
  541. package/dist/es5/glsl-utils/get-shader-version.js +0 -22
  542. package/dist/es5/glsl-utils/get-shader-version.js.map +0 -1
  543. package/dist/es5/glsl-utils/index.js +0 -48
  544. package/dist/es5/glsl-utils/index.js.map +0 -1
  545. package/dist/es5/init.d.ts +0 -12
  546. package/dist/es5/utils/assert.d.ts +0 -1
  547. package/dist/es5/utils/is-old-ie.d.ts +0 -1
  548. package/dist/es5/utils/utils.d.ts +0 -13
  549. package/dist/es5/webgl-utils/request-animation-frame.d.ts +0 -3
  550. package/dist/esm/classes/buffer.d.ts +0 -84
  551. package/dist/esm/classes/buffer.js.map +0 -1
  552. package/dist/esm/classes/clear.d.ts +0 -11
  553. package/dist/esm/classes/copy-and-blit.d.ts +0 -101
  554. package/dist/esm/classes/framebuffer.d.ts +0 -96
  555. package/dist/esm/classes/program-configuration.d.ts +0 -15
  556. package/dist/esm/classes/program.d.ts +0 -44
  557. package/dist/esm/classes/query.d.ts +0 -21
  558. package/dist/esm/classes/renderbuffer.d.ts +0 -34
  559. package/dist/esm/classes/resource.d.ts +0 -47
  560. package/dist/esm/classes/resource.js.map +0 -1
  561. package/dist/esm/classes/shader.d.ts +0 -29
  562. package/dist/esm/classes/shader.js +0 -138
  563. package/dist/esm/classes/shader.js.map +0 -1
  564. package/dist/esm/classes/texture-2d.d.ts +0 -11
  565. package/dist/esm/classes/texture-3d.d.ts +0 -29
  566. package/dist/esm/classes/texture-cube.d.ts +0 -23
  567. package/dist/esm/classes/texture.d.ts +0 -80
  568. package/dist/esm/classes/transform-feedback.d.ts +0 -16
  569. package/dist/esm/classes/uniform-buffer-layout.d.ts +0 -18
  570. package/dist/esm/classes/uniforms.d.ts +0 -63
  571. package/dist/esm/classes/vertex-array-object.d.ts +0 -25
  572. package/dist/esm/classes/vertex-array.d.ts +0 -37
  573. package/dist/esm/debug/debug-program-configuration.d.ts +0 -1
  574. package/dist/esm/debug/debug-uniforms.d.ts +0 -11
  575. package/dist/esm/debug/debug-vertex-array.d.ts +0 -1
  576. package/dist/esm/glsl-utils/format-glsl-error.d.ts +0 -16
  577. package/dist/esm/glsl-utils/format-glsl-error.js +0 -93
  578. package/dist/esm/glsl-utils/format-glsl-error.js.map +0 -1
  579. package/dist/esm/glsl-utils/get-shader-name.js +0 -6
  580. package/dist/esm/glsl-utils/get-shader-name.js.map +0 -1
  581. package/dist/esm/glsl-utils/get-shader-type-name.js +0 -15
  582. package/dist/esm/glsl-utils/get-shader-type-name.js.map +0 -1
  583. package/dist/esm/glsl-utils/get-shader-version.js +0 -15
  584. package/dist/esm/glsl-utils/get-shader-version.js.map +0 -1
  585. package/dist/esm/glsl-utils/index.js +0 -5
  586. package/dist/esm/glsl-utils/index.js.map +0 -1
  587. package/dist/esm/index.d.ts +0 -71
  588. package/dist/esm/init.d.ts +0 -12
  589. package/dist/esm/types.d.ts +0 -8
  590. package/dist/esm/utils/assert.d.ts +0 -1
  591. package/dist/esm/utils/is-old-ie.d.ts +0 -1
  592. package/dist/esm/utils/utils.d.ts +0 -13
  593. package/dist/esm/webgl-utils/request-animation-frame.d.ts +0 -3
  594. package/src/bundle.js +0 -8
  595. package/src/classes/buffer.d.ts +0 -84
  596. package/src/classes/clear.d.ts +0 -11
  597. package/src/classes/copy-and-blit.d.ts +0 -101
  598. package/src/classes/framebuffer.d.ts +0 -96
  599. package/src/classes/program-configuration.d.ts +0 -15
  600. package/src/classes/program.d.ts +0 -44
  601. package/src/classes/query.d.ts +0 -21
  602. package/src/classes/renderbuffer.d.ts +0 -34
  603. package/src/classes/renderbuffer.js +0 -105
  604. package/src/classes/resource.d.ts +0 -47
  605. package/src/classes/shader.d.ts +0 -29
  606. package/src/classes/shader.js +0 -147
  607. package/src/classes/texture-2d.d.ts +0 -11
  608. package/src/classes/texture-3d.d.ts +0 -29
  609. package/src/classes/texture-cube.d.ts +0 -23
  610. package/src/classes/texture.d.ts +0 -80
  611. package/src/classes/transform-feedback.d.ts +0 -16
  612. package/src/classes/uniform-buffer-layout.d.ts +0 -18
  613. package/src/classes/uniforms.d.ts +0 -63
  614. package/src/classes/vertex-array-object.d.ts +0 -25
  615. package/src/classes/vertex-array.d.ts +0 -37
  616. package/src/debug/debug-program-configuration.d.ts +0 -1
  617. package/src/debug/debug-uniforms.d.ts +0 -11
  618. package/src/debug/debug-vertex-array.d.ts +0 -1
  619. package/src/glsl-utils/format-glsl-error.d.ts +0 -16
  620. package/src/glsl-utils/format-glsl-error.js +0 -107
  621. package/src/glsl-utils/get-shader-name.js +0 -7
  622. package/src/glsl-utils/get-shader-type-name.js +0 -13
  623. package/src/glsl-utils/get-shader-version.js +0 -12
  624. package/src/glsl-utils/index.js +0 -8
  625. package/src/index.d.ts +0 -71
  626. package/src/index.js +0 -70
  627. package/src/init.d.ts +0 -12
  628. package/src/types.d.ts +0 -8
  629. package/src/utils/assert.d.ts +0 -1
  630. package/src/utils/is-old-ie.d.ts +0 -1
  631. package/src/utils/utils.d.ts +0 -13
  632. package/src/utils/utils.js +0 -36
  633. package/src/webgl-utils/request-animation-frame.d.ts +0 -3
@@ -7,374 +7,272 @@ Object.defineProperty(exports, "__esModule", {
7
7
  });
8
8
  exports.default = void 0;
9
9
 
10
- var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
10
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
11
 
12
- var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
12
+ var _constants = _interopRequireDefault(require("@luma.gl/constants"));
13
13
 
14
- var _get2 = _interopRequireDefault(require("@babel/runtime/helpers/get"));
14
+ var _gltools = require("@luma.gl/gltools");
15
15
 
16
- var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
16
+ var _probe = require("probe.gl");
17
17
 
18
- var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
18
+ var _webglResource = _interopRequireDefault(require("./webgl-resource"));
19
19
 
20
- var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
20
+ var _webglBuffer = _interopRequireDefault(require("./webgl-buffer"));
21
21
 
22
- var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
22
+ var _arrayUtilsFlat = require("../utils/array-utils-flat");
23
23
 
24
- var _resource = _interopRequireDefault(require("./resource"));
24
+ var _utils = require("../utils");
25
25
 
26
- var _buffer = _interopRequireDefault(require("./buffer"));
26
+ var _lumaContextData = require("../context/luma-context-data");
27
27
 
28
- var _gltools = require("@luma.gl/gltools");
28
+ const ERR_ELEMENTS = 'elements must be GL.ELEMENT_ARRAY_BUFFER';
29
29
 
30
- var _arrayUtilsFlat = require("../utils/array-utils-flat");
31
-
32
- var _assert = require("../utils/assert");
30
+ class VertexArrayObject extends _webglResource.default {
31
+ static isSupported(gl, options) {
32
+ if (options !== null && options !== void 0 && options.constantAttributeZero) {
33
+ return (0, _gltools.isWebGL2)(gl) || (0, _probe.getBrowser)() === 'Chrome';
34
+ }
33
35
 
34
- var _probe = require("probe.gl");
36
+ return true;
37
+ }
35
38
 
36
- function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
39
+ static getDefaultArray(gl) {
40
+ const lumaContextData = (0, _lumaContextData.getLumaContextData)(gl);
41
+ lumaContextData.defaultVertexArray = lumaContextData.defaultVertexArray || new VertexArrayObject(gl, {
42
+ handle: null,
43
+ isDefaultArray: true
44
+ });
45
+ return lumaContextData.defaultVertexArray;
46
+ }
37
47
 
38
- function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
48
+ static getMaxAttributes(gl) {
49
+ VertexArrayObject.MAX_ATTRIBUTES = VertexArrayObject.MAX_ATTRIBUTES || gl.getParameter(gl.MAX_VERTEX_ATTRIBS);
50
+ return VertexArrayObject.MAX_ATTRIBUTES;
51
+ }
39
52
 
40
- var ERR_ELEMENTS = 'elements must be GL.ELEMENT_ARRAY_BUFFER';
53
+ static setConstant(gl, location, array) {
54
+ switch (array.constructor) {
55
+ case Float32Array:
56
+ VertexArrayObject._setConstantFloatArray(gl, location, array);
41
57
 
42
- var VertexArrayObject = function (_Resource) {
43
- (0, _inherits2.default)(VertexArrayObject, _Resource);
58
+ break;
44
59
 
45
- var _super = _createSuper(VertexArrayObject);
60
+ case Int32Array:
61
+ VertexArrayObject._setConstantIntArray((0, _gltools.assertWebGL2Context)(gl), location, array);
46
62
 
47
- (0, _createClass2.default)(VertexArrayObject, null, [{
48
- key: "isSupported",
49
- value: function isSupported(gl) {
50
- var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
63
+ break;
51
64
 
52
- if (options.constantAttributeZero) {
53
- return (0, _gltools.isWebGL2)(gl) || (0, _probe.getBrowser)() === 'Chrome';
54
- }
65
+ case Uint32Array:
66
+ VertexArrayObject._setConstantUintArray((0, _gltools.assertWebGL2Context)(gl), location, array);
55
67
 
56
- return true;
57
- }
58
- }, {
59
- key: "getDefaultArray",
60
- value: function getDefaultArray(gl) {
61
- gl.luma = gl.luma || {};
62
-
63
- if (!gl.luma.defaultVertexArray) {
64
- gl.luma.defaultVertexArray = new VertexArrayObject(gl, {
65
- handle: null,
66
- isDefaultArray: true
67
- });
68
- }
68
+ break;
69
69
 
70
- return gl.luma.defaultVertexArray;
70
+ default:
71
+ (0, _utils.assert)(false);
71
72
  }
72
- }, {
73
- key: "getMaxAttributes",
74
- value: function getMaxAttributes(gl) {
75
- VertexArrayObject.MAX_ATTRIBUTES = VertexArrayObject.MAX_ATTRIBUTES || gl.getParameter(34921);
76
- return VertexArrayObject.MAX_ATTRIBUTES;
77
- }
78
- }, {
79
- key: "setConstant",
80
- value: function setConstant(gl, location, array) {
81
- switch (array.constructor) {
82
- case Float32Array:
83
- VertexArrayObject._setConstantFloatArray(gl, location, array);
73
+ }
84
74
 
85
- break;
75
+ constructor(gl, opts) {
76
+ super(gl, { ...opts,
77
+ id: (opts === null || opts === void 0 ? void 0 : opts.id) || (opts === null || opts === void 0 ? void 0 : opts.program) && (opts === null || opts === void 0 ? void 0 : opts.program.id)
78
+ }, {});
79
+ (0, _defineProperty2.default)(this, "buffer", null);
80
+ (0, _defineProperty2.default)(this, "bufferValue", null);
81
+ (0, _defineProperty2.default)(this, "isDefaultArray", false);
82
+ this.buffer = null;
83
+ this.bufferValue = null;
84
+ this.isDefaultArray = (opts === null || opts === void 0 ? void 0 : opts.isDefaultArray) || false;
85
+ Object.seal(this);
86
+ }
86
87
 
87
- case Int32Array:
88
- VertexArrayObject._setConstantIntArray(gl, location, array);
88
+ delete() {
89
+ super.delete();
89
90
 
90
- break;
91
+ if (this.buffer) {
92
+ this.buffer.delete();
93
+ }
91
94
 
92
- case Uint32Array:
93
- VertexArrayObject._setConstantUintArray(gl, location, array);
95
+ return this;
96
+ }
94
97
 
95
- break;
98
+ get MAX_ATTRIBUTES() {
99
+ return VertexArrayObject.getMaxAttributes(this.gl);
100
+ }
96
101
 
97
- default:
98
- (0, _assert.assert)(false);
99
- }
100
- }
101
- }]);
102
-
103
- function VertexArrayObject(gl) {
104
- var _this;
105
-
106
- var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
107
- (0, _classCallCheck2.default)(this, VertexArrayObject);
108
- var id = opts.id || opts.program && opts.program.id;
109
- _this = _super.call(this, gl, Object.assign({}, opts, {
110
- id: id
111
- }));
112
- _this.buffer = null;
113
- _this.bufferValue = null;
114
- _this.isDefaultArray = opts.isDefaultArray || false;
115
- _this.gl2 = gl;
116
-
117
- _this.initialize(opts);
118
-
119
- Object.seal((0, _assertThisInitialized2.default)(_this));
120
- return _this;
102
+ setElementBuffer(elementBuffer = null, opts = {}) {
103
+ (0, _utils.assert)(!elementBuffer || elementBuffer.target === _constants.default.ELEMENT_ARRAY_BUFFER, ERR_ELEMENTS);
104
+ this.bind(() => {
105
+ this.gl.bindBuffer(_constants.default.ELEMENT_ARRAY_BUFFER, elementBuffer ? elementBuffer.handle : null);
106
+ });
107
+ return this;
121
108
  }
122
109
 
123
- (0, _createClass2.default)(VertexArrayObject, [{
124
- key: "delete",
125
- value: function _delete() {
126
- (0, _get2.default)((0, _getPrototypeOf2.default)(VertexArrayObject.prototype), "delete", this).call(this);
110
+ setBuffer(location, buffer, accessor) {
111
+ if (buffer.target === _constants.default.ELEMENT_ARRAY_BUFFER) {
112
+ return this.setElementBuffer(buffer, accessor);
113
+ }
127
114
 
128
- if (this.buffer) {
129
- this.buffer.delete();
115
+ const {
116
+ size,
117
+ type,
118
+ stride,
119
+ offset,
120
+ normalized,
121
+ integer,
122
+ divisor
123
+ } = accessor;
124
+ const {
125
+ gl,
126
+ gl2
127
+ } = this;
128
+ location = Number(location);
129
+ this.bind(() => {
130
+ gl.bindBuffer(gl.ARRAY_BUFFER, buffer.handle);
131
+
132
+ if (integer) {
133
+ (0, _utils.assert)((0, _gltools.isWebGL2)(gl));
134
+ gl2.vertexAttribIPointer(location, size, type, stride, offset);
135
+ } else {
136
+ gl.vertexAttribPointer(location, size, type, normalized, stride, offset);
130
137
  }
131
138
 
132
- return this;
133
- }
134
- }, {
135
- key: "initialize",
136
- value: function initialize() {
137
- var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
138
- return this.setProps(props);
139
- }
140
- }, {
141
- key: "setProps",
142
- value: function setProps(props) {
143
- return this;
144
- }
145
- }, {
146
- key: "setElementBuffer",
147
- value: function setElementBuffer() {
148
- var _this2 = this;
149
-
150
- var elementBuffer = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
151
- var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
152
- (0, _assert.assert)(!elementBuffer || elementBuffer.target === 34963, ERR_ELEMENTS);
153
- this.bind(function () {
154
- _this2.gl.bindBuffer(34963, elementBuffer ? elementBuffer.handle : null);
155
- });
156
- return this;
157
- }
158
- }, {
159
- key: "setBuffer",
160
- value: function setBuffer(location, buffer, accessor) {
161
- if (buffer.target === 34963) {
162
- return this.setElementBuffer(buffer, accessor);
163
- }
139
+ gl.enableVertexAttribArray(location);
140
+ gl2.vertexAttribDivisor(location, divisor || 0);
141
+ });
142
+ return this;
143
+ }
164
144
 
165
- var size = accessor.size,
166
- type = accessor.type,
167
- stride = accessor.stride,
168
- offset = accessor.offset,
169
- normalized = accessor.normalized,
170
- integer = accessor.integer,
171
- divisor = accessor.divisor;
172
- var gl = this.gl,
173
- gl2 = this.gl2;
145
+ enable(location, enable = true) {
146
+ const disablingAttributeZero = !enable && location === 0 && !VertexArrayObject.isSupported(this.gl, {
147
+ constantAttributeZero: true
148
+ });
149
+
150
+ if (!disablingAttributeZero) {
174
151
  location = Number(location);
175
- this.bind(function () {
176
- gl.bindBuffer(34962, buffer.handle);
177
-
178
- if (integer) {
179
- (0, _assert.assert)((0, _gltools.isWebGL2)(gl));
180
- gl2.vertexAttribIPointer(location, size, type, stride, offset);
181
- } else {
182
- gl.vertexAttribPointer(location, size, type, normalized, stride, offset);
183
- }
184
-
185
- gl.enableVertexAttribArray(location);
186
- gl2.vertexAttribDivisor(location, divisor || 0);
187
- });
188
- return this;
152
+ this.bind(() => enable ? this.gl.enableVertexAttribArray(location) : this.gl.disableVertexAttribArray(location));
189
153
  }
190
- }, {
191
- key: "enable",
192
- value: function enable(location) {
193
- var _this3 = this;
194
154
 
195
- var _enable = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
155
+ return this;
156
+ }
196
157
 
197
- var disablingAttributeZero = !_enable && location === 0 && !VertexArrayObject.isSupported(this.gl, {
198
- constantAttributeZero: true
158
+ getConstantBuffer(elementCount, value) {
159
+ const constantValue = this._normalizeConstantArrayValue(value);
160
+
161
+ const byteLength = constantValue.byteLength * elementCount;
162
+ const length = constantValue.length * elementCount;
163
+ let updateNeeded = !this.buffer;
164
+ this.buffer = this.buffer || new _webglBuffer.default(this.gl, byteLength);
165
+ updateNeeded = updateNeeded || this.buffer.reallocate(byteLength);
166
+ updateNeeded = updateNeeded || !this._compareConstantArrayValues(constantValue, this.bufferValue);
167
+
168
+ if (updateNeeded) {
169
+ const typedArray = (0, _arrayUtilsFlat.getScratchArray)(value.constructor, length);
170
+ (0, _arrayUtilsFlat.fillArray)({
171
+ target: typedArray,
172
+ source: constantValue,
173
+ start: 0,
174
+ count: length
199
175
  });
176
+ this.buffer.subData(typedArray);
177
+ this.bufferValue = value;
178
+ }
200
179
 
201
- if (!disablingAttributeZero) {
202
- location = Number(location);
203
- this.bind(function () {
204
- return _enable ? _this3.gl.enableVertexAttribArray(location) : _this3.gl.disableVertexAttribArray(location);
205
- });
206
- }
180
+ return this.buffer;
181
+ }
207
182
 
208
- return this;
209
- }
210
- }, {
211
- key: "getConstantBuffer",
212
- value: function getConstantBuffer(elementCount, value) {
213
- var constantValue = this._normalizeConstantArrayValue(value);
214
-
215
- var byteLength = constantValue.byteLength * elementCount;
216
- var length = constantValue.length * elementCount;
217
- var updateNeeded = !this.buffer;
218
- this.buffer = this.buffer || new _buffer.default(this.gl, byteLength);
219
- updateNeeded = updateNeeded || this.buffer.reallocate(byteLength);
220
- updateNeeded = updateNeeded || !this._compareConstantArrayValues(constantValue, this.bufferValue);
221
-
222
- if (updateNeeded) {
223
- var typedArray = (0, _arrayUtilsFlat.getScratchArray)(value.constructor, length);
224
- (0, _arrayUtilsFlat.fillArray)({
225
- target: typedArray,
226
- source: constantValue,
227
- start: 0,
228
- count: length
229
- });
230
- this.buffer.subData(typedArray);
231
- this.bufferValue = value;
232
- }
183
+ initialize(props) {
184
+ return this.setProps(props);
185
+ }
233
186
 
234
- return this.buffer;
235
- }
236
- }, {
237
- key: "_normalizeConstantArrayValue",
238
- value: function _normalizeConstantArrayValue(arrayValue) {
239
- if (Array.isArray(arrayValue)) {
240
- return new Float32Array(arrayValue);
241
- }
187
+ setProps(props) {
188
+ return this;
189
+ }
242
190
 
243
- return arrayValue;
191
+ _normalizeConstantArrayValue(arrayValue) {
192
+ if (Array.isArray(arrayValue)) {
193
+ return new Float32Array(arrayValue);
244
194
  }
245
- }, {
246
- key: "_compareConstantArrayValues",
247
- value: function _compareConstantArrayValues(v1, v2) {
248
- if (!v1 || !v2 || v1.length !== v2.length || v1.constructor !== v2.constructor) {
249
- return false;
250
- }
251
195
 
252
- for (var i = 0; i < v1.length; ++i) {
253
- if (v1[i] !== v2[i]) {
254
- return false;
255
- }
256
- }
196
+ return arrayValue;
197
+ }
257
198
 
258
- return true;
259
- }
260
- }, {
261
- key: "_createHandle",
262
- value: function _createHandle() {
263
- var gl2 = this.gl;
264
- return gl2.createVertexArray();
265
- }
266
- }, {
267
- key: "_deleteHandle",
268
- value: function _deleteHandle(handle) {
269
- this.gl2.deleteVertexArray(handle);
270
- return [this.elements];
271
- }
272
- }, {
273
- key: "_bindHandle",
274
- value: function _bindHandle(handle) {
275
- this.gl2.bindVertexArray(handle);
276
- }
277
- }, {
278
- key: "_getParameter",
279
- value: function _getParameter(pname, _ref) {
280
- var _this4 = this;
281
-
282
- var location = _ref.location;
283
- (0, _assert.assert)(Number.isFinite(location));
284
- return this.bind(function () {
285
- switch (pname) {
286
- case 34373:
287
- return _this4.gl.getVertexAttribOffset(location, pname);
288
-
289
- default:
290
- return _this4.gl.getVertexAttrib(location, pname);
291
- }
292
- });
293
- }
294
- }, {
295
- key: "MAX_ATTRIBUTES",
296
- get: function get() {
297
- return VertexArrayObject.getMaxAttributes(this.gl);
199
+ _compareConstantArrayValues(v1, v2) {
200
+ if (!v1 || !v2 || v1.length !== v2.length || v1.constructor !== v2.constructor) {
201
+ return false;
298
202
  }
299
- }], [{
300
- key: "_setConstantFloatArray",
301
- value: function _setConstantFloatArray(gl, location, array) {
302
- switch (array.length) {
303
- case 1:
304
- gl.vertexAttrib1fv(location, array);
305
- break;
306
-
307
- case 2:
308
- gl.vertexAttrib2fv(location, array);
309
- break;
310
-
311
- case 3:
312
- gl.vertexAttrib3fv(location, array);
313
- break;
314
-
315
- case 4:
316
- gl.vertexAttrib4fv(location, array);
317
- break;
318
203
 
319
- default:
320
- (0, _assert.assert)(false);
204
+ for (let i = 0; i < v1.length; ++i) {
205
+ if (v1[i] !== v2[i]) {
206
+ return false;
321
207
  }
322
208
  }
323
- }, {
324
- key: "_setConstantIntArray",
325
- value: function _setConstantIntArray(gl, location, array) {
326
- (0, _assert.assert)((0, _gltools.isWebGL2)(gl));
327
209
 
328
- switch (array.length) {
329
- case 1:
330
- gl.vertexAttribI1iv(location, array);
331
- break;
210
+ return true;
211
+ }
332
212
 
333
- case 2:
334
- gl.vertexAttribI2iv(location, array);
335
- break;
213
+ static _setConstantFloatArray(gl, location, array) {
214
+ switch (array.length) {
215
+ case 1:
216
+ gl.vertexAttrib1fv(location, array);
217
+ break;
336
218
 
337
- case 3:
338
- gl.vertexAttribI3iv(location, array);
339
- break;
219
+ case 2:
220
+ gl.vertexAttrib2fv(location, array);
221
+ break;
340
222
 
341
- case 4:
342
- gl.vertexAttribI4iv(location, array);
343
- break;
223
+ case 3:
224
+ gl.vertexAttrib3fv(location, array);
225
+ break;
344
226
 
345
- default:
346
- (0, _assert.assert)(false);
347
- }
227
+ case 4:
228
+ gl.vertexAttrib4fv(location, array);
229
+ break;
230
+
231
+ default:
232
+ (0, _utils.assert)(false);
348
233
  }
349
- }, {
350
- key: "_setConstantUintArray",
351
- value: function _setConstantUintArray(gl, location, array) {
352
- (0, _assert.assert)((0, _gltools.isWebGL2)(gl));
234
+ }
353
235
 
354
- switch (array.length) {
355
- case 1:
356
- gl.vertexAttribI1uiv(location, array);
357
- break;
236
+ static _setConstantIntArray(gl, location, array) {
237
+ (0, _utils.assert)((0, _gltools.isWebGL2)(gl));
238
+ gl.vertexAttribI4iv(location, array);
239
+ }
358
240
 
359
- case 2:
360
- gl.vertexAttribI2uiv(location, array);
361
- break;
241
+ static _setConstantUintArray(gl, location, array) {
242
+ (0, _utils.assert)((0, _gltools.isWebGL2)(gl));
243
+ gl.vertexAttribI4uiv(location, array);
244
+ }
362
245
 
363
- case 3:
364
- gl.vertexAttribI3uiv(location, array);
365
- break;
246
+ _createHandle() {
247
+ return this.gl2.createVertexArray();
248
+ }
249
+
250
+ _deleteHandle() {
251
+ this.gl2.deleteVertexArray(this.handle);
252
+ return [this.elements];
253
+ }
254
+
255
+ _bindHandle(handle) {
256
+ this.gl2.bindVertexArray(handle);
257
+ }
366
258
 
367
- case 4:
368
- gl.vertexAttribI4uiv(location, array);
369
- break;
259
+ _getParameter(pname, {
260
+ location
261
+ }) {
262
+ (0, _utils.assert)(Number.isFinite(location));
263
+ return this.bind(() => {
264
+ switch (pname) {
265
+ case _constants.default.VERTEX_ATTRIB_ARRAY_POINTER:
266
+ return this.gl.getVertexAttribOffset(location, pname);
370
267
 
371
268
  default:
372
- (0, _assert.assert)(false);
269
+ return this.gl.getVertexAttrib(location, pname);
373
270
  }
374
- }
375
- }]);
376
- return VertexArrayObject;
377
- }(_resource.default);
271
+ });
272
+ }
273
+
274
+ }
378
275
 
379
276
  exports.default = VertexArrayObject;
277
+ (0, _defineProperty2.default)(VertexArrayObject, "MAX_ATTRIBUTES", void 0);
380
278
  //# sourceMappingURL=vertex-array-object.js.map