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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (633) hide show
  1. package/dist/bundle.d.ts +2 -0
  2. package/dist/bundle.d.ts.map +1 -0
  3. package/dist/bundle.js +5 -0
  4. package/dist/bundle.js.map +1 -0
  5. package/dist/classes/accessor.d.ts +28 -0
  6. package/dist/classes/accessor.d.ts.map +1 -0
  7. package/dist/classes/accessor.js +112 -0
  8. package/dist/classes/accessor.js.map +1 -0
  9. package/dist/classes/accessor.ts.disabled +159 -0
  10. package/dist/classes/clear.d.ts +16 -0
  11. package/dist/classes/clear.d.ts.map +1 -0
  12. package/dist/classes/clear.js +102 -0
  13. package/dist/classes/clear.js.map +1 -0
  14. package/dist/classes/copy-and-blit.d.ts +69 -0
  15. package/dist/classes/copy-and-blit.d.ts.map +1 -0
  16. package/dist/classes/copy-and-blit.js +333 -0
  17. package/dist/classes/copy-and-blit.js.map +1 -0
  18. package/dist/classes/framebuffer.d.ts +130 -0
  19. package/dist/classes/framebuffer.d.ts.map +1 -0
  20. package/dist/classes/framebuffer.js +656 -0
  21. package/dist/classes/framebuffer.js.map +1 -0
  22. package/dist/classes/program-configuration.d.ts +27 -0
  23. package/dist/classes/program-configuration.d.ts.map +1 -0
  24. package/dist/classes/program-configuration.js +160 -0
  25. package/dist/classes/program-configuration.js.map +1 -0
  26. package/dist/classes/program.d.ts +61 -0
  27. package/dist/classes/program.d.ts.map +1 -0
  28. package/dist/classes/program.js +368 -0
  29. package/dist/classes/program.js.map +1 -0
  30. package/dist/classes/query.d.ts +27 -0
  31. package/dist/classes/query.d.ts.map +1 -0
  32. package/dist/classes/query.js +144 -0
  33. package/dist/classes/query.js.map +1 -0
  34. package/dist/classes/renderbuffer-formats.d.ts +16 -0
  35. package/dist/classes/renderbuffer-formats.d.ts.map +1 -0
  36. package/dist/classes/renderbuffer-formats.js +185 -0
  37. package/dist/classes/renderbuffer-formats.js.map +1 -0
  38. package/dist/classes/renderbuffer.d.ts +60 -0
  39. package/dist/classes/renderbuffer.d.ts.map +1 -0
  40. package/dist/classes/renderbuffer.js +127 -0
  41. package/dist/classes/renderbuffer.js.map +1 -0
  42. package/dist/classes/texture-2d.d.ts +8 -0
  43. package/dist/classes/texture-2d.d.ts.map +1 -0
  44. package/dist/classes/texture-2d.js +39 -0
  45. package/dist/classes/texture-2d.js.map +1 -0
  46. package/dist/classes/texture-3d.d.ts +28 -0
  47. package/dist/classes/texture-3d.d.ts.map +1 -0
  48. package/dist/classes/texture-3d.js +67 -0
  49. package/dist/classes/texture-3d.js.map +1 -0
  50. package/dist/classes/texture-cube.d.ts +27 -0
  51. package/dist/classes/texture-cube.d.ts.map +1 -0
  52. package/dist/classes/texture-cube.js +131 -0
  53. package/dist/classes/texture-cube.js.map +1 -0
  54. package/dist/classes/texture-formats.d.ts +37 -0
  55. package/dist/classes/texture-formats.d.ts.map +1 -0
  56. package/dist/classes/texture-formats.js +98 -0
  57. package/dist/classes/texture-formats.js.map +1 -0
  58. package/dist/classes/texture.d.ts +118 -0
  59. package/dist/classes/texture.d.ts.map +1 -0
  60. package/dist/classes/texture.js +785 -0
  61. package/dist/classes/texture.js.map +1 -0
  62. package/dist/classes/transform-feedback.d.ts +33 -0
  63. package/dist/classes/transform-feedback.d.ts.map +1 -0
  64. package/dist/classes/transform-feedback.js +197 -0
  65. package/dist/classes/transform-feedback.js.map +1 -0
  66. package/dist/classes/uniform-buffer-layout.d.ts +17 -0
  67. package/dist/classes/uniform-buffer-layout.d.ts.map +1 -0
  68. package/dist/classes/uniform-buffer-layout.js +104 -0
  69. package/dist/classes/uniform-buffer-layout.js.map +1 -0
  70. package/dist/classes/uniforms.d.ts +38 -0
  71. package/dist/classes/uniforms.d.ts.map +1 -0
  72. package/dist/classes/uniforms.js +251 -0
  73. package/dist/classes/uniforms.js.map +1 -0
  74. package/dist/classes/vertex-array-object.d.ts +75 -0
  75. package/dist/classes/vertex-array-object.d.ts.map +1 -0
  76. package/dist/classes/vertex-array-object.js +262 -0
  77. package/dist/classes/vertex-array-object.js.map +1 -0
  78. package/dist/classes/vertex-array.d.ts +75 -0
  79. package/dist/classes/vertex-array.d.ts.map +1 -0
  80. package/dist/classes/vertex-array.js +409 -0
  81. package/dist/classes/vertex-array.js.map +1 -0
  82. package/dist/classes/webgl-buffer.d.ts +98 -0
  83. package/dist/classes/webgl-buffer.d.ts.map +1 -0
  84. package/dist/{esm/classes/buffer.js → classes/webgl-buffer.js} +97 -73
  85. package/dist/classes/webgl-buffer.js.map +1 -0
  86. package/dist/classes/webgl-resource.d.ts +54 -0
  87. package/dist/classes/webgl-resource.d.ts.map +1 -0
  88. package/dist/{esm/classes/resource.js → classes/webgl-resource.js} +31 -52
  89. package/dist/classes/webgl-resource.js.map +1 -0
  90. package/dist/classes/webgl-shader.d.ts +51 -0
  91. package/dist/classes/webgl-shader.d.ts.map +1 -0
  92. package/dist/classes/webgl-shader.js +190 -0
  93. package/dist/classes/webgl-shader.js.map +1 -0
  94. package/dist/context/gl-context.d.ts +15 -0
  95. package/dist/context/gl-context.d.ts.map +1 -0
  96. package/dist/context/gl-context.js +32 -0
  97. package/dist/context/gl-context.js.map +1 -0
  98. package/dist/context/luma-context-data.d.ts +31 -0
  99. package/dist/context/luma-context-data.d.ts.map +1 -0
  100. package/dist/context/luma-context-data.js +5 -0
  101. package/dist/context/luma-context-data.js.map +1 -0
  102. package/dist/debug/debug-program-configuration.d.ts +2 -0
  103. package/dist/debug/debug-program-configuration.d.ts.map +1 -0
  104. package/dist/debug/debug-program-configuration.js +40 -0
  105. package/dist/debug/debug-program-configuration.js.map +1 -0
  106. package/dist/debug/debug-uniforms.d.ts +12 -0
  107. package/dist/debug/debug-uniforms.d.ts.map +1 -0
  108. package/dist/debug/debug-uniforms.js +108 -0
  109. package/dist/debug/debug-uniforms.js.map +1 -0
  110. package/dist/debug/debug-vertex-array.d.ts +5 -0
  111. package/dist/debug/debug-vertex-array.d.ts.map +1 -0
  112. package/dist/debug/debug-vertex-array.js +118 -0
  113. package/dist/debug/debug-vertex-array.js.map +1 -0
  114. package/dist/es5/bundle.js +3 -5
  115. package/dist/es5/bundle.js.map +1 -1
  116. package/dist/es5/classes/accessor.js +76 -108
  117. package/dist/es5/classes/accessor.js.map +1 -1
  118. package/dist/es5/classes/accessor.ts.disabled +159 -0
  119. package/dist/es5/classes/clear.js +33 -48
  120. package/dist/es5/classes/clear.js.map +1 -1
  121. package/dist/es5/classes/copy-and-blit.js +177 -192
  122. package/dist/es5/classes/copy-and-blit.js.map +1 -1
  123. package/dist/es5/classes/framebuffer.js +538 -655
  124. package/dist/es5/classes/framebuffer.js.map +1 -1
  125. package/dist/es5/classes/program-configuration.js +127 -141
  126. package/dist/es5/classes/program-configuration.js.map +1 -1
  127. package/dist/es5/classes/program.js +294 -358
  128. package/dist/es5/classes/program.js.map +1 -1
  129. package/dist/es5/classes/query.js +115 -181
  130. package/dist/es5/classes/query.js.map +1 -1
  131. package/dist/es5/classes/renderbuffer-formats.js +186 -121
  132. package/dist/es5/classes/renderbuffer-formats.js.map +1 -1
  133. package/dist/es5/classes/renderbuffer.js +104 -128
  134. package/dist/es5/classes/renderbuffer.js.map +1 -1
  135. package/dist/es5/classes/texture-2d.js +16 -39
  136. package/dist/es5/classes/texture-2d.js.map +1 -1
  137. package/dist/es5/classes/texture-3d.js +50 -89
  138. package/dist/es5/classes/texture-3d.js.map +1 -1
  139. package/dist/es5/classes/texture-cube.js +112 -162
  140. package/dist/es5/classes/texture-cube.js.map +1 -1
  141. package/dist/es5/classes/texture-formats.js +73 -42
  142. package/dist/es5/classes/texture-formats.js.map +1 -1
  143. package/dist/es5/classes/texture.js +670 -673
  144. package/dist/es5/classes/texture.js.map +1 -1
  145. package/dist/es5/classes/transform-feedback.js +150 -203
  146. package/dist/es5/classes/transform-feedback.js.map +1 -1
  147. package/dist/es5/classes/uniform-buffer-layout.js +89 -103
  148. package/dist/es5/classes/uniform-buffer-layout.js.map +1 -1
  149. package/dist/es5/classes/uniforms.js +134 -93
  150. package/dist/es5/classes/uniforms.js.map +1 -1
  151. package/dist/es5/classes/vertex-array-object.js +204 -306
  152. package/dist/es5/classes/vertex-array-object.js.map +1 -1
  153. package/dist/es5/classes/vertex-array.js +317 -353
  154. package/dist/es5/classes/vertex-array.js.map +1 -1
  155. package/dist/es5/classes/webgl-buffer.js +391 -0
  156. package/dist/es5/classes/webgl-buffer.js.map +1 -0
  157. package/dist/es5/classes/webgl-resource.js +217 -0
  158. package/dist/es5/classes/webgl-resource.js.map +1 -0
  159. package/dist/es5/classes/webgl-shader.js +213 -0
  160. package/dist/es5/classes/webgl-shader.js.map +1 -0
  161. package/dist/es5/context/gl-context.js +46 -0
  162. package/dist/es5/context/gl-context.js.map +1 -0
  163. package/dist/es5/context/luma-context-data.js +12 -0
  164. package/dist/es5/context/luma-context-data.js.map +1 -0
  165. package/dist/es5/debug/debug-program-configuration.js +20 -48
  166. package/dist/es5/debug/debug-program-configuration.js.map +1 -1
  167. package/dist/es5/debug/debug-uniforms.js +72 -114
  168. package/dist/es5/debug/debug-uniforms.js.map +1 -1
  169. package/dist/es5/debug/debug-vertex-array.js +56 -51
  170. package/dist/es5/debug/debug-vertex-array.js.map +1 -1
  171. package/dist/es5/features/check-glsl-extension.js +9 -10
  172. package/dist/es5/features/check-glsl-extension.js.map +1 -1
  173. package/dist/es5/features/check-old-ie.js +5 -6
  174. package/dist/es5/features/check-old-ie.js.map +1 -1
  175. package/dist/es5/features/features.js +23 -37
  176. package/dist/es5/features/features.js.map +1 -1
  177. package/dist/es5/features/index.js +8 -8
  178. package/dist/es5/features/index.js.map +1 -1
  179. package/dist/es5/features/limits.js +36 -28
  180. package/dist/es5/features/limits.js.map +1 -1
  181. package/dist/es5/features/webgl-features-table.js +35 -15
  182. package/dist/es5/features/webgl-features-table.js.map +1 -1
  183. package/dist/es5/features/webgl-limits-table.js +160 -120
  184. package/dist/es5/features/webgl-limits-table.js.map +1 -1
  185. package/dist/es5/index.js +144 -90
  186. package/dist/es5/index.js.map +1 -1
  187. package/dist/es5/init.js +12 -36
  188. package/dist/es5/init.js.map +1 -1
  189. package/dist/es5/types.js +2 -0
  190. package/dist/es5/types.js.map +1 -0
  191. package/dist/es5/utils/array-utils-flat.js +13 -14
  192. package/dist/es5/utils/array-utils-flat.js.map +1 -1
  193. package/dist/es5/utils/assert.js +1 -1
  194. package/dist/es5/utils/assert.js.map +1 -1
  195. package/dist/es5/utils/check-props.js +20 -21
  196. package/dist/es5/utils/check-props.js.map +1 -1
  197. package/dist/es5/utils/format-value.js +14 -14
  198. package/dist/es5/utils/format-value.js.map +1 -1
  199. package/dist/es5/utils/index.js +68 -0
  200. package/dist/es5/utils/index.js.map +1 -0
  201. package/dist/es5/utils/is-old-ie.js +2 -3
  202. package/dist/es5/utils/is-old-ie.js.map +1 -1
  203. package/dist/es5/utils/load-file.js +11 -18
  204. package/dist/es5/utils/load-file.js.map +1 -1
  205. package/dist/es5/utils/stub-methods.js +4 -4
  206. package/dist/es5/utils/stub-methods.js.map +1 -1
  207. package/dist/es5/utils/utils.js +5 -10
  208. package/dist/es5/utils/utils.js.map +1 -1
  209. package/dist/es5/webgl-utils/attribute-utils.js +87 -74
  210. package/dist/es5/webgl-utils/attribute-utils.js.map +1 -1
  211. package/dist/es5/webgl-utils/constants-to-keys.js +7 -7
  212. package/dist/es5/webgl-utils/constants-to-keys.js.map +1 -1
  213. package/dist/es5/webgl-utils/format-utils.js +21 -17
  214. package/dist/es5/webgl-utils/format-utils.js.map +1 -1
  215. package/dist/es5/webgl-utils/get-error.js +18 -18
  216. package/dist/es5/webgl-utils/get-error.js.map +1 -1
  217. package/dist/es5/webgl-utils/index.js +74 -0
  218. package/dist/es5/webgl-utils/index.js.map +1 -0
  219. package/dist/es5/webgl-utils/parse-shader-compiler-log.js +44 -0
  220. package/dist/es5/webgl-utils/parse-shader-compiler-log.js.map +1 -0
  221. package/dist/es5/webgl-utils/request-animation-frame.js.map +1 -1
  222. package/dist/es5/webgl-utils/texture-utils.js +35 -29
  223. package/dist/es5/webgl-utils/texture-utils.js.map +1 -1
  224. package/dist/es5/webgl-utils/typed-array-utils.js +51 -47
  225. package/dist/es5/webgl-utils/typed-array-utils.js.map +1 -1
  226. package/dist/esm/bundle.js +2 -4
  227. package/dist/esm/bundle.js.map +1 -1
  228. package/dist/esm/classes/accessor.js +7 -7
  229. package/dist/esm/classes/accessor.js.map +1 -1
  230. package/dist/esm/classes/accessor.ts.disabled +159 -0
  231. package/dist/esm/classes/clear.js +15 -13
  232. package/dist/esm/classes/clear.js.map +1 -1
  233. package/dist/esm/classes/copy-and-blit.js +41 -43
  234. package/dist/esm/classes/copy-and-blit.js.map +1 -1
  235. package/dist/esm/classes/framebuffer.js +336 -308
  236. package/dist/esm/classes/framebuffer.js.map +1 -1
  237. package/dist/esm/classes/program-configuration.js +17 -9
  238. package/dist/esm/classes/program-configuration.js.map +1 -1
  239. package/dist/esm/classes/program.js +69 -44
  240. package/dist/esm/classes/program.js.map +1 -1
  241. package/dist/esm/classes/query.js +17 -14
  242. package/dist/esm/classes/query.js.map +1 -1
  243. package/dist/esm/classes/renderbuffer-formats.js +72 -49
  244. package/dist/esm/classes/renderbuffer-formats.js.map +1 -1
  245. package/dist/esm/classes/renderbuffer.js +84 -72
  246. package/dist/esm/classes/renderbuffer.js.map +1 -1
  247. package/dist/esm/classes/texture-2d.js +10 -3
  248. package/dist/esm/classes/texture-2d.js.map +1 -1
  249. package/dist/esm/classes/texture-3d.js +14 -11
  250. package/dist/esm/classes/texture-3d.js.map +1 -1
  251. package/dist/esm/classes/texture-cube.js +43 -28
  252. package/dist/esm/classes/texture-cube.js.map +1 -1
  253. package/dist/esm/classes/texture-formats.js +51 -50
  254. package/dist/esm/classes/texture-formats.js.map +1 -1
  255. package/dist/esm/classes/texture.js +164 -49
  256. package/dist/esm/classes/texture.js.map +1 -1
  257. package/dist/esm/classes/transform-feedback.js +24 -13
  258. package/dist/esm/classes/transform-feedback.js.map +1 -1
  259. package/dist/esm/classes/uniform-buffer-layout.js +1 -1
  260. package/dist/esm/classes/uniform-buffer-layout.js.map +1 -1
  261. package/dist/esm/classes/uniforms.js +111 -112
  262. package/dist/esm/classes/uniforms.js.map +1 -1
  263. package/dist/esm/classes/vertex-array-object.js +52 -88
  264. package/dist/esm/classes/vertex-array-object.js.map +1 -1
  265. package/dist/esm/classes/vertex-array.js +50 -28
  266. package/dist/esm/classes/vertex-array.js.map +1 -1
  267. package/dist/esm/classes/webgl-buffer.js +379 -0
  268. package/dist/esm/classes/webgl-buffer.js.map +1 -0
  269. package/dist/esm/classes/webgl-resource.js +208 -0
  270. package/dist/esm/classes/webgl-resource.js.map +1 -0
  271. package/dist/esm/classes/webgl-shader.js +190 -0
  272. package/dist/esm/classes/webgl-shader.js.map +1 -0
  273. package/dist/esm/context/gl-context.js +32 -0
  274. package/dist/esm/context/gl-context.js.map +1 -0
  275. package/dist/esm/context/luma-context-data.js +5 -0
  276. package/dist/esm/context/luma-context-data.js.map +1 -0
  277. package/dist/esm/debug/debug-program-configuration.js +4 -4
  278. package/dist/esm/debug/debug-program-configuration.js.map +1 -1
  279. package/dist/esm/debug/debug-uniforms.js +9 -9
  280. package/dist/esm/debug/debug-uniforms.js.map +1 -1
  281. package/dist/esm/debug/debug-vertex-array.js +19 -17
  282. package/dist/esm/debug/debug-vertex-array.js.map +1 -1
  283. package/dist/esm/features/check-glsl-extension.js +4 -4
  284. package/dist/esm/features/check-glsl-extension.js.map +1 -1
  285. package/dist/esm/features/check-old-ie.js.map +1 -1
  286. package/dist/esm/features/features.js +14 -13
  287. package/dist/esm/features/features.js.map +1 -1
  288. package/dist/esm/features/index.js.map +1 -1
  289. package/dist/esm/features/limits.js +25 -22
  290. package/dist/esm/features/limits.js.map +1 -1
  291. package/dist/esm/features/webgl-features-table.js +6 -6
  292. package/dist/esm/features/webgl-features-table.js.map +1 -1
  293. package/dist/esm/features/webgl-limits-table.js +43 -42
  294. package/dist/esm/features/webgl-limits-table.js.map +1 -1
  295. package/dist/esm/index.js +13 -15
  296. package/dist/esm/index.js.map +1 -1
  297. package/dist/esm/init.js +4 -23
  298. package/dist/esm/init.js.map +1 -1
  299. package/dist/esm/types.js +2 -0
  300. package/dist/esm/types.js.map +1 -0
  301. package/dist/esm/utils/array-utils-flat.js.map +1 -1
  302. package/dist/esm/utils/assert.js +1 -1
  303. package/dist/esm/utils/assert.js.map +1 -1
  304. package/dist/esm/utils/check-props.js +4 -4
  305. package/dist/esm/utils/check-props.js.map +1 -1
  306. package/dist/esm/utils/format-value.js +4 -4
  307. package/dist/esm/utils/format-value.js.map +1 -1
  308. package/dist/esm/utils/index.js +7 -0
  309. package/dist/esm/utils/index.js.map +1 -0
  310. package/dist/esm/utils/is-old-ie.js +1 -1
  311. package/dist/esm/utils/is-old-ie.js.map +1 -1
  312. package/dist/esm/utils/load-file.js +2 -2
  313. package/dist/esm/utils/load-file.js.map +1 -1
  314. package/dist/esm/utils/stub-methods.js +2 -3
  315. package/dist/esm/utils/stub-methods.js.map +1 -1
  316. package/dist/esm/utils/utils.js +1 -3
  317. package/dist/esm/utils/utils.js.map +1 -1
  318. package/dist/esm/webgl-utils/attribute-utils.js +1 -1
  319. package/dist/esm/webgl-utils/attribute-utils.js.map +1 -1
  320. package/dist/esm/webgl-utils/constants-to-keys.js +4 -4
  321. package/dist/esm/webgl-utils/constants-to-keys.js.map +1 -1
  322. package/dist/esm/webgl-utils/format-utils.js +16 -15
  323. package/dist/esm/webgl-utils/format-utils.js.map +1 -1
  324. package/dist/esm/webgl-utils/get-error.js +1 -1
  325. package/dist/esm/webgl-utils/get-error.js.map +1 -1
  326. package/dist/esm/webgl-utils/index.js +5 -0
  327. package/dist/esm/webgl-utils/index.js.map +1 -0
  328. package/dist/esm/webgl-utils/parse-shader-compiler-log.js +37 -0
  329. package/dist/esm/webgl-utils/parse-shader-compiler-log.js.map +1 -0
  330. package/dist/esm/webgl-utils/request-animation-frame.js.map +1 -1
  331. package/dist/esm/webgl-utils/texture-utils.js +4 -3
  332. package/dist/esm/webgl-utils/texture-utils.js.map +1 -1
  333. package/dist/esm/webgl-utils/typed-array-utils.js +19 -18
  334. package/dist/esm/webgl-utils/typed-array-utils.js.map +1 -1
  335. package/dist/features/check-glsl-extension.d.ts +2 -0
  336. package/dist/features/check-glsl-extension.d.ts.map +1 -0
  337. package/dist/features/check-glsl-extension.js +27 -0
  338. package/dist/features/check-glsl-extension.js.map +1 -0
  339. package/dist/features/check-old-ie.d.ts +2 -0
  340. package/dist/features/check-old-ie.d.ts.map +1 -0
  341. package/dist/features/check-old-ie.js +8 -0
  342. package/dist/features/check-old-ie.js.map +1 -0
  343. package/dist/features/features.d.ts +6 -0
  344. package/dist/features/features.d.ts.map +1 -0
  345. package/dist/features/features.js +67 -0
  346. package/dist/features/features.js.map +1 -0
  347. package/dist/features/index.d.ts +5 -0
  348. package/dist/features/index.d.ts.map +1 -0
  349. package/dist/features/index.js +5 -0
  350. package/dist/features/index.js.map +1 -0
  351. package/dist/features/limits.d.ts +28 -0
  352. package/dist/features/limits.d.ts.map +1 -0
  353. package/dist/features/limits.js +55 -0
  354. package/dist/features/limits.js.map +1 -0
  355. package/dist/features/webgl-features-table.d.ts +30 -0
  356. package/dist/features/webgl-features-table.d.ts.map +1 -0
  357. package/dist/features/webgl-features-table.js +71 -0
  358. package/dist/features/webgl-features-table.js.map +1 -0
  359. package/dist/features/webgl-limits-table.d.ts +161 -0
  360. package/dist/features/webgl-limits-table.d.ts.map +1 -0
  361. package/dist/features/webgl-limits-table.js +161 -0
  362. package/dist/features/webgl-limits-table.js.map +1 -0
  363. package/dist/index.d.ts +33 -0
  364. package/dist/index.d.ts.map +1 -0
  365. package/dist/index.js +33 -0
  366. package/dist/index.js.map +1 -0
  367. package/dist/init.d.ts +5 -0
  368. package/dist/init.d.ts.map +1 -0
  369. package/dist/init.js +30 -0
  370. package/dist/init.js.map +1 -0
  371. package/dist/types.d.ts +9 -0
  372. package/dist/types.d.ts.map +1 -0
  373. package/dist/types.js +2 -0
  374. package/dist/types.js.map +1 -0
  375. package/dist/utils/array-utils-flat.d.ts +9 -0
  376. package/dist/utils/array-utils-flat.d.ts.map +1 -0
  377. package/dist/utils/array-utils-flat.js +39 -0
  378. package/dist/utils/array-utils-flat.js.map +1 -0
  379. package/dist/utils/assert.d.ts +2 -0
  380. package/dist/utils/assert.d.ts.map +1 -0
  381. package/dist/utils/assert.js +6 -0
  382. package/dist/utils/assert.js.map +1 -0
  383. package/dist/utils/check-props.d.ts +2 -0
  384. package/dist/utils/check-props.d.ts.map +1 -0
  385. package/dist/utils/check-props.js +38 -0
  386. package/dist/utils/check-props.js.map +1 -0
  387. package/dist/utils/format-value.d.ts +5 -0
  388. package/dist/utils/format-value.d.ts.map +1 -0
  389. package/dist/utils/format-value.js +50 -0
  390. package/dist/utils/format-value.js.map +1 -0
  391. package/dist/utils/index.d.ts +7 -0
  392. package/dist/utils/index.d.ts.map +1 -0
  393. package/dist/utils/index.js +7 -0
  394. package/dist/utils/index.js.map +1 -0
  395. package/dist/utils/is-old-ie.d.ts +4 -0
  396. package/dist/utils/is-old-ie.d.ts.map +1 -0
  397. package/dist/utils/is-old-ie.js +5 -0
  398. package/dist/utils/is-old-ie.js.map +1 -0
  399. package/dist/utils/load-file.d.ts +4 -0
  400. package/dist/utils/load-file.d.ts.map +1 -0
  401. package/dist/utils/load-file.js +30 -0
  402. package/dist/utils/load-file.js.map +1 -0
  403. package/dist/utils/stub-methods.d.ts +2 -0
  404. package/dist/utils/stub-methods.d.ts.map +1 -0
  405. package/dist/utils/stub-methods.js +16 -0
  406. package/dist/utils/stub-methods.js.map +1 -0
  407. package/dist/utils/utils.d.ts +15 -0
  408. package/dist/utils/utils.d.ts.map +1 -0
  409. package/dist/utils/utils.js +20 -0
  410. package/dist/utils/utils.js.map +1 -0
  411. package/dist/webgl-utils/attribute-utils.d.ts +18 -0
  412. package/dist/webgl-utils/attribute-utils.d.ts.map +1 -0
  413. package/dist/webgl-utils/attribute-utils.js +182 -0
  414. package/dist/webgl-utils/attribute-utils.js.map +1 -0
  415. package/dist/webgl-utils/constants-to-keys.d.ts +4 -0
  416. package/dist/webgl-utils/constants-to-keys.d.ts.map +1 -0
  417. package/dist/webgl-utils/constants-to-keys.js +41 -0
  418. package/dist/webgl-utils/constants-to-keys.js.map +1 -0
  419. package/dist/webgl-utils/format-utils.d.ts +3 -0
  420. package/dist/webgl-utils/format-utils.d.ts.map +1 -0
  421. package/dist/webgl-utils/format-utils.js +45 -0
  422. package/dist/webgl-utils/format-utils.js.map +1 -0
  423. package/dist/webgl-utils/get-error.d.ts +3 -0
  424. package/dist/webgl-utils/get-error.d.ts.map +1 -0
  425. package/dist/webgl-utils/get-error.js +41 -0
  426. package/dist/webgl-utils/get-error.js.map +1 -0
  427. package/dist/webgl-utils/index.d.ts +5 -0
  428. package/dist/webgl-utils/index.d.ts.map +1 -0
  429. package/dist/webgl-utils/index.js +5 -0
  430. package/dist/webgl-utils/index.js.map +1 -0
  431. package/dist/webgl-utils/parse-shader-compiler-log.d.ts +8 -0
  432. package/dist/webgl-utils/parse-shader-compiler-log.d.ts.map +1 -0
  433. package/dist/webgl-utils/parse-shader-compiler-log.js +37 -0
  434. package/dist/webgl-utils/parse-shader-compiler-log.js.map +1 -0
  435. package/dist/webgl-utils/request-animation-frame.d.ts +4 -0
  436. package/dist/webgl-utils/request-animation-frame.d.ts.map +1 -0
  437. package/dist/webgl-utils/request-animation-frame.js +7 -0
  438. package/dist/webgl-utils/request-animation-frame.js.map +1 -0
  439. package/dist/webgl-utils/texture-utils.d.ts +11 -0
  440. package/dist/webgl-utils/texture-utils.d.ts.map +1 -0
  441. package/dist/webgl-utils/texture-utils.js +48 -0
  442. package/dist/webgl-utils/texture-utils.js.map +1 -0
  443. package/dist/webgl-utils/typed-array-utils.d.ts +36 -0
  444. package/dist/webgl-utils/typed-array-utils.d.ts.map +1 -0
  445. package/dist/webgl-utils/typed-array-utils.js +108 -0
  446. package/dist/webgl-utils/typed-array-utils.js.map +1 -0
  447. package/package.json +9 -8
  448. package/src/bundle.ts +4 -0
  449. package/src/classes/accessor.js +3 -4
  450. package/src/classes/accessor.ts.disabled +159 -0
  451. package/src/classes/{clear.js → clear.ts} +13 -9
  452. package/src/classes/{copy-and-blit.js → copy-and-blit.ts} +113 -22
  453. package/src/classes/{framebuffer.js → framebuffer.ts} +355 -298
  454. package/src/classes/{program-configuration.js → program-configuration.ts} +18 -11
  455. package/src/classes/{program.js → program.ts} +56 -36
  456. package/src/classes/{query.js → query.ts} +28 -22
  457. package/src/classes/{renderbuffer-formats.js → renderbuffer-formats.ts} +42 -14
  458. package/src/classes/renderbuffer.ts +153 -0
  459. package/src/classes/{texture-2d.js → texture-2d.ts} +15 -5
  460. package/src/classes/{texture-3d.js → texture-3d.ts} +35 -10
  461. package/src/classes/{texture-cube.js → texture-cube.ts} +46 -28
  462. package/src/classes/{texture-formats.js → texture-formats.ts} +9 -1
  463. package/src/classes/{texture.js → texture.ts} +204 -37
  464. package/src/classes/{transform-feedback.js → transform-feedback.ts} +22 -14
  465. package/src/classes/{uniform-buffer-layout.js → uniform-buffer-layout.ts} +10 -6
  466. package/src/classes/{uniforms.js → uniforms.ts} +122 -70
  467. package/src/classes/{vertex-array-object.js → vertex-array-object.ts} +132 -107
  468. package/src/classes/{vertex-array.js → vertex-array.ts} +74 -54
  469. package/src/classes/{buffer.js → webgl-buffer.ts} +125 -51
  470. package/src/classes/{resource.js → webgl-resource.ts} +43 -36
  471. package/src/classes/webgl-shader.ts +200 -0
  472. package/src/context/gl-context.ts +31 -0
  473. package/src/context/luma-context-data.ts +27 -0
  474. package/src/debug/{debug-program-configuration.js → debug-program-configuration.ts} +0 -0
  475. package/src/debug/{debug-uniforms.js → debug-uniforms.ts} +18 -8
  476. package/src/debug/{debug-vertex-array.js → debug-vertex-array.ts} +7 -4
  477. package/src/features/{check-glsl-extension.js → check-glsl-extension.ts} +1 -1
  478. package/src/features/{check-old-ie.js → check-old-ie.ts} +0 -0
  479. package/src/features/{features.js → features.ts} +14 -13
  480. package/src/features/{index.js → index.ts} +0 -0
  481. package/src/features/{limits.js → limits.ts} +18 -17
  482. package/src/features/{webgl-features-table.js → webgl-features-table.ts} +0 -0
  483. package/src/features/{webgl-limits-table.js → webgl-limits-table.ts} +0 -0
  484. package/{dist/es5/index.d.ts → src/index.ts} +18 -16
  485. package/src/{init.js → init.ts} +1 -18
  486. package/{dist/es5/types.d.ts → src/types.ts} +0 -0
  487. package/src/utils/{array-utils-flat.js → array-utils-flat.ts} +0 -0
  488. package/src/utils/{assert.js → assert.ts} +1 -1
  489. package/src/utils/{check-props.js → check-props.ts} +0 -0
  490. package/src/utils/{format-value.js → format-value.ts} +2 -2
  491. package/src/utils/index.ts +6 -0
  492. package/src/utils/{is-old-ie.js → is-old-ie.ts} +1 -1
  493. package/src/utils/{load-file.js → load-file.ts} +3 -2
  494. package/src/utils/{stub-methods.js → stub-methods.ts} +1 -1
  495. package/src/utils/utils.ts +35 -0
  496. package/src/webgl-utils/{attribute-utils.js → attribute-utils.ts} +1 -2
  497. package/src/webgl-utils/{constants-to-keys.js → constants-to-keys.ts} +1 -1
  498. package/src/webgl-utils/{format-utils.js → format-utils.ts} +1 -1
  499. package/src/webgl-utils/{get-error.js → get-error.ts} +0 -0
  500. package/src/webgl-utils/index.ts +12 -0
  501. package/src/webgl-utils/parse-shader-compiler-log.ts +48 -0
  502. package/src/webgl-utils/{request-animation-frame.js → request-animation-frame.ts} +3 -2
  503. package/src/webgl-utils/texture-utils.js +2 -1
  504. package/dist/dist.js +0 -13555
  505. package/dist/dist.min.js +0 -1
  506. package/dist/es5/classes/buffer.d.ts +0 -84
  507. package/dist/es5/classes/buffer.js +0 -453
  508. package/dist/es5/classes/buffer.js.map +0 -1
  509. package/dist/es5/classes/clear.d.ts +0 -11
  510. package/dist/es5/classes/copy-and-blit.d.ts +0 -101
  511. package/dist/es5/classes/framebuffer.d.ts +0 -96
  512. package/dist/es5/classes/program-configuration.d.ts +0 -15
  513. package/dist/es5/classes/program.d.ts +0 -44
  514. package/dist/es5/classes/query.d.ts +0 -21
  515. package/dist/es5/classes/renderbuffer.d.ts +0 -34
  516. package/dist/es5/classes/resource.d.ts +0 -47
  517. package/dist/es5/classes/resource.js +0 -308
  518. package/dist/es5/classes/resource.js.map +0 -1
  519. package/dist/es5/classes/shader.d.ts +0 -29
  520. package/dist/es5/classes/shader.js +0 -221
  521. package/dist/es5/classes/shader.js.map +0 -1
  522. package/dist/es5/classes/texture-2d.d.ts +0 -11
  523. package/dist/es5/classes/texture-3d.d.ts +0 -29
  524. package/dist/es5/classes/texture-cube.d.ts +0 -23
  525. package/dist/es5/classes/texture.d.ts +0 -80
  526. package/dist/es5/classes/transform-feedback.d.ts +0 -16
  527. package/dist/es5/classes/uniform-buffer-layout.d.ts +0 -18
  528. package/dist/es5/classes/uniforms.d.ts +0 -63
  529. package/dist/es5/classes/vertex-array-object.d.ts +0 -25
  530. package/dist/es5/classes/vertex-array.d.ts +0 -37
  531. package/dist/es5/debug/debug-program-configuration.d.ts +0 -1
  532. package/dist/es5/debug/debug-uniforms.d.ts +0 -11
  533. package/dist/es5/debug/debug-vertex-array.d.ts +0 -1
  534. package/dist/es5/glsl-utils/format-glsl-error.d.ts +0 -16
  535. package/dist/es5/glsl-utils/format-glsl-error.js +0 -108
  536. package/dist/es5/glsl-utils/format-glsl-error.js.map +0 -1
  537. package/dist/es5/glsl-utils/get-shader-name.js +0 -14
  538. package/dist/es5/glsl-utils/get-shader-name.js.map +0 -1
  539. package/dist/es5/glsl-utils/get-shader-type-name.js +0 -22
  540. package/dist/es5/glsl-utils/get-shader-type-name.js.map +0 -1
  541. package/dist/es5/glsl-utils/get-shader-version.js +0 -22
  542. package/dist/es5/glsl-utils/get-shader-version.js.map +0 -1
  543. package/dist/es5/glsl-utils/index.js +0 -48
  544. package/dist/es5/glsl-utils/index.js.map +0 -1
  545. package/dist/es5/init.d.ts +0 -12
  546. package/dist/es5/utils/assert.d.ts +0 -1
  547. package/dist/es5/utils/is-old-ie.d.ts +0 -1
  548. package/dist/es5/utils/utils.d.ts +0 -13
  549. package/dist/es5/webgl-utils/request-animation-frame.d.ts +0 -3
  550. package/dist/esm/classes/buffer.d.ts +0 -84
  551. package/dist/esm/classes/buffer.js.map +0 -1
  552. package/dist/esm/classes/clear.d.ts +0 -11
  553. package/dist/esm/classes/copy-and-blit.d.ts +0 -101
  554. package/dist/esm/classes/framebuffer.d.ts +0 -96
  555. package/dist/esm/classes/program-configuration.d.ts +0 -15
  556. package/dist/esm/classes/program.d.ts +0 -44
  557. package/dist/esm/classes/query.d.ts +0 -21
  558. package/dist/esm/classes/renderbuffer.d.ts +0 -34
  559. package/dist/esm/classes/resource.d.ts +0 -47
  560. package/dist/esm/classes/resource.js.map +0 -1
  561. package/dist/esm/classes/shader.d.ts +0 -29
  562. package/dist/esm/classes/shader.js +0 -138
  563. package/dist/esm/classes/shader.js.map +0 -1
  564. package/dist/esm/classes/texture-2d.d.ts +0 -11
  565. package/dist/esm/classes/texture-3d.d.ts +0 -29
  566. package/dist/esm/classes/texture-cube.d.ts +0 -23
  567. package/dist/esm/classes/texture.d.ts +0 -80
  568. package/dist/esm/classes/transform-feedback.d.ts +0 -16
  569. package/dist/esm/classes/uniform-buffer-layout.d.ts +0 -18
  570. package/dist/esm/classes/uniforms.d.ts +0 -63
  571. package/dist/esm/classes/vertex-array-object.d.ts +0 -25
  572. package/dist/esm/classes/vertex-array.d.ts +0 -37
  573. package/dist/esm/debug/debug-program-configuration.d.ts +0 -1
  574. package/dist/esm/debug/debug-uniforms.d.ts +0 -11
  575. package/dist/esm/debug/debug-vertex-array.d.ts +0 -1
  576. package/dist/esm/glsl-utils/format-glsl-error.d.ts +0 -16
  577. package/dist/esm/glsl-utils/format-glsl-error.js +0 -93
  578. package/dist/esm/glsl-utils/format-glsl-error.js.map +0 -1
  579. package/dist/esm/glsl-utils/get-shader-name.js +0 -6
  580. package/dist/esm/glsl-utils/get-shader-name.js.map +0 -1
  581. package/dist/esm/glsl-utils/get-shader-type-name.js +0 -15
  582. package/dist/esm/glsl-utils/get-shader-type-name.js.map +0 -1
  583. package/dist/esm/glsl-utils/get-shader-version.js +0 -15
  584. package/dist/esm/glsl-utils/get-shader-version.js.map +0 -1
  585. package/dist/esm/glsl-utils/index.js +0 -5
  586. package/dist/esm/glsl-utils/index.js.map +0 -1
  587. package/dist/esm/index.d.ts +0 -71
  588. package/dist/esm/init.d.ts +0 -12
  589. package/dist/esm/types.d.ts +0 -8
  590. package/dist/esm/utils/assert.d.ts +0 -1
  591. package/dist/esm/utils/is-old-ie.d.ts +0 -1
  592. package/dist/esm/utils/utils.d.ts +0 -13
  593. package/dist/esm/webgl-utils/request-animation-frame.d.ts +0 -3
  594. package/src/bundle.js +0 -8
  595. package/src/classes/buffer.d.ts +0 -84
  596. package/src/classes/clear.d.ts +0 -11
  597. package/src/classes/copy-and-blit.d.ts +0 -101
  598. package/src/classes/framebuffer.d.ts +0 -96
  599. package/src/classes/program-configuration.d.ts +0 -15
  600. package/src/classes/program.d.ts +0 -44
  601. package/src/classes/query.d.ts +0 -21
  602. package/src/classes/renderbuffer.d.ts +0 -34
  603. package/src/classes/renderbuffer.js +0 -105
  604. package/src/classes/resource.d.ts +0 -47
  605. package/src/classes/shader.d.ts +0 -29
  606. package/src/classes/shader.js +0 -147
  607. package/src/classes/texture-2d.d.ts +0 -11
  608. package/src/classes/texture-3d.d.ts +0 -29
  609. package/src/classes/texture-cube.d.ts +0 -23
  610. package/src/classes/texture.d.ts +0 -80
  611. package/src/classes/transform-feedback.d.ts +0 -16
  612. package/src/classes/uniform-buffer-layout.d.ts +0 -18
  613. package/src/classes/uniforms.d.ts +0 -63
  614. package/src/classes/vertex-array-object.d.ts +0 -25
  615. package/src/classes/vertex-array.d.ts +0 -37
  616. package/src/debug/debug-program-configuration.d.ts +0 -1
  617. package/src/debug/debug-uniforms.d.ts +0 -11
  618. package/src/debug/debug-vertex-array.d.ts +0 -1
  619. package/src/glsl-utils/format-glsl-error.d.ts +0 -16
  620. package/src/glsl-utils/format-glsl-error.js +0 -107
  621. package/src/glsl-utils/get-shader-name.js +0 -7
  622. package/src/glsl-utils/get-shader-type-name.js +0 -13
  623. package/src/glsl-utils/get-shader-version.js +0 -12
  624. package/src/glsl-utils/index.js +0 -8
  625. package/src/index.d.ts +0 -71
  626. package/src/index.js +0 -70
  627. package/src/init.d.ts +0 -12
  628. package/src/types.d.ts +0 -8
  629. package/src/utils/assert.d.ts +0 -1
  630. package/src/utils/is-old-ie.d.ts +0 -1
  631. package/src/utils/utils.d.ts +0 -13
  632. package/src/utils/utils.js +0 -36
  633. package/src/webgl-utils/request-animation-frame.d.ts +0 -3
