@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,10 +7,28 @@ Object.defineProperty(exports, "__esModule", {
7
7
  });
8
8
  exports.default = void 0;
9
9
 
10
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
11
+
12
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
13
+
14
+ var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
15
+
16
+ var _get2 = _interopRequireDefault(require("@babel/runtime/helpers/get"));
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"));
23
+
10
24
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
25
 
26
+ var _api = require("@luma.gl/api");
27
+
12
28
  var _constants = _interopRequireDefault(require("@luma.gl/constants"));
13
29
 
30
+ var _webglDevice = _interopRequireDefault(require("../device/webgl-device"));
31
+
14
32
  var _webglResource = _interopRequireDefault(require("./webgl-resource"));
15
33
 
16
34
  var _texture = _interopRequireDefault(require("./texture"));
@@ -23,362 +41,420 @@ var _webglShader = require("./webgl-shader");
23
41
 
24
42
  var _programConfiguration = _interopRequireDefault(require("./program-configuration"));
25
43
 
26
- var _gltools = require("@luma.gl/gltools");
44
+ var _webglChecks = require("../context/context/webgl-checks");
27
45
 
28
- var _webglUtils = require("../webgl-utils");
46
+ var _withParameters = require("../context/state-tracker/with-parameters");
47
+
48
+ var _constantsToKeys = require("../webgl-utils/constants-to-keys");
29
49
 
30
50
  var _attributeUtils = require("../webgl-utils/attribute-utils");
31
51
 
32
- var _utils = require("../utils");
33
-
34
- const LOG_PROGRAM_PERF_PRIORITY = 4;
35
- const GL_SEPARATE_ATTRIBS = 0x8c8d;
36
-
37
- class Program extends _webglResource.default {
38
- constructor(gl, props = {}) {
39
- super(gl, props, {});
40
- (0, _defineProperty2.default)(this, "configuration", void 0);
41
- (0, _defineProperty2.default)(this, "_isCached", false);
42
- (0, _defineProperty2.default)(this, "_textureIndexCounter", 0);
43
- (0, _defineProperty2.default)(this, "hash", void 0);
44
- (0, _defineProperty2.default)(this, "vs", void 0);
45
- (0, _defineProperty2.default)(this, "fs", void 0);
46
- (0, _defineProperty2.default)(this, "uniforms", void 0);
47
- (0, _defineProperty2.default)(this, "_textureUniforms", void 0);
48
- (0, _defineProperty2.default)(this, "varyings", void 0);
49
- (0, _defineProperty2.default)(this, "_uniformCount", 0);
50
- (0, _defineProperty2.default)(this, "_uniformSetters", void 0);
51
- this.initialize(props);
52
- Object.seal(this);
53
-
54
- this._setId(props.id);
55
- }
52
+ function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
56
53
 
57
- initialize(props = {}) {
58
- const {
59
- hash,
60
- vs,
61
- fs,
62
- varyings,
63
- bufferMode = GL_SEPARATE_ATTRIBS
64
- } = props;
65
- this.hash = hash || '';
66
- this.vs = typeof vs === 'string' ? new _webglShader.VertexShader(this.gl, {
67
- id: "".concat(props.id, "-vs"),
68
- source: vs
69
- }) : vs;
70
- this.fs = typeof fs === 'string' ? new _webglShader.FragmentShader(this.gl, {
71
- id: "".concat(props.id, "-fs"),
72
- source: fs
73
- }) : fs;
74
- (0, _utils.assert)(this.vs instanceof _webglShader.VertexShader);
75
- (0, _utils.assert)(this.fs instanceof _webglShader.FragmentShader);
76
- this.uniforms = {};
77
- this._textureUniforms = {};
78
-
79
- if (varyings && varyings.length > 0) {
80
- (0, _gltools.assertWebGL2Context)(this.gl);
81
- this.varyings = varyings;
82
- this.gl2.transformFeedbackVaryings(this.handle, varyings, bufferMode);
83
- }
54
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
84
55
 
85
- this._compileAndLink();
56
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
86
57
 
87
- this._readUniformLocationsFromLinkedProgram();
58
+ 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); }; }
88
59
 
