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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (651) hide show
  1. package/dist/api/device2.d.ts +52 -0
  2. package/dist/api/device2.d.ts.map +1 -0
  3. package/dist/api/device2.js +23 -0
  4. package/dist/api/device2.js.map +1 -0
  5. package/dist/classes/accessor.js +2 -2
  6. package/dist/classes/accessor.js.map +1 -1
  7. package/dist/classes/accessor.ts.disabled +1 -1
  8. package/dist/classes/clear.d.ts +3 -2
  9. package/dist/classes/clear.d.ts.map +1 -1
  10. package/dist/classes/clear.js +7 -4
  11. package/dist/classes/clear.js.map +1 -1
  12. package/dist/classes/copy-and-blit.d.ts +18 -1
  13. package/dist/classes/copy-and-blit.d.ts.map +1 -1
  14. package/dist/classes/copy-and-blit.js +30 -25
  15. package/dist/classes/copy-and-blit.js.map +1 -1
  16. package/dist/classes/framebuffer.d.ts +10 -1
  17. package/dist/classes/framebuffer.d.ts.map +1 -1
  18. package/dist/classes/framebuffer.js +15 -15
  19. package/dist/classes/framebuffer.js.map +1 -1
  20. package/dist/classes/program-configuration.d.ts +2 -2
  21. package/dist/classes/program-configuration.d.ts.map +1 -1
  22. package/dist/classes/program-configuration.js +1 -1
  23. package/dist/classes/program-configuration.js.map +1 -1
  24. package/dist/classes/program.d.ts +6 -6
  25. package/dist/classes/program.d.ts.map +1 -1
  26. package/dist/classes/program.js +11 -9
  27. package/dist/classes/program.js.map +1 -1
  28. package/dist/classes/query.d.ts.map +1 -1
  29. package/dist/classes/query.js +6 -5
  30. package/dist/classes/query.js.map +1 -1
  31. package/dist/classes/renderbuffer-formats.js +1 -1
  32. package/dist/classes/renderbuffer-formats.js.map +1 -1
  33. package/dist/classes/renderbuffer.d.ts.map +1 -1
  34. package/dist/classes/renderbuffer.js +4 -3
  35. package/dist/classes/renderbuffer.js.map +1 -1
  36. package/dist/classes/texture-2d.d.ts +4 -3
  37. package/dist/classes/texture-2d.d.ts.map +1 -1
  38. package/dist/classes/texture-2d.js +5 -8
  39. package/dist/classes/texture-2d.js.map +1 -1
  40. package/dist/classes/texture-3d.d.ts +3 -2
  41. package/dist/classes/texture-3d.d.ts.map +1 -1
  42. package/dist/classes/texture-3d.js +15 -6
  43. package/dist/classes/texture-3d.js.map +1 -1
  44. package/dist/classes/texture-cube.d.ts +2 -1
  45. package/dist/classes/texture-cube.d.ts.map +1 -1
  46. package/dist/classes/texture-cube.js +3 -4
  47. package/dist/classes/texture-cube.js.map +1 -1
  48. package/dist/classes/texture-formats.js +1 -1
  49. package/dist/classes/texture-formats.js.map +1 -1
  50. package/dist/classes/texture.d.ts +14 -9
  51. package/dist/classes/texture.d.ts.map +1 -1
  52. package/dist/classes/texture.js +19 -18
  53. package/dist/classes/texture.js.map +1 -1
  54. package/dist/classes/transform-feedback.d.ts.map +1 -1
  55. package/dist/classes/transform-feedback.js +5 -4
  56. package/dist/classes/transform-feedback.js.map +1 -1
  57. package/dist/classes/uniform-buffer-layout.js +1 -1
  58. package/dist/classes/uniform-buffer-layout.js.map +1 -1
  59. package/dist/classes/uniforms.d.ts +0 -1
  60. package/dist/classes/uniforms.d.ts.map +1 -1
  61. package/dist/classes/uniforms.js +1 -2
  62. package/dist/classes/uniforms.js.map +1 -1
  63. package/dist/classes/vertex-array-object.d.ts +1 -1
  64. package/dist/classes/vertex-array-object.d.ts.map +1 -1
  65. package/dist/classes/vertex-array-object.js +8 -9
  66. package/dist/classes/vertex-array-object.js.map +1 -1
  67. package/dist/classes/vertex-array.d.ts +1 -1
  68. package/dist/classes/vertex-array.d.ts.map +1 -1
  69. package/dist/classes/vertex-array.js +1 -2
  70. package/dist/classes/vertex-array.js.map +1 -1
  71. package/dist/classes/webgl-buffer.d.ts +2 -0
  72. package/dist/classes/webgl-buffer.d.ts.map +1 -1
  73. package/dist/classes/webgl-buffer.js +8 -5
  74. package/dist/classes/webgl-buffer.js.map +1 -1
  75. package/dist/classes/webgl-resource.d.ts +6 -4
  76. package/dist/classes/webgl-resource.d.ts.map +1 -1
  77. package/dist/classes/webgl-resource.js +12 -8
  78. package/dist/classes/webgl-resource.js.map +1 -1
  79. package/dist/classes/webgl-shader.d.ts +3 -1
  80. package/dist/classes/webgl-shader.d.ts.map +1 -1
  81. package/dist/classes/webgl-shader.js +7 -4
  82. package/dist/classes/webgl-shader.js.map +1 -1
  83. package/dist/context/context/context-state.d.ts +18 -0
  84. package/dist/context/context/context-state.d.ts.map +1 -0
  85. package/dist/context/context/context-state.js +26 -0
  86. package/dist/context/context/context-state.js.map +1 -0
  87. package/dist/context/context/create-context.d.ts +40 -0
  88. package/dist/context/context/create-context.d.ts.map +1 -0
  89. package/dist/context/context/create-context.js +37 -0
  90. package/dist/context/context/create-context.js.map +1 -0
  91. package/dist/context/context/device-pixels.d.ts +25 -0
  92. package/dist/context/context/device-pixels.d.ts.map +1 -0
  93. package/dist/context/context/device-pixels.js +98 -0
  94. package/dist/context/context/device-pixels.js.map +1 -0
  95. package/dist/context/context/get-canvas.d.ts +13 -0
  96. package/dist/context/context/get-canvas.d.ts.map +1 -0
  97. package/dist/context/context/get-canvas.js +31 -0
  98. package/dist/context/context/get-canvas.js.map +1 -0
  99. package/dist/context/context/resize-context.d.ts +20 -0
  100. package/dist/context/context/resize-context.d.ts.map +1 -0
  101. package/dist/context/context/resize-context.js +15 -0
  102. package/dist/context/context/resize-context.js.map +1 -0
  103. package/dist/context/context/webgl-checks.d.ts +13 -0
  104. package/dist/context/context/webgl-checks.d.ts.map +1 -0
  105. package/dist/context/context/webgl-checks.js +34 -0
  106. package/dist/context/context/webgl-checks.js.map +1 -0
  107. package/dist/context/parameters/unified-parameter-api.d.ts +30 -0
  108. package/dist/context/parameters/unified-parameter-api.d.ts.map +1 -0
  109. package/dist/context/parameters/unified-parameter-api.js +65 -0
  110. package/dist/context/parameters/unified-parameter-api.js.map +1 -0
  111. package/dist/context/parameters/webgl-parameter-tables.d.ts +169 -0
  112. package/dist/context/parameters/webgl-parameter-tables.d.ts.map +1 -0
  113. package/dist/context/parameters/webgl-parameter-tables.js +445 -0
  114. package/dist/context/parameters/webgl-parameter-tables.js.map +1 -0
  115. package/dist/context/parameters/webgl-parameters.d.ts +144 -0
  116. package/dist/context/parameters/webgl-parameters.d.ts.map +1 -0
  117. package/dist/context/parameters/webgl-parameters.js +2 -0
  118. package/dist/context/parameters/webgl-parameters.js.map +1 -0
  119. package/dist/context/polyfill/get-parameter-polyfill.d.ts +2 -0
  120. package/dist/context/polyfill/get-parameter-polyfill.d.ts.map +1 -0
  121. package/dist/context/polyfill/get-parameter-polyfill.js +91 -0
  122. package/dist/context/polyfill/get-parameter-polyfill.js.map +1 -0
  123. package/dist/context/polyfill/polyfill-context.d.ts +5 -0
  124. package/dist/context/polyfill/polyfill-context.d.ts.map +1 -0
  125. package/dist/context/polyfill/polyfill-context.js +91 -0
  126. package/dist/context/polyfill/polyfill-context.js.map +1 -0
  127. package/dist/context/polyfill/polyfill-table.d.ts +48 -0
  128. package/dist/context/polyfill/polyfill-table.d.ts.map +1 -0
  129. package/dist/context/polyfill/polyfill-table.js +160 -0
  130. package/dist/context/polyfill/polyfill-table.js.map +1 -0
  131. package/dist/context/polyfill/polyfill-vertex-array-object.d.ts +2 -0
  132. package/dist/context/polyfill/polyfill-vertex-array-object.d.ts.map +1 -0
  133. package/dist/context/polyfill/polyfill-vertex-array-object.js +335 -0
  134. package/dist/context/polyfill/polyfill-vertex-array-object.js.map +1 -0
  135. package/dist/context/state-tracker/deep-array-equal.d.ts +3 -0
  136. package/dist/context/state-tracker/deep-array-equal.d.ts.map +1 -0
  137. package/dist/context/state-tracker/deep-array-equal.js +21 -0
  138. package/dist/context/state-tracker/deep-array-equal.js.map +1 -0
  139. package/dist/context/state-tracker/track-context-state.d.ts +22 -0
  140. package/dist/context/state-tracker/track-context-state.d.ts.map +1 -0
  141. package/dist/context/state-tracker/track-context-state.js +169 -0
  142. package/dist/context/state-tracker/track-context-state.js.map +1 -0
  143. package/dist/context/state-tracker/with-parameters.d.ts +13 -0
  144. package/dist/context/state-tracker/with-parameters.d.ts.map +1 -0
  145. package/dist/context/state-tracker/with-parameters.js +36 -0
  146. package/dist/context/state-tracker/with-parameters.js.map +1 -0
  147. package/dist/debug/debug-uniforms.js +1 -1
  148. package/dist/debug/debug-uniforms.js.map +1 -1
  149. package/dist/debug/debug-vertex-array.js +2 -2
  150. package/dist/debug/debug-vertex-array.js.map +1 -1
  151. package/dist/device/check-glsl-extension.d.ts +4 -0
  152. package/dist/device/check-glsl-extension.d.ts.map +1 -0
  153. package/dist/device/check-glsl-extension.js +22 -0
  154. package/dist/device/check-glsl-extension.js.map +1 -0
  155. package/dist/device/device-features.d.ts +12 -0
  156. package/dist/device/device-features.d.ts.map +1 -0
  157. package/dist/device/device-features.js +123 -0
  158. package/dist/device/device-features.js.map +1 -0
  159. package/dist/device/device-limits.d.ts +51 -0
  160. package/dist/device/device-limits.d.ts.map +1 -0
  161. package/dist/device/device-limits.js +90 -0
  162. package/dist/device/device-limits.js.map +1 -0
  163. package/dist/device/get-device-info.d.ts +4 -0
  164. package/dist/device/get-device-info.d.ts.map +1 -0
  165. package/dist/device/get-device-info.js +44 -0
  166. package/dist/device/get-device-info.js.map +1 -0
  167. package/dist/device/webgl-device.d.ts +111 -0
  168. package/dist/device/webgl-device.d.ts.map +1 -0
  169. package/dist/device/webgl-device.js +208 -0
  170. package/dist/device/webgl-device.js.map +1 -0
  171. package/dist/es5/api/device2.js +42 -0
  172. package/dist/es5/api/device2.js.map +1 -0
  173. package/dist/es5/bundle.js +1 -1
  174. package/dist/es5/bundle.js.map +1 -1
  175. package/dist/es5/classes/accessor.js +104 -74
  176. package/dist/es5/classes/accessor.js.map +1 -1
  177. package/dist/es5/classes/accessor.ts.disabled +1 -1
  178. package/dist/es5/classes/clear.js +55 -34
  179. package/dist/es5/classes/clear.js.map +1 -1
  180. package/dist/es5/classes/copy-and-blit.js +175 -156
  181. package/dist/es5/classes/copy-and-blit.js.map +1 -1
  182. package/dist/es5/classes/framebuffer.js +647 -518
  183. package/dist/es5/classes/framebuffer.js.map +1 -1
  184. package/dist/es5/classes/program-configuration.js +138 -121
  185. package/dist/es5/classes/program-configuration.js.map +1 -1
  186. package/dist/es5/classes/program.js +368 -292
  187. package/dist/es5/classes/program.js.map +1 -1
  188. package/dist/es5/classes/query.js +172 -107
  189. package/dist/es5/classes/query.js.map +1 -1
  190. package/dist/es5/classes/renderbuffer-formats.js +126 -164
  191. package/dist/es5/classes/renderbuffer-formats.js.map +1 -1
  192. package/dist/es5/classes/renderbuffer.js +151 -98
  193. package/dist/es5/classes/renderbuffer.js.map +1 -1
  194. package/dist/es5/classes/texture-2d.js +44 -17
  195. package/dist/es5/classes/texture-2d.js.map +1 -1
  196. package/dist/es5/classes/texture-3d.js +107 -48
  197. package/dist/es5/classes/texture-3d.js.map +1 -1
  198. package/dist/es5/classes/texture-cube.js +169 -110
  199. package/dist/es5/classes/texture-cube.js.map +1 -1
  200. package/dist/es5/classes/texture-formats.js +42 -71
  201. package/dist/es5/classes/texture-formats.js.map +1 -1
  202. package/dist/es5/classes/texture.js +780 -665
  203. package/dist/es5/classes/texture.js.map +1 -1
  204. package/dist/es5/classes/transform-feedback.js +206 -150
  205. package/dist/es5/classes/transform-feedback.js.map +1 -1
  206. package/dist/es5/classes/uniform-buffer-layout.js +103 -89
  207. package/dist/es5/classes/uniform-buffer-layout.js.map +1 -1
  208. package/dist/es5/classes/uniforms.js +39 -80
  209. package/dist/es5/classes/uniforms.js.map +1 -1
  210. package/dist/es5/classes/vertex-array-object.js +268 -209
  211. package/dist/es5/classes/vertex-array-object.js.map +1 -1
  212. package/dist/es5/classes/vertex-array.js +348 -303
  213. package/dist/es5/classes/vertex-array.js.map +1 -1
  214. package/dist/es5/classes/webgl-buffer.js +374 -303
  215. package/dist/es5/classes/webgl-buffer.js.map +1 -1
  216. package/dist/es5/classes/webgl-resource.js +231 -161
  217. package/dist/es5/classes/webgl-resource.js.map +1 -1
  218. package/dist/es5/classes/webgl-shader.js +230 -134
  219. package/dist/es5/classes/webgl-shader.js.map +1 -1
  220. package/dist/es5/context/context/context-state.js +31 -0
  221. package/dist/es5/context/context/context-state.js.map +1 -0
  222. package/dist/es5/context/context/create-context.js +57 -0
  223. package/dist/es5/context/context/create-context.js.map +1 -0
  224. package/dist/es5/context/context/device-pixels.js +115 -0
  225. package/dist/es5/context/context/device-pixels.js.map +1 -0
  226. package/dist/es5/context/context/get-canvas.js +40 -0
  227. package/dist/es5/context/context/get-canvas.js.map +1 -0
  228. package/dist/es5/context/context/resize-context.js +23 -0
  229. package/dist/es5/context/context/resize-context.js.map +1 -0
  230. package/dist/es5/context/context/webgl-checks.js +54 -0
  231. package/dist/es5/context/context/webgl-checks.js.map +1 -0
  232. package/dist/es5/context/parameters/unified-parameter-api.js +95 -0
  233. package/dist/es5/context/parameters/unified-parameter-api.js.map +1 -0
  234. package/dist/es5/context/parameters/webgl-parameter-tables.js +392 -0
  235. package/dist/es5/context/parameters/webgl-parameter-tables.js.map +1 -0
  236. package/dist/es5/context/parameters/webgl-parameters.js +6 -0
  237. package/dist/es5/context/parameters/webgl-parameters.js.map +1 -0
  238. package/dist/es5/context/polyfill/get-parameter-polyfill.js +81 -0
  239. package/dist/es5/context/polyfill/get-parameter-polyfill.js.map +1 -0
  240. package/dist/es5/context/polyfill/polyfill-context.js +134 -0
  241. package/dist/es5/context/polyfill/polyfill-context.js.map +1 -0
  242. package/dist/es5/context/polyfill/polyfill-table.js +166 -0
  243. package/dist/es5/context/polyfill/polyfill-table.js.map +1 -0
  244. package/dist/es5/context/polyfill/polyfill-vertex-array-object.js +341 -0
  245. package/dist/es5/context/polyfill/polyfill-vertex-array-object.js.map +1 -0
  246. package/dist/es5/context/state-tracker/deep-array-equal.js +28 -0
  247. package/dist/es5/context/state-tracker/deep-array-equal.js.map +1 -0
  248. package/dist/es5/context/state-tracker/track-context-state.js +196 -0
  249. package/dist/es5/context/state-tracker/track-context-state.js.map +1 -0
  250. package/dist/es5/context/state-tracker/with-parameters.js +44 -0
  251. package/dist/es5/context/state-tracker/with-parameters.js.map +1 -0
  252. package/dist/es5/debug/debug-program-configuration.js +48 -20
  253. package/dist/es5/debug/debug-program-configuration.js.map +1 -1
  254. package/dist/es5/debug/debug-uniforms.js +110 -70
  255. package/dist/es5/debug/debug-uniforms.js.map +1 -1
  256. package/dist/es5/debug/debug-vertex-array.js +49 -54
  257. package/dist/es5/debug/debug-vertex-array.js.map +1 -1
  258. package/dist/es5/device/check-glsl-extension.js +33 -0
  259. package/dist/es5/device/check-glsl-extension.js.map +1 -0
  260. package/dist/es5/device/device-features.js +152 -0
  261. package/dist/es5/device/device-features.js.map +1 -0
  262. package/dist/es5/device/device-limits.js +64 -0
  263. package/dist/es5/device/device-limits.js.map +1 -0
  264. package/dist/es5/device/get-device-info.js +55 -0
  265. package/dist/es5/device/get-device-info.js.map +1 -0
  266. package/dist/es5/device/webgl-device.js +279 -0
  267. package/dist/es5/device/webgl-device.js.map +1 -0
  268. package/dist/es5/index.js +179 -189
  269. package/dist/es5/index.js.map +1 -1
  270. package/dist/es5/init.js +18 -14
  271. package/dist/es5/init.js.map +1 -1
  272. package/dist/es5/webgl-utils/attribute-utils.js +74 -87
  273. package/dist/es5/webgl-utils/attribute-utils.js.map +1 -1
  274. package/dist/es5/webgl-utils/constants-to-keys.js +7 -7
  275. package/dist/es5/webgl-utils/constants-to-keys.js.map +1 -1
  276. package/dist/es5/webgl-utils/format-utils.js +4 -4
  277. package/dist/es5/webgl-utils/format-utils.js.map +1 -1
  278. package/dist/es5/webgl-utils/get-error.js +18 -18
  279. package/dist/es5/webgl-utils/get-error.js.map +1 -1
  280. package/dist/es5/webgl-utils/index.js +10 -10
  281. package/dist/es5/webgl-utils/is-old-ie.js +16 -0
  282. package/dist/es5/webgl-utils/is-old-ie.js.map +1 -0
  283. package/dist/es5/webgl-utils/parse-shader-compiler-log.js +53 -25
  284. package/dist/es5/webgl-utils/parse-shader-compiler-log.js.map +1 -1
  285. package/dist/es5/webgl-utils/texture-utils.js +32 -36
  286. package/dist/es5/webgl-utils/texture-utils.js.map +1 -1
  287. package/dist/es5/webgl-utils/typed-array-utils.js +33 -32
  288. package/dist/es5/webgl-utils/typed-array-utils.js.map +1 -1
  289. package/dist/es5/webgl-utils/webgl-info.ts.disabled +135 -0
  290. package/dist/esm/api/device2.js +23 -0
  291. package/dist/esm/api/device2.js.map +1 -0
  292. package/dist/esm/classes/accessor.js +2 -2
  293. package/dist/esm/classes/accessor.js.map +1 -1
  294. package/dist/esm/classes/accessor.ts.disabled +1 -1
  295. package/dist/esm/classes/clear.js +7 -4
  296. package/dist/esm/classes/clear.js.map +1 -1
  297. package/dist/esm/classes/copy-and-blit.js +30 -25
  298. package/dist/esm/classes/copy-and-blit.js.map +1 -1
  299. package/dist/esm/classes/framebuffer.js +15 -15
  300. package/dist/esm/classes/framebuffer.js.map +1 -1
  301. package/dist/esm/classes/program-configuration.js +1 -1
  302. package/dist/esm/classes/program-configuration.js.map +1 -1
  303. package/dist/esm/classes/program.js +11 -9
  304. package/dist/esm/classes/program.js.map +1 -1
  305. package/dist/esm/classes/query.js +6 -5
  306. package/dist/esm/classes/query.js.map +1 -1
  307. package/dist/esm/classes/renderbuffer-formats.js +1 -1
  308. package/dist/esm/classes/renderbuffer-formats.js.map +1 -1
  309. package/dist/esm/classes/renderbuffer.js +4 -3
  310. package/dist/esm/classes/renderbuffer.js.map +1 -1
  311. package/dist/esm/classes/texture-2d.js +5 -8
  312. package/dist/esm/classes/texture-2d.js.map +1 -1
  313. package/dist/esm/classes/texture-3d.js +15 -6
  314. package/dist/esm/classes/texture-3d.js.map +1 -1
  315. package/dist/esm/classes/texture-cube.js +3 -4
  316. package/dist/esm/classes/texture-cube.js.map +1 -1
  317. package/dist/esm/classes/texture-formats.js +1 -1
  318. package/dist/esm/classes/texture-formats.js.map +1 -1
  319. package/dist/esm/classes/texture.js +19 -18
  320. package/dist/esm/classes/texture.js.map +1 -1
  321. package/dist/esm/classes/transform-feedback.js +5 -4
  322. package/dist/esm/classes/transform-feedback.js.map +1 -1
  323. package/dist/esm/classes/uniform-buffer-layout.js +1 -1
  324. package/dist/esm/classes/uniform-buffer-layout.js.map +1 -1
  325. package/dist/esm/classes/uniforms.js +1 -2
  326. package/dist/esm/classes/uniforms.js.map +1 -1
  327. package/dist/esm/classes/vertex-array-object.js +8 -9
  328. package/dist/esm/classes/vertex-array-object.js.map +1 -1
  329. package/dist/esm/classes/vertex-array.js +1 -2
  330. package/dist/esm/classes/vertex-array.js.map +1 -1
  331. package/dist/esm/classes/webgl-buffer.js +8 -5
  332. package/dist/esm/classes/webgl-buffer.js.map +1 -1
  333. package/dist/esm/classes/webgl-resource.js +12 -8
  334. package/dist/esm/classes/webgl-resource.js.map +1 -1
  335. package/dist/esm/classes/webgl-shader.js +7 -4
  336. package/dist/esm/classes/webgl-shader.js.map +1 -1
  337. package/dist/esm/context/context/context-state.js +26 -0
  338. package/dist/esm/context/context/context-state.js.map +1 -0
  339. package/dist/esm/context/context/create-context.js +37 -0
  340. package/dist/esm/context/context/create-context.js.map +1 -0
  341. package/dist/esm/context/context/device-pixels.js +98 -0
  342. package/dist/esm/context/context/device-pixels.js.map +1 -0
  343. package/dist/esm/context/context/get-canvas.js +31 -0
  344. package/dist/esm/context/context/get-canvas.js.map +1 -0
  345. package/dist/esm/context/context/resize-context.js +15 -0
  346. package/dist/esm/context/context/resize-context.js.map +1 -0
  347. package/dist/esm/context/context/webgl-checks.js +34 -0
  348. package/dist/esm/context/context/webgl-checks.js.map +1 -0
  349. package/dist/esm/context/parameters/unified-parameter-api.js +65 -0
  350. package/dist/esm/context/parameters/unified-parameter-api.js.map +1 -0
  351. package/dist/esm/context/parameters/webgl-parameter-tables.js +445 -0
  352. package/dist/esm/context/parameters/webgl-parameter-tables.js.map +1 -0
  353. package/dist/esm/context/parameters/webgl-parameters.js +2 -0
  354. package/dist/esm/context/parameters/webgl-parameters.js.map +1 -0
  355. package/dist/esm/context/polyfill/get-parameter-polyfill.js +91 -0
  356. package/dist/esm/context/polyfill/get-parameter-polyfill.js.map +1 -0
  357. package/dist/esm/context/polyfill/polyfill-context.js +91 -0
  358. package/dist/esm/context/polyfill/polyfill-context.js.map +1 -0
  359. package/dist/esm/context/polyfill/polyfill-table.js +160 -0
  360. package/dist/esm/context/polyfill/polyfill-table.js.map +1 -0
  361. package/dist/esm/context/polyfill/polyfill-vertex-array-object.js +335 -0
  362. package/dist/esm/context/polyfill/polyfill-vertex-array-object.js.map +1 -0
  363. package/dist/esm/context/state-tracker/deep-array-equal.js +21 -0
  364. package/dist/esm/context/state-tracker/deep-array-equal.js.map +1 -0
  365. package/dist/esm/context/state-tracker/track-context-state.js +169 -0
  366. package/dist/esm/context/state-tracker/track-context-state.js.map +1 -0
  367. package/dist/esm/context/state-tracker/with-parameters.js +36 -0
  368. package/dist/esm/context/state-tracker/with-parameters.js.map +1 -0
  369. package/dist/esm/debug/debug-uniforms.js +1 -1
  370. package/dist/esm/debug/debug-uniforms.js.map +1 -1
  371. package/dist/esm/debug/debug-vertex-array.js +2 -2
  372. package/dist/esm/debug/debug-vertex-array.js.map +1 -1
  373. package/dist/esm/device/check-glsl-extension.js +22 -0
  374. package/dist/esm/device/check-glsl-extension.js.map +1 -0
  375. package/dist/esm/device/device-features.js +123 -0
  376. package/dist/esm/device/device-features.js.map +1 -0
  377. package/dist/esm/device/device-limits.js +90 -0
  378. package/dist/esm/device/device-limits.js.map +1 -0
  379. package/dist/esm/device/get-device-info.js +44 -0
  380. package/dist/esm/device/get-device-info.js.map +1 -0
  381. package/dist/esm/device/webgl-device.js +208 -0
  382. package/dist/esm/device/webgl-device.js.map +1 -0
  383. package/dist/esm/index.js +22 -20
  384. package/dist/esm/index.js.map +1 -1
  385. package/dist/esm/init.js +11 -8
  386. package/dist/esm/init.js.map +1 -1
  387. package/dist/esm/webgl-utils/attribute-utils.js +1 -1
  388. package/dist/esm/webgl-utils/attribute-utils.js.map +1 -1
  389. package/dist/esm/webgl-utils/constants-to-keys.js +1 -1
  390. package/dist/esm/webgl-utils/constants-to-keys.js.map +1 -1
  391. package/dist/esm/webgl-utils/format-utils.js +1 -1
  392. package/dist/esm/webgl-utils/format-utils.js.map +1 -1
  393. package/dist/esm/{features/check-old-ie.js → webgl-utils/is-old-ie.js} +3 -3
  394. package/dist/esm/webgl-utils/is-old-ie.js.map +1 -0
  395. package/dist/esm/webgl-utils/texture-utils.js +2 -2
  396. package/dist/esm/webgl-utils/texture-utils.js.map +1 -1
  397. package/dist/esm/webgl-utils/typed-array-utils.js +22 -18
  398. package/dist/esm/webgl-utils/typed-array-utils.js.map +1 -1
  399. package/dist/esm/webgl-utils/webgl-info.ts.disabled +135 -0
  400. package/dist/index.d.ts +36 -20
  401. package/dist/index.d.ts.map +1 -1
  402. package/dist/index.js +22 -20
  403. package/dist/index.js.map +1 -1
  404. package/dist/init.d.ts.map +1 -1
  405. package/dist/init.js +11 -8
  406. package/dist/init.js.map +1 -1
  407. package/dist/webgl-utils/attribute-utils.d.ts +1 -1
  408. package/dist/webgl-utils/attribute-utils.js +1 -1
  409. package/dist/webgl-utils/attribute-utils.js.map +1 -1
  410. package/dist/webgl-utils/constants-to-keys.js +1 -1
  411. package/dist/webgl-utils/constants-to-keys.js.map +1 -1
  412. package/dist/webgl-utils/format-utils.d.ts +2 -2
  413. package/dist/webgl-utils/format-utils.js +1 -1
  414. package/dist/webgl-utils/format-utils.js.map +1 -1
  415. package/dist/webgl-utils/is-old-ie.d.ts +2 -0
  416. package/dist/webgl-utils/is-old-ie.d.ts.map +1 -0
  417. package/dist/{features/check-old-ie.js → webgl-utils/is-old-ie.js} +3 -3
  418. package/dist/webgl-utils/is-old-ie.js.map +1 -0
  419. package/dist/webgl-utils/texture-utils.d.ts +12 -8
  420. package/dist/webgl-utils/texture-utils.d.ts.map +1 -1
  421. package/dist/webgl-utils/texture-utils.js +2 -2
  422. package/dist/webgl-utils/texture-utils.js.map +1 -1
  423. package/dist/webgl-utils/typed-array-utils.d.ts +39 -32
  424. package/dist/webgl-utils/typed-array-utils.d.ts.map +1 -1
  425. package/dist/webgl-utils/typed-array-utils.js +22 -18
  426. package/dist/webgl-utils/typed-array-utils.js.map +1 -1
  427. package/dist/webgl-utils/webgl-info.ts.disabled +135 -0
  428. package/package.json +5 -6
  429. package/src/.DS_Store +0 -0
  430. package/src/api/device2.ts +71 -0
  431. package/src/classes/accessor.js +2 -2
  432. package/src/classes/accessor.ts.disabled +1 -1
  433. package/src/classes/clear.ts +9 -4
  434. package/src/classes/copy-and-blit.ts +49 -52
  435. package/src/classes/framebuffer.ts +38 -35
  436. package/src/classes/program-configuration.ts +6 -6
  437. package/src/classes/program.ts +21 -15
  438. package/src/classes/query.ts +6 -6
  439. package/src/classes/renderbuffer-formats.ts +1 -1
  440. package/src/classes/renderbuffer.ts +5 -4
  441. package/src/classes/texture-2d.ts +6 -11
  442. package/src/classes/texture-3d.ts +16 -11
  443. package/src/classes/texture-cube.ts +7 -7
  444. package/src/classes/texture-formats.ts +1 -1
  445. package/src/classes/texture.ts +39 -40
  446. package/src/classes/transform-feedback.ts +14 -13
  447. package/src/classes/uniform-buffer-layout.ts +1 -1
  448. package/src/classes/uniforms.ts +4 -10
  449. package/src/classes/vertex-array-object.ts +10 -14
  450. package/src/classes/vertex-array.ts +2 -3
  451. package/src/classes/webgl-buffer.ts +7 -5
  452. package/src/classes/webgl-resource.ts +20 -18
  453. package/src/classes/webgl-shader.ts +6 -4
  454. package/src/context/context/context-state.ts +39 -0
  455. package/src/context/context/create-context.ts +83 -0
  456. package/src/context/context/device-pixels.ts +147 -0
  457. package/src/context/context/get-canvas.ts +37 -0
  458. package/src/context/context/resize-context.ts +37 -0
  459. package/src/context/context/webgl-checks.ts +49 -0
  460. package/src/context/parameters/unified-parameter-api.ts +127 -0
  461. package/src/context/parameters/webgl-parameter-tables.ts +625 -0
  462. package/src/context/parameters/webgl-parameters.ts +197 -0
  463. package/src/context/polyfill/get-parameter-polyfill.ts +118 -0
  464. package/src/context/polyfill/polyfill-context.ts +98 -0
  465. package/src/context/polyfill/polyfill-table.ts +162 -0
  466. package/src/context/polyfill/polyfill-vertex-array-object.ts +360 -0
  467. package/src/context/state-tracker/deep-array-equal.ts +20 -0
  468. package/src/context/state-tracker/track-context-state.ts +250 -0
  469. package/src/context/state-tracker/with-parameters.ts +50 -0
  470. package/src/debug/debug-uniforms.ts +1 -1
  471. package/src/debug/debug-vertex-array.ts +2 -4
  472. package/src/device/check-glsl-extension.ts +44 -0
  473. package/src/device/device-features.ts +227 -0
  474. package/src/device/device-limits.ts +150 -0
  475. package/src/device/get-device-info.ts +49 -0
  476. package/src/device/webgl-device.ts +406 -0
  477. package/src/index.ts +76 -22
  478. package/src/init.ts +12 -9
  479. package/src/types.ts +1 -1
  480. package/src/webgl-utils/attribute-utils.ts +1 -1
  481. package/src/webgl-utils/constants-to-keys.ts +1 -1
  482. package/src/webgl-utils/format-utils.ts +1 -1
  483. package/src/{features/check-old-ie.ts → webgl-utils/is-old-ie.ts} +3 -3
  484. package/src/webgl-utils/{texture-utils.js → texture-utils.ts} +13 -10
  485. package/src/webgl-utils/{typed-array-utils.js → typed-array-utils.ts} +59 -16
  486. package/src/webgl-utils/webgl-info.ts.disabled +135 -0
  487. package/dist/context/gl-context.d.ts +0 -15
  488. package/dist/context/gl-context.d.ts.map +0 -1
  489. package/dist/context/gl-context.js +0 -32
  490. package/dist/context/gl-context.js.map +0 -1
  491. package/dist/context/luma-context-data.d.ts +0 -31
  492. package/dist/context/luma-context-data.d.ts.map +0 -1
  493. package/dist/context/luma-context-data.js +0 -5
  494. package/dist/context/luma-context-data.js.map +0 -1
  495. package/dist/es5/context/gl-context.js +0 -46
  496. package/dist/es5/context/gl-context.js.map +0 -1
  497. package/dist/es5/context/luma-context-data.js +0 -12
  498. package/dist/es5/context/luma-context-data.js.map +0 -1
  499. package/dist/es5/features/check-glsl-extension.js +0 -40
  500. package/dist/es5/features/check-glsl-extension.js.map +0 -1
  501. package/dist/es5/features/check-old-ie.js +0 -15
  502. package/dist/es5/features/check-old-ie.js.map +0 -1
  503. package/dist/es5/features/features.js +0 -85
  504. package/dist/es5/features/features.js.map +0 -1
  505. package/dist/es5/features/index.js +0 -64
  506. package/dist/es5/features/index.js.map +0 -1
  507. package/dist/es5/features/limits.js +0 -72
  508. package/dist/es5/features/limits.js.map +0 -1
  509. package/dist/es5/features/webgl-features-table.js +0 -84
  510. package/dist/es5/features/webgl-features-table.js.map +0 -1
  511. package/dist/es5/features/webgl-limits-table.js +0 -172
  512. package/dist/es5/features/webgl-limits-table.js.map +0 -1
  513. package/dist/es5/utils/array-utils-flat.js +0 -50
  514. package/dist/es5/utils/array-utils-flat.js.map +0 -1
  515. package/dist/es5/utils/assert.js +0 -13
  516. package/dist/es5/utils/assert.js.map +0 -1
  517. package/dist/es5/utils/check-props.js +0 -50
  518. package/dist/es5/utils/check-props.js.map +0 -1
  519. package/dist/es5/utils/format-value.js +0 -57
  520. package/dist/es5/utils/format-value.js.map +0 -1
  521. package/dist/es5/utils/index.js +0 -68
  522. package/dist/es5/utils/index.js.map +0 -1
  523. package/dist/es5/utils/is-old-ie.js +0 -13
  524. package/dist/es5/utils/is-old-ie.js.map +0 -1
  525. package/dist/es5/utils/load-file.js +0 -43
  526. package/dist/es5/utils/load-file.js.map +0 -1
  527. package/dist/es5/utils/stub-methods.js +0 -25
  528. package/dist/es5/utils/stub-methods.js.map +0 -1
  529. package/dist/es5/utils/utils.js +0 -31
  530. package/dist/es5/utils/utils.js.map +0 -1
  531. package/dist/es5/webgl-utils/texture-utils.d.ts +0 -11
  532. package/dist/es5/webgl-utils/typed-array-utils.d.ts +0 -36
  533. package/dist/esm/context/gl-context.js +0 -32
  534. package/dist/esm/context/gl-context.js.map +0 -1
  535. package/dist/esm/context/luma-context-data.js +0 -5
  536. package/dist/esm/context/luma-context-data.js.map +0 -1
  537. package/dist/esm/features/check-glsl-extension.js +0 -27
  538. package/dist/esm/features/check-glsl-extension.js.map +0 -1
  539. package/dist/esm/features/check-old-ie.js.map +0 -1
  540. package/dist/esm/features/features.js +0 -67
  541. package/dist/esm/features/features.js.map +0 -1
  542. package/dist/esm/features/index.js +0 -5
  543. package/dist/esm/features/index.js.map +0 -1
  544. package/dist/esm/features/limits.js +0 -55
  545. package/dist/esm/features/limits.js.map +0 -1
  546. package/dist/esm/features/webgl-features-table.js +0 -71
  547. package/dist/esm/features/webgl-features-table.js.map +0 -1
  548. package/dist/esm/features/webgl-limits-table.js +0 -161
  549. package/dist/esm/features/webgl-limits-table.js.map +0 -1
  550. package/dist/esm/utils/array-utils-flat.js +0 -39
  551. package/dist/esm/utils/array-utils-flat.js.map +0 -1
  552. package/dist/esm/utils/assert.js +0 -6
  553. package/dist/esm/utils/assert.js.map +0 -1
  554. package/dist/esm/utils/check-props.js +0 -38
  555. package/dist/esm/utils/check-props.js.map +0 -1
  556. package/dist/esm/utils/format-value.js +0 -50
  557. package/dist/esm/utils/format-value.js.map +0 -1
  558. package/dist/esm/utils/index.js +0 -7
  559. package/dist/esm/utils/index.js.map +0 -1
  560. package/dist/esm/utils/is-old-ie.js +0 -5
  561. package/dist/esm/utils/is-old-ie.js.map +0 -1
  562. package/dist/esm/utils/load-file.js +0 -30
  563. package/dist/esm/utils/load-file.js.map +0 -1
  564. package/dist/esm/utils/stub-methods.js +0 -16
  565. package/dist/esm/utils/stub-methods.js.map +0 -1
  566. package/dist/esm/utils/utils.js +0 -20
  567. package/dist/esm/utils/utils.js.map +0 -1
  568. package/dist/esm/webgl-utils/texture-utils.d.ts +0 -11
  569. package/dist/esm/webgl-utils/typed-array-utils.d.ts +0 -36
  570. package/dist/features/check-glsl-extension.d.ts +0 -2
  571. package/dist/features/check-glsl-extension.d.ts.map +0 -1
  572. package/dist/features/check-glsl-extension.js +0 -27
  573. package/dist/features/check-glsl-extension.js.map +0 -1
  574. package/dist/features/check-old-ie.d.ts +0 -2
  575. package/dist/features/check-old-ie.d.ts.map +0 -1
  576. package/dist/features/check-old-ie.js.map +0 -1
  577. package/dist/features/features.d.ts +0 -6
  578. package/dist/features/features.d.ts.map +0 -1
  579. package/dist/features/features.js +0 -67
  580. package/dist/features/features.js.map +0 -1
  581. package/dist/features/index.d.ts +0 -5
  582. package/dist/features/index.d.ts.map +0 -1
  583. package/dist/features/index.js +0 -5
  584. package/dist/features/index.js.map +0 -1
  585. package/dist/features/limits.d.ts +0 -28
  586. package/dist/features/limits.d.ts.map +0 -1
  587. package/dist/features/limits.js +0 -55
  588. package/dist/features/limits.js.map +0 -1
  589. package/dist/features/webgl-features-table.d.ts +0 -30
  590. package/dist/features/webgl-features-table.d.ts.map +0 -1
  591. package/dist/features/webgl-features-table.js +0 -71
  592. package/dist/features/webgl-features-table.js.map +0 -1
  593. package/dist/features/webgl-limits-table.d.ts +0 -161
  594. package/dist/features/webgl-limits-table.d.ts.map +0 -1
  595. package/dist/features/webgl-limits-table.js +0 -161
  596. package/dist/features/webgl-limits-table.js.map +0 -1
  597. package/dist/utils/array-utils-flat.d.ts +0 -9
  598. package/dist/utils/array-utils-flat.d.ts.map +0 -1
  599. package/dist/utils/array-utils-flat.js +0 -39
  600. package/dist/utils/array-utils-flat.js.map +0 -1
  601. package/dist/utils/assert.d.ts +0 -2
  602. package/dist/utils/assert.d.ts.map +0 -1
  603. package/dist/utils/assert.js +0 -6
  604. package/dist/utils/assert.js.map +0 -1
  605. package/dist/utils/check-props.d.ts +0 -2
  606. package/dist/utils/check-props.d.ts.map +0 -1
  607. package/dist/utils/check-props.js +0 -38
  608. package/dist/utils/check-props.js.map +0 -1
  609. package/dist/utils/format-value.d.ts +0 -5
  610. package/dist/utils/format-value.d.ts.map +0 -1
  611. package/dist/utils/format-value.js +0 -50
  612. package/dist/utils/format-value.js.map +0 -1
  613. package/dist/utils/index.d.ts +0 -7
  614. package/dist/utils/index.d.ts.map +0 -1
  615. package/dist/utils/index.js +0 -7
  616. package/dist/utils/index.js.map +0 -1
  617. package/dist/utils/is-old-ie.d.ts +0 -4
  618. package/dist/utils/is-old-ie.d.ts.map +0 -1
  619. package/dist/utils/is-old-ie.js +0 -5
  620. package/dist/utils/is-old-ie.js.map +0 -1
  621. package/dist/utils/load-file.d.ts +0 -4
  622. package/dist/utils/load-file.d.ts.map +0 -1
  623. package/dist/utils/load-file.js +0 -30
  624. package/dist/utils/load-file.js.map +0 -1
  625. package/dist/utils/stub-methods.d.ts +0 -2
  626. package/dist/utils/stub-methods.d.ts.map +0 -1
  627. package/dist/utils/stub-methods.js +0 -16
  628. package/dist/utils/stub-methods.js.map +0 -1
  629. package/dist/utils/utils.d.ts +0 -15
  630. package/dist/utils/utils.d.ts.map +0 -1
  631. package/dist/utils/utils.js +0 -20
  632. package/dist/utils/utils.js.map +0 -1
  633. package/src/context/gl-context.ts +0 -31
  634. package/src/context/luma-context-data.ts +0 -27
  635. package/src/features/check-glsl-extension.ts +0 -34
  636. package/src/features/features.ts +0 -80
  637. package/src/features/index.ts +0 -5
  638. package/src/features/limits.ts +0 -66
  639. package/src/features/webgl-features-table.ts +0 -104
  640. package/src/features/webgl-limits-table.ts +0 -51
  641. package/src/utils/array-utils-flat.ts +0 -56
  642. package/src/utils/assert.ts +0 -7
  643. package/src/utils/check-props.ts +0 -68
  644. package/src/utils/format-value.ts +0 -37
  645. package/src/utils/index.ts +0 -6
  646. package/src/utils/is-old-ie.ts +0 -6
  647. package/src/utils/load-file.ts +0 -40
  648. package/src/utils/stub-methods.ts +0 -20
  649. package/src/utils/utils.ts +0 -35
  650. package/src/webgl-utils/texture-utils.d.ts +0 -11
  651. package/src/webgl-utils/typed-array-utils.d.ts +0 -36