@@ -5,132 +5,197 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
+ exports.isRenderbufferFormatSupported = isRenderbufferFormatSupported;
9
+ exports.getRenderbufferFormatBytesPerPixel = getRenderbufferFormatBytesPerPixel;
8
10
  exports.default = void 0;
9
11
 
10
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
12
+ var _constants = _interopRequireDefault(require("@luma.gl/constants"));
11
13
 
12
- var _$33190$36012$;
14
+ var _gltools = require("@luma.gl/gltools");
13
15
 
14
- var EXT_FLOAT_WEBGL2 = 'EXT_color_buffer_float';
16
+ function isRenderbufferFormatSupported(gl, format) {
17
+ const info = RENDERBUFFER_FORMATS[format];
15
18
 
16
- var _default = (_$33190$36012$ = {}, (0, _defineProperty2.default)(_$33190$36012$, 33189, {
17
- bpp: 2
18
- }), (0, _defineProperty2.default)(_$33190$36012$, 33190, {
19
- gl2: true,
20
- bpp: 3
21
- }), (0, _defineProperty2.default)(_$33190$36012$, 36012, {
22
- gl2: true,
23
- bpp: 4
24
- }), (0, _defineProperty2.default)(_$33190$36012$, 36168, {
25
- bpp: 1
26
- }), (0, _defineProperty2.default)(_$33190$36012$, 34041, {
27
- bpp: 4
28
- }), (0, _defineProperty2.default)(_$33190$36012$, 35056, {
29
- gl2: true,
30
- bpp: 4
31
- }), (0, _defineProperty2.default)(_$33190$36012$, 36013, {
32
- gl2: true,
33
- bpp: 5
34
- }), (0, _defineProperty2.default)(_$33190$36012$, 32854, {
35
- bpp: 2
36
- }), (0, _defineProperty2.default)(_$33190$36012$, 36194, {
37
- bpp: 2
38
- }), (0, _defineProperty2.default)(_$33190$36012$, 32855, {
39
- bpp: 2
40
- }), (0, _defineProperty2.default)(_$33190$36012$, 33321, {
41
- gl2: true,
42
- bpp: 1
43
- }), (0, _defineProperty2.default)(_$33190$36012$, 33330, {
44
- gl2: true,
45
- bpp: 1
46
- }), (0, _defineProperty2.default)(_$33190$36012$, 33329, {
47
- gl2: true,
48
- bpp: 1
49
- }), (0, _defineProperty2.default)(_$33190$36012$, 33332, {
50
- gl2: true,
51
- bpp: 2
52
- }), (0, _defineProperty2.default)(_$33190$36012$, 33331, {
53
- gl2: true,
54
- bpp: 2
55
- }), (0, _defineProperty2.default)(_$33190$36012$, 33334, {
56
- gl2: true,
57
- bpp: 4
58
- }), (0, _defineProperty2.default)(_$33190$36012$, 33333, {
59
- gl2: true,
60
- bpp: 4
61
- }), (0, _defineProperty2.default)(_$33190$36012$, 33323, {
62
- gl2: true,
63
- bpp: 2
64
- }), (0, _defineProperty2.default)(_$33190$36012$, 33336, {
65
- gl2: true,
66
- bpp: 2
67
- }), (0, _defineProperty2.default)(_$33190$36012$, 33335, {
68
- gl2: true,
69
- bpp: 2
70
- }), (0, _defineProperty2.default)(_$33190$36012$, 33338, {
71
- gl2: true,
72
- bpp: 4
73
- }), (0, _defineProperty2.default)(_$33190$36012$, 33337, {
74
- gl2: true,
75
- bpp: 4
76
- }), (0, _defineProperty2.default)(_$33190$36012$, 33340, {
77
- gl2: true,
78
- bpp: 8
79
- }), (0, _defineProperty2.default)(_$33190$36012$, 33339, {
80
- gl2: true,
81
- bpp: 8
82
- }), (0, _defineProperty2.default)(_$33190$36012$, 32849, {
83
- gl2: true,
84
- bpp: 3
85
- }), (0, _defineProperty2.default)(_$33190$36012$, 32856, {
86
- gl2: true,
87
- bpp: 4
88
- }), (0, _defineProperty2.default)(_$33190$36012$, 32857, {
89
- gl2: true,
90
- bpp: 4
91
- }), (0, _defineProperty2.default)(_$33190$36012$, 36220, {
92
- gl2: true,
93
- bpp: 4
94
- }), (0, _defineProperty2.default)(_$33190$36012$, 36238, {
95
- gl2: true,
96
- bpp: 4
97
- }), (0, _defineProperty2.default)(_$33190$36012$, 36975, {
98
- gl2: true,
99
- bpp: 4
100
- }), (0, _defineProperty2.default)(_$33190$36012$, 36214, {
101
- gl2: true,
102
- bpp: 8
103
- }), (0, _defineProperty2.default)(_$33190$36012$, 36232, {
104
- gl2: true,
105
- bpp: 8
106
- }), (0, _defineProperty2.default)(_$33190$36012$, 36226, {
107
- gl2: true,
108
- bpp: 16
109
- }), (0, _defineProperty2.default)(_$33190$36012$, 36208, {
110
- gl2: true,
111
- bpp: 16
112
- }), (0, _defineProperty2.default)(_$33190$36012$, 33325, {
113
- gl2: EXT_FLOAT_WEBGL2,
114
- bpp: 2
115
- }), (0, _defineProperty2.default)(_$33190$36012$, 33327, {
116
- gl2: EXT_FLOAT_WEBGL2,
117
- bpp: 4
118
- }), (0, _defineProperty2.default)(_$33190$36012$, 34842, {
119
- gl2: EXT_FLOAT_WEBGL2,
120
- bpp: 8
121
- }), (0, _defineProperty2.default)(_$33190$36012$, 33326, {
122
- gl2: EXT_FLOAT_WEBGL2,
123
- bpp: 4
124
- }), (0, _defineProperty2.default)(_$33190$36012$, 33328, {
125
- gl2: EXT_FLOAT_WEBGL2,
126
- bpp: 8
127
- }), (0, _defineProperty2.default)(_$33190$36012$, 34836, {
128
- gl2: EXT_FLOAT_WEBGL2,
129
- bpp: 16
130
- }), (0, _defineProperty2.default)(_$33190$36012$, 35898, {
131
- gl2: EXT_FLOAT_WEBGL2,
132
- bpp: 4
133
- }), _$33190$36012$);
19
+ if (!info) {
20
+ return false;
21
+ }
134
22
 
23
+ if (info.ext) {
24
+ return Boolean(gl.getExtension(info.ext));
25
+ }
26
+
27
+ if (info.gl2) {
28
+ return (0, _gltools.isWebGL2)(gl);
29
+ }
30
+
31
+ return true;
32
+ }
33
+
34
+ function getRenderbufferFormatBytesPerPixel(format) {
35
+ return RENDERBUFFER_FORMATS[format].bpp;
36
+ }
37
+
38
+ const EXT_FLOAT_WEBGL2 = 'EXT_color_buffer_float';
39
+ const RENDERBUFFER_FORMATS = {
40
+ [_constants.default.DEPTH_COMPONENT16]: {
41
+ bpp: 2
42
+ },
43
+ [_constants.default.DEPTH_COMPONENT24]: {
44
+ gl2: true,
45
+ bpp: 3
46
+ },
47
+ [_constants.default.DEPTH_COMPONENT32F]: {
48
+ gl2: true,
49
+ bpp: 4
50
+ },
51
+ [_constants.default.STENCIL_INDEX8]: {
52
+ bpp: 1
53
+ },
54
+ [_constants.default.DEPTH_STENCIL]: {
55
+ bpp: 4
56
+ },
57
+ [_constants.default.DEPTH24_STENCIL8]: {
58
+ gl2: true,
59
+ bpp: 4
60
+ },
61
+ [_constants.default.DEPTH32F_STENCIL8]: {
62
+ gl2: true,
63
+ bpp: 5
64
+ },
65
+ [_constants.default.RGBA4]: {
66
+ bpp: 2
67
+ },
68
+ [_constants.default.RGB565]: {
69
+ bpp: 2
70
+ },
71
+ [_constants.default.RGB5_A1]: {
72
+ bpp: 2
73
+ },
74
+ [_constants.default.R8]: {
75
+ gl2: true,
76
+ bpp: 1
77
+ },
78
+ [_constants.default.R8UI]: {
79
+ gl2: true,
80
+ bpp: 1
81
+ },
82
+ [_constants.default.R8I]: {
83
+ gl2: true,
84
+ bpp: 1
85
+ },
86
+ [_constants.default.R16UI]: {
87
+ gl2: true,
88
+ bpp: 2
89
+ },
90
+ [_constants.default.R16I]: {
91
+ gl2: true,
92
+ bpp: 2
93
+ },
94
+ [_constants.default.R32UI]: {
95
+ gl2: true,
96
+ bpp: 4
97
+ },
98
+ [_constants.default.R32I]: {
99
+ gl2: true,
100
+ bpp: 4
101
+ },
102
+ [_constants.default.RG8]: {
103
+ gl2: true,
104
+ bpp: 2
105
+ },
106
+ [_constants.default.RG8UI]: {
107
+ gl2: true,
108
+ bpp: 2
109
+ },
110
+ [_constants.default.RG8I]: {
111
+ gl2: true,
112
+ bpp: 2
113
+ },
114
+ [_constants.default.RG16UI]: {
115
+ gl2: true,
116
+ bpp: 4
117
+ },
118
+ [_constants.default.RG16I]: {
119
+ gl2: true,
120
+ bpp: 4
121
+ },
122
+ [_constants.default.RG32UI]: {
123
+ gl2: true,
124
+ bpp: 8
125
+ },
126
+ [_constants.default.RG32I]: {
127
+ gl2: true,
128
+ bpp: 8
129
+ },
130
+ [_constants.default.RGB8]: {
131
+ gl2: true,
132
+ bpp: 3
133
+ },
134
+ [_constants.default.RGBA8]: {
135
+ gl2: true,
136
+ bpp: 4
137
+ },
138
+ [_constants.default.RGB10_A2]: {
139
+ gl2: true,
140
+ bpp: 4
141
+ },
142
+ [_constants.default.RGBA8UI]: {
143
+ gl2: true,
144
+ bpp: 4
145
+ },
146
+ [_constants.default.RGBA8I]: {
147
+ gl2: true,
148
+ bpp: 4
149
+ },
150
+ [_constants.default.RGB10_A2UI]: {
151
+ gl2: true,
152
+ bpp: 4
153
+ },
154
+ [_constants.default.RGBA16UI]: {
155
+ gl2: true,
156
+ bpp: 8
157
+ },
158
+ [_constants.default.RGBA16I]: {
159
+ gl2: true,
160
+ bpp: 8
161
+ },
162
+ [_constants.default.RGBA32I]: {
163
+ gl2: true,
164
+ bpp: 16
165
+ },
166
+ [_constants.default.RGBA32UI]: {
167
+ gl2: true,
168
+ bpp: 16
169
+ },
170
+ [_constants.default.R16F]: {
171
+ ext: EXT_FLOAT_WEBGL2,
172
+ bpp: 2
173
+ },
174
+ [_constants.default.RG16F]: {
175
+ ext: EXT_FLOAT_WEBGL2,
176
+ bpp: 4
177
+ },
178
+ [_constants.default.RGBA16F]: {
179
+ ext: EXT_FLOAT_WEBGL2,
180
+ bpp: 8
181
+ },
182
+ [_constants.default.R32F]: {
183
+ ext: EXT_FLOAT_WEBGL2,
184
+ bpp: 4
185
+ },
186
+ [_constants.default.RG32F]: {
187
+ ext: EXT_FLOAT_WEBGL2,
188
+ bpp: 8
189
+ },
190
+ [_constants.default.RGBA32F]: {
191
+ ext: EXT_FLOAT_WEBGL2,
192
+ bpp: 16
193
+ },
194
+ [_constants.default.R11F_G11F_B10F]: {
195
+ ext: EXT_FLOAT_WEBGL2,
196
+ bpp: 4
197
+ }
198
+ };
199
+ var _default = RENDERBUFFER_FORMATS;
135
200
  exports.default = _default;
