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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (763) hide show
  1. package/dist/api/device2.d.ts +52 -0
  2. package/dist/api/device2.d.ts.map +1 -0
  3. package/dist/api/device2.js +23 -0
  4. package/dist/api/device2.js.map +1 -0
  5. package/dist/bundle.d.ts +2 -0
  6. package/dist/bundle.d.ts.map +1 -0
  7. package/dist/bundle.js +5 -0
  8. package/dist/bundle.js.map +1 -0
  9. package/dist/classes/accessor.d.ts +28 -0
  10. package/dist/classes/accessor.d.ts.map +1 -0
  11. package/dist/classes/accessor.js +112 -0
  12. package/dist/classes/accessor.js.map +1 -0
  13. package/dist/classes/accessor.ts.disabled +159 -0
  14. package/dist/classes/clear.d.ts +17 -0
  15. package/dist/classes/clear.d.ts.map +1 -0
  16. package/{src → dist}/classes/clear.js +29 -23
  17. package/dist/classes/clear.js.map +1 -0
  18. package/dist/classes/copy-and-blit.d.ts +86 -0
  19. package/dist/classes/copy-and-blit.d.ts.map +1 -0
  20. package/dist/classes/copy-and-blit.js +338 -0
  21. package/dist/classes/copy-and-blit.js.map +1 -0
  22. package/dist/classes/framebuffer.d.ts +139 -0
  23. package/dist/classes/framebuffer.d.ts.map +1 -0
  24. package/dist/classes/framebuffer.js +656 -0
  25. package/dist/classes/framebuffer.js.map +1 -0
  26. package/dist/classes/program-configuration.d.ts +27 -0
  27. package/dist/classes/program-configuration.d.ts.map +1 -0
  28. package/dist/classes/program-configuration.js +160 -0
  29. package/dist/classes/program-configuration.js.map +1 -0
  30. package/dist/classes/program.d.ts +61 -0
  31. package/dist/classes/program.d.ts.map +1 -0
  32. package/dist/classes/program.js +370 -0
  33. package/dist/classes/program.js.map +1 -0
  34. package/dist/classes/query.d.ts +27 -0
  35. package/dist/classes/query.d.ts.map +1 -0
  36. package/dist/classes/query.js +145 -0
  37. package/dist/classes/query.js.map +1 -0
  38. package/dist/classes/renderbuffer-formats.d.ts +16 -0
  39. package/dist/classes/renderbuffer-formats.d.ts.map +1 -0
  40. package/dist/classes/renderbuffer-formats.js +185 -0
  41. package/dist/classes/renderbuffer-formats.js.map +1 -0
  42. package/dist/classes/renderbuffer.d.ts +60 -0
  43. package/dist/classes/renderbuffer.d.ts.map +1 -0
  44. package/dist/classes/renderbuffer.js +128 -0
  45. package/dist/classes/renderbuffer.js.map +1 -0
  46. package/dist/classes/texture-2d.d.ts +9 -0
  47. package/dist/classes/texture-2d.d.ts.map +1 -0
  48. package/dist/classes/texture-2d.js +36 -0
  49. package/dist/classes/texture-2d.js.map +1 -0
  50. package/dist/classes/texture-3d.d.ts +29 -0
  51. package/dist/classes/texture-3d.d.ts.map +1 -0
  52. package/dist/classes/texture-3d.js +76 -0
  53. package/dist/classes/texture-3d.js.map +1 -0
  54. package/dist/classes/texture-cube.d.ts +28 -0
  55. package/dist/classes/texture-cube.d.ts.map +1 -0
  56. package/dist/classes/texture-cube.js +130 -0
  57. package/dist/classes/texture-cube.js.map +1 -0
  58. package/dist/classes/texture-formats.d.ts +37 -0
  59. package/dist/classes/texture-formats.d.ts.map +1 -0
  60. package/dist/classes/texture-formats.js +98 -0
  61. package/dist/classes/texture-formats.js.map +1 -0
  62. package/dist/classes/texture.d.ts +123 -0
  63. package/dist/classes/texture.d.ts.map +1 -0
  64. package/dist/classes/texture.js +786 -0
  65. package/dist/classes/texture.js.map +1 -0
  66. package/dist/classes/transform-feedback.d.ts +33 -0
  67. package/dist/classes/transform-feedback.d.ts.map +1 -0
  68. package/dist/classes/transform-feedback.js +198 -0
  69. package/dist/classes/transform-feedback.js.map +1 -0
  70. package/dist/classes/uniform-buffer-layout.d.ts +17 -0
  71. package/dist/classes/uniform-buffer-layout.d.ts.map +1 -0
  72. package/dist/classes/uniform-buffer-layout.js +104 -0
  73. package/dist/classes/uniform-buffer-layout.js.map +1 -0
  74. package/dist/classes/uniforms.d.ts +37 -0
  75. package/dist/classes/uniforms.d.ts.map +1 -0
  76. package/dist/classes/uniforms.js +250 -0
  77. package/dist/classes/uniforms.js.map +1 -0
  78. package/dist/classes/vertex-array-object.d.ts +75 -0
  79. package/dist/classes/vertex-array-object.d.ts.map +1 -0
  80. package/dist/classes/vertex-array-object.js +261 -0
  81. package/dist/classes/vertex-array-object.js.map +1 -0
  82. package/dist/classes/vertex-array.d.ts +75 -0
  83. package/dist/classes/vertex-array.d.ts.map +1 -0
  84. package/dist/classes/vertex-array.js +408 -0
  85. package/dist/classes/vertex-array.js.map +1 -0
  86. package/dist/classes/webgl-buffer.d.ts +100 -0
  87. package/dist/classes/webgl-buffer.d.ts.map +1 -0
  88. package/dist/{esm/classes/buffer.js → classes/webgl-buffer.js} +100 -73
  89. package/dist/classes/webgl-buffer.js.map +1 -0
  90. package/dist/classes/webgl-resource.d.ts +56 -0
  91. package/dist/classes/webgl-resource.d.ts.map +1 -0
  92. package/dist/{esm/classes/resource.js → classes/webgl-resource.js} +35 -52
  93. package/dist/classes/webgl-resource.js.map +1 -0
  94. package/dist/classes/webgl-shader.d.ts +53 -0
  95. package/dist/classes/webgl-shader.d.ts.map +1 -0
  96. package/dist/classes/webgl-shader.js +193 -0
  97. package/dist/classes/webgl-shader.js.map +1 -0
  98. package/dist/context/context/context-state.d.ts +18 -0
  99. package/dist/context/context/context-state.d.ts.map +1 -0
  100. package/dist/context/context/context-state.js +26 -0
  101. package/dist/context/context/context-state.js.map +1 -0
  102. package/dist/context/context/create-context.d.ts +40 -0
  103. package/dist/context/context/create-context.d.ts.map +1 -0
  104. package/dist/context/context/create-context.js +37 -0
  105. package/dist/context/context/create-context.js.map +1 -0
  106. package/dist/context/context/device-pixels.d.ts +25 -0
  107. package/dist/context/context/device-pixels.d.ts.map +1 -0
  108. package/dist/context/context/device-pixels.js +98 -0
  109. package/dist/context/context/device-pixels.js.map +1 -0
  110. package/dist/context/context/get-canvas.d.ts +13 -0
  111. package/dist/context/context/get-canvas.d.ts.map +1 -0
  112. package/dist/context/context/get-canvas.js +31 -0
  113. package/dist/context/context/get-canvas.js.map +1 -0
  114. package/dist/context/context/resize-context.d.ts +20 -0
  115. package/dist/context/context/resize-context.d.ts.map +1 -0
  116. package/dist/context/context/resize-context.js +15 -0
  117. package/dist/context/context/resize-context.js.map +1 -0
  118. package/dist/context/context/webgl-checks.d.ts +13 -0
  119. package/dist/context/context/webgl-checks.d.ts.map +1 -0
  120. package/dist/context/context/webgl-checks.js +34 -0
  121. package/dist/context/context/webgl-checks.js.map +1 -0
  122. package/dist/context/parameters/unified-parameter-api.d.ts +30 -0
  123. package/dist/context/parameters/unified-parameter-api.d.ts.map +1 -0
  124. package/dist/context/parameters/unified-parameter-api.js +65 -0
  125. package/dist/context/parameters/unified-parameter-api.js.map +1 -0
  126. package/dist/context/parameters/webgl-parameter-tables.d.ts +169 -0
  127. package/dist/context/parameters/webgl-parameter-tables.d.ts.map +1 -0
  128. package/dist/context/parameters/webgl-parameter-tables.js +445 -0
  129. package/dist/context/parameters/webgl-parameter-tables.js.map +1 -0
  130. package/dist/context/parameters/webgl-parameters.d.ts +144 -0
  131. package/dist/context/parameters/webgl-parameters.d.ts.map +1 -0
  132. package/dist/context/parameters/webgl-parameters.js +2 -0
  133. package/dist/context/parameters/webgl-parameters.js.map +1 -0
  134. package/dist/context/polyfill/get-parameter-polyfill.d.ts +2 -0
  135. package/dist/context/polyfill/get-parameter-polyfill.d.ts.map +1 -0
  136. package/dist/context/polyfill/get-parameter-polyfill.js +91 -0
  137. package/dist/context/polyfill/get-parameter-polyfill.js.map +1 -0
  138. package/dist/context/polyfill/polyfill-context.d.ts +5 -0
  139. package/dist/context/polyfill/polyfill-context.d.ts.map +1 -0
  140. package/dist/context/polyfill/polyfill-context.js +91 -0
  141. package/dist/context/polyfill/polyfill-context.js.map +1 -0
  142. package/dist/context/polyfill/polyfill-table.d.ts +48 -0
  143. package/dist/context/polyfill/polyfill-table.d.ts.map +1 -0
  144. package/dist/context/polyfill/polyfill-table.js +160 -0
  145. package/dist/context/polyfill/polyfill-table.js.map +1 -0
  146. package/dist/context/polyfill/polyfill-vertex-array-object.d.ts +2 -0
  147. package/dist/context/polyfill/polyfill-vertex-array-object.d.ts.map +1 -0
  148. package/dist/context/polyfill/polyfill-vertex-array-object.js +335 -0
  149. package/dist/context/polyfill/polyfill-vertex-array-object.js.map +1 -0
  150. package/dist/context/state-tracker/deep-array-equal.d.ts +3 -0
  151. package/dist/context/state-tracker/deep-array-equal.d.ts.map +1 -0
  152. package/dist/context/state-tracker/deep-array-equal.js +21 -0
  153. package/dist/context/state-tracker/deep-array-equal.js.map +1 -0
  154. package/dist/context/state-tracker/track-context-state.d.ts +22 -0
  155. package/dist/context/state-tracker/track-context-state.d.ts.map +1 -0
  156. package/dist/context/state-tracker/track-context-state.js +169 -0
  157. package/dist/context/state-tracker/track-context-state.js.map +1 -0
  158. package/dist/context/state-tracker/with-parameters.d.ts +13 -0
  159. package/dist/context/state-tracker/with-parameters.d.ts.map +1 -0
  160. package/dist/context/state-tracker/with-parameters.js +36 -0
  161. package/dist/context/state-tracker/with-parameters.js.map +1 -0
  162. package/dist/debug/debug-program-configuration.d.ts +2 -0
  163. package/dist/debug/debug-program-configuration.d.ts.map +1 -0
  164. package/dist/debug/debug-program-configuration.js +40 -0
  165. package/dist/debug/debug-program-configuration.js.map +1 -0
  166. package/dist/debug/debug-uniforms.d.ts +12 -0
  167. package/dist/debug/debug-uniforms.d.ts.map +1 -0
  168. package/dist/debug/debug-uniforms.js +108 -0
  169. package/dist/debug/debug-uniforms.js.map +1 -0
  170. package/dist/debug/debug-vertex-array.d.ts +5 -0
  171. package/dist/debug/debug-vertex-array.d.ts.map +1 -0
  172. package/dist/debug/debug-vertex-array.js +118 -0
  173. package/dist/debug/debug-vertex-array.js.map +1 -0
  174. package/dist/device/check-glsl-extension.d.ts +4 -0
  175. package/dist/device/check-glsl-extension.d.ts.map +1 -0
  176. package/dist/device/check-glsl-extension.js +22 -0
  177. package/dist/device/check-glsl-extension.js.map +1 -0
  178. package/dist/device/device-features.d.ts +12 -0
  179. package/dist/device/device-features.d.ts.map +1 -0
  180. package/dist/device/device-features.js +123 -0
  181. package/dist/device/device-features.js.map +1 -0
  182. package/dist/device/device-limits.d.ts +51 -0
  183. package/dist/device/device-limits.d.ts.map +1 -0
  184. package/dist/device/device-limits.js +90 -0
  185. package/dist/device/device-limits.js.map +1 -0
  186. package/dist/device/get-device-info.d.ts +4 -0
  187. package/dist/device/get-device-info.d.ts.map +1 -0
  188. package/dist/device/get-device-info.js +44 -0
  189. package/dist/device/get-device-info.js.map +1 -0
  190. package/dist/device/webgl-device.d.ts +111 -0
  191. package/dist/device/webgl-device.d.ts.map +1 -0
  192. package/dist/device/webgl-device.js +208 -0
  193. package/dist/device/webgl-device.js.map +1 -0
  194. package/dist/es5/api/device2.js +42 -0
  195. package/dist/es5/api/device2.js.map +1 -0
  196. package/dist/es5/bundle.js +2 -4
  197. package/dist/es5/bundle.js.map +1 -1
  198. package/dist/es5/classes/accessor.js +36 -38
  199. package/dist/es5/classes/accessor.js.map +1 -1
  200. package/dist/es5/classes/accessor.ts.disabled +159 -0
  201. package/dist/es5/classes/clear.js +17 -11
  202. package/dist/es5/classes/clear.js.map +1 -1
  203. package/dist/es5/classes/copy-and-blit.js +121 -117
  204. package/dist/es5/classes/copy-and-blit.js.map +1 -1
  205. package/dist/es5/classes/framebuffer.js +435 -423
  206. package/dist/es5/classes/framebuffer.js.map +1 -1
  207. package/dist/es5/classes/program-configuration.js +14 -11
  208. package/dist/es5/classes/program-configuration.js.map +1 -1
  209. package/dist/es5/classes/program.js +79 -67
  210. package/dist/es5/classes/program.js.map +1 -1
  211. package/dist/es5/classes/query.js +58 -59
  212. package/dist/es5/classes/query.js.map +1 -1
  213. package/dist/es5/classes/renderbuffer-formats.js +79 -52
  214. package/dist/es5/classes/renderbuffer-formats.js.map +1 -1
  215. package/dist/es5/classes/renderbuffer.js +129 -100
  216. package/dist/es5/classes/renderbuffer.js.map +1 -1
  217. package/dist/es5/classes/texture-2d.js +25 -21
  218. package/dist/es5/classes/texture-2d.js.map +1 -1
  219. package/dist/es5/classes/texture-3d.js +49 -29
  220. package/dist/es5/classes/texture-3d.js.map +1 -1
  221. package/dist/es5/classes/texture-cube.js +45 -36
  222. package/dist/es5/classes/texture-cube.js.map +1 -1
  223. package/dist/es5/classes/texture-formats.js +35 -33
  224. package/dist/es5/classes/texture-formats.js.map +1 -1
  225. package/dist/es5/classes/texture.js +213 -101
  226. package/dist/es5/classes/texture.js.map +1 -1
  227. package/dist/es5/classes/transform-feedback.js +37 -34
  228. package/dist/es5/classes/transform-feedback.js.map +1 -1
  229. package/dist/es5/classes/uniform-buffer-layout.js +4 -4
  230. package/dist/es5/classes/uniform-buffer-layout.js.map +1 -1
  231. package/dist/es5/classes/uniforms.js +73 -73
  232. package/dist/es5/classes/uniforms.js.map +1 -1
  233. package/dist/es5/classes/vertex-array-object.js +106 -149
  234. package/dist/es5/classes/vertex-array-object.js.map +1 -1
  235. package/dist/es5/classes/vertex-array.js +47 -38
  236. package/dist/es5/classes/vertex-array.js.map +1 -1
  237. package/dist/es5/classes/{buffer.js → webgl-buffer.js} +120 -111
  238. package/dist/es5/classes/webgl-buffer.js.map +1 -0
  239. package/dist/es5/classes/{resource.js → webgl-resource.js} +78 -99
  240. package/dist/es5/classes/webgl-resource.js.map +1 -0
  241. package/dist/es5/classes/webgl-shader.js +309 -0
  242. package/dist/es5/classes/webgl-shader.js.map +1 -0
  243. package/dist/es5/context/context/context-state.js +31 -0
  244. package/dist/es5/context/context/context-state.js.map +1 -0
  245. package/dist/es5/context/context/create-context.js +57 -0
  246. package/dist/es5/context/context/create-context.js.map +1 -0
  247. package/dist/es5/context/context/device-pixels.js +115 -0
  248. package/dist/es5/context/context/device-pixels.js.map +1 -0
  249. package/dist/es5/context/context/get-canvas.js +40 -0
  250. package/dist/es5/context/context/get-canvas.js.map +1 -0
  251. package/dist/es5/context/context/resize-context.js +23 -0
  252. package/dist/es5/context/context/resize-context.js.map +1 -0
  253. package/dist/es5/context/context/webgl-checks.js +54 -0
  254. package/dist/es5/context/context/webgl-checks.js.map +1 -0
  255. package/dist/es5/context/parameters/unified-parameter-api.js +95 -0
  256. package/dist/es5/context/parameters/unified-parameter-api.js.map +1 -0
  257. package/dist/es5/context/parameters/webgl-parameter-tables.js +392 -0
  258. package/dist/es5/context/parameters/webgl-parameter-tables.js.map +1 -0
  259. package/dist/es5/context/parameters/webgl-parameters.js +6 -0
  260. package/dist/es5/context/parameters/webgl-parameters.js.map +1 -0
  261. package/dist/es5/context/polyfill/get-parameter-polyfill.js +81 -0
  262. package/dist/es5/context/polyfill/get-parameter-polyfill.js.map +1 -0
  263. package/dist/es5/context/polyfill/polyfill-context.js +134 -0
  264. package/dist/es5/context/polyfill/polyfill-context.js.map +1 -0
  265. package/dist/es5/context/polyfill/polyfill-table.js +166 -0
  266. package/dist/es5/context/polyfill/polyfill-table.js.map +1 -0
  267. package/dist/es5/context/polyfill/polyfill-vertex-array-object.js +341 -0
  268. package/dist/es5/context/polyfill/polyfill-vertex-array-object.js.map +1 -0
  269. package/dist/es5/context/state-tracker/deep-array-equal.js +28 -0
  270. package/dist/es5/context/state-tracker/deep-array-equal.js.map +1 -0
  271. package/dist/es5/context/state-tracker/track-context-state.js +196 -0
  272. package/dist/es5/context/state-tracker/track-context-state.js.map +1 -0
  273. package/dist/es5/context/state-tracker/with-parameters.js +44 -0
  274. package/dist/es5/context/state-tracker/with-parameters.js.map +1 -0
  275. package/dist/es5/debug/debug-program-configuration.js +1 -1
  276. package/dist/es5/debug/debug-program-configuration.js.map +1 -1
  277. package/dist/es5/debug/debug-uniforms.js +18 -20
  278. package/dist/es5/debug/debug-uniforms.js.map +1 -1
  279. package/dist/es5/debug/debug-vertex-array.js +16 -16
  280. package/dist/es5/debug/debug-vertex-array.js.map +1 -1
  281. package/dist/es5/device/check-glsl-extension.js +33 -0
  282. package/dist/es5/device/check-glsl-extension.js.map +1 -0
  283. package/dist/es5/device/device-features.js +152 -0
  284. package/dist/es5/device/device-features.js.map +1 -0
  285. package/dist/es5/device/device-limits.js +64 -0
  286. package/dist/es5/device/device-limits.js.map +1 -0
  287. package/dist/es5/device/get-device-info.js +55 -0
  288. package/dist/es5/device/get-device-info.js.map +1 -0
  289. package/dist/es5/device/webgl-device.js +279 -0
  290. package/dist/es5/device/webgl-device.js.map +1 -0
  291. package/dist/es5/index.js +140 -96
  292. package/dist/es5/index.js.map +1 -1
  293. package/dist/es5/init.js +21 -41
  294. package/dist/es5/init.js.map +1 -1
  295. package/dist/es5/types.js +2 -0
  296. package/dist/es5/types.js.map +1 -0
  297. package/dist/es5/webgl-utils/attribute-utils.js +4 -4
  298. package/dist/es5/webgl-utils/attribute-utils.js.map +1 -1
  299. package/dist/es5/webgl-utils/constants-to-keys.js +3 -3
  300. package/dist/es5/webgl-utils/constants-to-keys.js.map +1 -1
  301. package/dist/es5/webgl-utils/format-utils.js +21 -17
  302. package/dist/es5/webgl-utils/format-utils.js.map +1 -1
  303. package/dist/es5/webgl-utils/get-error.js.map +1 -1
  304. package/dist/es5/webgl-utils/index.js +74 -0
  305. package/dist/es5/webgl-utils/index.js.map +1 -0
  306. package/dist/es5/{features/check-old-ie.js → webgl-utils/is-old-ie.js} +3 -3
  307. package/dist/es5/webgl-utils/is-old-ie.js.map +1 -0
  308. package/dist/es5/webgl-utils/parse-shader-compiler-log.js +72 -0
  309. package/dist/es5/webgl-utils/parse-shader-compiler-log.js.map +1 -0
  310. package/dist/es5/webgl-utils/request-animation-frame.js.map +1 -1
  311. package/dist/es5/webgl-utils/texture-utils.js +6 -4
  312. package/dist/es5/webgl-utils/texture-utils.js.map +1 -1
  313. package/dist/es5/webgl-utils/typed-array-utils.js +39 -34
  314. package/dist/es5/webgl-utils/typed-array-utils.js.map +1 -1
  315. package/dist/es5/webgl-utils/webgl-info.ts.disabled +135 -0
  316. package/dist/esm/api/device2.js +23 -0
  317. package/dist/esm/api/device2.js.map +1 -0
  318. package/dist/esm/bundle.js +2 -4
  319. package/dist/esm/bundle.js.map +1 -1
  320. package/dist/esm/classes/accessor.js +6 -6
  321. package/dist/esm/classes/accessor.js.map +1 -1
  322. package/dist/esm/classes/accessor.ts.disabled +159 -0
  323. package/dist/esm/classes/clear.js +19 -14
  324. package/dist/esm/classes/clear.js.map +1 -1
  325. package/dist/esm/classes/copy-and-blit.js +67 -64
  326. package/dist/esm/classes/copy-and-blit.js.map +1 -1
  327. package/dist/esm/classes/framebuffer.js +341 -313
  328. package/dist/esm/classes/framebuffer.js.map +1 -1
  329. package/dist/esm/classes/program-configuration.js +18 -10
  330. package/dist/esm/classes/program-configuration.js.map +1 -1
  331. package/dist/esm/classes/program.js +71 -44
  332. package/dist/esm/classes/program.js.map +1 -1
  333. package/dist/esm/classes/query.js +20 -16
  334. package/dist/esm/classes/query.js.map +1 -1
  335. package/dist/esm/classes/renderbuffer-formats.js +72 -49
  336. package/dist/esm/classes/renderbuffer-formats.js.map +1 -1
  337. package/dist/esm/classes/renderbuffer.js +86 -73
  338. package/dist/esm/classes/renderbuffer.js.map +1 -1
  339. package/dist/esm/classes/texture-2d.js +13 -9
  340. package/dist/esm/classes/texture-2d.js.map +1 -1
  341. package/dist/esm/classes/texture-3d.js +28 -16
  342. package/dist/esm/classes/texture-3d.js.map +1 -1
  343. package/dist/esm/classes/texture-cube.js +45 -31
  344. package/dist/esm/classes/texture-cube.js.map +1 -1
  345. package/dist/esm/classes/texture-formats.js +52 -51
  346. package/dist/esm/classes/texture-formats.js.map +1 -1
  347. package/dist/esm/classes/texture.js +174 -58
  348. package/dist/esm/classes/texture.js.map +1 -1
  349. package/dist/esm/classes/transform-feedback.js +26 -14
  350. package/dist/esm/classes/transform-feedback.js.map +1 -1
  351. package/dist/esm/classes/uniform-buffer-layout.js +1 -1
  352. package/dist/esm/classes/uniform-buffer-layout.js.map +1 -1
  353. package/dist/esm/classes/uniforms.js +111 -113
  354. package/dist/esm/classes/uniforms.js.map +1 -1
  355. package/dist/esm/classes/vertex-array-object.js +52 -89
  356. package/dist/esm/classes/vertex-array-object.js.map +1 -1
  357. package/dist/esm/classes/vertex-array.js +50 -29
  358. package/dist/esm/classes/vertex-array.js.map +1 -1
  359. package/dist/esm/classes/webgl-buffer.js +382 -0
  360. package/dist/esm/classes/webgl-buffer.js.map +1 -0
  361. package/dist/esm/classes/webgl-resource.js +212 -0
  362. package/dist/esm/classes/webgl-resource.js.map +1 -0
  363. package/dist/esm/classes/webgl-shader.js +193 -0
  364. package/dist/esm/classes/webgl-shader.js.map +1 -0
  365. package/dist/esm/context/context/context-state.js +26 -0
  366. package/dist/esm/context/context/context-state.js.map +1 -0
  367. package/dist/esm/context/context/create-context.js +37 -0
  368. package/dist/esm/context/context/create-context.js.map +1 -0
  369. package/dist/esm/context/context/device-pixels.js +98 -0
  370. package/dist/esm/context/context/device-pixels.js.map +1 -0
  371. package/dist/esm/context/context/get-canvas.js +31 -0
  372. package/dist/esm/context/context/get-canvas.js.map +1 -0
  373. package/dist/esm/context/context/resize-context.js +15 -0
  374. package/dist/esm/context/context/resize-context.js.map +1 -0
  375. package/dist/esm/context/context/webgl-checks.js +34 -0
  376. package/dist/esm/context/context/webgl-checks.js.map +1 -0
  377. package/dist/esm/context/parameters/unified-parameter-api.js +65 -0
  378. package/dist/esm/context/parameters/unified-parameter-api.js.map +1 -0
  379. package/dist/esm/context/parameters/webgl-parameter-tables.js +445 -0
  380. package/dist/esm/context/parameters/webgl-parameter-tables.js.map +1 -0
  381. package/dist/esm/context/parameters/webgl-parameters.js +2 -0
  382. package/dist/esm/context/parameters/webgl-parameters.js.map +1 -0
  383. package/dist/esm/context/polyfill/get-parameter-polyfill.js +91 -0
  384. package/dist/esm/context/polyfill/get-parameter-polyfill.js.map +1 -0
  385. package/dist/esm/context/polyfill/polyfill-context.js +91 -0
  386. package/dist/esm/context/polyfill/polyfill-context.js.map +1 -0
  387. package/dist/esm/context/polyfill/polyfill-table.js +160 -0
  388. package/dist/esm/context/polyfill/polyfill-table.js.map +1 -0
  389. package/dist/esm/context/polyfill/polyfill-vertex-array-object.js +335 -0
  390. package/dist/esm/context/polyfill/polyfill-vertex-array-object.js.map +1 -0
  391. package/dist/esm/context/state-tracker/deep-array-equal.js +21 -0
  392. package/dist/esm/context/state-tracker/deep-array-equal.js.map +1 -0
  393. package/dist/esm/context/state-tracker/track-context-state.js +169 -0
  394. package/dist/esm/context/state-tracker/track-context-state.js.map +1 -0
  395. package/dist/esm/context/state-tracker/with-parameters.js +36 -0
  396. package/dist/esm/context/state-tracker/with-parameters.js.map +1 -0
  397. package/dist/esm/debug/debug-program-configuration.js +4 -4
  398. package/dist/esm/debug/debug-program-configuration.js.map +1 -1
  399. package/dist/esm/debug/debug-uniforms.js +9 -9
  400. package/dist/esm/debug/debug-uniforms.js.map +1 -1
  401. package/dist/esm/debug/debug-vertex-array.js +18 -16
  402. package/dist/esm/debug/debug-vertex-array.js.map +1 -1
  403. package/dist/esm/device/check-glsl-extension.js +22 -0
  404. package/dist/esm/device/check-glsl-extension.js.map +1 -0
  405. package/dist/esm/device/device-features.js +123 -0
  406. package/dist/esm/device/device-features.js.map +1 -0
  407. package/dist/esm/device/device-limits.js +90 -0
  408. package/dist/esm/device/device-limits.js.map +1 -0
  409. package/dist/esm/device/get-device-info.js +44 -0
  410. package/dist/esm/device/get-device-info.js.map +1 -0
  411. package/dist/esm/device/webgl-device.js +208 -0
  412. package/dist/esm/device/webgl-device.js.map +1 -0
  413. package/dist/esm/index.js +15 -15
  414. package/dist/esm/index.js.map +1 -1
  415. package/dist/esm/init.js +12 -28
  416. package/dist/esm/init.js.map +1 -1
  417. package/dist/esm/types.js +2 -0
  418. package/dist/esm/types.js.map +1 -0
  419. package/dist/esm/webgl-utils/attribute-utils.js +1 -1
  420. package/dist/esm/webgl-utils/attribute-utils.js.map +1 -1
  421. package/dist/esm/webgl-utils/constants-to-keys.js +4 -4
  422. package/dist/esm/webgl-utils/constants-to-keys.js.map +1 -1
  423. package/dist/esm/webgl-utils/format-utils.js +16 -15
  424. package/dist/esm/webgl-utils/format-utils.js.map +1 -1
  425. package/dist/esm/webgl-utils/get-error.js +1 -1
  426. package/dist/esm/webgl-utils/get-error.js.map +1 -1
  427. package/dist/esm/webgl-utils/index.js +5 -0
  428. package/dist/esm/webgl-utils/index.js.map +1 -0
  429. package/dist/esm/{features/check-old-ie.js → webgl-utils/is-old-ie.js} +3 -3
  430. package/dist/esm/webgl-utils/is-old-ie.js.map +1 -0
  431. package/dist/esm/webgl-utils/parse-shader-compiler-log.js +37 -0
  432. package/dist/esm/webgl-utils/parse-shader-compiler-log.js.map +1 -0
  433. package/dist/esm/webgl-utils/request-animation-frame.js.map +1 -1
  434. package/dist/esm/webgl-utils/texture-utils.js +4 -3
  435. package/dist/esm/webgl-utils/texture-utils.js.map +1 -1
  436. package/dist/esm/webgl-utils/typed-array-utils.js +41 -36
  437. package/dist/esm/webgl-utils/typed-array-utils.js.map +1 -1
  438. package/dist/esm/webgl-utils/webgl-info.ts.disabled +135 -0
  439. package/dist/index.d.ts +49 -0
  440. package/dist/index.d.ts.map +1 -0
  441. package/dist/index.js +35 -0
  442. package/dist/index.js.map +1 -0
  443. package/dist/init.d.ts +5 -0
  444. package/dist/init.d.ts.map +1 -0
  445. package/dist/init.js +33 -0
  446. package/dist/init.js.map +1 -0
  447. package/dist/types.d.ts +9 -0
  448. package/dist/types.d.ts.map +1 -0
  449. package/dist/types.js +2 -0
  450. package/dist/types.js.map +1 -0
  451. package/dist/webgl-utils/attribute-utils.d.ts +18 -0
  452. package/dist/webgl-utils/attribute-utils.d.ts.map +1 -0
  453. package/dist/webgl-utils/attribute-utils.js +182 -0
  454. package/dist/webgl-utils/attribute-utils.js.map +1 -0
  455. package/dist/webgl-utils/constants-to-keys.d.ts +4 -0
  456. package/dist/webgl-utils/constants-to-keys.d.ts.map +1 -0
  457. package/dist/webgl-utils/constants-to-keys.js +41 -0
  458. package/dist/webgl-utils/constants-to-keys.js.map +1 -0
  459. package/dist/webgl-utils/format-utils.d.ts +3 -0
  460. package/dist/webgl-utils/format-utils.d.ts.map +1 -0
  461. package/dist/webgl-utils/format-utils.js +45 -0
  462. package/dist/webgl-utils/format-utils.js.map +1 -0
  463. package/dist/webgl-utils/get-error.d.ts +3 -0
  464. package/dist/webgl-utils/get-error.d.ts.map +1 -0
  465. package/dist/webgl-utils/get-error.js +41 -0
  466. package/dist/webgl-utils/get-error.js.map +1 -0
  467. package/dist/webgl-utils/index.d.ts +5 -0
  468. package/dist/webgl-utils/index.d.ts.map +1 -0
  469. package/dist/webgl-utils/index.js +5 -0
  470. package/dist/webgl-utils/index.js.map +1 -0
  471. package/dist/webgl-utils/is-old-ie.d.ts +2 -0
  472. package/dist/webgl-utils/is-old-ie.d.ts.map +1 -0
  473. package/dist/webgl-utils/is-old-ie.js +8 -0
  474. package/dist/webgl-utils/is-old-ie.js.map +1 -0
  475. package/dist/webgl-utils/parse-shader-compiler-log.d.ts +8 -0
  476. package/dist/webgl-utils/parse-shader-compiler-log.d.ts.map +1 -0
  477. package/dist/webgl-utils/parse-shader-compiler-log.js +37 -0
  478. package/dist/webgl-utils/parse-shader-compiler-log.js.map +1 -0
  479. package/dist/webgl-utils/request-animation-frame.d.ts +4 -0
  480. package/dist/webgl-utils/request-animation-frame.d.ts.map +1 -0
  481. package/dist/webgl-utils/request-animation-frame.js +7 -0
  482. package/dist/webgl-utils/request-animation-frame.js.map +1 -0
  483. package/dist/webgl-utils/texture-utils.d.ts +15 -0
  484. package/dist/webgl-utils/texture-utils.d.ts.map +1 -0
  485. package/dist/webgl-utils/texture-utils.js +48 -0
  486. package/dist/webgl-utils/texture-utils.js.map +1 -0
  487. package/dist/webgl-utils/typed-array-utils.d.ts +43 -0
  488. package/dist/webgl-utils/typed-array-utils.d.ts.map +1 -0
  489. package/{src → dist}/webgl-utils/typed-array-utils.js +45 -27
  490. package/dist/webgl-utils/typed-array-utils.js.map +1 -0
  491. package/dist/webgl-utils/webgl-info.ts.disabled +135 -0
  492. package/package.json +9 -9
  493. package/src/.DS_Store +0 -0
  494. package/src/api/device2.ts +71 -0
  495. package/src/bundle.ts +4 -0
  496. package/src/classes/accessor.js +2 -3
  497. package/src/classes/accessor.ts.disabled +159 -0
  498. package/src/classes/clear.ts +108 -0
  499. package/src/classes/{copy-and-blit.js → copy-and-blit.ts} +143 -55
  500. package/src/classes/{framebuffer.js → framebuffer.ts} +381 -321
  501. package/src/classes/{program-configuration.js → program-configuration.ts} +19 -12
  502. package/src/classes/{program.js → program.ts} +66 -40
  503. package/src/classes/{query.js → query.ts} +31 -25
  504. package/src/classes/{renderbuffer-formats.js → renderbuffer-formats.ts} +42 -14
  505. package/src/classes/renderbuffer.ts +154 -0
  506. package/src/classes/texture-2d.ts +35 -0
  507. package/src/classes/{texture-3d.js → texture-3d.ts} +48 -18
  508. package/src/classes/{texture-cube.js → texture-cube.ts} +52 -34
  509. package/src/classes/{texture-formats.js → texture-formats.ts} +10 -2
  510. package/src/classes/{texture.js → texture.ts} +223 -57
  511. package/src/classes/{transform-feedback.js → transform-feedback.ts} +34 -25
  512. package/src/classes/{uniform-buffer-layout.js → uniform-buffer-layout.ts} +10 -6
  513. package/src/classes/{uniforms.js → uniforms.ts} +123 -77
  514. package/src/classes/{vertex-array-object.js → vertex-array-object.ts} +133 -112
  515. package/src/classes/{vertex-array.js → vertex-array.ts} +74 -55
  516. package/src/classes/{buffer.js → webgl-buffer.ts} +126 -50
  517. package/src/classes/{resource.js → webgl-resource.ts} +55 -46
  518. package/src/classes/webgl-shader.ts +202 -0
  519. package/src/context/context/context-state.ts +39 -0
  520. package/src/context/context/create-context.ts +83 -0
  521. package/src/context/context/device-pixels.ts +147 -0
  522. package/src/context/context/get-canvas.ts +37 -0
  523. package/src/context/context/resize-context.ts +37 -0
  524. package/src/context/context/webgl-checks.ts +49 -0
  525. package/src/context/parameters/unified-parameter-api.ts +127 -0
  526. package/src/context/parameters/webgl-parameter-tables.ts +625 -0
  527. package/src/context/parameters/webgl-parameters.ts +197 -0
  528. package/src/context/polyfill/get-parameter-polyfill.ts +118 -0
  529. package/src/context/polyfill/polyfill-context.ts +98 -0
  530. package/src/context/polyfill/polyfill-table.ts +162 -0
  531. package/src/context/polyfill/polyfill-vertex-array-object.ts +360 -0
  532. package/src/context/state-tracker/deep-array-equal.ts +20 -0
  533. package/src/context/state-tracker/track-context-state.ts +250 -0
  534. package/src/context/state-tracker/with-parameters.ts +50 -0
  535. package/src/debug/{debug-program-configuration.js → debug-program-configuration.ts} +0 -0
  536. package/src/debug/{debug-uniforms.js → debug-uniforms.ts} +18 -8
  537. package/src/debug/{debug-vertex-array.js → debug-vertex-array.ts} +6 -5
  538. package/src/device/check-glsl-extension.ts +44 -0
  539. package/src/device/device-features.ts +227 -0
  540. package/src/device/device-limits.ts +150 -0
  541. package/src/device/get-device-info.ts +49 -0
  542. package/src/device/webgl-device.ts +406 -0
  543. package/src/index.ts +127 -0
  544. package/src/{init.js → init.ts} +11 -25
  545. package/src/{types.d.ts → types.ts} +1 -1
  546. package/src/webgl-utils/{attribute-utils.js → attribute-utils.ts} +1 -2
  547. package/src/webgl-utils/{constants-to-keys.js → constants-to-keys.ts} +1 -1
  548. package/src/webgl-utils/{format-utils.js → format-utils.ts} +1 -1
  549. package/src/webgl-utils/{get-error.js → get-error.ts} +0 -0
  550. package/src/webgl-utils/index.ts +12 -0
  551. package/src/{features/check-old-ie.js → webgl-utils/is-old-ie.ts} +3 -3
  552. package/src/webgl-utils/parse-shader-compiler-log.ts +48 -0
  553. package/src/webgl-utils/{request-animation-frame.js → request-animation-frame.ts} +3 -2
  554. package/src/webgl-utils/{texture-utils.js → texture-utils.ts} +14 -10
  555. package/src/webgl-utils/typed-array-utils.ts +137 -0
  556. package/src/webgl-utils/webgl-info.ts.disabled +135 -0
  557. package/dist/dist.js +0 -13710
  558. package/dist/dist.min.js +0 -1
  559. package/dist/es5/classes/buffer.d.ts +0 -84
  560. package/dist/es5/classes/buffer.js.map +0 -1
  561. package/dist/es5/classes/clear.d.ts +0 -11
  562. package/dist/es5/classes/copy-and-blit.d.ts +0 -101
  563. package/dist/es5/classes/framebuffer.d.ts +0 -96
  564. package/dist/es5/classes/program-configuration.d.ts +0 -15
  565. package/dist/es5/classes/program.d.ts +0 -44
  566. package/dist/es5/classes/query.d.ts +0 -21
  567. package/dist/es5/classes/renderbuffer.d.ts +0 -34
  568. package/dist/es5/classes/resource.d.ts +0 -47
  569. package/dist/es5/classes/resource.js.map +0 -1
  570. package/dist/es5/classes/shader.d.ts +0 -29
  571. package/dist/es5/classes/shader.js +0 -221
  572. package/dist/es5/classes/shader.js.map +0 -1
  573. package/dist/es5/classes/texture-2d.d.ts +0 -11
  574. package/dist/es5/classes/texture-3d.d.ts +0 -29
  575. package/dist/es5/classes/texture-cube.d.ts +0 -23
  576. package/dist/es5/classes/texture.d.ts +0 -80
  577. package/dist/es5/classes/transform-feedback.d.ts +0 -16
  578. package/dist/es5/classes/uniform-buffer-layout.d.ts +0 -18
  579. package/dist/es5/classes/uniforms.d.ts +0 -63
  580. package/dist/es5/classes/vertex-array-object.d.ts +0 -25
  581. package/dist/es5/classes/vertex-array.d.ts +0 -37
  582. package/dist/es5/debug/debug-program-configuration.d.ts +0 -1
  583. package/dist/es5/debug/debug-uniforms.d.ts +0 -11
  584. package/dist/es5/debug/debug-vertex-array.d.ts +0 -1
  585. package/dist/es5/features/check-glsl-extension.js +0 -41
  586. package/dist/es5/features/check-glsl-extension.js.map +0 -1
  587. package/dist/es5/features/check-old-ie.js.map +0 -1
  588. package/dist/es5/features/features.js +0 -99
  589. package/dist/es5/features/features.js.map +0 -1
  590. package/dist/es5/features/index.js +0 -64
  591. package/dist/es5/features/index.js.map +0 -1
  592. package/dist/es5/features/limits.js +0 -64
  593. package/dist/es5/features/limits.js.map +0 -1
  594. package/dist/es5/features/webgl-features-table.js +0 -64
  595. package/dist/es5/features/webgl-features-table.js.map +0 -1
  596. package/dist/es5/features/webgl-limits-table.js +0 -132
  597. package/dist/es5/features/webgl-limits-table.js.map +0 -1
  598. package/dist/es5/glsl-utils/format-glsl-error.d.ts +0 -16
  599. package/dist/es5/glsl-utils/format-glsl-error.js +0 -108
  600. package/dist/es5/glsl-utils/format-glsl-error.js.map +0 -1
  601. package/dist/es5/glsl-utils/get-shader-name.js +0 -14
  602. package/dist/es5/glsl-utils/get-shader-name.js.map +0 -1
  603. package/dist/es5/glsl-utils/get-shader-type-name.js +0 -22
  604. package/dist/es5/glsl-utils/get-shader-type-name.js.map +0 -1
  605. package/dist/es5/glsl-utils/get-shader-version.js +0 -22
  606. package/dist/es5/glsl-utils/get-shader-version.js.map +0 -1
  607. package/dist/es5/glsl-utils/index.js +0 -48
  608. package/dist/es5/glsl-utils/index.js.map +0 -1
  609. package/dist/es5/index.d.ts +0 -71
  610. package/dist/es5/init.d.ts +0 -12
  611. package/dist/es5/types.d.ts +0 -8
  612. package/dist/es5/utils/array-utils-flat.js +0 -51
  613. package/dist/es5/utils/array-utils-flat.js.map +0 -1
  614. package/dist/es5/utils/assert.d.ts +0 -1
  615. package/dist/es5/utils/assert.js +0 -13
  616. package/dist/es5/utils/assert.js.map +0 -1
  617. package/dist/es5/utils/check-props.js +0 -51
  618. package/dist/es5/utils/check-props.js.map +0 -1
  619. package/dist/es5/utils/format-value.js +0 -57
  620. package/dist/es5/utils/format-value.js.map +0 -1
  621. package/dist/es5/utils/is-old-ie.d.ts +0 -1
  622. package/dist/es5/utils/is-old-ie.js +0 -14
  623. package/dist/es5/utils/is-old-ie.js.map +0 -1
  624. package/dist/es5/utils/load-file.js +0 -50
  625. package/dist/es5/utils/load-file.js.map +0 -1
  626. package/dist/es5/utils/stub-methods.js +0 -25
  627. package/dist/es5/utils/stub-methods.js.map +0 -1
  628. package/dist/es5/utils/utils.d.ts +0 -13
  629. package/dist/es5/utils/utils.js +0 -36
  630. package/dist/es5/utils/utils.js.map +0 -1
  631. package/dist/es5/webgl-utils/request-animation-frame.d.ts +0 -3
  632. package/dist/es5/webgl-utils/texture-utils.d.ts +0 -11
  633. package/dist/es5/webgl-utils/typed-array-utils.d.ts +0 -36
  634. package/dist/esm/classes/buffer.d.ts +0 -84
  635. package/dist/esm/classes/buffer.js.map +0 -1
  636. package/dist/esm/classes/clear.d.ts +0 -11
  637. package/dist/esm/classes/copy-and-blit.d.ts +0 -101
  638. package/dist/esm/classes/framebuffer.d.ts +0 -96
  639. package/dist/esm/classes/program-configuration.d.ts +0 -15
  640. package/dist/esm/classes/program.d.ts +0 -44
  641. package/dist/esm/classes/query.d.ts +0 -21
  642. package/dist/esm/classes/renderbuffer.d.ts +0 -34
  643. package/dist/esm/classes/resource.d.ts +0 -47
  644. package/dist/esm/classes/resource.js.map +0 -1
  645. package/dist/esm/classes/shader.d.ts +0 -29
  646. package/dist/esm/classes/shader.js +0 -138
  647. package/dist/esm/classes/shader.js.map +0 -1
  648. package/dist/esm/classes/texture-2d.d.ts +0 -11
  649. package/dist/esm/classes/texture-3d.d.ts +0 -29
  650. package/dist/esm/classes/texture-cube.d.ts +0 -23
  651. package/dist/esm/classes/texture.d.ts +0 -80
  652. package/dist/esm/classes/transform-feedback.d.ts +0 -16
  653. package/dist/esm/classes/uniform-buffer-layout.d.ts +0 -18
  654. package/dist/esm/classes/uniforms.d.ts +0 -63
  655. package/dist/esm/classes/vertex-array-object.d.ts +0 -25
  656. package/dist/esm/classes/vertex-array.d.ts +0 -37
  657. package/dist/esm/debug/debug-program-configuration.d.ts +0 -1
  658. package/dist/esm/debug/debug-uniforms.d.ts +0 -11
  659. package/dist/esm/debug/debug-vertex-array.d.ts +0 -1
  660. package/dist/esm/features/check-glsl-extension.js +0 -27
  661. package/dist/esm/features/check-glsl-extension.js.map +0 -1
  662. package/dist/esm/features/check-old-ie.js.map +0 -1
  663. package/dist/esm/features/features.js +0 -66
  664. package/dist/esm/features/features.js.map +0 -1
  665. package/dist/esm/features/index.js +0 -5
  666. package/dist/esm/features/index.js.map +0 -1
  667. package/dist/esm/features/limits.js +0 -52
  668. package/dist/esm/features/limits.js.map +0 -1
  669. package/dist/esm/features/webgl-features-table.js +0 -71
  670. package/dist/esm/features/webgl-features-table.js.map +0 -1
  671. package/dist/esm/features/webgl-limits-table.js +0 -160
  672. package/dist/esm/features/webgl-limits-table.js.map +0 -1
  673. package/dist/esm/glsl-utils/format-glsl-error.d.ts +0 -16
  674. package/dist/esm/glsl-utils/format-glsl-error.js +0 -93
  675. package/dist/esm/glsl-utils/format-glsl-error.js.map +0 -1
  676. package/dist/esm/glsl-utils/get-shader-name.js +0 -6
  677. package/dist/esm/glsl-utils/get-shader-name.js.map +0 -1
  678. package/dist/esm/glsl-utils/get-shader-type-name.js +0 -15
  679. package/dist/esm/glsl-utils/get-shader-type-name.js.map +0 -1
  680. package/dist/esm/glsl-utils/get-shader-version.js +0 -15
  681. package/dist/esm/glsl-utils/get-shader-version.js.map +0 -1
  682. package/dist/esm/glsl-utils/index.js +0 -5
  683. package/dist/esm/glsl-utils/index.js.map +0 -1
  684. package/dist/esm/index.d.ts +0 -71
  685. package/dist/esm/init.d.ts +0 -12
  686. package/dist/esm/types.d.ts +0 -8
  687. package/dist/esm/utils/array-utils-flat.js +0 -39
  688. package/dist/esm/utils/array-utils-flat.js.map +0 -1
  689. package/dist/esm/utils/assert.d.ts +0 -1
  690. package/dist/esm/utils/assert.js +0 -6
  691. package/dist/esm/utils/assert.js.map +0 -1
  692. package/dist/esm/utils/check-props.js +0 -38
  693. package/dist/esm/utils/check-props.js.map +0 -1
  694. package/dist/esm/utils/format-value.js +0 -50
  695. package/dist/esm/utils/format-value.js.map +0 -1
  696. package/dist/esm/utils/is-old-ie.d.ts +0 -1
  697. package/dist/esm/utils/is-old-ie.js +0 -5
  698. package/dist/esm/utils/is-old-ie.js.map +0 -1
  699. package/dist/esm/utils/load-file.js +0 -30
  700. package/dist/esm/utils/load-file.js.map +0 -1
  701. package/dist/esm/utils/stub-methods.js +0 -17
  702. package/dist/esm/utils/stub-methods.js.map +0 -1
  703. package/dist/esm/utils/utils.d.ts +0 -13
  704. package/dist/esm/utils/utils.js +0 -22
  705. package/dist/esm/utils/utils.js.map +0 -1
  706. package/dist/esm/webgl-utils/request-animation-frame.d.ts +0 -3
  707. package/dist/esm/webgl-utils/texture-utils.d.ts +0 -11
  708. package/dist/esm/webgl-utils/typed-array-utils.d.ts +0 -36
  709. package/src/bundle.js +0 -8
  710. package/src/classes/buffer.d.ts +0 -84
  711. package/src/classes/clear.d.ts +0 -11
  712. package/src/classes/copy-and-blit.d.ts +0 -101
  713. package/src/classes/framebuffer.d.ts +0 -96
  714. package/src/classes/program-configuration.d.ts +0 -15
  715. package/src/classes/program.d.ts +0 -44
  716. package/src/classes/query.d.ts +0 -21
  717. package/src/classes/renderbuffer.d.ts +0 -34
  718. package/src/classes/renderbuffer.js +0 -105
  719. package/src/classes/resource.d.ts +0 -47
  720. package/src/classes/shader.d.ts +0 -29
  721. package/src/classes/shader.js +0 -147
  722. package/src/classes/texture-2d.d.ts +0 -11
  723. package/src/classes/texture-2d.js +0 -30
  724. package/src/classes/texture-3d.d.ts +0 -29
  725. package/src/classes/texture-cube.d.ts +0 -23
  726. package/src/classes/texture.d.ts +0 -80
  727. package/src/classes/transform-feedback.d.ts +0 -16
  728. package/src/classes/uniform-buffer-layout.d.ts +0 -18
  729. package/src/classes/uniforms.d.ts +0 -63
  730. package/src/classes/vertex-array-object.d.ts +0 -25
  731. package/src/classes/vertex-array.d.ts +0 -37
  732. package/src/debug/debug-program-configuration.d.ts +0 -1
  733. package/src/debug/debug-uniforms.d.ts +0 -11
  734. package/src/debug/debug-vertex-array.d.ts +0 -1
  735. package/src/features/check-glsl-extension.js +0 -34
  736. package/src/features/features.js +0 -79
  737. package/src/features/index.js +0 -5
  738. package/src/features/limits.js +0 -65
  739. package/src/features/webgl-features-table.js +0 -104
  740. package/src/features/webgl-limits-table.js +0 -51
  741. package/src/glsl-utils/format-glsl-error.d.ts +0 -16
  742. package/src/glsl-utils/format-glsl-error.js +0 -107
  743. package/src/glsl-utils/get-shader-name.js +0 -7
  744. package/src/glsl-utils/get-shader-type-name.js +0 -13
  745. package/src/glsl-utils/get-shader-version.js +0 -12
  746. package/src/glsl-utils/index.js +0 -8
  747. package/src/index.d.ts +0 -71
  748. package/src/index.js +0 -70
  749. package/src/init.d.ts +0 -12
  750. package/src/utils/array-utils-flat.js +0 -56
  751. package/src/utils/assert.d.ts +0 -1
  752. package/src/utils/assert.js +0 -7
  753. package/src/utils/check-props.js +0 -68
  754. package/src/utils/format-value.js +0 -37
  755. package/src/utils/is-old-ie.d.ts +0 -1
  756. package/src/utils/is-old-ie.js +0 -6
  757. package/src/utils/load-file.js +0 -39
  758. package/src/utils/stub-methods.js +0 -20
  759. package/src/utils/utils.d.ts +0 -13
  760. package/src/utils/utils.js +0 -36
  761. package/src/webgl-utils/request-animation-frame.d.ts +0 -3
  762. package/src/webgl-utils/texture-utils.d.ts +0 -11
  763. package/src/webgl-utils/typed-array-utils.d.ts +0 -36