@@ -7,22 +7,40 @@ Object.defineProperty(exports, "__esModule", {
7
7
  });
8
8
  exports.default = void 0;
9
9
 
10
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
10
+ var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
11
11
 
12
- var _constants = _interopRequireDefault(require("@luma.gl/constants"));
12
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
13
+
14
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
15
+
16
+ var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
17
+
18
+ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
19
+
20
+ var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
21
+
22
+ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
13
23
 
14
- var _gltools = require("@luma.gl/gltools");
24
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
15
25
 
16
26
  var _api = require("@luma.gl/api");
17
27
 
28
+ var _constants = _interopRequireDefault(require("@luma.gl/constants"));
29
+
30
+ var _webglChecks = require("../context/context/webgl-checks");
31
+
18
32
  var _accessor = _interopRequireDefault(require("./accessor"));
19
33
 
20
- var _webglUtils = require("../webgl-utils");
34
+ var _typedArrayUtils = require("../webgl-utils/typed-array-utils");
21
35
 
22
- var _utils = require("../utils");
36
+ var _webglDevice = _interopRequireDefault(require("../device/webgl-device"));
23
37
 
24
- const DEBUG_DATA_LENGTH = 10;
25
- const DEPRECATED_PROPS = {
38
+ 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
+
40
+ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
41
+
42
+ var DEBUG_DATA_LENGTH = 10;
43
+ var DEPRECATED_PROPS = {
26
44
  offset: 'accessor.offset',
27
45
  stride: 'accessor.stride',
28
46
  type: 'accessor.type',
@@ -33,359 +51,412 @@ const DEPRECATED_PROPS = {
33
51
  instanced: 'accessor.divisor',
34
52
  isInstanced: 'accessor.divisor'
35
53
  };
36
- const PROP_CHECKS_INITIALIZE = {
54
+ var PROP_CHECKS_INITIALIZE = {
37
55
  removedProps: {},
38
56
  replacedProps: {
39
57
  bytes: 'byteLength'
40
58
  },
41
59
  deprecatedProps: DEPRECATED_PROPS
42
60
  };
43
- const PROP_CHECKS_SET_PROPS = {
61
+ var PROP_CHECKS_SET_PROPS = {
44
62
  removedProps: DEPRECATED_PROPS
45
63
  };
46
64
 
47
- class WEBGLBuffer extends _api.Buffer {
48
- constructor(gl, props = {}) {
49
- super(gl, props);
50
- (0, _defineProperty2.default)(this, "gl", void 0);
51
- (0, _defineProperty2.default)(this, "gl2", void 0);
52
- (0, _defineProperty2.default)(this, "handle", void 0);
53
- (0, _defineProperty2.default)(this, "target", void 0);
54
- (0, _defineProperty2.default)(this, "usage", void 0);
55
- (0, _defineProperty2.default)(this, "byteLength", void 0);
56
- (0, _defineProperty2.default)(this, "bytesUsed", void 0);
57
- (0, _defineProperty2.default)(this, "accessor", void 0);
58
- (0, _defineProperty2.default)(this, "debugData", void 0);
59
- this.gl = gl;
60
- this.gl2 = (0, _gltools.getWebGL2Context)(gl);
61
- const handle = typeof props === 'object' ? props.handle : undefined;
62
- this.handle = handle || this.gl.createBuffer();
63
- this.target = props.target || (this.gl.webgl2 ? _constants.default.COPY_READ_BUFFER : _constants.default.ARRAY_BUFFER);
64
- this.initialize(props);
65
- Object.seal(this);
65
+ var WEBGLBuffer = function (_Buffer) {
66
+ (0, _inherits2.default)(WEBGLBuffer, _Buffer);
67
+
68
+ var _super = _createSuper(WEBGLBuffer);
69
+
70
+ function WEBGLBuffer(gl) {
71
+ var _this;
72
+
73
+ var props = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
74
+ (0, _classCallCheck2.default)(this, WEBGLBuffer);
75
+ _this = _super.call(this, _webglDevice.default.attach(gl), props);
76
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "device", void 0);
77
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "gl", void 0);
78
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "gl2", void 0);
79
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "handle", void 0);
80
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "target", void 0);
81
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "usage", void 0);
82
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "byteLength", void 0);
83
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "bytesUsed", void 0);
84
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "accessor", void 0);
85
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "debugData", void 0);
86
+ _this.gl = gl;
87
+ _this.gl2 = (0, _webglChecks.getWebGL2Context)(gl);
88
+ var handle = (0, _typeof2.default)(props) === 'object' ? props.handle : undefined;
89
+ _this.handle = handle || _this.gl.createBuffer();
90
+ _this.target = props.target || (_this.gl.webgl2 ? _constants.default.COPY_READ_BUFFER : _constants.default.ARRAY_BUFFER);
91
+
92
+ _this.initialize(props);
93
+
94
+ Object.seal((0, _assertThisInitialized2.default)(_this));
95
+ return _this;
66
96
  }