136
201
  //# sourceMappingURL=renderbuffer-formats.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/classes/renderbuffer-formats.js"],"names":["EXT_FLOAT_WEBGL2","bpp","gl2"],"mappings":"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","sourcesContent":["import GL from '@luma.gl/constants';\n\n// Define local extension strings to optimize minification\n// const SRGB = 'EXT_sRGB';\n// const EXT_FLOAT_WEBGL1 = 'WEBGL_color_buffer_float';\nconst EXT_FLOAT_WEBGL2 = 'EXT_color_buffer_float';\n// const EXT_HALF_FLOAT_WEBGL1 = 'EXT_color_buffer_half_float';\n\n// NOTE(Tarek): bpp === \"bytes per pixel\", used for\n// memory usage calculations.\nexport default {\n [GL.DEPTH_COMPONENT16]: {bpp: 2}, // 16 depth bits.\n [GL.DEPTH_COMPONENT24]: {gl2: true, bpp: 3},\n [GL.DEPTH_COMPONENT32F]: {gl2: true, bpp: 4},\n\n [GL.STENCIL_INDEX8]: {bpp: 1}, // 8 stencil bits.\n\n [GL.DEPTH_STENCIL]: {bpp: 4},\n [GL.DEPTH24_STENCIL8]: {gl2: true, bpp: 4},\n [GL.DEPTH32F_STENCIL8]: {gl2: true, bpp: 5},\n\n // When using a WebGL 1 context, color renderbuffer formats are limited\n [GL.RGBA4]: {bpp: 2},\n [GL.RGB565]: {bpp: 2},\n [GL.RGB5_A1]: {bpp: 2},\n\n // When using a WebGL 2 context, the following values are available additionally:\n [GL.R8]: {gl2: true, bpp: 1},\n [GL.R8UI]: {gl2: true, bpp: 1},\n [GL.R8I]: {gl2: true, bpp: 1},\n [GL.R16UI]: {gl2: true, bpp: 2},\n [GL.R16I]: {gl2: true, bpp: 2},\n [GL.R32UI]: {gl2: true, bpp: 4},\n [GL.R32I]: {gl2: true, bpp: 4},\n [GL.RG8]: {gl2: true, bpp: 2},\n [GL.RG8UI]: {gl2: true, bpp: 2},\n [GL.RG8I]: {gl2: true, bpp: 2},\n [GL.RG16UI]: {gl2: true, bpp: 4},\n [GL.RG16I]: {gl2: true, bpp: 4},\n [GL.RG32UI]: {gl2: true, bpp: 8},\n [GL.RG32I]: {gl2: true, bpp: 8},\n [GL.RGB8]: {gl2: true, bpp: 3},\n [GL.RGBA8]: {gl2: true, bpp: 4},\n // [GL.SRGB8_ALPHA8]: {gl2: true, gl1: SRGB}, // When using the EXT_sRGB WebGL1 extension\n [GL.RGB10_A2]: {gl2: true, bpp: 4},\n [GL.RGBA8UI]: {gl2: true, bpp: 4},\n [GL.RGBA8I]: {gl2: true, bpp: 4},\n [GL.RGB10_A2UI]: {gl2: true, bpp: 4},\n [GL.RGBA16UI]: {gl2: true, bpp: 8},\n [GL.RGBA16I]: {gl2: true, bpp: 8},\n [GL.RGBA32I]: {gl2: true, bpp: 16},\n [GL.RGBA32UI]: {gl2: true, bpp: 16},\n\n // When using a WebGL 2 context and the EXT_color_buffer_float WebGL2 extension\n [GL.R16F]: {gl2: EXT_FLOAT_WEBGL2, bpp: 2},\n [GL.RG16F]: {gl2: EXT_FLOAT_WEBGL2, bpp: 4},\n [GL.RGBA16F]: {gl2: EXT_FLOAT_WEBGL2, bpp: 8},\n [GL.R32F]: {gl2: EXT_FLOAT_WEBGL2, bpp: 4},\n [GL.RG32F]: {gl2: EXT_FLOAT_WEBGL2, bpp: 8},\n // TODO - can't get WEBGL_color_buffer_float to work on renderbuffers\n [GL.RGBA32F]: {gl2: EXT_FLOAT_WEBGL2, bpp: 16},\n // [GL.RGBA32F]: {gl2: EXT_FLOAT_WEBGL2, gl1: EXT_FLOAT_WEBGL1},\n [GL.R11F_G11F_B10F]: {gl2: EXT_FLOAT_WEBGL2, bpp: 4}\n};\n"],"file":"renderbuffer-formats.js"}