89
- this.configuration = new _programConfiguration.default(this);
90
- return this.setProps(props);
91
- }
60
+ 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; } }
92
61
 
93
- delete(options = {}) {
94
- if (this._isCached) {
95
- return this;
96
- }
62
+ var LOG_PROGRAM_PERF_PRIORITY = 4;
63
+ var GL_SEPARATE_ATTRIBS = 0x8c8d;
97
64
 
98
- return super.delete(options);
99
- }
65
+ var Program = function (_WebGLResource) {
66
+ (0, _inherits2.default)(Program, _WebGLResource);
100
67
 
101
- setProps(props) {
102
- if ('uniforms' in props) {
103
- this.setUniforms(props.uniforms);
104
- }
68
+ var _super = _createSuper(Program);
105
69
 
106
- return this;
107
- }
70
+ function Program(gl) {
71
+ var _this;
108
72
 
109
- draw(options) {
110
- const {
111
- logPriority,
112
- drawMode = _constants.default.TRIANGLES,
113
- vertexCount,
114
- offset = 0,
115
- start,
116
- end,
117
- isIndexed = false,
118
- indexType = _constants.default.UNSIGNED_SHORT,
119
- instanceCount = 0,
120
- isInstanced = instanceCount > 0,
121
- vertexArray = null,
122
- transformFeedback,
123
- framebuffer,
124
- uniforms,
125
- samplers
126
- } = options;
127
- let {
128
- parameters = {}
129
- } = options;
130
-
131
- if (uniforms || samplers) {
132
- _gltools.log.deprecated('Program.draw({uniforms})', 'Program.setUniforms(uniforms)')();
133
-
134
- this.setUniforms(uniforms || {});
135
- }
73
+ var props = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
74
+ (0, _classCallCheck2.default)(this, Program);
75
+ _this = _super.call(this, _webglDevice.default.attach(gl), props, {});
76
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "configuration", void 0);
77
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "hash", void 0);
78
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "vs", void 0);
79
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "fs", void 0);
80
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "uniforms", void 0);
81
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "varyings", void 0);
82
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "_textureUniforms", void 0);
83
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "_isCached", false);
84
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "_textureIndexCounter", 0);
85
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "_uniformCount", 0);
86
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "_uniformSetters", void 0);
136
87
 
137
- if (_gltools.log.priority >= logPriority) {
138
- const fb = framebuffer ? framebuffer.id : 'default';
139
- const message = "mode=".concat((0, _webglUtils.getKey)(this.gl, drawMode), " verts=").concat(vertexCount, " ") + "instances=".concat(instanceCount, " indexType=").concat((0, _webglUtils.getKey)(this.gl, indexType), " ") + "isInstanced=".concat(isInstanced, " isIndexed=").concat(isIndexed, " ") + "Framebuffer=".concat(fb);
88
+ _this.initialize(props);
140
89
 
141
- _gltools.log.log(logPriority, message)();
142
- }
90
+ Object.seal((0, _assertThisInitialized2.default)(_this));
143
91
 
144
- (0, _utils.assert)(vertexArray);
145
- this.gl.useProgram(this.handle);
92
+ _this._setId(props.id);
146
93
 
147
- if (!this._areTexturesRenderable() || vertexCount === 0 || isInstanced && instanceCount === 0) {
148
- return false;
149
- }
94
+ return _this;
95
+ }
150
96
 