@@ -5,7 +5,11 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
- exports.FRAMEBUFFER_ATTACHMENT_PARAMETERS = exports.default = void 0;
8
+ exports.default = exports.ImmutableFramebuffer = void 0;
9
+
10
+ var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
11
+
12
+ var _get2 = _interopRequireDefault(require("@babel/runtime/helpers/get"));
9
13
 
10
14
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
15
 
@@ -13,10 +17,6 @@ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/sli
13
17
 
14
18
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
15
19
 
16
- var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
17
-
18
- var _get2 = _interopRequireDefault(require("@babel/runtime/helpers/get"));
19
-
20
20
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
21
21
 
22
22
  var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
@@ -25,25 +25,27 @@ var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime
25
25
 
26
26
  var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
27
27
 
28
- var _gltools = require("@luma.gl/gltools");
28
+ var _api = require("@luma.gl/api");
29
29
 
30
- var _resource = _interopRequireDefault(require("./resource"));
30
+ var _constants = _interopRequireDefault(require("@luma.gl/constants"));
31
31
 
32
- var _texture2d = _interopRequireDefault(require("./texture-2d"));
32
+ var _webglDevice = _interopRequireDefault(require("../device/webgl-device"));
33
33
 
34
- var _renderbuffer = _interopRequireDefault(require("./renderbuffer"));
34
+ var _webglChecks = require("../context/context/webgl-checks");
35
35
 