1
+ {"version":3,"sources":["../../../src/classes/renderbuffer-formats.ts"],"names":["isRenderbufferFormatSupported","gl","format","info","RENDERBUFFER_FORMATS","ext","Boolean","getExtension","gl2","getRenderbufferFormatBytesPerPixel","bpp","EXT_FLOAT_WEBGL2","GL","DEPTH_COMPONENT16","DEPTH_COMPONENT24","DEPTH_COMPONENT32F","STENCIL_INDEX8","DEPTH_STENCIL","DEPTH24_STENCIL8","DEPTH32F_STENCIL8","RGBA4","RGB565","RGB5_A1","R8","R8UI","R8I","R16UI","R16I","R32UI","R32I","RG8","RG8UI","RG8I","RG16UI","RG16I","RG32UI","RG32I","RGB8","RGBA8","RGB10_A2","RGBA8UI","RGBA8I","RGB10_A2UI","RGBA16UI","RGBA16I","RGBA32I","RGBA32UI","R16F","RG16F","RGBA16F","R32F","RG32F","RGBA32F","R11F_G11F_B10F"],"mappings":"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","sourcesContent":["import GL from '@luma.gl/constants';\nimport {isWebGL2} from '@luma.gl/gltools';\n\nexport function isRenderbufferFormatSupported(gl: WebGLRenderingContext, format: GL): boolean {\n const info = RENDERBUFFER_FORMATS[format];\n // Unknown format\n if (!info) {\n return false;\n }\n if (info.ext) {\n return Boolean(gl.getExtension(info.ext));\n }\n if (info.gl2) {\n return isWebGL2(gl);\n }\n return true;\n}\n\nexport function getRenderbufferFormatBytesPerPixel(format: GL): number {\n return RENDERBUFFER_FORMATS[format].bpp;\n}\n\n// Define local extension strings to optimize minification\nconst EXT_FLOAT_WEBGL2 = 'EXT_color_buffer_float';\n\n/**\n * @param bpp \"bytes per pixel\", used for memory usage calculations.\n * @param gl2 requires WebGL2\n * @param ext requires extension\n */\ntype RenderbufferFormat = {\n bpp: number;\n gl2?: boolean;\n ext?: string;\n};\n\nconst RENDERBUFFER_FORMATS: Record<string, RenderbufferFormat> = {\n [GL.DEPTH_COMPONENT16]: {bpp: 2}, // 16 depth bits.\n [GL.DEPTH_COMPONENT24]: {gl2: true, bpp: 3},\n [GL.DEPTH_COMPONENT32F]: {gl2: true, bpp: 4},\n\n [GL.STENCIL_INDEX8]: {bpp: 1}, // 8 stencil bits.\n\n [GL.DEPTH_STENCIL]: {bpp: 4},\n [GL.DEPTH24_STENCIL8]: {gl2: true, bpp: 4},\n [GL.DEPTH32F_STENCIL8]: {gl2: true, bpp: 5},\n\n // When using a WebGL 1 context, color renderbuffer formats are limited\n [GL.RGBA4]: {bpp: 2},\n [GL.RGB565]: {bpp: 2},\n [GL.RGB5_A1]: {bpp: 2},\n\n // When using a WebGL 2 context, the following values are available additionally:\n [GL.R8]: {gl2: true, bpp: 1},\n [GL.R8UI]: {gl2: true, bpp: 1},\n [GL.R8I]: {gl2: true, bpp: 1},\n [GL.R16UI]: {gl2: true, bpp: 2},\n [GL.R16I]: {gl2: true, bpp: 2},\n [GL.R32UI]: {gl2: true, bpp: 4},\n [GL.R32I]: {gl2: true, bpp: 4},\n [GL.RG8]: {gl2: true, bpp: 2},\n [GL.RG8UI]: {gl2: true, bpp: 2},\n [GL.RG8I]: {gl2: true, bpp: 2},\n [GL.RG16UI]: {gl2: true, bpp: 4},\n [GL.RG16I]: {gl2: true, bpp: 4},\n [GL.RG32UI]: {gl2: true, bpp: 8},\n [GL.RG32I]: {gl2: true, bpp: 8},\n [GL.RGB8]: {gl2: true, bpp: 3},\n [GL.RGBA8]: {gl2: true, bpp: 4},\n // [GL.SRGB8_ALPHA8]: {gl2: true, gl1: SRGB}, // When using the EXT_sRGB WebGL1 extension\n [GL.RGB10_A2]: {gl2: true, bpp: 4},\n [GL.RGBA8UI]: {gl2: true, bpp: 4},\n [GL.RGBA8I]: {gl2: true, bpp: 4},\n [GL.RGB10_A2UI]: {gl2: true, bpp: 4},\n [GL.RGBA16UI]: {gl2: true, bpp: 8},\n [GL.RGBA16I]: {gl2: true, bpp: 8},\n [GL.RGBA32I]: {gl2: true, bpp: 16},\n [GL.RGBA32UI]: {gl2: true, bpp: 16},\n\n // When using a WebGL 2 context and the EXT_color_buffer_float WebGL2 extension\n [GL.R16F]: {ext: EXT_FLOAT_WEBGL2, bpp: 2},\n [GL.RG16F]: {ext: EXT_FLOAT_WEBGL2, bpp: 4},\n [GL.RGBA16F]: {ext: EXT_FLOAT_WEBGL2, bpp: 8},\n [GL.R32F]: {ext: EXT_FLOAT_WEBGL2, bpp: 4},\n [GL.RG32F]: {ext: EXT_FLOAT_WEBGL2, bpp: 8},\n // TODO - can't get WEBGL_color_buffer_float to work on renderbuffers\n [GL.RGBA32F]: {ext: EXT_FLOAT_WEBGL2, bpp: 16},\n // [GL.RGBA32F]: {ext: EXT_FLOAT_WEBGL2, gl1: EXT_FLOAT_WEBGL1},\n [GL.R11F_G11F_B10F]: {ext: EXT_FLOAT_WEBGL2, bpp: 4}\n};\n\nexport default RENDERBUFFER_FORMATS;\n"],"file":"renderbuffer-formats.js"}
@@ -5,167 +5,143 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
- exports.default = void 0;
8
+ exports.default = exports.ImmutableRenderbuffer = void 0;
9
9
 