151
- vertexArray.bindForDraw(vertexCount, instanceCount, () => {
152
- if (framebuffer !== undefined) {
153
- parameters = Object.assign({}, parameters, {
154
- framebuffer
155
- });
97
+ (0, _createClass2.default)(Program, [{
98
+ key: "initialize",
99
+ value: function initialize() {
100
+ var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
101
+ var hash = props.hash,
102
+ vs = props.vs,
103
+ fs = props.fs,
104
+ varyings = props.varyings,
105
+ _props$bufferMode = props.bufferMode,
106
+ bufferMode = _props$bufferMode === void 0 ? GL_SEPARATE_ATTRIBS : _props$bufferMode;
107
+ this.hash = hash || '';
108
+ this.vs = typeof vs === 'string' ? new _webglShader.VertexShader(this.gl, {
109
+ id: "".concat(props.id, "-vs"),
110
+ source: vs
111
+ }) : vs;
112
+ this.fs = typeof fs === 'string' ? new _webglShader.FragmentShader(this.gl, {
113
+ id: "".concat(props.id, "-fs"),
114
+ source: fs
115
+ }) : fs;
116
+ (0, _api.assert)(this.vs instanceof _webglShader.VertexShader);
117
+ (0, _api.assert)(this.fs instanceof _webglShader.FragmentShader);
118
+ this.uniforms = {};
119
+ this._textureUniforms = {};
120
+
121
+ if (varyings && varyings.length > 0) {
122
+ (0, _webglChecks.assertWebGL2Context)(this.gl);
123
+ this.varyings = varyings;
124
+ this.gl2.transformFeedbackVaryings(this.handle, varyings, bufferMode);
156
125
  }
157
126
 
158
- if (transformFeedback) {
159
- const primitiveMode = (0, _attributeUtils.getPrimitiveDrawMode)(drawMode);
160
- transformFeedback.begin(primitiveMode);
161
- }
127
+ this._compileAndLink();
162
128
 
163
- this._bindTextures();
164
-
165
- (0, _gltools.withParameters)(this.gl, parameters, () => {
166
- if (isIndexed && isInstanced) {
167
- this.gl2.drawElementsInstanced(drawMode, vertexCount, indexType, offset, instanceCount);
168
- } else if (isIndexed && (0, _gltools.isWebGL2)(this.gl) && !isNaN(start) && !isNaN(end)) {
169
- this.gl2.drawRangeElements(drawMode, start, end, vertexCount, indexType, offset);
170
- } else if (isIndexed) {
171
- this.gl.drawElements(drawMode, vertexCount, indexType, offset);
172
- } else if (isInstanced) {
173
- this.gl2.drawArraysInstanced(drawMode, offset, vertexCount, instanceCount);
174
- } else {
175
- this.gl.drawArrays(drawMode, offset, vertexCount);
176
- }
177
- });
129
+ this._readUniformLocationsFromLinkedProgram();
130
+
131
+ this.configuration = new _programConfiguration.default(this);
132
+ return this.setProps(props);
133
+ }
134
+ }, {
135
+ key: "delete",
136
+ value: function _delete() {
137
+ var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
178
138
 
179
- if (transformFeedback) {
180
- transformFeedback.end();
139
+ if (this._isCached) {
140
+ return this;
181
141
  }
182
- });
183
- return true;
184
- }
185
142
 
186
- setUniforms(uniforms = {}) {
187
- if (_gltools.log.priority >= 2) {
188
- (0, _uniforms.checkUniformValues)(uniforms, this.id, this._uniformSetters);
143
+ return (0, _get2.default)((0, _getPrototypeOf2.default)(Program.prototype), "delete", this).call(this, options);
189
144
  }
145
+ }, {
146
+ key: "setProps",
147
+ value: function setProps(props) {
148
+ if ('uniforms' in props) {
149
+ this.setUniforms(props.uniforms);
150
+ }
151
+
152
+ return this;
153
+ }
154
+ }, {
155
+ key: "draw",
156
+ value: function draw(options) {
157
+ var _this2 = this;
158
+
159
+ var logPriority = options.logPriority,
160
+ _options$drawMode = options.drawMode,
161
+ drawMode = _options$drawMode === void 0 ? _constants.default.TRIANGLES : _options$drawMode,
162
+ vertexCount = options.vertexCount,
163
+ _options$offset = options.offset,
164
+ offset = _options$offset === void 0 ? 0 : _options$offset,
165
+ start = options.start,
166
+ end = options.end,
167
+ _options$isIndexed = options.isIndexed,
168
+ isIndexed = _options$isIndexed === void 0 ? false : _options$isIndexed,
169
+ _options$indexType = options.indexType,
170
+ indexType = _options$indexType === void 0 ? _constants.default.UNSIGNED_SHORT : _options$indexType,
171
+ _options$instanceCoun = options.instanceCount,
172
+ instanceCount = _options$instanceCoun === void 0 ? 0 : _options$instanceCoun,
173
+ _options$isInstanced = options.isInstanced,
174
+ isInstanced = _options$isInstanced === void 0 ? instanceCount > 0 : _options$isInstanced,
175
+ _options$vertexArray = options.vertexArray,
176
+ vertexArray = _options$vertexArray === void 0 ? null : _options$vertexArray,
177
+ transformFeedback = options.transformFeedback,
178
+ framebuffer = options.framebuffer,
179
+ uniforms = options.uniforms,
180
+ samplers = options.samplers;
181
+ var _options$parameters = options.parameters,
182
+ parameters = _options$parameters === void 0 ? {} : _options$parameters;
183
+
184
+ if (uniforms || samplers) {
185
+ _api.log.deprecated('Program.draw({uniforms})', 'Program.setUniforms(uniforms)')();
186
+
187
+ this.setUniforms(uniforms || {});
188
+ }
190
189
 
191
- this.gl.useProgram(this.handle);
190
+ if (_api.log.priority >= logPriority) {
191
+ var fb = framebuffer ? framebuffer.id : 'default';
192
+ var message = "mode=".concat((0, _constantsToKeys.getKey)(this.gl, drawMode), " verts=").concat(vertexCount, " ") + "instances=".concat(instanceCount, " indexType=").concat((0, _constantsToKeys.getKey)(this.gl, indexType), " ") + "isInstanced=".concat(isInstanced, " isIndexed=").concat(isIndexed, " ") + "Framebuffer=".concat(fb);
192
193
 
193
- for (const uniformName in uniforms) {
194
- const uniform = uniforms[uniformName];
195
- const uniformSetter = this._uniformSetters[uniformName];
194
+ _api.log.log(logPriority, message)();
195
+ }
196
196
 
197
- if (uniformSetter) {
198
- let value = uniform;
199
- let textureUpdate = false;
197
+ (0, _api.assert)(vertexArray);
198
+ this.gl.useProgram(this.handle);
200
199
 
201
- if (value instanceof _framebuffer.default) {
202
- value = value.texture;
203
- }
200
+ if (!this._areTexturesRenderable() || vertexCount === 0 || isInstanced && instanceCount === 0) {
201
+ return false;
202
+ }
204
203
 
205
- if (value instanceof _texture.default) {
206
- textureUpdate = this.uniforms[uniformName] !== uniform;
204
+ vertexArray.bindForDraw(vertexCount, instanceCount, function () {
205
+ if (framebuffer !== undefined) {
206
+ parameters = Object.assign({}, parameters, {
207
+ framebuffer: framebuffer
208
+ });
209
+ }
207
210
 
208
- if (textureUpdate) {
209
- if (uniformSetter.textureIndex === undefined) {
210
- uniformSetter.textureIndex = this._textureIndexCounter++;
211
- }
211
+ if (transformFeedback) {
212
+ var primitiveMode = (0, _attributeUtils.getPrimitiveDrawMode)(drawMode);
213
+ transformFeedback.begin(primitiveMode);
214
+ }
212
215
 
213
- const texture = value;
214
- const {
215
- textureIndex
216
- } = uniformSetter;
217
- texture.bind(textureIndex);
218
- value = textureIndex;
219
- this._textureUniforms[uniformName] = texture;
216
+ _this2._bindTextures();
217
+
218
+ (0, _withParameters.withParameters)(_this2.gl, parameters, function () {
219
+ if (isIndexed && isInstanced) {
220
+ _this2.gl2.drawElementsInstanced(drawMode, vertexCount, indexType, offset, instanceCount);
221
+ } else if (isIndexed && (0, _webglChecks.isWebGL2)(_this2.gl) && !isNaN(start) && !isNaN(end)) {
222
+ _this2.gl2.drawRangeElements(drawMode, start, end, vertexCount, indexType, offset);
223
+ } else if (isIndexed) {
224
+ _this2.gl.drawElements(drawMode, vertexCount, indexType, offset);
225
+ } else if (isInstanced) {
226
+ _this2.gl2.drawArraysInstanced(drawMode, offset, vertexCount, instanceCount);
220
227
  } else {
221
- value = uniformSetter.textureIndex;
228
+ _this2.gl.drawArrays(drawMode, offset, vertexCount);
222
229
  }
223
- } else if (this._textureUniforms[uniformName]) {
224
- delete this._textureUniforms[uniformName];
225
- }
230
+ });
226
231
 
227
- if (uniformSetter(value) || textureUpdate) {
228
- (0, _uniforms.copyUniform)(this.uniforms, uniformName, uniform);
232
+ if (transformFeedback) {
233
+ transformFeedback.end();
229
234
  }
230
- }
235
+ });
236
+ return true;
231
237
  }
238
+ }, {
239
+ key: "setUniforms",
240
+ value: function setUniforms() {
241
+ var uniforms = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
232
242
 
233
- return this;
234
- }
235
-
236
- _areTexturesRenderable() {
237
- let texturesRenderable = true;
238
-
239
- for (const uniformName in this._textureUniforms) {
240
- const texture = this._textureUniforms[uniformName];
241
- texture.update();
242
- texturesRenderable = texturesRenderable && texture.loaded;
243
- }
243
+ if (_api.log.priority >= 2) {
244
+ (0, _uniforms.checkUniformValues)(uniforms, this.id, this._uniformSetters);
245
+ }
244
246
 
245
- return texturesRenderable;
246
- }
247
+ this.gl.useProgram(this.handle);
247
248
 
248
- _bindTextures() {
249
- for (const uniformName in this._textureUniforms) {
250
- const textureIndex = this._uniformSetters[uniformName].textureIndex;
249
+ for (var uniformName in uniforms) {
250
+ var uniform = uniforms[uniformName];
251
+ var uniformSetter = this._uniformSetters[uniformName];
251
252
 
252
- this._textureUniforms[uniformName].bind(textureIndex);
253
- }
254
- }
253
+ if (uniformSetter) {
254
+ var value = uniform;
255
+ var textureUpdate = false;
255
256
 
256
- _createHandle() {
257
- return this.gl.createProgram();
258
- }
259
-
260
- _deleteHandle() {
261
- this.gl.deleteProgram(this.handle);
262
- }
257
+ if (value instanceof _framebuffer.default) {
258
+ value = value.texture;
259
+ }
263
260
 
264
- _getOptionsFromHandle(handle) {
265
- const shaderHandles = this.gl.getAttachedShaders(handle);
266
- const opts = {};
261
+ if (value instanceof _texture.default) {
262
+ textureUpdate = this.uniforms[uniformName] !== uniform;
263
+
264
+ if (textureUpdate) {
265
+ if (uniformSetter.textureIndex === undefined) {
266
+ uniformSetter.textureIndex = this._textureIndexCounter++;
267
+ }
268
+
269
+ var texture = value;
270
+ var textureIndex = uniformSetter.textureIndex;
271
+ texture.bind(textureIndex);
272
+ value = textureIndex;
273
+ this._textureUniforms[uniformName] = texture;
274
+ } else {
275
+ value = uniformSetter.textureIndex;
276
+ }
277
+ } else if (this._textureUniforms[uniformName]) {
278
+ delete this._textureUniforms[uniformName];
279
+ }
267
280
 
268
- for (const shaderHandle of shaderHandles) {
269
- const type = this.gl.getShaderParameter(this.handle, _constants.default.SHADER_TYPE);
281
+ if (uniformSetter(value) || textureUpdate) {
282
+ (0, _uniforms.copyUniform)(this.uniforms, uniformName, uniform);
283
+ }
284
+ }
285
+ }
270
286
 
271
- switch (type) {
272
- case _constants.default.VERTEX_SHADER:
273
- opts.vs = new _webglShader.VertexShader({
274
- handle: shaderHandle
275
- });
276
- break;
287
+ return this;
288
+ }
289
+ }, {
290
+ key: "_areTexturesRenderable",
291
+ value: function _areTexturesRenderable() {
292
+ var texturesRenderable = true;
293
+
294
+ for (var uniformName in this._textureUniforms) {
295
+ var texture = this._textureUniforms[uniformName];
296
+ texture.update();
297
+ texturesRenderable = texturesRenderable && texture.loaded;
298
+ }
277
299
 
278
- case _constants.default.FRAGMENT_SHADER:
279
- opts.fs = new _webglShader.FragmentShader({
280
- handle: shaderHandle
281
- });
282
- break;
300
+ return texturesRenderable;
301
+ }
302
+ }, {
303
+ key: "_bindTextures",
304
+ value: function _bindTextures() {
305
+ for (var uniformName in this._textureUniforms) {
306
+ var textureIndex = this._uniformSetters[uniformName].textureIndex;
283
307
 
284
- default:
308
+ this._textureUniforms[uniformName].bind(textureIndex);
285
309
  }
286
310
  }
287
-
288
- return opts;
289
- }
290
-
291
- _getParameter(pname) {
292
- return this.gl.getProgramParameter(this.handle, pname);
293
- }
294
-
295
- _setId(id) {
296
- if (!id) {
297
- const programName = this._getName();
298
-
299
- this.id = (0, _utils.uid)(programName);
311
+ }, {
312
+ key: "_createHandle",
313
+ value: function _createHandle() {
314
+ return this.gl.createProgram();
300
315
  }
301
- }
316
+ }, {
317
+ key: "_deleteHandle",
318
+ value: function _deleteHandle() {
319
+ this.gl.deleteProgram(this.handle);
320
+ }
321
+ }, {
322
+ key: "_getOptionsFromHandle",
323
+ value: function _getOptionsFromHandle(handle) {
324
+ var shaderHandles = this.gl.getAttachedShaders(handle);
325
+ var opts = {};
326
+
327
+ var _iterator = _createForOfIteratorHelper(shaderHandles),
328
+ _step;
329
+
330
+ try {
331
+ for (_iterator.s(); !(_step = _iterator.n()).done;) {
332
+ var shaderHandle = _step.value;
333
+ var type = this.gl.getShaderParameter(this.handle, _constants.default.SHADER_TYPE);
334
+
335
+ switch (type) {
336
+ case _constants.default.VERTEX_SHADER:
337
+ opts.vs = new _webglShader.VertexShader({
338
+ handle: shaderHandle
339
+ });
340
+ break;
341
+
342
+ case _constants.default.FRAGMENT_SHADER:
343
+ opts.fs = new _webglShader.FragmentShader({
344
+ handle: shaderHandle
345
+ });
346
+ break;
347
+
348
+ default:
349
+ }
350
+ }
351
+ } catch (err) {
352
+ _iterator.e(err);
353
+ } finally {
354
+ _iterator.f();
355
+ }
302
356
 
303
- _getName() {
304
- let programName = this.vs.getName() || this.fs.getName();
305
- programName = programName.replace(/shader/i, '');
306
- programName = programName ? "".concat(programName, "-program") : 'program';
307
- return programName;
308
- }
357
+ return opts;
358
+ }
359
+ }, {
360
+ key: "_getParameter",
361
+ value: function _getParameter(pname) {
362
+ return this.gl.getProgramParameter(this.handle, pname);
363
+ }
364
+ }, {
365
+ key: "_setId",
366
+ value: function _setId(id) {
367
+ if (!id) {
368
+ var programName = this._getName();
309
369
 
310
- _compileAndLink() {
311
- const {
312
- gl
313
- } = this;
314
- gl.attachShader(this.handle, this.vs.handle);
315
- gl.attachShader(this.handle, this.fs.handle);
370
+ this.id = (0, _api.uid)(programName);
371
+ }
372
+ }
373
+ }, {
374
+ key: "_getName",
375
+ value: function _getName() {
376
+ var programName = this.vs.getName() || this.fs.getName();
377
+ programName = programName.replace(/shader/i, '');
378
+ programName = programName ? "".concat(programName, "-program") : 'program';
379
+ return programName;
380
+ }
381
+ }, {
382
+ key: "_compileAndLink",
383
+ value: function _compileAndLink() {
384
+ var gl = this.gl;
385
+ gl.attachShader(this.handle, this.vs.handle);
386
+ gl.attachShader(this.handle, this.fs.handle);
316
387
 
317
- _gltools.log.time(LOG_PROGRAM_PERF_PRIORITY, "linkProgram for ".concat(this._getName()))();
388
+ _api.log.time(LOG_PROGRAM_PERF_PRIORITY, "linkProgram for ".concat(this._getName()))();
318
389
 
319
- gl.linkProgram(this.handle);
390
+ gl.linkProgram(this.handle);
320
391
 
321
- _gltools.log.timeEnd(LOG_PROGRAM_PERF_PRIORITY, "linkProgram for ".concat(this._getName()))();
392
+ _api.log.timeEnd(LOG_PROGRAM_PERF_PRIORITY, "linkProgram for ".concat(this._getName()))();
322
393
 
323
- if (gl.debug || _gltools.log.level > 0) {
324
- const linked = gl.getProgramParameter(this.handle, gl.LINK_STATUS);
394
+ if (gl.debug || _api.log.level > 0) {
395
+ var linked = gl.getProgramParameter(this.handle, gl.LINK_STATUS);
325
396
 
326
- if (!linked) {
327
- throw new Error("Error linking: ".concat(gl.getProgramInfoLog(this.handle)));
328
- }
397
+ if (!linked) {
398
+ throw new Error("Error linking: ".concat(gl.getProgramInfoLog(this.handle)));
399
+ }
329
400
 
330
- gl.validateProgram(this.handle);
331
- const validated = gl.getProgramParameter(this.handle, gl.VALIDATE_STATUS);
401
+ gl.validateProgram(this.handle);
402
+ var validated = gl.getProgramParameter(this.handle, gl.VALIDATE_STATUS);
332
403
 
333
- if (!validated) {
334
- throw new Error("Error validating: ".concat(gl.getProgramInfoLog(this.handle)));
404
+ if (!validated) {
405
+ throw new Error("Error validating: ".concat(gl.getProgramInfoLog(this.handle)));
406
+ }
335
407
  }
336
408
  }
337
- }
338
-
339
- _readUniformLocationsFromLinkedProgram() {
340
- const {
341
- gl
342
- } = this;
343
- this._uniformSetters = {};
344
- this._uniformCount = this._getParameter(_constants.default.ACTIVE_UNIFORMS);
345
-
346
- for (let i = 0; i < this._uniformCount; i++) {
347
- const info = this.gl.getActiveUniform(this.handle, i);
348
- const {
349
- name
350
- } = (0, _uniforms.parseUniformName)(info.name);
351
- let location = gl.getUniformLocation(this.handle, name);
352
- this._uniformSetters[name] = (0, _uniforms.getUniformSetter)(gl, location, info);
353
-
354
- if (info.size > 1) {
355
- for (let l = 0; l < info.size; l++) {
356
- location = gl.getUniformLocation(this.handle, "".concat(name, "[").concat(l, "]"));
357
- this._uniformSetters["".concat(name, "[").concat(l, "]")] = (0, _uniforms.getUniformSetter)(gl, location, info);
409
+ }, {
410
+ key: "_readUniformLocationsFromLinkedProgram",
411
+ value: function _readUniformLocationsFromLinkedProgram() {
412
+ var gl = this.gl;
413
+ this._uniformSetters = {};
414
+ this._uniformCount = this._getParameter(_constants.default.ACTIVE_UNIFORMS);
415
+
416
+ for (var i = 0; i < this._uniformCount; i++) {
417
+ var info = this.gl.getActiveUniform(this.handle, i);
418
+
419
+ var _parseUniformName = (0, _uniforms.parseUniformName)(info.name),
420
+ name = _parseUniformName.name;
421
+
422
+ var location = gl.getUniformLocation(this.handle, name);
423
+ this._uniformSetters[name] = (0, _uniforms.getUniformSetter)(gl, location, info);
424
+
425
+ if (info.size > 1) {
426
+ for (var l = 0; l < info.size; l++) {
427
+ location = gl.getUniformLocation(this.handle, "".concat(name, "[").concat(l, "]"));
428
+ this._uniformSetters["".concat(name, "[").concat(l, "]")] = (0, _uniforms.getUniformSetter)(gl, location, info);
429
+ }
358
430
  }
359
431
  }
360
- }
361
-
362
- this._textureIndexCounter = 0;
363
- }
364
432
 
365
- getActiveUniforms(uniformIndices, pname) {
366
- return this.gl2.getActiveUniforms(this.handle, uniformIndices, pname);
367
- }
368
-
369
- getUniformBlockIndex(blockName) {
370
- return this.gl2.getUniformBlockIndex(this.handle, blockName);
371
- }
372
-
373
- getActiveUniformBlockParameter(blockIndex, pname) {
374
- return this.gl2.getActiveUniformBlockParameter(this.handle, blockIndex, pname);
375
- }
376
-
377
- uniformBlockBinding(blockIndex, blockBinding) {
378
- this.gl2.uniformBlockBinding(this.handle, blockIndex, blockBinding);
379
- }
380
-
381
- }
433
+ this._textureIndexCounter = 0;
434
+ }
435
+ }, {
436
+ key: "getActiveUniforms",
437
+ value: function getActiveUniforms(uniformIndices, pname) {
438
+ return this.gl2.getActiveUniforms(this.handle, uniformIndices, pname);
439
+ }
440
+ }, {
441
+ key: "getUniformBlockIndex",
442
+ value: function getUniformBlockIndex(blockName) {
443
+ return this.gl2.getUniformBlockIndex(this.handle, blockName);
444
+ }
445
+ }, {
446
+ key: "getActiveUniformBlockParameter",
447
+ value: function getActiveUniformBlockParameter(blockIndex, pname) {
448
+ return this.gl2.getActiveUniformBlockParameter(this.handle, blockIndex, pname);
449
+ }
450
+ }, {
451
+ key: "uniformBlockBinding",
452
+ value: function uniformBlockBinding(blockIndex, blockBinding) {
453
+ this.gl2.uniformBlockBinding(this.handle, blockIndex, blockBinding);
454
+ }
455
+ }]);
456
+ return Program;
457
+ }(_webglResource.default);
382
458
 
383
459
  exports.default = Program;
384
460
  //# sourceMappingURL=program.js.map