36
- var _clear2 = require("./clear");
36
+ var _constantsToKeys = require("../webgl-utils/constants-to-keys");
37
37
 
38
- var _copyAndBlit = require("./copy-and-blit.js");
38
+ var _webglResource = _interopRequireDefault(require("./webgl-resource"));
39
39
 
40
- var _features = require("../features");
40
+ var _texture2d = _interopRequireDefault(require("./texture-2d"));
41
41
 
42
- var _constantsToKeys = require("../webgl-utils/constants-to-keys");
42
+ var _renderbuffer = _interopRequireDefault(require("./renderbuffer"));
43
+
44
+ var _clear2 = require("./clear");
43
45
 
44
- var _assert = require("../utils/assert");
46
+ var _copyAndBlit = require("./copy-and-blit");
45
47
 
46
- function _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === "undefined" || o[Symbol.iterator] == null) { 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 = o[Symbol.iterator](); }, 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; } } }; }
48
+ 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; } } }; }
47
49
 
48
50
  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); }
49
51
 
@@ -51,99 +53,329 @@ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len
51
53
 
52
54
  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); }; }
53
55
 
54
- function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
56
+ 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; } }
55
57
 
56
58
  var ERR_MULTIPLE_RENDERTARGETS = 'Multiple render targets not supported';