10
- var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
10
+ var _constants = _interopRequireDefault(require("@luma.gl/constants"));
11
11
 
12
- var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
12
+ var _webglResource = _interopRequireDefault(require("./webgl-resource"));
13
13
 
14
- var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
15
-
16
- var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
17
-
18
- var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
19
-
20
- var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
21
-
22
- var _resource = _interopRequireDefault(require("./resource"));
23
-
24
- var _renderbufferFormats = _interopRequireDefault(require("./renderbuffer-formats"));
14
+ var _renderbufferFormats = require("./renderbuffer-formats");
25
15
 
26
16
  var _gltools = require("@luma.gl/gltools");
27
17
 
28
- var _assert = require("../utils/assert");
18
+ var _utils = require("../utils");
19
+
20
+ const DEFAULT_RENDERBUFFER_PROPS = {
21
+ id: undefined,
22
+ handle: undefined,
23
+ userData: undefined,
24
+ format: 0,
25
+ width: 1,
26
+ height: 1,
27
+ samples: 0
28
+ };
29
+
30
+ class ImmutableRenderbuffer extends _webglResource.default {
31
+ static isSupported(gl, options) {
32
+ return !options.format || (0, _renderbufferFormats.isRenderbufferFormatSupported)(gl, options.format);
33
+ }
34
+
35
+ constructor(gl, props) {
36
+ super(gl, props, DEFAULT_RENDERBUFFER_PROPS);
29
37
 
30
- 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); }; }
38
+ this._initialize(this.props);
39
+ }
31
40
 
