@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,450 +7,414 @@ 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 _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
12
+ var _constants = _interopRequireDefault(require("@luma.gl/constants"));
13
13
 
14
14
  var _gltools = require("@luma.gl/gltools");
15
15
 
16
- var _accessor2 = _interopRequireDefault(require("./accessor"));
16
+ var _accessor = _interopRequireDefault(require("./accessor"));
17
17
 
18
- var _buffer = _interopRequireDefault(require("./buffer"));
18
+ var _webglBuffer = _interopRequireDefault(require("./webgl-buffer"));
19
19
 
20
20
  var _vertexArrayObject = _interopRequireDefault(require("./vertex-array-object"));
21
21
 
22
- var _assert = require("../utils/assert");
22
+ var _utils = require("../utils");
23
+
24
+ const ERR_ATTRIBUTE_TYPE = 'VertexArray: attributes must be Buffers or constants (i.e. typed array)';
25
+ const MULTI_LOCATION_ATTRIBUTE_REGEXP = /^(.+)__LOCATION_([0-9]+)$/;
26
+
27
+ class VertexArray {
28
+ constructor(gl, props) {
29
+ (0, _defineProperty2.default)(this, "id", void 0);
30
+ (0, _defineProperty2.default)(this, "gl", void 0);
31
+ (0, _defineProperty2.default)(this, "attributes", {});
32
+ (0, _defineProperty2.default)(this, "vertexArrayObject", void 0);
33
+ (0, _defineProperty2.default)(this, "accessors", []);
34
+ (0, _defineProperty2.default)(this, "configuration", null);
35
+ (0, _defineProperty2.default)(this, "elements", null);
36
+ (0, _defineProperty2.default)(this, "elementsAccessor", null);
37
+ (0, _defineProperty2.default)(this, "values", null);
38
+ (0, _defineProperty2.default)(this, "unused", null);
39
+ (0, _defineProperty2.default)(this, "drawParams", null);
40
+ (0, _defineProperty2.default)(this, "buffer", null);
41
+ (0, _defineProperty2.default)(this, "bindOnUse", false);
42
+ const id = (props === null || props === void 0 ? void 0 : props.id) || (props === null || props === void 0 ? void 0 : props.program) && (props === null || props === void 0 ? void 0 : props.program.id);
43
+ this.vertexArrayObject = new _vertexArrayObject.default(gl);
44
+ this.id = id;
45
+ this.gl = gl;
46
+ this.configuration = null;
47
+ this.initialize(props);
48
+ Object.seal(this);
49
+ }
23
50
 
24
- var _stubMethods = require("../utils/stub-methods");
51
+ delete() {
52
+ if (this.buffer) {
53
+ this.buffer.delete();
54
+ }
25
55
 
26
- var ERR_ATTRIBUTE_TYPE = 'VertexArray: attributes must be Buffers or constants (i.e. typed array)';
27
- var MULTI_LOCATION_ATTRIBUTE_REGEXP = /^(.+)__LOCATION_([0-9]+)$/;
28
- var DEPRECATIONS_V6 = ['setBuffers', 'setGeneric', 'clearBindings', 'setLocations', 'setGenericValues', 'setDivisor', 'enable', 'disable'];
56
+ this.vertexArrayObject.delete();
57
+ }
29
58
 
30
- var VertexArray = function () {
31
- function VertexArray(gl) {
32
- var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
33
- (0, _classCallCheck2.default)(this, VertexArray);
34
- var id = opts.id || opts.program && opts.program.id;
35
- this.id = id;
36
- this.gl = gl;
59
+ initialize(props) {
60
+ this.reset();
37
61
  this.configuration = null;
62
+ this.bindOnUse = false;
63
+ return this.setProps(props || {});
64
+ }
65
+
66
+ reset() {
38
67
  this.elements = null;
39
68
  this.elementsAccessor = null;
40
- this.values = null;
41
- this.accessors = null;
42
- this.unused = null;
69
+ const {
70
+ MAX_ATTRIBUTES
71
+ } = this.vertexArrayObject;
72
+ this.values = new Array(MAX_ATTRIBUTES).fill(null);
73
+ this.accessors = new Array(MAX_ATTRIBUTES).fill(null);
74
+ this.unused = {};
43
75
  this.drawParams = null;
44
- this.buffer = null;
45
- this.attributes = {};
46
- this.vertexArrayObject = new _vertexArrayObject.default(gl);
47
- (0, _stubMethods.stubRemovedMethods)(this, 'VertexArray', 'v6.0', DEPRECATIONS_V6);
48
- this.initialize(opts);
49
- Object.seal(this);
76
+ return this;
50
77
  }
51
78
 
52
- (0, _createClass2.default)(VertexArray, [{
53
- key: "delete",
54
- value: function _delete() {
55
- if (this.buffer) {
56
- this.buffer.delete();
57
- }
79
+ setProps(props) {
80
+ if ('program' in props) {
81
+ this.configuration = props.program && props.program.configuration;
82
+ }
58
83
 
59
- this.vertexArrayObject.delete();
84
+ if ('configuration' in props) {
85
+ this.configuration = props.configuration;
60
86
  }
61
- }, {
62
- key: "initialize",
63
- value: function initialize() {
64
- var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
65
- this.reset();
66
- this.configuration = null;
67
- this.bindOnUse = false;
68
- return this.setProps(props);
87
+
88
+ if ('attributes' in props) {
89
+ this.setAttributes(props.attributes);
69
90
  }
70
- }, {
71
- key: "reset",
72
- value: function reset() {
73
- this.elements = null;
74
- this.elementsAccessor = null;
75
- var MAX_ATTRIBUTES = this.vertexArrayObject.MAX_ATTRIBUTES;
76
- this.values = new Array(MAX_ATTRIBUTES).fill(null);
77
- this.accessors = new Array(MAX_ATTRIBUTES).fill(null);
78
- this.unused = {};
79
- this.drawParams = null;
80
- return this;
91
+
92
+ if ('elements' in props) {
93
+ this.setElementBuffer(props.elements);
81
94
  }
82
- }, {
83
- key: "setProps",
84
- value: function setProps(props) {
85
- if ('program' in props) {
86
- this.configuration = props.program && props.program.configuration;
87
- }
88
95
 
89
- if ('configuration' in props) {
90
- this.configuration = props.configuration;
91
- }
96
+ if ('bindOnUse' in props) {
97
+ props = props.bindOnUse;
98
+ }
92
99
 
93
- if ('attributes' in props) {
94
- this.setAttributes(props.attributes);
95
- }
100
+ return this;
101
+ }
96
102
 
97
- if ('elements' in props) {
98
- this.setElementBuffer(props.elements);
99
- }
103
+ clearDrawParams() {
104
+ this.drawParams = null;
105
+ }
100
106
 
101
- if ('bindOnUse' in props) {
102
- props = props.bindOnUse;
107
+ getDrawParams() {
108
+ this.drawParams = this.drawParams || this._updateDrawParams();
109
+ return this.drawParams;
110
+ }
111
+
112
+ setAttributes(attributes) {
113
+ Object.assign(this.attributes, attributes);
114
+ this.vertexArrayObject.bind(() => {
115
+ for (const locationOrName in attributes) {
116
+ const value = attributes[locationOrName];
117
+
118
+ this._setAttribute(locationOrName, value);
103
119
  }
104
120
 
121
+ this.gl.bindBuffer(_constants.default.ARRAY_BUFFER, null);
122
+ });
123
+ return this;
124
+ }
125
+
126
+ setElementBuffer(elementBuffer = null, accessor = {}) {
127
+ this.elements = elementBuffer;
128
+ this.elementsAccessor = accessor;
129
+ this.clearDrawParams();
130
+ this.vertexArrayObject.setElementBuffer(elementBuffer, accessor);
131
+ return this;
132
+ }
133
+
134
+ setBuffer(locationOrName, buffer, appAccessor = {}) {
135
+ if (buffer.target === _constants.default.ELEMENT_ARRAY_BUFFER) {
136
+ this.setElementBuffer(buffer, appAccessor);
105
137
  return this;
106
138
  }
107
- }, {
108
- key: "clearDrawParams",
109
- value: function clearDrawParams() {
110
- this.drawParams = null;
111
- }
112
- }, {
113
- key: "getDrawParams",
114
- value: function getDrawParams() {
115
- this.drawParams = this.drawParams || this._updateDrawParams();
116
- return this.drawParams;
117
- }
118
- }, {
119
- key: "setAttributes",
120
- value: function setAttributes(attributes) {
121
- var _this = this;
122
-
123
- Object.assign(this.attributes, attributes);
124
- this.vertexArrayObject.bind(function () {
125
- for (var locationOrName in attributes) {
126
- var value = attributes[locationOrName];
127
139
 
128
- _this._setAttribute(locationOrName, value);
129
- }
140
+ const {
141
+ location,
142
+ accessor
143
+ } = this._resolveLocationAndAccessor(locationOrName, buffer, buffer.accessor, appAccessor);
130
144
 
131
- _this.gl.bindBuffer(34962, null);
132
- });
133
- return this;
145
+ if (location >= 0) {
146
+ this.values[location] = buffer;
147
+ this.accessors[location] = accessor;
148
+ this.clearDrawParams();
149
+ this.vertexArrayObject.setBuffer(location, buffer, accessor);
134
150
  }
135
- }, {
136
- key: "setElementBuffer",
137
- value: function setElementBuffer() {
138
- var elementBuffer = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
139
- var accessor = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
140
- this.elements = elementBuffer;
141
- this.elementsAccessor = accessor;
151
+
152
+ return this;
153
+ }
154
+
155
+ setConstant(locationOrName, arrayValue, appAccessor = {}) {
156
+ const {
157
+ location,
158
+ accessor
159
+ } = this._resolveLocationAndAccessor(locationOrName, arrayValue, {
160
+ size: arrayValue.length,
161
+ ...appAccessor
162
+ });
163
+
164
+ if (location >= 0) {
165
+ arrayValue = this.vertexArrayObject._normalizeConstantArrayValue(arrayValue);
166
+ this.values[location] = arrayValue;
167
+ this.accessors[location] = accessor;
142
168
  this.clearDrawParams();
143
- this.vertexArrayObject.setElementBuffer(elementBuffer, accessor);
144
- return this;
169
+ this.vertexArrayObject.enable(location, false);
145
170
  }
146
- }, {
147
- key: "setBuffer",
148
- value: function setBuffer(locationOrName, buffer) {
149
- var appAccessor = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
150
171
 
151
- if (buffer.target === 34963) {
152
- return this.setElementBuffer(buffer, appAccessor);
172
+ return this;
173
+ }
174
+
175
+ unbindBuffers() {
176
+ this.vertexArrayObject.bind(() => {
177
+ if (this.elements) {
178
+ this.vertexArrayObject.setElementBuffer(null);
153
179
  }
154
180
 
155
- var _this$_resolveLocatio = this._resolveLocationAndAccessor(locationOrName, buffer, buffer.accessor, appAccessor),
156
- location = _this$_resolveLocatio.location,
157
- accessor = _this$_resolveLocatio.accessor;
181
+ this.buffer = this.buffer || new _webglBuffer.default(this.gl, {
182
+ accessor: {
183
+ size: 4
184
+ }
185
+ });
158
186
 
159
- if (location >= 0) {
160
- this.values[location] = buffer;
161
- this.accessors[location] = accessor;
162
- this.clearDrawParams();
163
- this.vertexArrayObject.setBuffer(location, buffer, accessor);
187
+ for (let location = 0; location < this.vertexArrayObject.MAX_ATTRIBUTES; location++) {
188
+ if (this.values[location] instanceof _webglBuffer.default) {
189
+ this.gl.disableVertexAttribArray(location);
190
+ this.gl.bindBuffer(_constants.default.ARRAY_BUFFER, this.buffer.handle);
191
+ this.gl.vertexAttribPointer(location, 1, _constants.default.FLOAT, false, 0, 0);
192
+ }
164
193
  }
194
+ });
195
+ return this;
196
+ }
165
197
 
166
- return this;
167
- }
168
- }, {
169
- key: "setConstant",
170
- value: function setConstant(locationOrName, arrayValue) {
171
- var appAccessor = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
172
-
173
- var _this$_resolveLocatio2 = this._resolveLocationAndAccessor(locationOrName, arrayValue, Object.assign({
174
- size: arrayValue.length
175
- }, appAccessor)),
176
- location = _this$_resolveLocatio2.location,
177
- accessor = _this$_resolveLocatio2.accessor;
178
-
179
- if (location >= 0) {
180
- arrayValue = this.vertexArrayObject._normalizeConstantArrayValue(arrayValue);
181
- this.values[location] = arrayValue;
182
- this.accessors[location] = accessor;
183
- this.clearDrawParams();
184
- this.vertexArrayObject.enable(location, false);
198
+ bindBuffers() {
199
+ this.vertexArrayObject.bind(() => {
200
+ if (this.elements) {
201
+ this.setElementBuffer(this.elements);
185
202
  }
186
203
 
187
- return this;
188
- }
189
- }, {
190
- key: "unbindBuffers",
191
- value: function unbindBuffers() {
192
- var _this2 = this;
193
-
194
- this.vertexArrayObject.bind(function () {
195
- if (_this2.elements) {
196
- _this2.vertexArrayObject.setElementBuffer(null);
197
- }
204
+ for (let location = 0; location < this.vertexArrayObject.MAX_ATTRIBUTES; location++) {
205
+ const buffer = this.values[location];
198
206
 
199
- _this2.buffer = _this2.buffer || new _buffer.default(_this2.gl, {
200
- accessor: {
201
- size: 4
202
- }
203
- });
207
+ if (buffer instanceof _webglBuffer.default) {
208
+ this.setBuffer(location, buffer);
209
+ }
210
+ }
211
+ });
212
+ return this;
213
+ }
204
214
 
205
- for (var location = 0; location < _this2.vertexArrayObject.MAX_ATTRIBUTES; location++) {
206
- if (_this2.values[location] instanceof _buffer.default) {
207
- _this2.gl.disableVertexAttribArray(location);
215
+ bindForDraw(vertexCount, instanceCount, func) {
216
+ let value;
217
+ this.vertexArrayObject.bind(() => {
218
+ this._setConstantAttributes(vertexCount, instanceCount);
208
219
 
209
- _this2.gl.bindBuffer(34962, _this2.buffer.handle);
220
+ value = func();
221
+ });
222
+ return value;
223
+ }
210
224
 
211
- _this2.gl.vertexAttribPointer(location, 1, 5126, false, 0, 0);
212
- }
213
- }
214
- });
215
- return this;
216
- }
217
- }, {
218
- key: "bindBuffers",
219
- value: function bindBuffers() {
220
- var _this3 = this;
221
-
222
- this.vertexArrayObject.bind(function () {
223
- if (_this3.elements) {
224
- _this3.setElementBuffer(_this3.elements);
225
- }
225
+ _resolveLocationAndAccessor(locationOrName, value, valueAccessor, appAccessor) {
226
+ const INVALID_RESULT = {
227
+ location: -1,
228
+ accessor: null
229
+ };
226
230
 
227
- for (var location = 0; location < _this3.vertexArrayObject.MAX_ATTRIBUTES; location++) {
228
- var buffer = _this3.values[location];
231
+ const {
232
+ location,
233
+ name
234
+ } = this._getAttributeIndex(locationOrName);
229
235
 
230
- if (buffer instanceof _buffer.default) {
231
- _this3.setBuffer(location, buffer);
232
- }
233
- }
234
- });
235
- return this;
236
- }
237
- }, {
238
- key: "bindForDraw",
239
- value: function bindForDraw(vertexCount, instanceCount, func) {
240
- var _this4 = this;
236
+ if (!Number.isFinite(location) || location < 0) {
237
+ this.unused[locationOrName] = value;
241
238
 
242
- var value;
243
- this.vertexArrayObject.bind(function () {
244
- _this4._setConstantAttributes(vertexCount, instanceCount);
239
+ _gltools.log.once(3, () => "unused value ".concat(locationOrName, " in ").concat(this.id))();
245
240
 
246
- value = func();
247
- });
248
- return value;
241
+ return INVALID_RESULT;
249
242
  }
250
- }, {
251
- key: "_resolveLocationAndAccessor",
252
- value: function _resolveLocationAndAccessor(locationOrName, value, valueAccessor, appAccessor) {
253
- var _this5 = this;
254
-
255
- var INVALID_RESULT = {
256
- location: -1,
257
- accessor: null
258
- };
259
243
 
260
- var _this$_getAttributeIn = this._getAttributeIndex(locationOrName),
261
- location = _this$_getAttributeIn.location,
262
- name = _this$_getAttributeIn.name;
244
+ const accessInfo = this._getAttributeInfo(name || location);
263
245
 
264
- if (!Number.isFinite(location) || location < 0) {
265
- this.unused[locationOrName] = value;
266
-
267
- _gltools.log.once(3, function () {
268
- return "unused value ".concat(locationOrName, " in ").concat(_this5.id);
269
- })();
246
+ if (!accessInfo) {
247
+ return INVALID_RESULT;
248
+ }
270
249
 
271
- return INVALID_RESULT;
272
- }
250
+ const currentAccessor = this.accessors[location] || {};
273
251
 
274
- var accessInfo = this._getAttributeInfo(name || location);
252
+ const accessor = _accessor.default.resolve(accessInfo.accessor, currentAccessor, valueAccessor, appAccessor);
275
253
 
276
- if (!accessInfo) {
277
- return INVALID_RESULT;
278
- }
254
+ const {
255
+ size,
256
+ type
257
+ } = accessor;
258
+ (0, _utils.assert)(Number.isFinite(size) && Number.isFinite(type));
259
+ return {
260
+ location,
261
+ accessor
262
+ };
263
+ }
279
264
 
280
- var currentAccessor = this.accessors[location] || {};
265
+ _getAttributeInfo(attributeName) {
266
+ return this.configuration && this.configuration.getAttributeInfo(attributeName);
267
+ }
281
268
 
282
- var accessor = _accessor2.default.resolve(accessInfo.accessor, currentAccessor, valueAccessor, appAccessor);
269
+ _getAttributeIndex(locationOrName) {
270
+ const location = Number(locationOrName);
283
271
 
284
- var size = accessor.size,
285
- type = accessor.type;
286
- (0, _assert.assert)(Number.isFinite(size) && Number.isFinite(type));
272
+ if (Number.isFinite(location)) {
287
273
  return {
288
- location: location,
289
- accessor: accessor
274
+ location
290
275
  };
291
276
  }
292
- }, {
293
- key: "_getAttributeInfo",
294
- value: function _getAttributeInfo(attributeName) {
295
- return this.configuration && this.configuration.getAttributeInfo(attributeName);
296
- }
297
- }, {
298
- key: "_getAttributeIndex",
299
- value: function _getAttributeIndex(locationOrName) {
300
- var location = Number(locationOrName);
301
-
302
- if (Number.isFinite(location)) {
303
- return {
304
- location: location
305
- };
306
- }
307
-
308
- var multiLocation = MULTI_LOCATION_ATTRIBUTE_REGEXP.exec(locationOrName);
309
- var name = multiLocation ? multiLocation[1] : locationOrName;
310
- var locationOffset = multiLocation ? Number(multiLocation[2]) : 0;
311
277
 
312
- if (this.configuration) {
313
- return {
314
- location: this.configuration.getAttributeLocation(name) + locationOffset,
315
- name: name
316
- };
317
- }
278
+ const multiLocation = MULTI_LOCATION_ATTRIBUTE_REGEXP.exec(locationOrName);
279
+ const name = multiLocation ? multiLocation[1] : locationOrName;
280
+ const locationOffset = multiLocation ? Number(multiLocation[2]) : 0;
318
281
 
282
+ if (this.configuration) {
319
283
  return {
320
- location: -1
284
+ location: this.configuration.getAttributeLocation(name) + locationOffset,
285
+ name
321
286
  };
322
287
  }
323
- }, {
324
- key: "_setAttribute",
325
- value: function _setAttribute(locationOrName, value) {
326
- if (value instanceof _buffer.default) {
327
- this.setBuffer(locationOrName, value);
328
- } else if (Array.isArray(value) && value.length && value[0] instanceof _buffer.default) {
329
- var buffer = value[0];
330
- var accessor = value[1];
331
- this.setBuffer(locationOrName, buffer, accessor);
332
- } else if (ArrayBuffer.isView(value) || Array.isArray(value)) {
333
- var constant = value;
334
- this.setConstant(locationOrName, constant);
335
- } else if (value.buffer instanceof _buffer.default) {
336
- var _accessor = value;
337
- this.setBuffer(locationOrName, _accessor.buffer, _accessor);
338
- } else {
339
- throw new Error(ERR_ATTRIBUTE_TYPE);
340
- }
288
+
289
+ return {
290
+ location: -1
291
+ };
292
+ }
293
+
294
+ _setAttribute(locationOrName, value) {
295
+ if (value instanceof _webglBuffer.default) {
296
+ this.setBuffer(locationOrName, value);
297
+ } else if (Array.isArray(value) && value.length && value[0] instanceof _webglBuffer.default) {
298
+ const buffer = value[0];
299
+ const accessor = value[1];
300
+ this.setBuffer(locationOrName, buffer, accessor);
301
+ } else if (ArrayBuffer.isView(value) || Array.isArray(value)) {
302
+ const constant = value;
303
+ this.setConstant(locationOrName, constant);
304
+ } else if (value.buffer instanceof _webglBuffer.default) {
305
+ const accessor = value;
306
+ this.setBuffer(locationOrName, accessor.buffer, accessor);
307
+ } else {
308
+ throw new Error(ERR_ATTRIBUTE_TYPE);
309
+ }
310
+ }
311
+
312
+ _setConstantAttributes(vertexCount, instanceCount) {
313
+ const elementCount = Math.max(vertexCount | 0, instanceCount | 0);
314
+ let constant = this.values[0];
315
+
316
+ if (ArrayBuffer.isView(constant)) {
317
+ this._setConstantAttributeZero(constant, elementCount);
341
318
  }
342
- }, {
343
- key: "_setConstantAttributes",
344
- value: function _setConstantAttributes(vertexCount, instanceCount) {
345
- var elementCount = Math.max(vertexCount | 0, instanceCount | 0);
346
- var constant = this.values[0];
319
+
320
+ for (let location = 1; location < this.vertexArrayObject.MAX_ATTRIBUTES; location++) {
321
+ constant = this.values[location];
347
322
 
348
323
  if (ArrayBuffer.isView(constant)) {
349
- this._setConstantAttributeZero(constant, elementCount);
324
+ this._setConstantAttribute(location, constant);
350
325
  }
326
+ }
327
+ }
351
328
 
352
- for (var location = 1; location < this.vertexArrayObject.MAX_ATTRIBUTES; location++) {
353
- constant = this.values[location];
329
+ _setConstantAttributeZero(constant, elementCount) {
330
+ if (_vertexArrayObject.default.isSupported(this.gl, {
331
+ constantAttributeZero: true
332
+ })) {
333
+ this._setConstantAttribute(0, constant);
354
334
 
355
- if (ArrayBuffer.isView(constant)) {
356
- this._setConstantAttribute(location, constant);
357
- }
358
- }
335
+ return;
359
336
  }
360
- }, {
361
- key: "_setConstantAttributeZero",
362
- value: function _setConstantAttributeZero(constant, elementCount) {
363
- if (_vertexArrayObject.default.isSupported(this.gl, {
364
- constantAttributeZero: true
365
- })) {
366
- this._setConstantAttribute(0, constant);
367
-
368
- return;
369
- }
370
337
 
371
- var buffer = this.vertexArrayObject.getConstantBuffer(elementCount, constant);
372
- this.vertexArrayObject.setBuffer(0, buffer, this.accessors[0]);
338
+ const buffer = this.vertexArrayObject.getConstantBuffer(elementCount, constant);
339
+ this.vertexArrayObject.setBuffer(0, buffer, this.accessors[0]);
340
+ }
341
+
342
+ _setConstantAttribute(location, constant) {
343
+ _vertexArrayObject.default.setConstant(this.gl, location, constant);
344
+ }
345
+
346
+ _updateDrawParams() {
347
+ const drawParams = {
348
+ elementCount: 0,
349
+ indexType: Uint16Array,
350
+ indexOffset: 0,
351
+ isIndexed: false,
352
+ isInstanced: false,
353
+ indexCount: Infinity,
354
+ vertexCount: Infinity,
355
+ instanceCount: Infinity
356
+ };
357
+
358
+ for (let location = 0; location < this.vertexArrayObject.MAX_ATTRIBUTES; location++) {
359
+ this._updateDrawParamsForLocation(drawParams, location);
373
360
  }
374
- }, {
375
- key: "_setConstantAttribute",
376
- value: function _setConstantAttribute(location, constant) {
377
- _vertexArrayObject.default.setConstant(this.gl, location, constant);
361
+
362
+ if (this.elements) {
363
+ drawParams.elementCount = this.elements.getElementCount(this.elements.accessor);
364
+ drawParams.isIndexed = true;
365
+ drawParams.indexType = this.elementsAccessor.type || this.elements.accessor.type;
366
+ drawParams.indexOffset = this.elementsAccessor.offset || 0;
378
367
  }
379
- }, {
380
- key: "_updateDrawParams",
381
- value: function _updateDrawParams() {
382
- var drawParams = {
383
- isIndexed: false,
384
- isInstanced: false,
385
- indexCount: Infinity,
386
- vertexCount: Infinity,
387
- instanceCount: Infinity
388
- };
389
368
 
390
- for (var location = 0; location < this.vertexArrayObject.MAX_ATTRIBUTES; location++) {
391
- this._updateDrawParamsForLocation(drawParams, location);
392
- }
369
+ if (drawParams.indexCount === Infinity) {
370
+ drawParams.indexCount = 0;
371
+ }
393
372
 
394
- if (this.elements) {
395
- drawParams.elementCount = this.elements.getElementCount(this.elements.accessor);
396
- drawParams.isIndexed = true;
397
- drawParams.indexType = this.elementsAccessor.type || this.elements.accessor.type;
398
- drawParams.indexOffset = this.elementsAccessor.offset || 0;
399
- }
373
+ if (drawParams.vertexCount === Infinity) {
374
+ drawParams.vertexCount = 0;
375
+ }
400
376
 
401
- if (drawParams.indexCount === Infinity) {
402
- drawParams.indexCount = 0;
403
- }
377
+ if (drawParams.instanceCount === Infinity) {
378
+ drawParams.instanceCount = 0;
379
+ }
404
380
 
405
- if (drawParams.vertexCount === Infinity) {
406
- drawParams.vertexCount = 0;
407
- }
381
+ return drawParams;
382
+ }
408
383
 
409
- if (drawParams.instanceCount === Infinity) {
410
- drawParams.instanceCount = 0;
411
- }
384
+ _updateDrawParamsForLocation(drawParams, location) {
385
+ const value = this.values[location];
386
+ const accessor = this.accessors[location];
412
387
 
413
- return drawParams;
388
+ if (!value) {
389
+ return;
414
390
  }
415
- }, {
416
- key: "_updateDrawParamsForLocation",
417
- value: function _updateDrawParamsForLocation(drawParams, location) {
418
- var value = this.values[location];
419
- var accessor = this.accessors[location];
420
-
421
- if (!value) {
422
- return;
423
- }
424
391
 
425
- var divisor = accessor.divisor;
426
- var isInstanced = divisor > 0;
427
- drawParams.isInstanced = drawParams.isInstanced || isInstanced;
392
+ const {
393
+ divisor
394
+ } = accessor;
395
+ const isInstanced = divisor > 0;
396
+ drawParams.isInstanced = drawParams.isInstanced || isInstanced;
428
397
 
429
- if (value instanceof _buffer.default) {
430
- var buffer = value;
398
+ if (value instanceof _webglBuffer.default) {
399
+ const buffer = value;
431
400
 
432
- if (isInstanced) {
433
- var instanceCount = buffer.getVertexCount(accessor);
434
- drawParams.instanceCount = Math.min(drawParams.instanceCount, instanceCount);
435
- } else {
436
- var vertexCount = buffer.getVertexCount(accessor);
437
- drawParams.vertexCount = Math.min(drawParams.vertexCount, vertexCount);
438
- }
401
+ if (isInstanced) {
402
+ const instanceCount = buffer.getVertexCount(accessor);
403
+ drawParams.instanceCount = Math.min(drawParams.instanceCount, instanceCount);
404
+ } else {
405
+ const vertexCount = buffer.getVertexCount(accessor);
406
+ drawParams.vertexCount = Math.min(drawParams.vertexCount, vertexCount);
439
407
  }
440
408
  }
441
- }, {
442
- key: "setElements",
443
- value: function setElements() {
444
- var elementBuffer = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
445
- var accessor = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
409
+ }
446
410
 
447
- _gltools.log.deprecated('setElements', 'setElementBuffer')();
411
+ setElements(elementBuffer = null, accessor = {}) {
412
+ _gltools.log.deprecated('setElements', 'setElementBuffer')();
448
413
 
449
- return this.setElementBuffer(elementBuffer, accessor);
450
- }
451
- }]);
452
- return VertexArray;
453
- }();
414
+ return this.setElementBuffer(elementBuffer, accessor);
415
+ }
416
+
417
+ }
454
418
 
455
419
  exports.default = VertexArray;
456
420
  //# sourceMappingURL=vertex-array.js.map