57
59
 
58
- var Framebuffer = function (_Resource) {
59
- (0, _inherits2.default)(Framebuffer, _Resource);
60
+ var ImmutableFramebuffer = function (_Resource) {
61
+ (0, _inherits2.default)(ImmutableFramebuffer, _Resource);
60
62
 
61
- var _super = _createSuper(Framebuffer);
63
+ var _super = _createSuper(ImmutableFramebuffer);
62
64
 
63
- (0, _createClass2.default)(Framebuffer, [{
64
- key: "MAX_COLOR_ATTACHMENTS",
65
- get: function get() {
66
- var gl2 = (0, _gltools.assertWebGL2Context)(this.gl);
67
- return gl2.getParameter(gl2.MAX_COLOR_ATTACHMENTS);
65
+ function ImmutableFramebuffer(gl, props) {
66
+ var _this;
67
+
68
+ (0, _classCallCheck2.default)(this, ImmutableFramebuffer);
69
+ _this = _super.call(this, _webglDevice.default.attach(gl), props, {});
70
+
71
+ _this._initialize({
72
+ attachments: (props === null || props === void 0 ? void 0 : props.attachments) || {},
73
+ readBuffer: props === null || props === void 0 ? void 0 : props.readBuffer,
74
+ drawBuffers: props === null || props === void 0 ? void 0 : props.drawBuffers
75
+ });
76
+
77
+ return _this;
78
+ }
79
+
80
+ (0, _createClass2.default)(ImmutableFramebuffer, [{
81
+ key: "checkStatus",
82
+ value: function checkStatus() {
83
+ var gl = this.gl;
84
+ var status = this.getStatus();
85
+
86
+ if (status !== gl.FRAMEBUFFER_COMPLETE) {
87
+ throw new Error(_getFrameBufferStatus(status));
88
+ }
89
+
90
+ return this;
68
91
  }
69
92
  }, {
70
- key: "MAX_DRAW_BUFFERS",
71
- get: function get() {
72
- var gl2 = (0, _gltools.assertWebGL2Context)(this.gl);
73
- return gl2.getParameter(gl2.MAX_DRAW_BUFFERS);
93
+ key: "getStatus",
94
+ value: function getStatus() {
95
+ var gl = this.gl;
96
+ var prevHandle = gl.bindFramebuffer(_constants.default.FRAMEBUFFER, this.handle);
97
+ var status = gl.checkFramebufferStatus(_constants.default.FRAMEBUFFER);
98
+ gl.bindFramebuffer(_constants.default.FRAMEBUFFER, prevHandle || null);
99
+ return status;
74
100
  }
75
- }], [{
76
- key: "isSupported",
77
- value: function isSupported(gl) {
78
- var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
79
- var colorBufferFloat = options.colorBufferFloat,
80
- colorBufferHalfFloat = options.colorBufferHalfFloat;
81
- var supported = true;
101
+ }, {
102
+ key: "show",
103
+ value: function show() {
104
+ if (typeof window !== 'undefined') {
105
+ window.open((0, _copyAndBlit.copyToDataUrl)(this), 'luma-debug-texture');
106
+ }
82
107
 
83
- if (colorBufferFloat) {
84
- supported = Boolean(gl.getExtension('EXT_color_buffer_float') || gl.getExtension('WEBGL_color_buffer_float') || gl.getExtension('OES_texture_float'));
108
+ return this;
109
+ }
110
+ }, {
111
+ key: "log",
112
+ value: function log() {
113
+ var logLevel = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
114
+ var message = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
115
+
116
+ if (logLevel > _api.log.level || typeof window === 'undefined') {
117
+ return this;
85
118
  }
86
119
 
87
- if (colorBufferHalfFloat) {
88
- supported = supported && Boolean(gl.getExtension('EXT_color_buffer_float') || gl.getExtension('EXT_color_buffer_half_float'));
120
+ message = message || "Framebuffer ".concat(this.id);
121
+ var image = (0, _copyAndBlit.copyToDataUrl)(this, {
122
+ targetMaxHeight: 100
123
+ });
124
+
125
+ _api.log.image({
126
+ logLevel: logLevel,
127
+ message: message,
128
+ image: image
129
+ })();
130
+
131
+ return this;
132
+ }
133
+ }, {
134
+ key: "bind",
135
+ value: function bind() {
136
+ var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
137
+ _ref$target = _ref.target,
138
+ target = _ref$target === void 0 ? _constants.default.FRAMEBUFFER : _ref$target;
139
+
140
+ this.gl.bindFramebuffer(target, this.handle);
141
+ return this;
142
+ }
143
+ }, {
144
+ key: "unbind",
145
+ value: function unbind() {
146
+ var _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
147
+ _ref2$target = _ref2.target,
148
+ target = _ref2$target === void 0 ? _constants.default.FRAMEBUFFER : _ref2$target;
149
+
150
+ this.gl.bindFramebuffer(target, null);
151
+ return this;
152
+ }
153
+ }, {
154
+ key: "_initialize",
155
+ value: function _initialize(options) {
156
+ var _options$attachments = options.attachments,
157
+ attachments = _options$attachments === void 0 ? {} : _options$attachments,
158
+ readBuffer = options.readBuffer,
159
+ drawBuffers = options.drawBuffers;
160
+
161
+ this._attach(attachments);
162
+
163
+ var prevHandle = this.gl.bindFramebuffer(_constants.default.FRAMEBUFFER, this.handle);
164
+
165
+ if (readBuffer) {
166
+ this._setReadBuffer(readBuffer);
167
+ }
168
+
169
+ if (drawBuffers) {
170
+ this._setDrawBuffers(drawBuffers);
89
171
  }
90
172
 
91
- return supported;
173
+ this.gl.bindFramebuffer(_constants.default.FRAMEBUFFER, prevHandle || null);
174
+ return this;
92
175
  }
93
176
  }, {
94
- key: "getDefaultFramebuffer",
95
- value: function getDefaultFramebuffer(gl) {
96
- gl.luma = gl.luma || {};
97
- gl.luma.defaultFramebuffer = gl.luma.defaultFramebuffer || new Framebuffer(gl, {
98
- id: 'default-framebuffer',
99
- handle: null,
100
- attachments: {}
101
- });
102
- return gl.luma.defaultFramebuffer;
177
+ key: "_attach",
178
+ value: function _attach(attachments) {
179
+ var prevHandle = this.gl.bindFramebuffer(_constants.default.FRAMEBUFFER, this.handle);
180
+
181
+ for (var key in attachments) {
182
+ (0, _api.assert)(key !== undefined, 'Misspelled framebuffer binding point?');
183
+ var attachmentPoint = Number(key);
184
+ var attachment = attachments[attachmentPoint];
185
+
186
+ this._attachOne(attachmentPoint, attachment);
187
+ }
188
+
189
+ this.gl.bindFramebuffer(_constants.default.FRAMEBUFFER, prevHandle || null);
190
+ }
191
+ }, {
192
+ key: "_attachOne",
193
+ value: function _attachOne(attachmentPoint, attachment) {
194
+ if (attachment instanceof _renderbuffer.default) {
195
+ this._attachRenderbuffer(attachmentPoint, attachment);
196
+
197
+ return attachment;
198
+ } else if (Array.isArray(attachment)) {
199
+ var _attachment = (0, _slicedToArray2.default)(attachment, 3),
200
+ texture = _attachment[0],
201
+ _attachment$ = _attachment[1],
202
+ layer = _attachment$ === void 0 ? 0 : _attachment$,
203
+ _attachment$2 = _attachment[2],
204
+ level = _attachment$2 === void 0 ? 0 : _attachment$2;
205
+
206
+ this._attachTexture(attachmentPoint, texture, layer, level);
207
+
208
+ return texture;
209
+ } else if (attachment instanceof _texture2d.default) {
210
+ this._attachTexture(attachmentPoint, attachment, 0, 0);
211
+
212
+ return attachment;
213
+ }
214
+ }
215
+ }, {
216
+ key: "_attachRenderbuffer",
217
+ value: function _attachRenderbuffer(attachment, renderbuffer) {
218
+ this.gl.framebufferRenderbuffer(_constants.default.FRAMEBUFFER, attachment, _constants.default.RENDERBUFFER, renderbuffer.handle);
219
+ }
220
+ }, {
221
+ key: "_attachTexture",
222
+ value: function _attachTexture(attachment, texture, layer, level) {
223
+ var gl = this.gl;
224
+ gl.bindTexture(texture.target, texture.handle);
225
+
226
+ switch (texture.target) {
227
+ case _constants.default.TEXTURE_2D_ARRAY:
228
+ case _constants.default.TEXTURE_3D:
229
+ var gl2 = (0, _webglChecks.assertWebGL2Context)(gl);
230
+ gl2.framebufferTextureLayer(_constants.default.FRAMEBUFFER, attachment, texture.target, level, layer);
231
+ break;
232
+
233
+ case _constants.default.TEXTURE_CUBE_MAP:
234
+ var face = mapIndexToCubeMapFace(layer);
235
+ gl.framebufferTexture2D(_constants.default.FRAMEBUFFER, attachment, face, texture.handle, level);
236
+ break;
237
+
238
+ case _constants.default.TEXTURE_2D:
239
+ gl.framebufferTexture2D(_constants.default.FRAMEBUFFER, attachment, _constants.default.TEXTURE_2D, texture.handle, level);
240
+ break;
241
+
242
+ default:
243
+ (0, _api.assert)(false, 'Illegal texture type');
244
+ }
245
+
246
+ gl.bindTexture(texture.target, null);
247
+ }
248
+ }, {
249
+ key: "_setReadBuffer",
250
+ value: function _setReadBuffer(readBuffer) {
251
+ var gl2 = (0, _webglChecks.getWebGL2Context)(this.gl);
252
+
253
+ if (gl2) {
254
+ gl2.readBuffer(readBuffer);
255
+ } else {
256
+ (0, _api.assert)(readBuffer === _constants.default.COLOR_ATTACHMENT0 || readBuffer === _constants.default.BACK, ERR_MULTIPLE_RENDERTARGETS);
257
+ }
258
+ }
259
+ }, {
260
+ key: "_setDrawBuffers",
261
+ value: function _setDrawBuffers(drawBuffers) {
262
+ var gl = this.gl;
263
+ var gl2 = (0, _webglChecks.assertWebGL2Context)(gl);
264
+
265
+ if (gl2) {
266
+ gl2.drawBuffers(drawBuffers);
267
+ } else {
268
+ var ext = gl.getExtension('WEBGL_draw_buffers');
269
+
270
+ if (ext) {
271
+ ext.drawBuffersWEBGL(drawBuffers);
272
+ } else {
273
+ (0, _api.assert)(drawBuffers.length === 1 && (drawBuffers[0] === _constants.default.COLOR_ATTACHMENT0 || drawBuffers[0] === _constants.default.BACK), ERR_MULTIPLE_RENDERTARGETS);
274
+ }
275
+ }
276
+ }
277
+ }, {
278
+ key: "_createHandle",
279
+ value: function _createHandle() {
280
+ return this.gl.createFramebuffer();
281
+ }
282
+ }, {
283
+ key: "_deleteHandle",
284
+ value: function _deleteHandle() {
285
+ this.gl.deleteFramebuffer(this.handle);
286
+ }
287
+ }, {
288
+ key: "_bindHandle",
289
+ value: function _bindHandle(handle) {
290
+ return this.gl.bindFramebuffer(_constants.default.FRAMEBUFFER, handle);
103
291
  }
104
292
  }]);
293
+ return ImmutableFramebuffer;
294
+ }(_webglResource.default);
105
295
 
106
- function Framebuffer(gl) {
107
- var _this;
296
+ exports.ImmutableFramebuffer = ImmutableFramebuffer;
108
297
 
109
- var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
110
- (0, _classCallCheck2.default)(this, Framebuffer);
111
- _this = _super.call(this, gl, opts);
112
- _this.width = null;
113
- _this.height = null;
114
- _this.attachments = {};
115
- _this.readBuffer = 36064;
116
- _this.drawBuffers = [36064];
117
- _this.ownResources = [];
298
+ var Framebuffer = function (_ImmutableFramebuffer) {
299
+ (0, _inherits2.default)(Framebuffer, _ImmutableFramebuffer);
118
300
 
119
- _this.initialize(opts);
301
+ var _super2 = _createSuper(Framebuffer);
120
302
 
121
- Object.seal((0, _assertThisInitialized2.default)(_this));
122
- return _this;
303
+ function Framebuffer(gl, props) {
304
+ var _this2;
305
+
306
+ (0, _classCallCheck2.default)(this, Framebuffer);
307
+ _this2 = _super2.call(this, gl, props);
308
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this2), "width", null);
309
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this2), "height", null);
310
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this2), "attachments", {});
311
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this2), "readBuffer", _constants.default.COLOR_ATTACHMENT0);
312
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this2), "drawBuffers", [_constants.default.COLOR_ATTACHMENT0]);
313
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this2), "ownResources", []);
314
+
315
+ _this2.initialize(props);
316
+
317
+ Object.seal((0, _assertThisInitialized2.default)(_this2));
318
+ return _this2;
123
319
  }