67
97
 
68
- destroy() {
69
- if (this.handle) {
70
- this.removeStats();
71
- this.trackDeallocatedMemory();
72
- this.gl.deleteBuffer(this.handle);
73
- this.handle = null;
98
+ (0, _createClass2.default)(WEBGLBuffer, [{
99
+ key: "destroy",
100
+ value: function destroy() {
101
+ if (this.handle) {
102
+ this.removeStats();
103
+ this.trackDeallocatedMemory();
104
+ this.gl.deleteBuffer(this.handle);
105
+ this.handle = null;
106
+ }
74
107
  }
75
- }
76
-
77
- getElementCount(accessor = this.accessor) {
78
- return Math.round(this.byteLength / _accessor.default.getBytesPerElement(accessor));
79
- }
80
-
81
- getVertexCount(accessor = this.accessor) {
82
- return Math.round(this.byteLength / _accessor.default.getBytesPerVertex(accessor));
83
- }
84
-
85
- initialize(props = {}) {
86
- if (ArrayBuffer.isView(props)) {
87
- props = {
88
- data: props
89
- };
108
+ }, {
109
+ key: "getElementCount",
110
+ value: function getElementCount() {
111
+ var accessor = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.accessor;
112
+ return Math.round(this.byteLength / _accessor.default.getBytesPerElement(accessor));
90
113
  }
91
-
92
- if (Number.isFinite(props)) {
93
- props = {
94
- byteLength: props
95
- };
114
+ }, {
115
+ key: "getVertexCount",
116
+ value: function getVertexCount() {
117
+ var accessor = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.accessor;
118
+ return Math.round(this.byteLength / _accessor.default.getBytesPerVertex(accessor));
96
119
  }
120
+ }, {
121
+ key: "initialize",
122
+ value: function initialize() {
123
+ var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
124
+
125
+ if (ArrayBuffer.isView(props)) {
126
+ props = {
127
+ data: props
128
+ };
129
+ }
97
130
 
98
- props = (0, _utils.checkProps)('Buffer', props, PROP_CHECKS_INITIALIZE);
99
- this.usage = props.usage || _constants.default.STATIC_DRAW;
100
- this.debugData = null;
101
- this.setAccessor(Object.assign({}, props, props.accessor));
131
+ if (Number.isFinite(props)) {
132
+ props = {
133
+ byteLength: props
134
+ };
135
+ }
102
136
 
103
- if (props.data) {
104
- this._setData(props.data, props.offset, props.byteLength);
105
- } else {
106
- this._setByteLength(props.byteLength || 0);
107
- }
137
+ props = (0, _api.checkProps)('Buffer', props, PROP_CHECKS_INITIALIZE);
138
+ this.usage = props.usage || _constants.default.STATIC_DRAW;
139
+ this.debugData = null;
140
+ this.setAccessor(Object.assign({}, props, props.accessor));
108
141
 
109
- return this;
110
- }
111
-
112
- setProps(props) {
113
- props = (0, _utils.checkProps)('Buffer', props, PROP_CHECKS_SET_PROPS);
142
+ if (props.data) {
143
+ this._setData(props.data, props.offset, props.byteLength);
144
+ } else {
145
+ this._setByteLength(props.byteLength || 0);
146
+ }
114
147
 
115
- if ('accessor' in props) {
116
- this.setAccessor(props.accessor);
148
+ return this;
117
149
  }
150
+ }, {
151
+ key: "setProps",
152
+ value: function setProps(props) {
153
+ props = (0, _api.checkProps)('Buffer', props, PROP_CHECKS_SET_PROPS);
118
154
 
119
- return this;
120
- }
121
-
122
- setAccessor(accessor) {
123
- accessor = Object.assign({}, accessor);
124
- delete accessor.buffer;
125
- this.accessor = new _accessor.default(accessor);
126
- return this;
127
- }
128
-
129
- reallocate(byteLength) {
130
- if (byteLength > this.byteLength) {
131
- this._setByteLength(byteLength);
155
+ if ('accessor' in props) {
156
+ this.setAccessor(props.accessor);
157
+ }
132
158
 
133
- return true;
159
+ return this;
134
160
  }
161
+ }, {
162
+ key: "setAccessor",
163
+ value: function setAccessor(accessor) {
164
+ accessor = Object.assign({}, accessor);
165
+ delete accessor.buffer;
166
+ this.accessor = new _accessor.default(accessor);
167
+ return this;
168
+ }
169
+ }, {
170
+ key: "reallocate",
171
+ value: function reallocate(byteLength) {
172
+ if (byteLength > this.byteLength) {
173
+ this._setByteLength(byteLength);
135
174
 
136
- this.bytesUsed = byteLength;
137
- return false;
138
- }
139
-
140
- setData(props) {
141
- return this.initialize(props);
142
- }
175
+ return true;
176
+ }
143
177
 
144
- subData(props) {
145
- if (ArrayBuffer.isView(props)) {
146
- props = {
147
- data: props
148
- };
178
+ this.bytesUsed = byteLength;
179
+ return false;
149
180
  }
150
-
151
- const {
152
- data,
153
- offset = 0,
154
- srcOffset = 0
155
- } = props;
156
- const byteLength = props.byteLength || props.length;
157
- (0, _utils.assert)(data);
158
- const target = this.gl.webgl2 ? _constants.default.COPY_WRITE_BUFFER : this.target;
159
- this.gl.bindBuffer(target, this.handle);
160
-
161
- if (srcOffset !== 0 || byteLength !== undefined) {
162
- (0, _gltools.assertWebGL2Context)(this.gl);
163
- this.gl.bufferSubData(this.target, offset, data, srcOffset, byteLength);
164
- } else {
165
- this.gl.bufferSubData(target, offset, data);
181
+ }, {
182
+ key: "setData",
183
+ value: function setData(props) {
184
+ return this.initialize(props);
166
185
  }
186
+ }, {
187
+ key: "subData",
188
+ value: function subData(props) {
189
+ if (ArrayBuffer.isView(props)) {
190
+ props = {
191
+ data: props
192
+ };
193
+ }
167
194
 
168
- this.gl.bindBuffer(target, null);
169
- this.debugData = null;
195
+ var _props = props,
196
+ data = _props.data,
197
+ _props$offset = _props.offset,
198
+ offset = _props$offset === void 0 ? 0 : _props$offset,
199
+ _props$srcOffset = _props.srcOffset,
200
+ srcOffset = _props$srcOffset === void 0 ? 0 : _props$srcOffset;
201
+ var byteLength = props.byteLength || props.length;
202
+ (0, _api.assert)(data);
203
+ var target = this.gl.webgl2 ? _constants.default.COPY_WRITE_BUFFER : this.target;
204
+ this.gl.bindBuffer(target, this.handle);
170
205
 
171
- this._inferType(data);
206
+ if (srcOffset !== 0 || byteLength !== undefined) {
207
+ (0, _webglChecks.assertWebGL2Context)(this.gl);
208
+ this.gl.bufferSubData(this.target, offset, data, srcOffset, byteLength);
209
+ } else {
210
+ this.gl.bufferSubData(target, offset, data);
211
+ }
172
212
 
173
- return this;
174
- }
213
+ this.gl.bindBuffer(target, null);
214
+ this.debugData = null;
175
215
 
176
- copyData(options) {
177
- const {
178
- sourceBuffer,
179
- readOffset = 0,
180
- writeOffset = 0,
181
- size
182
- } = options;
183
- const {
184
- gl,
185
- gl2
186
- } = this;
187
- (0, _gltools.assertWebGL2Context)(gl);
188
- gl.bindBuffer(_constants.default.COPY_READ_BUFFER, sourceBuffer.handle);
189
- gl.bindBuffer(_constants.default.COPY_WRITE_BUFFER, this.handle);
190
- gl2.copyBufferSubData(_constants.default.COPY_READ_BUFFER, _constants.default.COPY_WRITE_BUFFER, readOffset, writeOffset, size);
191
- gl.bindBuffer(_constants.default.COPY_READ_BUFFER, null);
192
- gl.bindBuffer(_constants.default.COPY_WRITE_BUFFER, null);
193
- this.debugData = null;
194
- return this;
195
- }
216
+ this._inferType(data);
196
217
 
197
- getData(options) {
198
- let {
199
- dstData = null,
200
- length = 0
201
- } = options || {};
202
- const {
203
- srcByteOffset = 0,
204
- dstOffset = 0
205
- } = options || {};
206
- (0, _gltools.assertWebGL2Context)(this.gl);
207
- const ArrayType = (0, _webglUtils.getTypedArrayFromGLType)(this.accessor.type || _constants.default.FLOAT, {
208
- clamped: false
209
- });
210
-
211
- const sourceAvailableElementCount = this._getAvailableElementCount(srcByteOffset);
212
-
213
- const dstElementOffset = dstOffset;
214
- let dstAvailableElementCount;
215
- let dstElementCount;
216
-
217
- if (dstData) {
218
- dstElementCount = dstData.length;
219
- dstAvailableElementCount = dstElementCount - dstElementOffset;
220
- } else {
221
- dstAvailableElementCount = Math.min(sourceAvailableElementCount, length || sourceAvailableElementCount);
222
- dstElementCount = dstElementOffset + dstAvailableElementCount;
218
+ return this;
219
+ }
220
+ }, {
221
+ key: "copyData",
222
+ value: function copyData(options) {
223
+ var sourceBuffer = options.sourceBuffer,
224
+ _options$readOffset = options.readOffset,
225
+ readOffset = _options$readOffset === void 0 ? 0 : _options$readOffset,
226
+ _options$writeOffset = options.writeOffset,
227
+ writeOffset = _options$writeOffset === void 0 ? 0 : _options$writeOffset,
228
+ size = options.size;
229
+ var gl = this.gl,
230
+ gl2 = this.gl2;
231
+ (0, _webglChecks.assertWebGL2Context)(gl);
232
+ gl.bindBuffer(_constants.default.COPY_READ_BUFFER, sourceBuffer.handle);
233
+ gl.bindBuffer(_constants.default.COPY_WRITE_BUFFER, this.handle);
234
+ gl2.copyBufferSubData(_constants.default.COPY_READ_BUFFER, _constants.default.COPY_WRITE_BUFFER, readOffset, writeOffset, size);
235
+ gl.bindBuffer(_constants.default.COPY_READ_BUFFER, null);
236
+ gl.bindBuffer(_constants.default.COPY_WRITE_BUFFER, null);
237
+ this.debugData = null;
238
+ return this;
223
239
  }
240
+ }, {
241
+ key: "getData",
242
+ value: function getData(options) {
243
+ var _ref = options || {},
244
+ _ref$dstData = _ref.dstData,
245
+ dstData = _ref$dstData === void 0 ? null : _ref$dstData,
246
+ _ref$length = _ref.length,
247
+ length = _ref$length === void 0 ? 0 : _ref$length;
248
+
249
+ var _ref2 = options || {},
250
+ _ref2$srcByteOffset = _ref2.srcByteOffset,
251
+ srcByteOffset = _ref2$srcByteOffset === void 0 ? 0 : _ref2$srcByteOffset,
252
+ _ref2$dstOffset = _ref2.dstOffset,
253
+ dstOffset = _ref2$dstOffset === void 0 ? 0 : _ref2$dstOffset;
254
+
255
+ (0, _webglChecks.assertWebGL2Context)(this.gl);
256
+ var ArrayType = (0, _typedArrayUtils.getTypedArrayFromGLType)(this.accessor.type || _constants.default.FLOAT, {
257
+ clamped: false
258
+ });
224
259
 
225
- const copyElementCount = Math.min(sourceAvailableElementCount, dstAvailableElementCount);
226
- length = length || copyElementCount;
227
- (0, _utils.assert)(length <= copyElementCount);
228
- dstData = dstData || new ArrayType(dstElementCount);
229
- this.gl.bindBuffer(_constants.default.COPY_READ_BUFFER, this.handle);
230
- this.gl2.getBufferSubData(_constants.default.COPY_READ_BUFFER, srcByteOffset, dstData, dstOffset, length);
231
- this.gl.bindBuffer(_constants.default.COPY_READ_BUFFER, null);
232
- return dstData;
233
- }
260
+ var sourceAvailableElementCount = this._getAvailableElementCount(srcByteOffset);
261
+
262
+ var dstElementOffset = dstOffset;
263
+ var dstAvailableElementCount;
264
+ var dstElementCount;
234
265
 
235
- bind(options) {
236
- const {
237
- target = this.target,
238
- index = this.accessor && this.accessor.index,
239
- offset = 0,
240
- size
241
- } = options || {};
242
-
243
- if (target === _constants.default.UNIFORM_BUFFER || target === _constants.default.TRANSFORM_FEEDBACK_BUFFER) {
244
- if (size !== undefined) {
245
- this.gl2.bindBufferRange(target, index, this.handle, offset, size);
266
+ if (dstData) {
267
+ dstElementCount = dstData.length;
268
+ dstAvailableElementCount = dstElementCount - dstElementOffset;
246
269
  } else {
247
- (0, _utils.assert)(offset === 0);
248
- this.gl2.bindBufferBase(target, index, this.handle);
270
+ dstAvailableElementCount = Math.min(sourceAvailableElementCount, length || sourceAvailableElementCount);
271
+ dstElementCount = dstElementOffset + dstAvailableElementCount;
249
272
  }
250
- } else {
251
- this.gl.bindBuffer(target, this.handle);
252
- }
253
-
254
- return this;
255
- }
256
273
 
257
- unbind(options) {
258
- const {
259
- target = this.target,
260
- index = this.accessor && this.accessor.index
261
- } = options || {};
262
- const isIndexedBuffer = target === _constants.default.UNIFORM_BUFFER || target === _constants.default.TRANSFORM_FEEDBACK_BUFFER;
274
+ var copyElementCount = Math.min(sourceAvailableElementCount, dstAvailableElementCount);
275
+ length = length || copyElementCount;
276
+ (0, _api.assert)(length <= copyElementCount);
277
+ dstData = dstData || new ArrayType(dstElementCount);
278
+ this.gl.bindBuffer(_constants.default.COPY_READ_BUFFER, this.handle);
279
+ this.gl2.getBufferSubData(_constants.default.COPY_READ_BUFFER, srcByteOffset, dstData, dstOffset, length);
280
+ this.gl.bindBuffer(_constants.default.COPY_READ_BUFFER, null);
281
+ return dstData;
282
+ }
283
+ }, {
284
+ key: "bind",
285
+ value: function bind(options) {
286
+ var _ref3 = options || {},
287
+ _ref3$target = _ref3.target,
288
+ target = _ref3$target === void 0 ? this.target : _ref3$target,
289
+ _ref3$index = _ref3.index,
290
+ index = _ref3$index === void 0 ? this.accessor && this.accessor.index : _ref3$index,
291
+ _ref3$offset = _ref3.offset,
292
+ offset = _ref3$offset === void 0 ? 0 : _ref3$offset,
293
+ size = _ref3.size;
294
+
295
+ if (target === _constants.default.UNIFORM_BUFFER || target === _constants.default.TRANSFORM_FEEDBACK_BUFFER) {
296
+ if (size !== undefined) {
297
+ this.gl2.bindBufferRange(target, index, this.handle, offset, size);
298
+ } else {
299
+ (0, _api.assert)(offset === 0);
300
+ this.gl2.bindBufferBase(target, index, this.handle);
301
+ }
302
+ } else {
303
+ this.gl.bindBuffer(target, this.handle);
304
+ }
263
305
 
264
- if (isIndexedBuffer) {
265
- this.gl2.bindBufferBase(target, index, null);
266
- } else {
267
- this.gl.bindBuffer(target, null);
306
+ return this;
268
307
  }
308
+ }, {
309
+ key: "unbind",
310
+ value: function unbind(options) {
311
+ var _ref4 = options || {},
312
+ _ref4$target = _ref4.target,
313
+ target = _ref4$target === void 0 ? this.target : _ref4$target,
314
+ _ref4$index = _ref4.index,
315
+ index = _ref4$index === void 0 ? this.accessor && this.accessor.index : _ref4$index;
316
+
317
+ var isIndexedBuffer = target === _constants.default.UNIFORM_BUFFER || target === _constants.default.TRANSFORM_FEEDBACK_BUFFER;
318
+
319
+ if (isIndexedBuffer) {
320
+ this.gl2.bindBufferBase(target, index, null);
321
+ } else {
322
+ this.gl.bindBuffer(target, null);
323
+ }
269
324
 
270
- return this;
271
- }
325
+ return this;
326
+ }
327
+ }, {
328
+ key: "getDebugData",
329
+ value: function getDebugData() {
330
+ if (!this.debugData) {
331
+ this.debugData = this.getData({
332
+ length: Math.min(DEBUG_DATA_LENGTH, this.byteLength)
333
+ });
334
+ return {
335
+ data: this.debugData,
336
+ changed: true
337
+ };
338
+ }
272
339
 
273
- getDebugData() {
274
- if (!this.debugData) {
275
- this.debugData = this.getData({
276
- length: Math.min(DEBUG_DATA_LENGTH, this.byteLength)
277
- });
278
340
  return {
279
341
  data: this.debugData,
280
- changed: true
342
+ changed: false
281
343
  };
282
344
  }
283
-
284
- return {
285
- data: this.debugData,
286
- changed: false
287
- };
288
- }
289
-
290
- invalidateDebugData() {
291
- this.debugData = null;
292
- }
293
-
294
- _setData(data, offset = 0, byteLength = data.byteLength + offset) {
295
- (0, _utils.assert)(ArrayBuffer.isView(data));
296
- this.trackDeallocatedMemory();
297
-
298
- const target = this._getTarget();
299
-
300
- this.gl.bindBuffer(target, this.handle);
301
- this.gl.bufferData(target, byteLength, this.usage);
302
- this.gl.bufferSubData(target, offset, data);
303
- this.gl.bindBuffer(target, null);
304
- this.debugData = data.slice(0, DEBUG_DATA_LENGTH);
305
- this.bytesUsed = byteLength;
306
- this.byteLength = byteLength;
307
- this.trackAllocatedMemory(byteLength);
308
- const type = (0, _webglUtils.getGLTypeFromTypedArray)(data);
309
- (0, _utils.assert)(type);
310
- this.setAccessor(new _accessor.default(this.accessor, {
311
- type
312
- }));
313
- return this;
314
- }
315
-
316
- _setByteLength(byteLength, usage = this.usage) {
317
- (0, _utils.assert)(byteLength >= 0);
318
- this.trackDeallocatedMemory();
319
- let data = byteLength;
320
-
321
- if (byteLength === 0) {
322
- data = new Float32Array(0);
345
+ }, {
346
+ key: "invalidateDebugData",
347
+ value: function invalidateDebugData() {
348
+ this.debugData = null;
323
349
  }
350
+ }, {
351
+ key: "_setData",
352
+ value: function _setData(data) {
353
+ var offset = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
354
+ var byteLength = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : data.byteLength + offset;
355
+ (0, _api.assert)(ArrayBuffer.isView(data));
356
+ this.trackDeallocatedMemory();
324
357
 
325
- const target = this._getTarget();
326
-
327
- this.gl.bindBuffer(target, this.handle);
328
- this.gl.bufferData(target, data, usage);
329
- this.gl.bindBuffer(target, null);
330
- this.usage = usage;
331
- this.debugData = null;
332
- this.bytesUsed = byteLength;
333
- this.byteLength = byteLength;
334
- this.trackAllocatedMemory(byteLength);
335
- return this;
336
- }
337
-
338
- _getTarget() {
339
- return this.gl.webgl2 ? _constants.default.COPY_WRITE_BUFFER : this.target;
340
- }
341
-
342
- _getAvailableElementCount(srcByteOffset) {
343
- const ArrayType = (0, _webglUtils.getTypedArrayFromGLType)(this.accessor.type || _constants.default.FLOAT, {
344
- clamped: false
345
- });
346
- const sourceElementOffset = srcByteOffset / ArrayType.BYTES_PER_ELEMENT;
347
- return this.getElementCount() - sourceElementOffset;
348
- }
358
+ var target = this._getTarget();
349
359
 
350
- _inferType(data) {
351
- if (!this.accessor.type) {
360
+ this.gl.bindBuffer(target, this.handle);
361
+ this.gl.bufferData(target, byteLength, this.usage);
362
+ this.gl.bufferSubData(target, offset, data);
363
+ this.gl.bindBuffer(target, null);
364
+ this.debugData = data.slice(0, DEBUG_DATA_LENGTH);
365
+ this.bytesUsed = byteLength;
366
+ this.byteLength = byteLength;
367
+ this.trackAllocatedMemory(byteLength);
368
+ var type = (0, _typedArrayUtils.getGLTypeFromTypedArray)(data);
369
+ (0, _api.assert)(type);
352
370
  this.setAccessor(new _accessor.default(this.accessor, {
353
- type: (0, _webglUtils.getGLTypeFromTypedArray)(data)
371
+ type: type
354
372
  }));
373
+ return this;
355
374
  }
356
- }
357
-
358
- getParameter(pname) {
359
- this.gl.bindBuffer(this.target, this.handle);
360
- const value = this.gl.getBufferParameter(this.target, pname);
361
- this.gl.bindBuffer(this.target, null);
362
- return value;
363
- }
364
-
365
- get type() {
366
- return this.accessor.type;
367
- }
368
-
369
- get bytes() {
370
- _gltools.log.deprecated('Buffer.bytes', 'Buffer.byteLength')();
375
+ }, {
376
+ key: "_setByteLength",
377
+ value: function _setByteLength(byteLength) {
378
+ var usage = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.usage;
379
+ (0, _api.assert)(byteLength >= 0);
380
+ this.trackDeallocatedMemory();
381
+ var data = byteLength;
371
382
 
372
- return this.byteLength;
373
- }
383
+ if (byteLength === 0) {
384
+ data = new Float32Array(0);
385
+ }
374
386
 
375
- setByteLength(byteLength) {
376
- _gltools.log.deprecated('setByteLength', 'reallocate')();
387
+ var target = this._getTarget();
377
388
 
378
- return this.reallocate(byteLength);
379
- }
389
+ this.gl.bindBuffer(target, this.handle);
390
+ this.gl.bufferData(target, data, usage);
391
+ this.gl.bindBuffer(target, null);
392
+ this.usage = usage;
393
+ this.debugData = null;
394
+ this.bytesUsed = byteLength;
395
+ this.byteLength = byteLength;
396
+ this.trackAllocatedMemory(byteLength);
397
+ return this;
398
+ }
399
+ }, {
400
+ key: "_getTarget",
401
+ value: function _getTarget() {
402
+ return this.gl.webgl2 ? _constants.default.COPY_WRITE_BUFFER : this.target;
403
+ }
404
+ }, {
405
+ key: "_getAvailableElementCount",
406
+ value: function _getAvailableElementCount(srcByteOffset) {
407
+ var ArrayType = (0, _typedArrayUtils.getTypedArrayFromGLType)(this.accessor.type || _constants.default.FLOAT, {
408
+ clamped: false
409
+ });
410
+ var sourceElementOffset = srcByteOffset / ArrayType.BYTES_PER_ELEMENT;
411
+ return this.getElementCount() - sourceElementOffset;
412
+ }
413
+ }, {
414
+ key: "_inferType",
415
+ value: function _inferType(data) {
416
+ if (!this.accessor.type) {
417
+ this.setAccessor(new _accessor.default(this.accessor, {
418
+ type: (0, _typedArrayUtils.getGLTypeFromTypedArray)(data)
419
+ }));
420
+ }
421
+ }
422
+ }, {
423
+ key: "getParameter",
424
+ value: function getParameter(pname) {
425
+ this.gl.bindBuffer(this.target, this.handle);
426
+ var value = this.gl.getBufferParameter(this.target, pname);
427
+ this.gl.bindBuffer(this.target, null);
428
+ return value;
429
+ }
430
+ }, {
431
+ key: "type",
432
+ get: function get() {
433
+ return this.accessor.type;
434
+ }
435
+ }, {
436
+ key: "bytes",
437
+ get: function get() {
438
+ _api.log.deprecated('Buffer.bytes', 'Buffer.byteLength')();
380
439
 
381
- updateAccessor(opts) {
382
- _gltools.log.deprecated('updateAccessor(...)', 'setAccessor(new Accessor(buffer.accessor, ...)')();
440
+ return this.byteLength;
441
+ }
442
+ }, {
443
+ key: "setByteLength",
444
+ value: function setByteLength(byteLength) {
445
+ _api.log.deprecated('setByteLength', 'reallocate')();
383
446
 
384
- this.accessor = new _accessor.default(this.accessor, opts);
385
- return this;
386
- }
447
+ return this.reallocate(byteLength);
448
+ }
449
+ }, {
450
+ key: "updateAccessor",
451
+ value: function updateAccessor(opts) {
452
+ _api.log.deprecated('updateAccessor(...)', 'setAccessor(new Accessor(buffer.accessor, ...)')();
387
453
 
388
- }
454
+ this.accessor = new _accessor.default(this.accessor, opts);
455
+ return this;
456
+ }
457
+ }]);
458
+ return WEBGLBuffer;
459
+ }(_api.Buffer);
389
460
 
390
461
  exports.default = WEBGLBuffer;
391
462
  //# sourceMappingURL=webgl-buffer.js.map