32
- 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; } }
41
+ _initialize(props) {
42
+ const {
43
+ format,
44
+ width,
45
+ height,
46
+ samples
47
+ } = props;
48
+ (0, _utils.assert)(format, 'Needs format');
49
+ this.trackDeallocatedMemory();
50
+ this.gl.bindRenderbuffer(_constants.default.RENDERBUFFER, this.handle);
51
+
52
+ if (samples !== 0 && (0, _gltools.isWebGL2)(this.gl)) {
53
+ this.gl.renderbufferStorageMultisample(_constants.default.RENDERBUFFER, samples, format, width, height);
54
+ } else {
55
+ this.gl.renderbufferStorage(_constants.default.RENDERBUFFER, format, width, height);
56
+ }
33
57
 
34
- function isFormatSupported(gl, format, formats) {
35
- var info = formats[format];
58
+ this.gl.bindRenderbuffer(_constants.default.RENDERBUFFER, null);
59
+ this.trackAllocatedMemory(width * height * (samples || 1) * (0, _renderbufferFormats.getRenderbufferFormatBytesPerPixel)(format));
60
+ return this;
61
+ }
36
62
 
37
- if (!info) {
38
- return false;
63
+ _createHandle() {
64
+ return this.gl.createRenderbuffer();
39
65
  }
40
66
 
41
- var value = (0, _gltools.isWebGL2)(gl) ? info.gl2 || info.gl1 : info.gl1;
67
+ _deleteHandle() {
68
+ this.gl.deleteRenderbuffer(this.handle);
69
+ this.trackDeallocatedMemory();
70
+ }
42
71
 
43
- if (typeof value === 'string') {
44
- return gl.getExtension(value);
72
+ _bindHandle(handle) {
73
+ this.gl.bindRenderbuffer(_constants.default.RENDERBUFFER, handle);
45
74
  }
46
75
 
47
- return value;
48
76
  }
49
77
 
50
- var Renderbuffer = function (_Resource) {
51
- (0, _inherits2.default)(Renderbuffer, _Resource);
78
+ exports.ImmutableRenderbuffer = ImmutableRenderbuffer;
52
79
 
53
- var _super = _createSuper(Renderbuffer);
80
+ class Renderbuffer extends ImmutableRenderbuffer {
81
+ get width() {
82
+ return this.props.width;
83
+ }
54
84
 
55
- (0, _createClass2.default)(Renderbuffer, null, [{
56
- key: "isSupported",
57
- value: function isSupported(gl) {
58
- var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {
59
- format: null
60
- },
61
- format = _ref.format;
85
+ get height() {
86
+ return this.props.height;
87
+ }
62
88
 
63
- return !format || isFormatSupported(gl, format, _renderbufferFormats.default);
64
- }
65
- }, {
66
- key: "getSamplesForFormat",
67
- value: function getSamplesForFormat(gl, _ref2) {
68
- var format = _ref2.format;
69
- return gl.getInternalformatParameter(36161, format, 32937);
70
- }
71
- }]);
89
+ get format() {
90
+ return this.props.format;
91
+ }
72
92
 
73
- function Renderbuffer(gl) {
74
- var _this;
93
+ get samples() {
94
+ return this.props.samples;
95
+ }
75
96
 
76
- var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
77
- (0, _classCallCheck2.default)(this, Renderbuffer);
78
- _this = _super.call(this, gl, opts);
97
+ static isSupported(gl, options) {
98
+ return ImmutableRenderbuffer.isSupported(gl, options);
99
+ }
79
100
 
80
- _this.initialize(opts);
101
+ static getSamplesForFormat(gl, options) {
102
+ return gl.getInternalformatParameter(_constants.default.RENDERBUFFER, options.format, _constants.default.SAMPLES);
103
+ }
81
104
 
82
- Object.seal((0, _assertThisInitialized2.default)(_this));
83
- return _this;
105
+ constructor(gl, props) {
106
+ super(gl, props);
84
107
  }
85
108
 
86
- (0, _createClass2.default)(Renderbuffer, [{
87
- key: "initialize",
88
- value: function initialize(_ref3) {
89
- var format = _ref3.format,
90
- _ref3$width = _ref3.width,
91
- width = _ref3$width === void 0 ? 1 : _ref3$width,
92
- _ref3$height = _ref3.height,
93
- height = _ref3$height === void 0 ? 1 : _ref3$height,
94
- _ref3$samples = _ref3.samples,
95
- samples = _ref3$samples === void 0 ? 0 : _ref3$samples;
96
- (0, _assert.assert)(format, 'Needs format');
109
+ resize(size) {
110
+ if (size.width !== this.width || size.height !== this.height) {
111
+ return this.initialize({ ...size,
112
+ format: this.format,
113
+ samples: this.samples
114
+ });
115
+ }
97
116
 
98
- this._trackDeallocatedMemory();
117
+ return this;
118
+ }
99
119
 
100
- this.gl.bindRenderbuffer(36161, this.handle);
120
+ initialize(props) {
121
+ Object.assign(this.props, props);
101
122
 
102
- if (samples !== 0 && (0, _gltools.isWebGL2)(this.gl)) {
103
- this.gl.renderbufferStorageMultisample(36161, samples, format, width, height);
104
- } else {
105
- this.gl.renderbufferStorage(36161, format, width, height);
106
- }
123
+ this._initialize(this.props);
107
124
 
108
- this.format = format;
109
- this.width = width;
110
- this.height = height;
111
- this.samples = samples;
125
+ return this;
126
+ }
112
127
 
113
- this._trackAllocatedMemory(this.width * this.height * (this.samples || 1) * _renderbufferFormats.default[this.format].bpp);
128
+ _syncHandle(handle) {
129
+ this.gl.bindRenderbuffer(_constants.default.RENDERBUFFER, this.handle);
130
+ Object.assign(this.props, {
131
+ format: this.gl.getRenderbufferParameter(_constants.default.RENDERBUFFER, _constants.default.RENDERBUFFER_INTERNAL_FORMAT),
132
+ width: this.gl.getRenderbufferParameter(_constants.default.RENDERBUFFER, _constants.default.RENDERBUFFER_WIDTH),
133
+ height: this.gl.getRenderbufferParameter(_constants.default.RENDERBUFFER, _constants.default.RENDERBUFFER_HEIGHT),
134
+ samples: this.gl.getRenderbufferParameter(_constants.default.RENDERBUFFER, _constants.default.RENDERBUFFER_SAMPLES)
135
+ });
136
+ }
114
137
 
115
- return this;
116
- }
117
- }, {
118
- key: "resize",
119
- value: function resize(_ref4) {
120
- var width = _ref4.width,
121
- height = _ref4.height;
122
-
123
- if (width !== this.width || height !== this.height) {
124
- return this.initialize({
125
- width: width,
126
- height: height,
127
- format: this.format,
128
- samples: this.samples
129
- });
130
- }
131
-
132
- return this;
133
- }
134
- }, {
135
- key: "_createHandle",
136
- value: function _createHandle() {
137
- return this.gl.createRenderbuffer();
138
- }
139
- }, {
140
- key: "_deleteHandle",
141
- value: function _deleteHandle() {
142
- this.gl.deleteRenderbuffer(this.handle);
138
+ _getParameter(pname) {
139
+ this.gl.bindRenderbuffer(_constants.default.RENDERBUFFER, this.handle);
140
+ const value = this.gl.getRenderbufferParameter(_constants.default.RENDERBUFFER, pname);
141
+ return value;
142
+ }
143
143
 
144
- this._trackDeallocatedMemory();
145
- }
146
- }, {
147
- key: "_bindHandle",
148
- value: function _bindHandle(handle) {
149
- this.gl.bindRenderbuffer(36161, handle);
150
- }
151
- }, {
152
- key: "_syncHandle",
153
- value: function _syncHandle(handle) {
154
- this.format = this.getParameter(36164);
155
- this.width = this.getParameter(36162);
156
- this.height = this.getParameter(36163);
157
- this.samples = this.getParameter(36011);
158
- }
159
- }, {
160
- key: "_getParameter",
161
- value: function _getParameter(pname) {
162
- this.gl.bindRenderbuffer(36161, this.handle);
163
- var value = this.gl.getRenderbufferParameter(36161, pname);
164
- return value;
165
- }
166
- }]);
167
- return Renderbuffer;
168
- }(_resource.default);
144
+ }
169
145
 
170
146
  exports.default = Renderbuffer;
171
147
  //# sourceMappingURL=renderbuffer.js.map