124
320
 
125
321
  (0, _createClass2.default)(Framebuffer, [{
322
+ key: "MAX_COLOR_ATTACHMENTS",
323
+ get: function get() {
324
+ var gl2 = (0, _webglChecks.assertWebGL2Context)(this.gl);
325
+ return gl2.getParameter(gl2.MAX_COLOR_ATTACHMENTS);
326
+ }
327
+ }, {
328
+ key: "MAX_DRAW_BUFFERS",
329
+ get: function get() {
330
+ var gl2 = (0, _webglChecks.assertWebGL2Context)(this.gl);
331
+ return gl2.getParameter(gl2.MAX_DRAW_BUFFERS);
332
+ }
333
+ }, {
334
+ key: "color",
335
+ get: function get() {
336
+ return this.attachments[_constants.default.COLOR_ATTACHMENT0] || null;
337
+ }
338
+ }, {
339
+ key: "texture",
340
+ get: function get() {
341
+ return this.attachments[_constants.default.COLOR_ATTACHMENT0] || null;
342
+ }
343
+ }, {
344
+ key: "depth",
345
+ get: function get() {
346
+ return this.attachments[_constants.default.DEPTH_ATTACHMENT] || this.attachments[_constants.default.DEPTH_STENCIL_ATTACHMENT] || null;
347
+ }
348
+ }, {
349
+ key: "stencil",
350
+ get: function get() {
351
+ return this.attachments[_constants.default.STENCIL_ATTACHMENT] || this.attachments[_constants.default.DEPTH_STENCIL_ATTACHMENT] || null;
352
+ }
353
+ }, {
126
354
  key: "initialize",
127
- value: function initialize(_ref) {
128
- var _ref$width = _ref.width,
129
- width = _ref$width === void 0 ? 1 : _ref$width,
130
- _ref$height = _ref.height,
131
- height = _ref$height === void 0 ? 1 : _ref$height,
132
- _ref$attachments = _ref.attachments,
133
- attachments = _ref$attachments === void 0 ? null : _ref$attachments,
134
- _ref$color = _ref.color,
135
- color = _ref$color === void 0 ? true : _ref$color,
136
- _ref$depth = _ref.depth,
137
- depth = _ref$depth === void 0 ? true : _ref$depth,
138
- _ref$stencil = _ref.stencil,
139
- stencil = _ref$stencil === void 0 ? false : _ref$stencil,
140
- _ref$check = _ref.check,
141
- check = _ref$check === void 0 ? true : _ref$check,
142
- _ref$readBuffer = _ref.readBuffer,
143
- readBuffer = _ref$readBuffer === void 0 ? undefined : _ref$readBuffer,
144
- _ref$drawBuffers = _ref.drawBuffers,
145
- drawBuffers = _ref$drawBuffers === void 0 ? undefined : _ref$drawBuffers;
146
- (0, _assert.assert)(width >= 0 && height >= 0, 'Width and height need to be integers');
355
+ value: function initialize(props) {
356
+ var _ref3 = props || {},
357
+ _ref3$attachments = _ref3.attachments,
358
+ attachments = _ref3$attachments === void 0 ? null : _ref3$attachments;
359
+
360
+ var _ref4 = props || {},
361
+ _ref4$width = _ref4.width,
362
+ width = _ref4$width === void 0 ? 1 : _ref4$width,
363
+ _ref4$height = _ref4.height,
364
+ height = _ref4$height === void 0 ? 1 : _ref4$height,
365
+ _ref4$color = _ref4.color,
366
+ color = _ref4$color === void 0 ? true : _ref4$color,
367
+ _ref4$depth = _ref4.depth,
368
+ depth = _ref4$depth === void 0 ? true : _ref4$depth,
369
+ _ref4$stencil = _ref4.stencil,
370
+ stencil = _ref4$stencil === void 0 ? false : _ref4$stencil,
371
+ _ref4$check = _ref4.check,
372
+ check = _ref4$check === void 0 ? true : _ref4$check,
373
+ _ref4$readBuffer = _ref4.readBuffer,
374
+ readBuffer = _ref4$readBuffer === void 0 ? undefined : _ref4$readBuffer,
375
+ _ref4$drawBuffers = _ref4.drawBuffers,
376
+ drawBuffers = _ref4$drawBuffers === void 0 ? undefined : _ref4$drawBuffers;
377
+
378
+ (0, _api.assert)(width >= 0 && height >= 0, 'Width and height need to be integers');
147
379
  this.width = width;
148
380
  this.height = height;
149
381
 
@@ -193,42 +425,46 @@ var Framebuffer = function (_Resource) {
193
425
  }
194
426
  }, {
195
427
  key: "update",
196
- value: function update(_ref2) {
197
- var _ref2$attachments = _ref2.attachments,
198
- attachments = _ref2$attachments === void 0 ? {} : _ref2$attachments,
199
- readBuffer = _ref2.readBuffer,
200
- drawBuffers = _ref2.drawBuffers,
201
- _ref2$clearAttachment = _ref2.clearAttachments,
202
- clearAttachments = _ref2$clearAttachment === void 0 ? false : _ref2$clearAttachment,
203
- _ref2$resizeAttachmen = _ref2.resizeAttachments,
204
- resizeAttachments = _ref2$resizeAttachmen === void 0 ? true : _ref2$resizeAttachmen;
428
+ value: function update(options) {
429
+ var _options$attachments2 = options.attachments,
430
+ attachments = _options$attachments2 === void 0 ? {} : _options$attachments2,
431
+ readBuffer = options.readBuffer,
432
+ drawBuffers = options.drawBuffers,
433
+ _options$clearAttachm = options.clearAttachments,
434
+ clearAttachments = _options$clearAttachm === void 0 ? false : _options$clearAttachm,
435
+ _options$resizeAttach = options.resizeAttachments,
436
+ resizeAttachments = _options$resizeAttach === void 0 ? true : _options$resizeAttach;
205
437
  this.attach(attachments, {
206
438
  clearAttachments: clearAttachments,
207
439
  resizeAttachments: resizeAttachments
208
440
  });
209
441
  var gl = this.gl;
210
- var prevHandle = gl.bindFramebuffer(36160, this.handle);
442
+ var prevHandle = gl.bindFramebuffer(_constants.default.FRAMEBUFFER, this.handle);
211
443
 
212
444
  if (readBuffer) {
213
445
  this._setReadBuffer(readBuffer);
446
+
447
+ this.readBuffer = readBuffer;
214
448
  }
215
449
 
216
450
  if (drawBuffers) {
217
451
  this._setDrawBuffers(drawBuffers);
452
+
453
+ this.drawBuffers = drawBuffers;
218
454
  }
219
455
 
220
- gl.bindFramebuffer(36160, prevHandle || null);
456
+ gl.bindFramebuffer(_constants.default.FRAMEBUFFER, prevHandle || null);
221
457
  return this;
222
458
  }
223
459
  }, {
224
460
  key: "resize",
225
- value: function resize() {
226
- var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
227
- var width = options.width,
228
- height = options.height;
461
+ value: function resize(size) {
462
+ var _ref5 = size || {},
463
+ width = _ref5.width,
464
+ height = _ref5.height;
229
465
 
230
466
  if (this.handle === null) {
231
- (0, _assert.assert)(width === undefined && height === undefined);
467
+ (0, _api.assert)(width === undefined && height === undefined);
232
468
  this.width = this.gl.drawingBufferWidth;
233
469
  this.height = this.gl.drawingBufferHeight;
234
470
  return this;
@@ -243,7 +479,7 @@ var Framebuffer = function (_Resource) {
243
479
  }
244
480
 
245
481
  if (width !== this.width && height !== this.height) {
246
- _gltools.log.log(2, "Resizing framebuffer ".concat(this.id, " to ").concat(width, "x").concat(height))();
482
+ _api.log.log(2, "Resizing framebuffer ".concat(this.id, " to ").concat(width, "x").concat(height))();
247
483
  }
248
484
 
249
485
  for (var attachmentPoint in this.attachments) {
@@ -260,13 +496,13 @@ var Framebuffer = function (_Resource) {
260
496
  }, {
261
497
  key: "attach",
262
498
  value: function attach(attachments) {
263
- var _this2 = this;
499
+ var _this3 = this;
264
500
 
265
- var _ref3 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
266
- _ref3$clearAttachment = _ref3.clearAttachments,
267
- clearAttachments = _ref3$clearAttachment === void 0 ? false : _ref3$clearAttachment,
268
- _ref3$resizeAttachmen = _ref3.resizeAttachments,
269
- resizeAttachments = _ref3$resizeAttachmen === void 0 ? true : _ref3$resizeAttachmen;
501
+ var _ref6 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
502
+ _ref6$clearAttachment = _ref6.clearAttachments,
503
+ clearAttachments = _ref6$clearAttachment === void 0 ? false : _ref6$clearAttachment,
504
+ _ref6$resizeAttachmen = _ref6.resizeAttachments,
505
+ resizeAttachments = _ref6$resizeAttachmen === void 0 ? true : _ref6$resizeAttachmen;
270
506
 
271
507
  var newAttachments = {};
272
508
 
@@ -277,44 +513,19 @@ var Framebuffer = function (_Resource) {
277
513
  }
278
514
 
279
515
  Object.assign(newAttachments, attachments);
280
- var prevHandle = this.gl.bindFramebuffer(36160, this.handle);
516
+ var prevHandle = this.gl.bindFramebuffer(_constants.default.FRAMEBUFFER, this.handle);
281
517
 
282
518
  for (var key in newAttachments) {
283
- (0, _assert.assert)(key !== undefined, 'Misspelled framebuffer binding point?');
519
+ (0, _api.assert)(key !== undefined, 'Misspelled framebuffer binding point?');
284
520
  var attachment = Number(key);
285
521
  var descriptor = newAttachments[attachment];
286
522
  var object = descriptor;
287
523
 
288
524
  if (!object) {
289
525
  this._unattach(attachment);
290
- } else if (object instanceof _renderbuffer.default) {
291
- this._attachRenderbuffer({
292
- attachment: attachment,
293
- renderbuffer: object
294
- });
295
- } else if (Array.isArray(descriptor)) {
296
- var _descriptor = (0, _slicedToArray2.default)(descriptor, 3),
297
- texture = _descriptor[0],
298
- _descriptor$ = _descriptor[1],
299
- layer = _descriptor$ === void 0 ? 0 : _descriptor$,
300
- _descriptor$2 = _descriptor[2],
301
- level = _descriptor$2 === void 0 ? 0 : _descriptor$2;
302
-
303
- object = texture;
304
-
305
- this._attachTexture({
306
- attachment: attachment,
307
- texture: texture,
308
- layer: layer,
309
- level: level
310
- });
311
526
  } else {
312
- this._attachTexture({
313
- attachment: attachment,
314
- texture: object,
315
- layer: 0,
316
- level: 0
317
- });
527
+ object = this._attachOne(attachment, object);
528
+ this.attachments[attachment] = object;
318
529
  }
319
530
 
320
531
  if (resizeAttachments && object) {
@@ -325,47 +536,25 @@ var Framebuffer = function (_Resource) {
325
536
  }
326
537
  }
327
538
 
328
- this.gl.bindFramebuffer(36160, prevHandle || null);
539
+ this.gl.bindFramebuffer(_constants.default.FRAMEBUFFER, prevHandle || null);
329
540
  Object.assign(this.attachments, attachments);
330
541
  Object.keys(this.attachments).filter(function (key) {
331
- return !_this2.attachments[key];
542
+ return !_this3.attachments[key];
332
543
  }).forEach(function (key) {
333
- delete _this2.attachments[key];
544
+ delete _this3.attachments[key];
334
545
  });
335
546
  }
336
- }, {
337
- key: "checkStatus",
338
- value: function checkStatus() {
339
- var gl = this.gl;
340
- var status = this.getStatus();
341
-
342
- if (status !== 36053) {
343
- throw new Error(_getFrameBufferStatus(status));
344
- }
345
-
346
- return this;
347
- }
348
- }, {
349
- key: "getStatus",
350
- value: function getStatus() {
351
- var gl = this.gl;
352
- var prevHandle = gl.bindFramebuffer(36160, this.handle);
353
- var status = gl.checkFramebufferStatus(36160);
354
- gl.bindFramebuffer(36160, prevHandle || null);
355
- return status;
356
- }
357
547
  }, {
358
548
  key: "clear",
359
- value: function clear() {
360
- var _this3 = this;
549
+ value: function clear(options) {
550
+ var _this4 = this;
361
551
 
362
- var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
363
552
  var color = options.color,
364
553
  depth = options.depth,
365
554
  stencil = options.stencil,
366
555
  _options$drawBuffers = options.drawBuffers,
367
556
  drawBuffers = _options$drawBuffers === void 0 ? [] : _options$drawBuffers;
368
- var prevHandle = this.gl.bindFramebuffer(36160, this.handle);
557
+ var prevHandle = this.gl.bindFramebuffer(_constants.default.FRAMEBUFFER, this.handle);
369
558
 
370
559
  if (color || depth || stencil) {
371
560
  (0, _clear2.clear)(this.gl, {
@@ -376,90 +565,45 @@ var Framebuffer = function (_Resource) {
376
565
  }
377
566
 
378
567
  drawBuffers.forEach(function (value, drawBuffer) {
379
- (0, _clear2.clearBuffer)(_this3.gl, {
568
+ (0, _clear2.clearBuffer)(_this4.gl, {
380
569
  drawBuffer: drawBuffer,
381
570
  value: value
382
571
  });
383
572
  });
384
- this.gl.bindFramebuffer(36160, prevHandle || null);
573
+ this.gl.bindFramebuffer(_constants.default.FRAMEBUFFER, prevHandle || null);
385
574
  return this;
386
575
  }
387
- }, {
388
- key: "readPixels",
389
- value: function readPixels() {
390
- var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
391
-
392
- _gltools.log.error('Framebuffer.readPixels() is no logner supported, use readPixelsToArray(framebuffer)')();
393
-
394
- return null;
395
- }
396
- }, {
397
- key: "readPixelsToBuffer",
398
- value: function readPixelsToBuffer() {
399
- var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
400
-
401
- _gltools.log.error('Framebuffer.readPixelsToBuffer()is no logner supported, use readPixelsToBuffer(framebuffer)')();
402
-
403
- return null;
404
- }
405
- }, {
406
- key: "copyToDataUrl",
407
- value: function copyToDataUrl() {
408
- var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
409
-
410
- _gltools.log.error('Framebuffer.copyToDataUrl() is no logner supported, use copyToDataUrl(framebuffer)')();
411
-
412
- return null;
413
- }
414
- }, {
415
- key: "copyToImage",
416
- value: function copyToImage() {
417
- var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
418
-
419
- _gltools.log.error('Framebuffer.copyToImage() is no logner supported, use copyToImage(framebuffer)')();
420
-
421
- return null;
422
- }
423
- }, {
424
- key: "copyToTexture",
425
- value: function copyToTexture() {
426
- var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
427
-
428
- _gltools.log.error('Framebuffer.copyToTexture({...}) is no logner supported, use copyToTexture(source, target, opts})')();
429
-
430
- return null;
431
- }
432
576
  }, {
433
577
  key: "blit",
434
578
  value: function blit() {
435
579
  var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
436
580
 
437
- _gltools.log.error('Framebuffer.blit({...}) is no logner supported, use blit(source, target, opts)')();
581
+ _api.log.error('Framebuffer.blit({...}) is no logner supported, use blit(source, target, opts)')();
438
582
 
439
583
  return null;
440
584
  }
441
585
  }, {
442
586
  key: "invalidate",
443
- value: function invalidate(_ref4) {
444
- var _ref4$attachments = _ref4.attachments,
445
- attachments = _ref4$attachments === void 0 ? [] : _ref4$attachments,
446
- _ref4$x = _ref4.x,
447
- x = _ref4$x === void 0 ? 0 : _ref4$x,
448
- _ref4$y = _ref4.y,
449
- y = _ref4$y === void 0 ? 0 : _ref4$y,
450
- width = _ref4.width,
451
- height = _ref4.height;
452
- var gl2 = (0, _gltools.assertWebGL2Context)(this.gl);
453
- var prevHandle = gl2.bindFramebuffer(36008, this.handle);
587
+ value: function invalidate(options) {
588
+ var _options$attachments3 = options.attachments,
589
+ attachments = _options$attachments3 === void 0 ? [] : _options$attachments3,
590
+ _options$x = options.x,
591
+ x = _options$x === void 0 ? 0 : _options$x,
592
+ _options$y = options.y,
593
+ y = _options$y === void 0 ? 0 : _options$y,
594
+ width = options.width,
595
+ height = options.height;
596
+ var gl2 = (0, _webglChecks.assertWebGL2Context)(this.gl);
597
+ var prevHandle = gl2.bindFramebuffer(_constants.default.READ_FRAMEBUFFER, this.handle);
454
598
  var invalidateAll = x === 0 && y === 0 && width === undefined && height === undefined;
455
599
 
456
600
  if (invalidateAll) {
457
- gl2.invalidateFramebuffer(36008, attachments);
601
+ gl2.invalidateFramebuffer(_constants.default.READ_FRAMEBUFFER, attachments);
458
602
  } else {
459
- gl2.invalidateFramebuffer(36008, attachments, x, y, width, height);
603
+ gl2.invalidateFramebuffer(_constants.default.READ_FRAMEBUFFER, attachments, x, y, width, height);
460
604
  }
461
605
 
462
- gl2.bindFramebuffer(36008, prevHandle);
606
+ gl2.bindFramebuffer(_constants.default.READ_FRAMEBUFFER, prevHandle);
463
607
  return this;
464
608
  }
465
609
  }, {
@@ -468,9 +612,9 @@ var Framebuffer = function (_Resource) {
468
612
  var value = this._getAttachmentParameterFallback(pname);
469
613
 
470
614
  if (value === null) {
471
- this.gl.bindFramebuffer(36160, this.handle);
472
- value = this.gl.getFramebufferAttachmentParameter(36160, attachment, pname);
473
- this.gl.bindFramebuffer(36160, null);
615
+ this.gl.bindFramebuffer(_constants.default.FRAMEBUFFER, this.handle);
616
+ value = this.gl.getFramebufferAttachmentParameter(_constants.default.FRAMEBUFFER, attachment, pname);
617
+ this.gl.bindFramebuffer(_constants.default.FRAMEBUFFER, null);
474
618
  }
475
619
 
476
620
  if (keys && value > 1000) {
@@ -482,7 +626,7 @@ var Framebuffer = function (_Resource) {
482
626
  }, {
483
627
  key: "getAttachmentParameters",
484
628
  value: function getAttachmentParameters() {
485
- var attachment = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 36064;
629
+ var attachment = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : _constants.default.COLOR_ATTACHMENT0;
486
630
  var keys = arguments.length > 1 ? arguments[1] : undefined;
487
631
  var parameters = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : this.constructor.ATTACHMENT_PARAMETERS || [];
488
632
  var values = {};
@@ -520,58 +664,6 @@ var Framebuffer = function (_Resource) {
520
664
 
521
665
  return parameters;
522
666
  }
523
- }, {
524
- key: "show",
525
- value: function show() {
526
- if (typeof window !== 'undefined') {
527
- window.open((0, _copyAndBlit.copyToDataUrl)(this), 'luma-debug-texture');
528
- }
529
-
530
- return this;
531
- }
532
- }, {
533
- key: "log",
534
- value: function log() {
535
- var logLevel = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
536
- var message = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
537
-
538
- if (logLevel > _gltools.log.level || typeof window === 'undefined') {
539
- return this;
540
- }
541
-
542
- message = message || "Framebuffer ".concat(this.id);
543
- var image = (0, _copyAndBlit.copyToDataUrl)(this, {
544
- targetMaxHeight: 100
545
- });
546
-
547
- _gltools.log.image({
548
- logLevel: logLevel,
549
- message: message,
550
- image: image
551
- }, message)();
552
-
553
- return this;
554
- }
555
- }, {
556
- key: "bind",
557
- value: function bind() {
558
- var _ref5 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
559
- _ref5$target = _ref5.target,
560
- target = _ref5$target === void 0 ? 36160 : _ref5$target;
561
-
562
- this.gl.bindFramebuffer(target, this.handle);
563
- return this;
564
- }
565
- }, {
566
- key: "unbind",
567
- value: function unbind() {
568
- var _ref6 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
569
- _ref6$target = _ref6.target,
570
- target = _ref6$target === void 0 ? 36160 : _ref6$target;
571
-
572
- this.gl.bindFramebuffer(target, null);
573
- return this;
574
- }
575
667
  }, {
576
668
  key: "_createDefaultAttachments",
577
669
  value: function _createDefaultAttachments(color, depth, stencil, width, height) {
@@ -581,39 +673,39 @@ var Framebuffer = function (_Resource) {
581
673
  var _parameters;
582
674
 
583
675
  defaultAttachments = defaultAttachments || {};
584
- defaultAttachments[36064] = new _texture2d.default(this.gl, {
676
+ defaultAttachments[_constants.default.COLOR_ATTACHMENT0] = new _texture2d.default(this.gl, {
585
677
  id: "".concat(this.id, "-color0"),
586
678
  pixels: null,
587
- format: 6408,
588
- type: 5121,
679
+ format: _constants.default.RGBA,
680
+ type: _constants.default.UNSIGNED_BYTE,
589
681
  width: width,
590
682
  height: height,
591
683
  mipmaps: false,
592
- parameters: (_parameters = {}, (0, _defineProperty2.default)(_parameters, 10241, 9729), (0, _defineProperty2.default)(_parameters, 10240, 9729), (0, _defineProperty2.default)(_parameters, 10242, 33071), (0, _defineProperty2.default)(_parameters, 10243, 33071), _parameters)
684
+ parameters: (_parameters = {}, (0, _defineProperty2.default)(_parameters, _constants.default.TEXTURE_MIN_FILTER, _constants.default.LINEAR), (0, _defineProperty2.default)(_parameters, _constants.default.TEXTURE_MAG_FILTER, _constants.default.LINEAR), (0, _defineProperty2.default)(_parameters, _constants.default.TEXTURE_WRAP_S, _constants.default.CLAMP_TO_EDGE), (0, _defineProperty2.default)(_parameters, _constants.default.TEXTURE_WRAP_T, _constants.default.CLAMP_TO_EDGE), _parameters)
593
685
  });
594
- this.ownResources.push(defaultAttachments[36064]);
686
+ this.ownResources.push(defaultAttachments[_constants.default.COLOR_ATTACHMENT0]);
595
687
  }
596
688
 
597
689
  if (depth && stencil) {
598
690
  defaultAttachments = defaultAttachments || {};
599
- defaultAttachments[33306] = new _renderbuffer.default(this.gl, {
691
+ defaultAttachments[_constants.default.DEPTH_STENCIL_ATTACHMENT] = new _renderbuffer.default(this.gl, {
600
692
  id: "".concat(this.id, "-depth-stencil"),
601
- format: 35056,
693
+ format: _constants.default.DEPTH24_STENCIL8,
602
694
  width: width,
603
695
  height: 111
604
696
  });
605
- this.ownResources.push(defaultAttachments[33306]);
697
+ this.ownResources.push(defaultAttachments[_constants.default.DEPTH_STENCIL_ATTACHMENT]);
606
698
  } else if (depth) {
607
699
  defaultAttachments = defaultAttachments || {};
608
- defaultAttachments[36096] = new _renderbuffer.default(this.gl, {
700
+ defaultAttachments[_constants.default.DEPTH_ATTACHMENT] = new _renderbuffer.default(this.gl, {
609
701
  id: "".concat(this.id, "-depth"),
610
- format: 33189,
702
+ format: _constants.default.DEPTH_COMPONENT16,
611
703
  width: width,
612
704
  height: height
613
705
  });
614
- this.ownResources.push(defaultAttachments[36096]);
706
+ this.ownResources.push(defaultAttachments[_constants.default.DEPTH_ATTACHMENT]);
615
707
  } else if (stencil) {
616
- (0, _assert.assert)(false);
708
+ (0, _api.assert)(false);
617
709
  }
618
710
 
619
711
  return defaultAttachments;
@@ -628,160 +720,68 @@ var Framebuffer = function (_Resource) {
628
720
  }
629
721
 
630
722
  if (oldAttachment instanceof _renderbuffer.default) {
631
- this.gl.framebufferRenderbuffer(36160, attachment, 36161, null);
723
+ this.gl.framebufferRenderbuffer(_constants.default.FRAMEBUFFER, attachment, _constants.default.RENDERBUFFER, null);
632
724
  } else {
633
- this.gl.framebufferTexture2D(36160, attachment, 3553, null, 0);
725
+ this.gl.framebufferTexture2D(_constants.default.FRAMEBUFFER, attachment, _constants.default.TEXTURE_2D, null, 0);
634
726
  }
635
727
 
636
728
  delete this.attachments[attachment];
637
729
  }
638
- }, {
639
- key: "_attachRenderbuffer",
640
- value: function _attachRenderbuffer(_ref7) {
641
- var _ref7$attachment = _ref7.attachment,
642
- attachment = _ref7$attachment === void 0 ? 36064 : _ref7$attachment,
643
- renderbuffer = _ref7.renderbuffer;
644
- var gl = this.gl;
645
- gl.framebufferRenderbuffer(36160, attachment, 36161, renderbuffer.handle);
646
- this.attachments[attachment] = renderbuffer;
647
- }
648
- }, {
649
- key: "_attachTexture",
650
- value: function _attachTexture(_ref8) {
651
- var _ref8$attachment = _ref8.attachment,
652
- attachment = _ref8$attachment === void 0 ? 36064 : _ref8$attachment,
653
- texture = _ref8.texture,
654
- layer = _ref8.layer,
655
- level = _ref8.level;
656
- var gl = this.gl;
657
- gl.bindTexture(texture.target, texture.handle);
658
-
659
- switch (texture.target) {
660
- case 35866:
661
- case 32879:
662
- var gl2 = (0, _gltools.assertWebGL2Context)(gl);
663
- gl2.framebufferTextureLayer(36160, attachment, texture.target, level, layer);
664
- break;
665
-
666
- case 34067:
667
- var face = mapIndexToCubeMapFace(layer);
668
- gl.framebufferTexture2D(36160, attachment, face, texture.handle, level);
669
- break;
670
-
671
- case 3553:
672
- gl.framebufferTexture2D(36160, attachment, 3553, texture.handle, level);
673
- break;
674
-
675
- default:
676
- (0, _assert.assert)(false, 'Illegal texture type');
677
- }
678
-
679
- gl.bindTexture(texture.target, null);
680
- this.attachments[attachment] = texture;
681
- }
682
- }, {
683
- key: "_setReadBuffer",
684
- value: function _setReadBuffer(readBuffer) {
685
- var gl2 = (0, _gltools.getWebGL2Context)(this.gl);
686
-
687
- if (gl2) {
688
- gl2.readBuffer(readBuffer);
689
- } else {
690
- (0, _assert.assert)(readBuffer === 36064 || readBuffer === 1029, ERR_MULTIPLE_RENDERTARGETS);
691
- }
692
-
693
- this.readBuffer = readBuffer;
694
- }
695
- }, {
696
- key: "_setDrawBuffers",
697
- value: function _setDrawBuffers(drawBuffers) {
698
- var gl = this.gl;
699
- var gl2 = (0, _gltools.assertWebGL2Context)(gl);
700
-
701
- if (gl2) {
702
- gl2.drawBuffers(drawBuffers);
703
- } else {
704
- var ext = gl.getExtension('WEBGL_draw_buffers');
705
-
706
- if (ext) {
707
- ext.drawBuffersWEBGL(drawBuffers);
708
- } else {
709
- (0, _assert.assert)(drawBuffers.length === 1 && (drawBuffers[0] === 36064 || drawBuffers[0] === 1029), ERR_MULTIPLE_RENDERTARGETS);
710
- }
711
- }
712
-
713
- this.drawBuffers = drawBuffers;
714
- }
715
730
  }, {
716
731
  key: "_getAttachmentParameterFallback",
717
732
  value: function _getAttachmentParameterFallback(pname) {
718
- var caps = (0, _features.getFeatures)(this.gl);
733
+ var webglDevice = _webglDevice.default.fromContext(this.gl);
734
+
735
+ var features = webglDevice.features;
719
736
 
720
737
  switch (pname) {
721
- case 36052:
722
- return !caps.WEBGL2 ? 0 : null;
738
+ case _constants.default.FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER:
739
+ return !features.has('webgl2') ? 0 : null;
723
740
 
724
- case 33298:
725
- case 33299:
726
- case 33300:
727
- case 33301:
728
- case 33302:
729
- case 33303:
730
- return !caps.WEBGL2 ? 8 : null;
741
+ case _constants.default.FRAMEBUFFER_ATTACHMENT_RED_SIZE:
742
+ case _constants.default.FRAMEBUFFER_ATTACHMENT_GREEN_SIZE:
743
+ case _constants.default.FRAMEBUFFER_ATTACHMENT_BLUE_SIZE:
744
+ case _constants.default.FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE:
745
+ case _constants.default.FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE:
746
+ case _constants.default.FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE:
747
+ return !features.has('webgl2') ? 8 : null;
731
748
 
732
- case 33297:
733
- return !caps.WEBGL2 ? 5125 : null;
749
+ case _constants.default.FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE:
750
+ return !features.has('webgl2') ? _constants.default.UNSIGNED_INT : null;
734
751
 
735
- case 33296:
736
- return !caps.WEBGL2 && !caps.EXT_sRGB ? 9729 : null;
752
+ case _constants.default.FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING:
753
+ return !features.has('webgl2') && !features.has('webgl-color-encoding-srgb') ? _constants.default.LINEAR : null;
737
754
 
738
755
  default:
739
756
  return null;
740
757
  }
741
758
  }
742
- }, {
743
- key: "_createHandle",
744
- value: function _createHandle() {
745
- return this.gl.createFramebuffer();
746
- }
747
- }, {
748
- key: "_deleteHandle",
749
- value: function _deleteHandle() {
750
- this.gl.deleteFramebuffer(this.handle);
751
- }
752
- }, {
753
- key: "_bindHandle",
754
- value: function _bindHandle(handle) {
755
- return this.gl.bindFramebuffer(36160, handle);
756
- }
757
- }, {
758
- key: "color",
759
- get: function get() {
760
- return this.attachments[36064] || null;
761
- }
762
- }, {
763
- key: "texture",
764
- get: function get() {
765
- return this.attachments[36064] || null;
766
- }
767
- }, {
768
- key: "depth",
769
- get: function get() {
770
- return this.attachments[36096] || this.attachments[33306] || null;
759
+ }], [{
760
+ key: "isSupported",
761
+ value: function isSupported(gl, options) {
762
+ return isFloatColorBufferSupported(gl, options);
771
763
  }
772
764
  }, {
773
- key: "stencil",
774
- get: function get() {
775
- return this.attachments[36128] || this.attachments[33306] || null;
765
+ key: "getDefaultFramebuffer",
766
+ value: function getDefaultFramebuffer(gl) {
767
+ var webglDevice = _webglDevice.default.fromContext(gl);
768
+
769
+ webglDevice.defaultFramebuffer = webglDevice.defaultFramebuffer || new Framebuffer(gl, {
770
+ id: 'default-framebuffer',
771
+ handle: null,
772
+ attachments: {}
773
+ });
774
+ return webglDevice.defaultFramebuffer;
776
775
  }
777
776
  }]);
778
777
  return Framebuffer;
779
- }(_resource.default);
778
+ }(ImmutableFramebuffer);
780
779
 
781
780
  exports.default = Framebuffer;
781
+ (0, _defineProperty2.default)(Framebuffer, "FRAMEBUFFER_ATTACHMENT_PARAMETERS", [_constants.default.FRAMEBUFFER_ATTACHMENT_OBJECT_NAME, _constants.default.FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE, _constants.default.FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING, _constants.default.FRAMEBUFFER_ATTACHMENT_RED_SIZE, _constants.default.FRAMEBUFFER_ATTACHMENT_GREEN_SIZE, _constants.default.FRAMEBUFFER_ATTACHMENT_BLUE_SIZE, _constants.default.FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE, _constants.default.FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE, _constants.default.FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE]);
782
782
 
783
783
  function mapIndexToCubeMapFace(layer) {
784
- return layer < 34069 ? layer + 34069 : layer;
784
+ return layer < _constants.default.TEXTURE_CUBE_MAP_POSITIVE_X ? layer + _constants.default.TEXTURE_CUBE_MAP_POSITIVE_X : layer;
785
785
  }
786
786
 
787
787
  function _getFrameBufferStatus(status) {
@@ -789,7 +789,19 @@ function _getFrameBufferStatus(status) {
789
789
  return STATUS[status] || "Framebuffer error ".concat(status);
790
790
  }
791
791
 
792
- var FRAMEBUFFER_ATTACHMENT_PARAMETERS = [36049, 36048, 33296, 33298, 33299, 33300, 33301, 33302, 33303];
793
- exports.FRAMEBUFFER_ATTACHMENT_PARAMETERS = FRAMEBUFFER_ATTACHMENT_PARAMETERS;
794
- Framebuffer.ATTACHMENT_PARAMETERS = FRAMEBUFFER_ATTACHMENT_PARAMETERS;
792
+ function isFloatColorBufferSupported(gl, options) {
793
+ var colorBufferFloat = options.colorBufferFloat,
794
+ colorBufferHalfFloat = options.colorBufferHalfFloat;
795
+ var supported = true;
796
+
797
+ if (colorBufferFloat) {
798
+ supported = Boolean(gl.getExtension('EXT_color_buffer_float') || gl.getExtension('WEBGL_color_buffer_float') || gl.getExtension('OES_texture_float'));
799
+ }
800
+
801
+ if (colorBufferHalfFloat) {
802
+ supported = supported && Boolean(gl.getExtension('EXT_color_buffer_float') || gl.getExtension('EXT_color_buffer_half_float'));
803
+ }
804
+
805
+ return supported;
806
+ }
795
807
  //# sourceMappingURL=framebuffer.js.map