@luma.gl/webgl 8.5.10 → 8.6.0-alpha.4

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 (804) hide show
  1. package/LICENSE +8 -1
  2. package/dist/_deprecated/context-api.d.ts +85 -0
  3. package/dist/_deprecated/context-api.d.ts.map +1 -0
  4. package/dist/_deprecated/context-api.js +70 -0
  5. package/dist/_deprecated/context-api.js.map +1 -0
  6. package/dist/_deprecated/features.d.ts +27 -0
  7. package/dist/_deprecated/features.d.ts.map +1 -0
  8. package/{src/features/webgl-features-table.js → dist/_deprecated/features.js} +66 -59
  9. package/dist/_deprecated/features.js.map +1 -0
  10. package/dist/adapter/converters/set-device-parameters.d.ts +5 -0
  11. package/dist/adapter/converters/set-device-parameters.d.ts.map +1 -0
  12. package/dist/adapter/converters/set-device-parameters.js +124 -0
  13. package/dist/adapter/converters/set-device-parameters.js.map +1 -0
  14. package/dist/adapter/converters/webgpu-texture-formats.d.ts +281 -0
  15. package/dist/adapter/converters/webgpu-texture-formats.d.ts.map +1 -0
  16. package/dist/adapter/converters/webgpu-texture-formats.js +285 -0
  17. package/dist/adapter/converters/webgpu-texture-formats.js.map +1 -0
  18. package/dist/adapter/device-helpers/device-features.d.ts +12 -0
  19. package/dist/adapter/device-helpers/device-features.d.ts.map +1 -0
  20. package/dist/adapter/device-helpers/device-features.js +123 -0
  21. package/dist/adapter/device-helpers/device-features.js.map +1 -0
  22. package/dist/adapter/device-helpers/device-limits.d.ts +51 -0
  23. package/dist/adapter/device-helpers/device-limits.d.ts.map +1 -0
  24. package/dist/adapter/device-helpers/device-limits.js +90 -0
  25. package/dist/adapter/device-helpers/device-limits.js.map +1 -0
  26. package/dist/adapter/device-helpers/get-device-info.d.ts +4 -0
  27. package/dist/adapter/device-helpers/get-device-info.d.ts.map +1 -0
  28. package/dist/adapter/device-helpers/get-device-info.js +44 -0
  29. package/dist/adapter/device-helpers/get-device-info.js.map +1 -0
  30. package/dist/adapter/device-helpers/is-old-ie.d.ts +2 -0
  31. package/dist/adapter/device-helpers/is-old-ie.d.ts.map +1 -0
  32. package/dist/{esm/features/check-old-ie.js → adapter/device-helpers/is-old-ie.js} +3 -3
  33. package/dist/adapter/device-helpers/is-old-ie.js.map +1 -0
  34. package/dist/adapter/webgl-device.d.ts +111 -0
  35. package/dist/adapter/webgl-device.d.ts.map +1 -0
  36. package/dist/adapter/webgl-device.js +208 -0
  37. package/dist/adapter/webgl-device.js.map +1 -0
  38. package/dist/adapter/webgl-shader.d.ts +18 -0
  39. package/dist/adapter/webgl-shader.d.ts.map +1 -0
  40. package/dist/adapter/webgl-shader.js +82 -0
  41. package/dist/adapter/webgl-shader.js.map +1 -0
  42. package/dist/bundle.d.ts +2 -0
  43. package/dist/bundle.d.ts.map +1 -0
  44. package/dist/bundle.js +5 -0
  45. package/dist/bundle.js.map +1 -0
  46. package/dist/classes/accessor.d.ts +28 -0
  47. package/dist/classes/accessor.d.ts.map +1 -0
  48. package/dist/classes/accessor.js +112 -0
  49. package/dist/classes/accessor.js.map +1 -0
  50. package/dist/classes/accessor.ts.disabled +159 -0
  51. package/dist/classes/clear.d.ts +17 -0
  52. package/dist/classes/clear.d.ts.map +1 -0
  53. package/{src → dist}/classes/clear.js +29 -23
  54. package/dist/classes/clear.js.map +1 -0
  55. package/dist/classes/copy-and-blit.d.ts +86 -0
  56. package/dist/classes/copy-and-blit.d.ts.map +1 -0
  57. package/dist/classes/copy-and-blit.js +338 -0
  58. package/dist/classes/copy-and-blit.js.map +1 -0
  59. package/dist/classes/framebuffer.d.ts +139 -0
  60. package/dist/classes/framebuffer.d.ts.map +1 -0
  61. package/dist/classes/framebuffer.js +656 -0
  62. package/dist/classes/framebuffer.js.map +1 -0
  63. package/dist/classes/program-configuration.d.ts +24 -0
  64. package/dist/classes/program-configuration.d.ts.map +1 -0
  65. package/dist/classes/program-configuration.js +73 -0
  66. package/dist/classes/program-configuration.js.map +1 -0
  67. package/dist/classes/program.d.ts +66 -0
  68. package/dist/classes/program.d.ts.map +1 -0
  69. package/dist/classes/program.js +379 -0
  70. package/dist/classes/program.js.map +1 -0
  71. package/dist/classes/query.d.ts +27 -0
  72. package/dist/classes/query.d.ts.map +1 -0
  73. package/dist/classes/query.js +145 -0
  74. package/dist/classes/query.js.map +1 -0
  75. package/dist/classes/renderbuffer-formats.d.ts +16 -0
  76. package/dist/classes/renderbuffer-formats.d.ts.map +1 -0
  77. package/dist/classes/renderbuffer-formats.js +185 -0
  78. package/dist/classes/renderbuffer-formats.js.map +1 -0
  79. package/dist/classes/renderbuffer.d.ts +60 -0
  80. package/dist/classes/renderbuffer.d.ts.map +1 -0
  81. package/dist/classes/renderbuffer.js +128 -0
  82. package/dist/classes/renderbuffer.js.map +1 -0
  83. package/dist/classes/shader.d.ts +42 -0
  84. package/dist/classes/shader.d.ts.map +1 -0
  85. package/dist/classes/shader.js +118 -0
  86. package/dist/classes/shader.js.map +1 -0
  87. package/dist/classes/texture-2d.d.ts +9 -0
  88. package/dist/classes/texture-2d.d.ts.map +1 -0
  89. package/dist/classes/texture-2d.js +36 -0
  90. package/dist/classes/texture-2d.js.map +1 -0
  91. package/dist/classes/texture-3d.d.ts +29 -0
  92. package/dist/classes/texture-3d.d.ts.map +1 -0
  93. package/dist/classes/texture-3d.js +76 -0
  94. package/dist/classes/texture-3d.js.map +1 -0
  95. package/dist/classes/texture-cube.d.ts +28 -0
  96. package/dist/classes/texture-cube.d.ts.map +1 -0
  97. package/dist/classes/texture-cube.js +130 -0
  98. package/dist/classes/texture-cube.js.map +1 -0
  99. package/dist/classes/texture-formats.d.ts +37 -0
  100. package/dist/classes/texture-formats.d.ts.map +1 -0
  101. package/dist/classes/texture-formats.js +98 -0
  102. package/dist/classes/texture-formats.js.map +1 -0
  103. package/dist/classes/texture.d.ts +123 -0
  104. package/dist/classes/texture.d.ts.map +1 -0
  105. package/dist/classes/texture.js +786 -0
  106. package/dist/classes/texture.js.map +1 -0
  107. package/dist/classes/transform-feedback.d.ts +33 -0
  108. package/dist/classes/transform-feedback.d.ts.map +1 -0
  109. package/dist/classes/transform-feedback.js +198 -0
  110. package/dist/classes/transform-feedback.js.map +1 -0
  111. package/dist/classes/uniform-buffer-layout.d.ts +17 -0
  112. package/dist/classes/uniform-buffer-layout.d.ts.map +1 -0
  113. package/dist/classes/uniform-buffer-layout.js +104 -0
  114. package/dist/classes/uniform-buffer-layout.js.map +1 -0
  115. package/dist/classes/uniforms.d.ts +37 -0
  116. package/dist/classes/uniforms.d.ts.map +1 -0
  117. package/dist/classes/uniforms.js +250 -0
  118. package/dist/classes/uniforms.js.map +1 -0
  119. package/dist/classes/vertex-array-object.d.ts +76 -0
  120. package/dist/classes/vertex-array-object.d.ts.map +1 -0
  121. package/dist/classes/vertex-array-object.js +261 -0
  122. package/dist/classes/vertex-array-object.js.map +1 -0
  123. package/dist/classes/vertex-array.d.ts +75 -0
  124. package/dist/classes/vertex-array.d.ts.map +1 -0
  125. package/dist/classes/vertex-array.js +408 -0
  126. package/dist/classes/vertex-array.js.map +1 -0
  127. package/dist/classes/webgl-buffer.d.ts +100 -0
  128. package/dist/classes/webgl-buffer.d.ts.map +1 -0
  129. package/dist/{esm/classes/buffer.js → classes/webgl-buffer.js} +100 -73
  130. package/dist/classes/webgl-buffer.js.map +1 -0
  131. package/dist/classes/webgl-resource.d.ts +56 -0
  132. package/dist/classes/webgl-resource.d.ts.map +1 -0
  133. package/dist/{esm/classes/resource.js → classes/webgl-resource.js} +35 -52
  134. package/dist/classes/webgl-resource.js.map +1 -0
  135. package/dist/context/context/context-state.d.ts +18 -0
  136. package/dist/context/context/context-state.d.ts.map +1 -0
  137. package/dist/context/context/context-state.js +26 -0
  138. package/dist/context/context/context-state.js.map +1 -0
  139. package/dist/context/context/create-context.d.ts +40 -0
  140. package/dist/context/context/create-context.d.ts.map +1 -0
  141. package/dist/context/context/create-context.js +37 -0
  142. package/dist/context/context/create-context.js.map +1 -0
  143. package/dist/context/context/device-pixels.d.ts +25 -0
  144. package/dist/context/context/device-pixels.d.ts.map +1 -0
  145. package/dist/context/context/device-pixels.js +98 -0
  146. package/dist/context/context/device-pixels.js.map +1 -0
  147. package/dist/context/context/get-canvas.d.ts +13 -0
  148. package/dist/context/context/get-canvas.d.ts.map +1 -0
  149. package/dist/context/context/get-canvas.js +31 -0
  150. package/dist/context/context/get-canvas.js.map +1 -0
  151. package/dist/context/context/resize-context.d.ts +20 -0
  152. package/dist/context/context/resize-context.d.ts.map +1 -0
  153. package/dist/context/context/resize-context.js +15 -0
  154. package/dist/context/context/resize-context.js.map +1 -0
  155. package/dist/context/context/webgl-checks.d.ts +13 -0
  156. package/dist/context/context/webgl-checks.d.ts.map +1 -0
  157. package/dist/context/context/webgl-checks.js +34 -0
  158. package/dist/context/context/webgl-checks.js.map +1 -0
  159. package/dist/context/parameters/unified-parameter-api.d.ts +31 -0
  160. package/dist/context/parameters/unified-parameter-api.d.ts.map +1 -0
  161. package/dist/context/parameters/unified-parameter-api.js +65 -0
  162. package/dist/context/parameters/unified-parameter-api.js.map +1 -0
  163. package/dist/context/parameters/webgl-parameter-tables.d.ts +169 -0
  164. package/dist/context/parameters/webgl-parameter-tables.d.ts.map +1 -0
  165. package/dist/context/parameters/webgl-parameter-tables.js +445 -0
  166. package/dist/context/parameters/webgl-parameter-tables.js.map +1 -0
  167. package/dist/context/parameters/webgl-parameters.d.ts +144 -0
  168. package/dist/context/parameters/webgl-parameters.d.ts.map +1 -0
  169. package/dist/context/parameters/webgl-parameters.js +2 -0
  170. package/dist/context/parameters/webgl-parameters.js.map +1 -0
  171. package/dist/context/polyfill/get-parameter-polyfill.d.ts +2 -0
  172. package/dist/context/polyfill/get-parameter-polyfill.d.ts.map +1 -0
  173. package/dist/context/polyfill/get-parameter-polyfill.js +91 -0
  174. package/dist/context/polyfill/get-parameter-polyfill.js.map +1 -0
  175. package/dist/context/polyfill/polyfill-context.d.ts +5 -0
  176. package/dist/context/polyfill/polyfill-context.d.ts.map +1 -0
  177. package/dist/context/polyfill/polyfill-context.js +91 -0
  178. package/dist/context/polyfill/polyfill-context.js.map +1 -0
  179. package/dist/context/polyfill/polyfill-table.d.ts +48 -0
  180. package/dist/context/polyfill/polyfill-table.d.ts.map +1 -0
  181. package/dist/context/polyfill/polyfill-table.js +160 -0
  182. package/dist/context/polyfill/polyfill-table.js.map +1 -0
  183. package/dist/context/polyfill/polyfill-vertex-array-object.d.ts +2 -0
  184. package/dist/context/polyfill/polyfill-vertex-array-object.d.ts.map +1 -0
  185. package/dist/context/polyfill/polyfill-vertex-array-object.js +335 -0
  186. package/dist/context/polyfill/polyfill-vertex-array-object.js.map +1 -0
  187. package/dist/context/state-tracker/deep-array-equal.d.ts +3 -0
  188. package/dist/context/state-tracker/deep-array-equal.d.ts.map +1 -0
  189. package/dist/context/state-tracker/deep-array-equal.js +21 -0
  190. package/dist/context/state-tracker/deep-array-equal.js.map +1 -0
  191. package/dist/context/state-tracker/track-context-state.d.ts +22 -0
  192. package/dist/context/state-tracker/track-context-state.d.ts.map +1 -0
  193. package/dist/context/state-tracker/track-context-state.js +169 -0
  194. package/dist/context/state-tracker/track-context-state.js.map +1 -0
  195. package/dist/context/state-tracker/with-parameters.d.ts +13 -0
  196. package/dist/context/state-tracker/with-parameters.d.ts.map +1 -0
  197. package/dist/context/state-tracker/with-parameters.js +36 -0
  198. package/dist/context/state-tracker/with-parameters.js.map +1 -0
  199. package/dist/debug/debug-program-configuration.d.ts +2 -0
  200. package/dist/debug/debug-program-configuration.d.ts.map +1 -0
  201. package/dist/debug/debug-program-configuration.js +40 -0
  202. package/dist/debug/debug-program-configuration.js.map +1 -0
  203. package/dist/debug/debug-uniforms.d.ts +12 -0
  204. package/dist/debug/debug-uniforms.d.ts.map +1 -0
  205. package/dist/debug/debug-uniforms.js +108 -0
  206. package/dist/debug/debug-uniforms.js.map +1 -0
  207. package/dist/debug/debug-vertex-array.d.ts +5 -0
  208. package/dist/debug/debug-vertex-array.d.ts.map +1 -0
  209. package/dist/debug/debug-vertex-array.js +118 -0
  210. package/dist/debug/debug-vertex-array.js.map +1 -0
  211. package/dist/es5/_deprecated/context-api.js +110 -0
  212. package/dist/es5/_deprecated/context-api.js.map +1 -0
  213. package/dist/es5/_deprecated/features.js +118 -0
  214. package/dist/es5/_deprecated/features.js.map +1 -0
  215. package/dist/es5/adapter/converters/set-device-parameters.js +138 -0
  216. package/dist/es5/adapter/converters/set-device-parameters.js.map +1 -0
  217. package/dist/es5/adapter/converters/webgpu-texture-formats.js +296 -0
  218. package/dist/es5/adapter/converters/webgpu-texture-formats.js.map +1 -0
  219. package/dist/es5/adapter/device-helpers/device-features.js +152 -0
  220. package/dist/es5/adapter/device-helpers/device-features.js.map +1 -0
  221. package/dist/es5/adapter/device-helpers/device-limits.js +64 -0
  222. package/dist/es5/adapter/device-helpers/device-limits.js.map +1 -0
  223. package/dist/es5/adapter/device-helpers/get-device-info.js +55 -0
  224. package/dist/es5/adapter/device-helpers/get-device-info.js.map +1 -0
  225. package/dist/es5/{features/check-old-ie.js → adapter/device-helpers/is-old-ie.js} +3 -3
  226. package/dist/es5/adapter/device-helpers/is-old-ie.js.map +1 -0
  227. package/dist/es5/adapter/webgl-device.js +279 -0
  228. package/dist/es5/adapter/webgl-device.js.map +1 -0
  229. package/dist/es5/adapter/webgl-shader.js +155 -0
  230. package/dist/es5/adapter/webgl-shader.js.map +1 -0
  231. package/dist/es5/bundle.js +2 -4
  232. package/dist/es5/bundle.js.map +1 -1
  233. package/dist/es5/classes/accessor.js +36 -38
  234. package/dist/es5/classes/accessor.js.map +1 -1
  235. package/dist/es5/classes/accessor.ts.disabled +159 -0
  236. package/dist/es5/classes/clear.js +17 -11
  237. package/dist/es5/classes/clear.js.map +1 -1
  238. package/dist/es5/classes/copy-and-blit.js +121 -117
  239. package/dist/es5/classes/copy-and-blit.js.map +1 -1
  240. package/dist/es5/classes/framebuffer.js +435 -423
  241. package/dist/es5/classes/framebuffer.js.map +1 -1
  242. package/dist/es5/classes/program-configuration.js +44 -108
  243. package/dist/es5/classes/program-configuration.js.map +1 -1
  244. package/dist/es5/classes/program.js +108 -85
  245. package/dist/es5/classes/program.js.map +1 -1
  246. package/dist/es5/classes/query.js +58 -59
  247. package/dist/es5/classes/query.js.map +1 -1
  248. package/dist/es5/classes/renderbuffer-formats.js +79 -52
  249. package/dist/es5/classes/renderbuffer-formats.js.map +1 -1
  250. package/dist/es5/classes/renderbuffer.js +129 -100
  251. package/dist/es5/classes/renderbuffer.js.map +1 -1
  252. package/dist/es5/classes/shader.js +70 -96
  253. package/dist/es5/classes/shader.js.map +1 -1
  254. package/dist/es5/classes/texture-2d.js +25 -21
  255. package/dist/es5/classes/texture-2d.js.map +1 -1
  256. package/dist/es5/classes/texture-3d.js +49 -29
  257. package/dist/es5/classes/texture-3d.js.map +1 -1
  258. package/dist/es5/classes/texture-cube.js +45 -36
  259. package/dist/es5/classes/texture-cube.js.map +1 -1
  260. package/dist/es5/classes/texture-formats.js +35 -33
  261. package/dist/es5/classes/texture-formats.js.map +1 -1
  262. package/dist/es5/classes/texture.js +213 -101
  263. package/dist/es5/classes/texture.js.map +1 -1
  264. package/dist/es5/classes/transform-feedback.js +37 -34
  265. package/dist/es5/classes/transform-feedback.js.map +1 -1
  266. package/dist/es5/classes/uniform-buffer-layout.js +4 -4
  267. package/dist/es5/classes/uniform-buffer-layout.js.map +1 -1
  268. package/dist/es5/classes/uniforms.js +73 -73
  269. package/dist/es5/classes/uniforms.js.map +1 -1
  270. package/dist/es5/classes/vertex-array-object.js +106 -149
  271. package/dist/es5/classes/vertex-array-object.js.map +1 -1
  272. package/dist/es5/classes/vertex-array.js +52 -43
  273. package/dist/es5/classes/vertex-array.js.map +1 -1
  274. package/dist/es5/classes/{buffer.js → webgl-buffer.js} +120 -111
  275. package/dist/es5/classes/webgl-buffer.js.map +1 -0
  276. package/dist/es5/classes/{resource.js → webgl-resource.js} +78 -99
  277. package/dist/es5/classes/webgl-resource.js.map +1 -0
  278. package/dist/es5/context/context/context-state.js +31 -0
  279. package/dist/es5/context/context/context-state.js.map +1 -0
  280. package/dist/es5/context/context/create-context.js +57 -0
  281. package/dist/es5/context/context/create-context.js.map +1 -0
  282. package/dist/es5/context/context/device-pixels.js +115 -0
  283. package/dist/es5/context/context/device-pixels.js.map +1 -0
  284. package/dist/es5/context/context/get-canvas.js +40 -0
  285. package/dist/es5/context/context/get-canvas.js.map +1 -0
  286. package/dist/es5/context/context/resize-context.js +23 -0
  287. package/dist/es5/context/context/resize-context.js.map +1 -0
  288. package/dist/es5/context/context/webgl-checks.js +54 -0
  289. package/dist/es5/context/context/webgl-checks.js.map +1 -0
  290. package/dist/es5/context/parameters/unified-parameter-api.js +95 -0
  291. package/dist/es5/context/parameters/unified-parameter-api.js.map +1 -0
  292. package/dist/es5/context/parameters/webgl-parameter-tables.js +392 -0
  293. package/dist/es5/context/parameters/webgl-parameter-tables.js.map +1 -0
  294. package/dist/es5/context/parameters/webgl-parameters.js +6 -0
  295. package/dist/es5/context/parameters/webgl-parameters.js.map +1 -0
  296. package/dist/es5/context/polyfill/get-parameter-polyfill.js +81 -0
  297. package/dist/es5/context/polyfill/get-parameter-polyfill.js.map +1 -0
  298. package/dist/es5/context/polyfill/polyfill-context.js +134 -0
  299. package/dist/es5/context/polyfill/polyfill-context.js.map +1 -0
  300. package/dist/es5/context/polyfill/polyfill-table.js +166 -0
  301. package/dist/es5/context/polyfill/polyfill-table.js.map +1 -0
  302. package/dist/es5/context/polyfill/polyfill-vertex-array-object.js +341 -0
  303. package/dist/es5/context/polyfill/polyfill-vertex-array-object.js.map +1 -0
  304. package/dist/es5/context/state-tracker/deep-array-equal.js +28 -0
  305. package/dist/es5/context/state-tracker/deep-array-equal.js.map +1 -0
  306. package/dist/es5/context/state-tracker/track-context-state.js +196 -0
  307. package/dist/es5/context/state-tracker/track-context-state.js.map +1 -0
  308. package/dist/es5/context/state-tracker/with-parameters.js +44 -0
  309. package/dist/es5/context/state-tracker/with-parameters.js.map +1 -0
  310. package/dist/es5/debug/debug-program-configuration.js +1 -1
  311. package/dist/es5/debug/debug-program-configuration.js.map +1 -1
  312. package/dist/es5/debug/debug-uniforms.js +18 -20
  313. package/dist/es5/debug/debug-uniforms.js.map +1 -1
  314. package/dist/es5/debug/debug-vertex-array.js +16 -16
  315. package/dist/es5/debug/debug-vertex-array.js.map +1 -1
  316. package/dist/es5/helpers/get-program-bindings.js +274 -0
  317. package/dist/es5/helpers/get-program-bindings.js.map +1 -0
  318. package/dist/es5/helpers/program-bindings.js +2 -0
  319. package/dist/es5/helpers/program-bindings.js.map +1 -0
  320. package/dist/es5/index.js +229 -99
  321. package/dist/es5/index.js.map +1 -1
  322. package/dist/es5/init.js +21 -41
  323. package/dist/es5/init.js.map +1 -1
  324. package/dist/es5/types/accessor.d.ts +29 -0
  325. package/dist/es5/types.js +2 -0
  326. package/dist/es5/types.js.map +1 -0
  327. package/dist/es5/webgl-utils/attribute-utils.js +4 -4
  328. package/dist/es5/webgl-utils/attribute-utils.js.map +1 -1
  329. package/dist/es5/webgl-utils/constants-to-keys.js +3 -3
  330. package/dist/es5/webgl-utils/constants-to-keys.js.map +1 -1
  331. package/dist/es5/webgl-utils/format-utils.js +21 -17
  332. package/dist/es5/webgl-utils/format-utils.js.map +1 -1
  333. package/dist/es5/webgl-utils/get-error.js.map +1 -1
  334. package/dist/es5/webgl-utils/index.js +74 -0
  335. package/dist/es5/webgl-utils/index.js.map +1 -0
  336. package/dist/es5/webgl-utils/parse-shader-compiler-log.js +72 -0
  337. package/dist/es5/webgl-utils/parse-shader-compiler-log.js.map +1 -0
  338. package/dist/es5/webgl-utils/request-animation-frame.js.map +1 -1
  339. package/dist/es5/webgl-utils/texture-utils.js +6 -4
  340. package/dist/es5/webgl-utils/texture-utils.js.map +1 -1
  341. package/dist/es5/webgl-utils/typed-array-utils.js +39 -34
  342. package/dist/es5/webgl-utils/typed-array-utils.js.map +1 -1
  343. package/dist/esm/_deprecated/context-api.js +70 -0
  344. package/dist/esm/_deprecated/context-api.js.map +1 -0
  345. package/dist/esm/{features/webgl-features-table.js → _deprecated/features.js} +66 -26
  346. package/dist/esm/_deprecated/features.js.map +1 -0
  347. package/dist/esm/adapter/converters/set-device-parameters.js +124 -0
  348. package/dist/esm/adapter/converters/set-device-parameters.js.map +1 -0
  349. package/dist/esm/adapter/converters/webgpu-texture-formats.js +285 -0
  350. package/dist/esm/adapter/converters/webgpu-texture-formats.js.map +1 -0
  351. package/dist/esm/adapter/device-helpers/device-features.js +123 -0
  352. package/dist/esm/adapter/device-helpers/device-features.js.map +1 -0
  353. package/dist/esm/adapter/device-helpers/device-limits.js +90 -0
  354. package/dist/esm/adapter/device-helpers/device-limits.js.map +1 -0
  355. package/dist/esm/adapter/device-helpers/get-device-info.js +44 -0
  356. package/dist/esm/adapter/device-helpers/get-device-info.js.map +1 -0
  357. package/dist/esm/adapter/device-helpers/is-old-ie.js +8 -0
  358. package/dist/esm/adapter/device-helpers/is-old-ie.js.map +1 -0
  359. package/dist/esm/adapter/webgl-device.js +208 -0
  360. package/dist/esm/adapter/webgl-device.js.map +1 -0
  361. package/dist/esm/adapter/webgl-shader.js +82 -0
  362. package/dist/esm/adapter/webgl-shader.js.map +1 -0
  363. package/dist/esm/bundle.js +2 -4
  364. package/dist/esm/bundle.js.map +1 -1
  365. package/dist/esm/classes/accessor.js +6 -6
  366. package/dist/esm/classes/accessor.js.map +1 -1
  367. package/dist/esm/classes/accessor.ts.disabled +159 -0
  368. package/dist/esm/classes/clear.js +19 -14
  369. package/dist/esm/classes/clear.js.map +1 -1
  370. package/dist/esm/classes/copy-and-blit.js +67 -64
  371. package/dist/esm/classes/copy-and-blit.js.map +1 -1
  372. package/dist/esm/classes/framebuffer.js +341 -313
  373. package/dist/esm/classes/framebuffer.js.map +1 -1
  374. package/dist/esm/classes/program-configuration.js +25 -104
  375. package/dist/esm/classes/program-configuration.js.map +1 -1
  376. package/dist/esm/classes/program.js +98 -62
  377. package/dist/esm/classes/program.js.map +1 -1
  378. package/dist/esm/classes/query.js +20 -16
  379. package/dist/esm/classes/query.js.map +1 -1
  380. package/dist/esm/classes/renderbuffer-formats.js +72 -49
  381. package/dist/esm/classes/renderbuffer-formats.js.map +1 -1
  382. package/dist/esm/classes/renderbuffer.js +86 -73
  383. package/dist/esm/classes/renderbuffer.js.map +1 -1
  384. package/dist/esm/classes/shader.js +47 -67
  385. package/dist/esm/classes/shader.js.map +1 -1
  386. package/dist/esm/classes/texture-2d.js +13 -9
  387. package/dist/esm/classes/texture-2d.js.map +1 -1
  388. package/dist/esm/classes/texture-3d.js +28 -16
  389. package/dist/esm/classes/texture-3d.js.map +1 -1
  390. package/dist/esm/classes/texture-cube.js +45 -31
  391. package/dist/esm/classes/texture-cube.js.map +1 -1
  392. package/dist/esm/classes/texture-formats.js +52 -51
  393. package/dist/esm/classes/texture-formats.js.map +1 -1
  394. package/dist/esm/classes/texture.js +174 -58
  395. package/dist/esm/classes/texture.js.map +1 -1
  396. package/dist/esm/classes/transform-feedback.js +26 -14
  397. package/dist/esm/classes/transform-feedback.js.map +1 -1
  398. package/dist/esm/classes/uniform-buffer-layout.js +1 -1
  399. package/dist/esm/classes/uniform-buffer-layout.js.map +1 -1
  400. package/dist/esm/classes/uniforms.js +111 -113
  401. package/dist/esm/classes/uniforms.js.map +1 -1
  402. package/dist/esm/classes/vertex-array-object.js +52 -89
  403. package/dist/esm/classes/vertex-array-object.js.map +1 -1
  404. package/dist/esm/classes/vertex-array.js +52 -31
  405. package/dist/esm/classes/vertex-array.js.map +1 -1
  406. package/dist/esm/classes/webgl-buffer.js +382 -0
  407. package/dist/esm/classes/webgl-buffer.js.map +1 -0
  408. package/dist/esm/classes/webgl-resource.js +212 -0
  409. package/dist/esm/classes/webgl-resource.js.map +1 -0
  410. package/dist/esm/context/context/context-state.js +26 -0
  411. package/dist/esm/context/context/context-state.js.map +1 -0
  412. package/dist/esm/context/context/create-context.js +37 -0
  413. package/dist/esm/context/context/create-context.js.map +1 -0
  414. package/dist/esm/context/context/device-pixels.js +98 -0
  415. package/dist/esm/context/context/device-pixels.js.map +1 -0
  416. package/dist/esm/context/context/get-canvas.js +31 -0
  417. package/dist/esm/context/context/get-canvas.js.map +1 -0
  418. package/dist/esm/context/context/resize-context.js +15 -0
  419. package/dist/esm/context/context/resize-context.js.map +1 -0
  420. package/dist/esm/context/context/webgl-checks.js +34 -0
  421. package/dist/esm/context/context/webgl-checks.js.map +1 -0
  422. package/dist/esm/context/parameters/unified-parameter-api.js +65 -0
  423. package/dist/esm/context/parameters/unified-parameter-api.js.map +1 -0
  424. package/dist/esm/context/parameters/webgl-parameter-tables.js +445 -0
  425. package/dist/esm/context/parameters/webgl-parameter-tables.js.map +1 -0
  426. package/dist/esm/context/parameters/webgl-parameters.js +2 -0
  427. package/dist/esm/context/parameters/webgl-parameters.js.map +1 -0
  428. package/dist/esm/context/polyfill/get-parameter-polyfill.js +91 -0
  429. package/dist/esm/context/polyfill/get-parameter-polyfill.js.map +1 -0
  430. package/dist/esm/context/polyfill/polyfill-context.js +91 -0
  431. package/dist/esm/context/polyfill/polyfill-context.js.map +1 -0
  432. package/dist/esm/context/polyfill/polyfill-table.js +160 -0
  433. package/dist/esm/context/polyfill/polyfill-table.js.map +1 -0
  434. package/dist/esm/context/polyfill/polyfill-vertex-array-object.js +335 -0
  435. package/dist/esm/context/polyfill/polyfill-vertex-array-object.js.map +1 -0
  436. package/dist/esm/context/state-tracker/deep-array-equal.js +21 -0
  437. package/dist/esm/context/state-tracker/deep-array-equal.js.map +1 -0
  438. package/dist/esm/context/state-tracker/track-context-state.js +169 -0
  439. package/dist/esm/context/state-tracker/track-context-state.js.map +1 -0
  440. package/dist/esm/context/state-tracker/with-parameters.js +36 -0
  441. package/dist/esm/context/state-tracker/with-parameters.js.map +1 -0
  442. package/dist/esm/debug/debug-program-configuration.js +4 -4
  443. package/dist/esm/debug/debug-program-configuration.js.map +1 -1
  444. package/dist/esm/debug/debug-uniforms.js +9 -9
  445. package/dist/esm/debug/debug-uniforms.js.map +1 -1
  446. package/dist/esm/debug/debug-vertex-array.js +18 -16
  447. package/dist/esm/debug/debug-vertex-array.js.map +1 -1
  448. package/dist/esm/helpers/get-program-bindings.js +228 -0
  449. package/dist/esm/helpers/get-program-bindings.js.map +1 -0
  450. package/dist/esm/helpers/program-bindings.js +2 -0
  451. package/dist/esm/helpers/program-bindings.js.map +1 -0
  452. package/dist/esm/index.js +19 -15
  453. package/dist/esm/index.js.map +1 -1
  454. package/dist/esm/init.js +12 -28
  455. package/dist/esm/init.js.map +1 -1
  456. package/dist/esm/types/accessor.d.ts +29 -0
  457. package/dist/esm/types.js +2 -0
  458. package/dist/esm/types.js.map +1 -0
  459. package/dist/esm/webgl-utils/attribute-utils.js +1 -1
  460. package/dist/esm/webgl-utils/attribute-utils.js.map +1 -1
  461. package/dist/esm/webgl-utils/constants-to-keys.js +4 -4
  462. package/dist/esm/webgl-utils/constants-to-keys.js.map +1 -1
  463. package/dist/esm/webgl-utils/format-utils.js +16 -15
  464. package/dist/esm/webgl-utils/format-utils.js.map +1 -1
  465. package/dist/esm/webgl-utils/get-error.js +1 -1
  466. package/dist/esm/webgl-utils/get-error.js.map +1 -1
  467. package/dist/esm/webgl-utils/index.js +5 -0
  468. package/dist/esm/webgl-utils/index.js.map +1 -0
  469. package/dist/esm/webgl-utils/parse-shader-compiler-log.js +37 -0
  470. package/dist/esm/webgl-utils/parse-shader-compiler-log.js.map +1 -0
  471. package/dist/esm/webgl-utils/request-animation-frame.js.map +1 -1
  472. package/dist/esm/webgl-utils/texture-utils.js +4 -3
  473. package/dist/esm/webgl-utils/texture-utils.js.map +1 -1
  474. package/dist/esm/webgl-utils/typed-array-utils.js +41 -36
  475. package/dist/esm/webgl-utils/typed-array-utils.js.map +1 -1
  476. package/dist/helpers/get-program-bindings.d.ts +8 -0
  477. package/dist/helpers/get-program-bindings.d.ts.map +1 -0
  478. package/dist/helpers/get-program-bindings.js +228 -0
  479. package/dist/helpers/get-program-bindings.js.map +1 -0
  480. package/dist/helpers/program-bindings.d.ts +41 -0
  481. package/dist/helpers/program-bindings.d.ts.map +1 -0
  482. package/dist/helpers/program-bindings.js +2 -0
  483. package/dist/helpers/program-bindings.js.map +1 -0
  484. package/dist/index.d.ts +54 -0
  485. package/dist/index.d.ts.map +1 -0
  486. package/dist/index.js +39 -0
  487. package/dist/index.js.map +1 -0
  488. package/dist/init.d.ts +5 -0
  489. package/dist/init.d.ts.map +1 -0
  490. package/dist/init.js +33 -0
  491. package/dist/init.js.map +1 -0
  492. package/dist/types/accessor.d.ts +29 -0
  493. package/dist/types.d.ts +9 -0
  494. package/dist/types.d.ts.map +1 -0
  495. package/dist/types.js +2 -0
  496. package/dist/types.js.map +1 -0
  497. package/dist/webgl-utils/attribute-utils.d.ts +18 -0
  498. package/dist/webgl-utils/attribute-utils.d.ts.map +1 -0
  499. package/dist/webgl-utils/attribute-utils.js +182 -0
  500. package/dist/webgl-utils/attribute-utils.js.map +1 -0
  501. package/dist/webgl-utils/constants-to-keys.d.ts +4 -0
  502. package/dist/webgl-utils/constants-to-keys.d.ts.map +1 -0
  503. package/dist/webgl-utils/constants-to-keys.js +41 -0
  504. package/dist/webgl-utils/constants-to-keys.js.map +1 -0
  505. package/dist/webgl-utils/format-utils.d.ts +3 -0
  506. package/dist/webgl-utils/format-utils.d.ts.map +1 -0
  507. package/dist/webgl-utils/format-utils.js +45 -0
  508. package/dist/webgl-utils/format-utils.js.map +1 -0
  509. package/dist/webgl-utils/get-error.d.ts +3 -0
  510. package/dist/webgl-utils/get-error.d.ts.map +1 -0
  511. package/dist/webgl-utils/get-error.js +41 -0
  512. package/dist/webgl-utils/get-error.js.map +1 -0
  513. package/dist/webgl-utils/index.d.ts +5 -0
  514. package/dist/webgl-utils/index.d.ts.map +1 -0
  515. package/dist/webgl-utils/index.js +5 -0
  516. package/dist/webgl-utils/index.js.map +1 -0
  517. package/dist/webgl-utils/parse-shader-compiler-log.d.ts +8 -0
  518. package/dist/webgl-utils/parse-shader-compiler-log.d.ts.map +1 -0
  519. package/dist/webgl-utils/parse-shader-compiler-log.js +37 -0
  520. package/dist/webgl-utils/parse-shader-compiler-log.js.map +1 -0
  521. package/dist/webgl-utils/request-animation-frame.d.ts +4 -0
  522. package/dist/webgl-utils/request-animation-frame.d.ts.map +1 -0
  523. package/dist/webgl-utils/request-animation-frame.js +7 -0
  524. package/dist/webgl-utils/request-animation-frame.js.map +1 -0
  525. package/dist/webgl-utils/texture-utils.d.ts +15 -0
  526. package/dist/webgl-utils/texture-utils.d.ts.map +1 -0
  527. package/dist/webgl-utils/texture-utils.js +48 -0
  528. package/dist/webgl-utils/texture-utils.js.map +1 -0
  529. package/dist/webgl-utils/typed-array-utils.d.ts +43 -0
  530. package/dist/webgl-utils/typed-array-utils.d.ts.map +1 -0
  531. package/{src → dist}/webgl-utils/typed-array-utils.js +45 -27
  532. package/dist/webgl-utils/typed-array-utils.js.map +1 -0
  533. package/package.json +9 -9
  534. package/src/.DS_Store +0 -0
  535. package/src/_deprecated/context-api.ts +140 -0
  536. package/src/_deprecated/features.ts +159 -0
  537. package/src/adapter/converters/set-device-parameters.ts +182 -0
  538. package/src/adapter/converters/webgpu-texture-formats.ts +167 -0
  539. package/src/adapter/device-helpers/device-features.ts +227 -0
  540. package/src/adapter/device-helpers/device-limits.ts +150 -0
  541. package/src/adapter/device-helpers/get-device-info.ts +49 -0
  542. package/src/{features/check-old-ie.js → adapter/device-helpers/is-old-ie.ts} +3 -3
  543. package/src/adapter/webgl-device.ts +406 -0
  544. package/src/adapter/webgl-shader.ts +84 -0
  545. package/src/bundle.ts +4 -0
  546. package/src/classes/accessor.js +2 -3
  547. package/src/classes/accessor.ts.disabled +159 -0
  548. package/src/classes/clear.ts +108 -0
  549. package/src/classes/{copy-and-blit.js → copy-and-blit.ts} +143 -55
  550. package/src/classes/{framebuffer.js → framebuffer.ts} +381 -321
  551. package/src/classes/program-configuration.ts +77 -0
  552. package/src/classes/{program.js → program.ts} +111 -77
  553. package/src/classes/{query.js → query.ts} +31 -25
  554. package/src/classes/{renderbuffer-formats.js → renderbuffer-formats.ts} +42 -14
  555. package/src/classes/renderbuffer.ts +154 -0
  556. package/src/classes/shader.ts +129 -0
  557. package/src/classes/texture-2d.ts +35 -0
  558. package/src/classes/{texture-3d.js → texture-3d.ts} +48 -18
  559. package/src/classes/{texture-cube.js → texture-cube.ts} +52 -34
  560. package/src/classes/{texture-formats.js → texture-formats.ts} +10 -2
  561. package/src/classes/{texture.js → texture.ts} +223 -57
  562. package/src/classes/{transform-feedback.js → transform-feedback.ts} +34 -25
  563. package/src/classes/{uniform-buffer-layout.js → uniform-buffer-layout.ts} +10 -6
  564. package/src/classes/{uniforms.js → uniforms.ts} +123 -77
  565. package/src/classes/{vertex-array-object.js → vertex-array-object.ts} +136 -114
  566. package/src/classes/{vertex-array.js → vertex-array.ts} +84 -59
  567. package/src/classes/{buffer.js → webgl-buffer.ts} +126 -50
  568. package/src/classes/{resource.js → webgl-resource.ts} +55 -46
  569. package/src/context/context/context-state.ts +39 -0
  570. package/src/context/context/create-context.ts +83 -0
  571. package/src/context/context/device-pixels.ts +147 -0
  572. package/src/context/context/get-canvas.ts +37 -0
  573. package/src/context/context/resize-context.ts +37 -0
  574. package/src/context/context/webgl-checks.ts +49 -0
  575. package/src/context/parameters/unified-parameter-api.ts +128 -0
  576. package/src/context/parameters/webgl-parameter-tables.ts +625 -0
  577. package/src/context/parameters/webgl-parameters.ts +197 -0
  578. package/src/context/polyfill/get-parameter-polyfill.ts +118 -0
  579. package/src/context/polyfill/polyfill-context.ts +98 -0
  580. package/src/context/polyfill/polyfill-table.ts +162 -0
  581. package/src/context/polyfill/polyfill-vertex-array-object.ts +360 -0
  582. package/src/context/state-tracker/deep-array-equal.ts +20 -0
  583. package/src/context/state-tracker/track-context-state.ts +250 -0
  584. package/src/context/state-tracker/with-parameters.ts +50 -0
  585. package/src/debug/{debug-program-configuration.js → debug-program-configuration.ts} +0 -0
  586. package/src/debug/{debug-uniforms.js → debug-uniforms.ts} +18 -8
  587. package/src/debug/{debug-vertex-array.js → debug-vertex-array.ts} +6 -5
  588. package/src/helpers/get-program-bindings.ts +244 -0
  589. package/src/helpers/program-bindings.ts +46 -0
  590. package/src/index.ts +144 -0
  591. package/src/{init.js → init.ts} +11 -25
  592. package/src/types/accessor.d.ts +29 -0
  593. package/src/{types.d.ts → types.ts} +1 -1
  594. package/src/webgl-utils/{attribute-utils.js → attribute-utils.ts} +1 -2
  595. package/src/webgl-utils/{constants-to-keys.js → constants-to-keys.ts} +1 -1
  596. package/src/webgl-utils/{format-utils.js → format-utils.ts} +1 -1
  597. package/src/webgl-utils/{get-error.js → get-error.ts} +0 -0
  598. package/src/webgl-utils/index.ts +12 -0
  599. package/src/webgl-utils/parse-shader-compiler-log.ts +48 -0
  600. package/src/webgl-utils/{request-animation-frame.js → request-animation-frame.ts} +3 -2
  601. package/src/webgl-utils/{texture-utils.js → texture-utils.ts} +14 -10
  602. package/src/webgl-utils/typed-array-utils.ts +137 -0
  603. package/dist/dist.js +0 -13555
  604. package/dist/dist.min.js +0 -1
  605. package/dist/es5/classes/buffer.d.ts +0 -84
  606. package/dist/es5/classes/buffer.js.map +0 -1
  607. package/dist/es5/classes/clear.d.ts +0 -11
  608. package/dist/es5/classes/copy-and-blit.d.ts +0 -101
  609. package/dist/es5/classes/framebuffer.d.ts +0 -96
  610. package/dist/es5/classes/program-configuration.d.ts +0 -15
  611. package/dist/es5/classes/program.d.ts +0 -44
  612. package/dist/es5/classes/query.d.ts +0 -21
  613. package/dist/es5/classes/renderbuffer.d.ts +0 -34
  614. package/dist/es5/classes/resource.d.ts +0 -47
  615. package/dist/es5/classes/resource.js.map +0 -1
  616. package/dist/es5/classes/shader.d.ts +0 -29
  617. package/dist/es5/classes/texture-2d.d.ts +0 -11
  618. package/dist/es5/classes/texture-3d.d.ts +0 -29
  619. package/dist/es5/classes/texture-cube.d.ts +0 -23
  620. package/dist/es5/classes/texture.d.ts +0 -80
  621. package/dist/es5/classes/transform-feedback.d.ts +0 -16
  622. package/dist/es5/classes/uniform-buffer-layout.d.ts +0 -18
  623. package/dist/es5/classes/uniforms.d.ts +0 -63
  624. package/dist/es5/classes/vertex-array-object.d.ts +0 -25
  625. package/dist/es5/classes/vertex-array.d.ts +0 -37
  626. package/dist/es5/debug/debug-program-configuration.d.ts +0 -1
  627. package/dist/es5/debug/debug-uniforms.d.ts +0 -11
  628. package/dist/es5/debug/debug-vertex-array.d.ts +0 -1
  629. package/dist/es5/features/check-glsl-extension.js +0 -41
  630. package/dist/es5/features/check-glsl-extension.js.map +0 -1
  631. package/dist/es5/features/check-old-ie.js.map +0 -1
  632. package/dist/es5/features/features.js +0 -99
  633. package/dist/es5/features/features.js.map +0 -1
  634. package/dist/es5/features/index.js +0 -64
  635. package/dist/es5/features/index.js.map +0 -1
  636. package/dist/es5/features/limits.js +0 -64
  637. package/dist/es5/features/limits.js.map +0 -1
  638. package/dist/es5/features/webgl-features-table.js +0 -64
  639. package/dist/es5/features/webgl-features-table.js.map +0 -1
  640. package/dist/es5/features/webgl-limits-table.js +0 -132
  641. package/dist/es5/features/webgl-limits-table.js.map +0 -1
  642. package/dist/es5/glsl-utils/format-glsl-error.d.ts +0 -16
  643. package/dist/es5/glsl-utils/format-glsl-error.js +0 -108
  644. package/dist/es5/glsl-utils/format-glsl-error.js.map +0 -1
  645. package/dist/es5/glsl-utils/get-shader-name.js +0 -14
  646. package/dist/es5/glsl-utils/get-shader-name.js.map +0 -1
  647. package/dist/es5/glsl-utils/get-shader-type-name.js +0 -22
  648. package/dist/es5/glsl-utils/get-shader-type-name.js.map +0 -1
  649. package/dist/es5/glsl-utils/get-shader-version.js +0 -22
  650. package/dist/es5/glsl-utils/get-shader-version.js.map +0 -1
  651. package/dist/es5/glsl-utils/index.js +0 -48
  652. package/dist/es5/glsl-utils/index.js.map +0 -1
  653. package/dist/es5/index.d.ts +0 -71
  654. package/dist/es5/init.d.ts +0 -12
  655. package/dist/es5/types.d.ts +0 -8
  656. package/dist/es5/utils/array-utils-flat.js +0 -51
  657. package/dist/es5/utils/array-utils-flat.js.map +0 -1
  658. package/dist/es5/utils/assert.d.ts +0 -1
  659. package/dist/es5/utils/assert.js +0 -13
  660. package/dist/es5/utils/assert.js.map +0 -1
  661. package/dist/es5/utils/check-props.js +0 -51
  662. package/dist/es5/utils/check-props.js.map +0 -1
  663. package/dist/es5/utils/format-value.js +0 -57
  664. package/dist/es5/utils/format-value.js.map +0 -1
  665. package/dist/es5/utils/is-old-ie.d.ts +0 -1
  666. package/dist/es5/utils/is-old-ie.js +0 -14
  667. package/dist/es5/utils/is-old-ie.js.map +0 -1
  668. package/dist/es5/utils/load-file.js +0 -50
  669. package/dist/es5/utils/load-file.js.map +0 -1
  670. package/dist/es5/utils/stub-methods.js +0 -25
  671. package/dist/es5/utils/stub-methods.js.map +0 -1
  672. package/dist/es5/utils/utils.d.ts +0 -13
  673. package/dist/es5/utils/utils.js +0 -36
  674. package/dist/es5/utils/utils.js.map +0 -1
  675. package/dist/es5/webgl-utils/request-animation-frame.d.ts +0 -3
  676. package/dist/es5/webgl-utils/texture-utils.d.ts +0 -11
  677. package/dist/es5/webgl-utils/typed-array-utils.d.ts +0 -36
  678. package/dist/esm/classes/buffer.d.ts +0 -84
  679. package/dist/esm/classes/buffer.js.map +0 -1
  680. package/dist/esm/classes/clear.d.ts +0 -11
  681. package/dist/esm/classes/copy-and-blit.d.ts +0 -101
  682. package/dist/esm/classes/framebuffer.d.ts +0 -96
  683. package/dist/esm/classes/program-configuration.d.ts +0 -15
  684. package/dist/esm/classes/program.d.ts +0 -44
  685. package/dist/esm/classes/query.d.ts +0 -21
  686. package/dist/esm/classes/renderbuffer.d.ts +0 -34
  687. package/dist/esm/classes/resource.d.ts +0 -47
  688. package/dist/esm/classes/resource.js.map +0 -1
  689. package/dist/esm/classes/shader.d.ts +0 -29
  690. package/dist/esm/classes/texture-2d.d.ts +0 -11
  691. package/dist/esm/classes/texture-3d.d.ts +0 -29
  692. package/dist/esm/classes/texture-cube.d.ts +0 -23
  693. package/dist/esm/classes/texture.d.ts +0 -80
  694. package/dist/esm/classes/transform-feedback.d.ts +0 -16
  695. package/dist/esm/classes/uniform-buffer-layout.d.ts +0 -18
  696. package/dist/esm/classes/uniforms.d.ts +0 -63
  697. package/dist/esm/classes/vertex-array-object.d.ts +0 -25
  698. package/dist/esm/classes/vertex-array.d.ts +0 -37
  699. package/dist/esm/debug/debug-program-configuration.d.ts +0 -1
  700. package/dist/esm/debug/debug-uniforms.d.ts +0 -11
  701. package/dist/esm/debug/debug-vertex-array.d.ts +0 -1
  702. package/dist/esm/features/check-glsl-extension.js +0 -27
  703. package/dist/esm/features/check-glsl-extension.js.map +0 -1
  704. package/dist/esm/features/check-old-ie.js.map +0 -1
  705. package/dist/esm/features/features.js +0 -66
  706. package/dist/esm/features/features.js.map +0 -1
  707. package/dist/esm/features/index.js +0 -5
  708. package/dist/esm/features/index.js.map +0 -1
  709. package/dist/esm/features/limits.js +0 -52
  710. package/dist/esm/features/limits.js.map +0 -1
  711. package/dist/esm/features/webgl-features-table.js.map +0 -1
  712. package/dist/esm/features/webgl-limits-table.js +0 -160
  713. package/dist/esm/features/webgl-limits-table.js.map +0 -1
  714. package/dist/esm/glsl-utils/format-glsl-error.d.ts +0 -16
  715. package/dist/esm/glsl-utils/format-glsl-error.js +0 -93
  716. package/dist/esm/glsl-utils/format-glsl-error.js.map +0 -1
  717. package/dist/esm/glsl-utils/get-shader-name.js +0 -6
  718. package/dist/esm/glsl-utils/get-shader-name.js.map +0 -1
  719. package/dist/esm/glsl-utils/get-shader-type-name.js +0 -15
  720. package/dist/esm/glsl-utils/get-shader-type-name.js.map +0 -1
  721. package/dist/esm/glsl-utils/get-shader-version.js +0 -15
  722. package/dist/esm/glsl-utils/get-shader-version.js.map +0 -1
  723. package/dist/esm/glsl-utils/index.js +0 -5
  724. package/dist/esm/glsl-utils/index.js.map +0 -1
  725. package/dist/esm/index.d.ts +0 -71
  726. package/dist/esm/init.d.ts +0 -12
  727. package/dist/esm/types.d.ts +0 -8
  728. package/dist/esm/utils/array-utils-flat.js +0 -39
  729. package/dist/esm/utils/array-utils-flat.js.map +0 -1
  730. package/dist/esm/utils/assert.d.ts +0 -1
  731. package/dist/esm/utils/assert.js +0 -6
  732. package/dist/esm/utils/assert.js.map +0 -1
  733. package/dist/esm/utils/check-props.js +0 -38
  734. package/dist/esm/utils/check-props.js.map +0 -1
  735. package/dist/esm/utils/format-value.js +0 -50
  736. package/dist/esm/utils/format-value.js.map +0 -1
  737. package/dist/esm/utils/is-old-ie.d.ts +0 -1
  738. package/dist/esm/utils/is-old-ie.js +0 -5
  739. package/dist/esm/utils/is-old-ie.js.map +0 -1
  740. package/dist/esm/utils/load-file.js +0 -30
  741. package/dist/esm/utils/load-file.js.map +0 -1
  742. package/dist/esm/utils/stub-methods.js +0 -17
  743. package/dist/esm/utils/stub-methods.js.map +0 -1
  744. package/dist/esm/utils/utils.d.ts +0 -13
  745. package/dist/esm/utils/utils.js +0 -22
  746. package/dist/esm/utils/utils.js.map +0 -1
  747. package/dist/esm/webgl-utils/request-animation-frame.d.ts +0 -3
  748. package/dist/esm/webgl-utils/texture-utils.d.ts +0 -11
  749. package/dist/esm/webgl-utils/typed-array-utils.d.ts +0 -36
  750. package/src/bundle.js +0 -8
  751. package/src/classes/buffer.d.ts +0 -84
  752. package/src/classes/clear.d.ts +0 -11
  753. package/src/classes/copy-and-blit.d.ts +0 -101
  754. package/src/classes/framebuffer.d.ts +0 -96
  755. package/src/classes/program-configuration.d.ts +0 -15
  756. package/src/classes/program-configuration.js +0 -123
  757. package/src/classes/program.d.ts +0 -44
  758. package/src/classes/query.d.ts +0 -21
  759. package/src/classes/renderbuffer.d.ts +0 -34
  760. package/src/classes/renderbuffer.js +0 -105
  761. package/src/classes/resource.d.ts +0 -47
  762. package/src/classes/shader.d.ts +0 -29
  763. package/src/classes/shader.js +0 -147
  764. package/src/classes/texture-2d.d.ts +0 -11
  765. package/src/classes/texture-2d.js +0 -30
  766. package/src/classes/texture-3d.d.ts +0 -29
  767. package/src/classes/texture-cube.d.ts +0 -23
  768. package/src/classes/texture.d.ts +0 -80
  769. package/src/classes/transform-feedback.d.ts +0 -16
  770. package/src/classes/uniform-buffer-layout.d.ts +0 -18
  771. package/src/classes/uniforms.d.ts +0 -63
  772. package/src/classes/vertex-array-object.d.ts +0 -25
  773. package/src/classes/vertex-array.d.ts +0 -37
  774. package/src/debug/debug-program-configuration.d.ts +0 -1
  775. package/src/debug/debug-uniforms.d.ts +0 -11
  776. package/src/debug/debug-vertex-array.d.ts +0 -1
  777. package/src/features/check-glsl-extension.js +0 -34
  778. package/src/features/features.js +0 -79
  779. package/src/features/index.js +0 -5
  780. package/src/features/limits.js +0 -65
  781. package/src/features/webgl-limits-table.js +0 -51
  782. package/src/glsl-utils/format-glsl-error.d.ts +0 -16
  783. package/src/glsl-utils/format-glsl-error.js +0 -107
  784. package/src/glsl-utils/get-shader-name.js +0 -7
  785. package/src/glsl-utils/get-shader-type-name.js +0 -13
  786. package/src/glsl-utils/get-shader-version.js +0 -12
  787. package/src/glsl-utils/index.js +0 -8
  788. package/src/index.d.ts +0 -71
  789. package/src/index.js +0 -70
  790. package/src/init.d.ts +0 -12
  791. package/src/utils/array-utils-flat.js +0 -56
  792. package/src/utils/assert.d.ts +0 -1
  793. package/src/utils/assert.js +0 -7
  794. package/src/utils/check-props.js +0 -68
  795. package/src/utils/format-value.js +0 -37
  796. package/src/utils/is-old-ie.d.ts +0 -1
  797. package/src/utils/is-old-ie.js +0 -6
  798. package/src/utils/load-file.js +0 -39
  799. package/src/utils/stub-methods.js +0 -20
  800. package/src/utils/utils.d.ts +0 -13
  801. package/src/utils/utils.js +0 -36
  802. package/src/webgl-utils/request-animation-frame.d.ts +0 -3
  803. package/src/webgl-utils/texture-utils.d.ts +0 -11
  804. package/src/webgl-utils/typed-array-utils.d.ts +0 -36
@@ -5,11 +5,11 @@ 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 _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
11
 
12
- var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
12
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
13
13
 
14
14
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
15
15
 
@@ -19,116 +19,71 @@ var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime
19
19
 
20
20
  var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
21
21
 
22
- var _resource = _interopRequireDefault(require("./resource"));
22
+ var _api = require("@luma.gl/api");
23
23
 
24
- var _renderbufferFormats = _interopRequireDefault(require("./renderbuffer-formats"));
24
+ var _constants = _interopRequireDefault(require("@luma.gl/constants"));
25
25
 
26
- var _gltools = require("@luma.gl/gltools");
26
+ var _webglDevice = _interopRequireDefault(require("../adapter/webgl-device"));
27
27
 
28
- var _assert = require("../utils/assert");
28
+ var _webglResource = _interopRequireDefault(require("./webgl-resource"));
29
29
 
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); }; }
30
+ var _renderbufferFormats = require("./renderbuffer-formats");
31
31
 
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; } }
32
+ var _webglChecks = require("../context/context/webgl-checks");
33
33
 
34
- function isFormatSupported(gl, format, formats) {
35
- var info = formats[format];
36
-
37
- if (!info) {
38
- return false;
39
- }
34
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
40
35
 
41
- var value = (0, _gltools.isWebGL2)(gl) ? info.gl2 || info.gl1 : info.gl1;
36
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
42
37
 
43
- if (typeof value === 'string') {
44
- return gl.getExtension(value);
45
- }
38
+ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
46
39
 
47
- return value;
48
- }
40
+ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
49
41
 
50
- var Renderbuffer = function (_Resource) {
51
- (0, _inherits2.default)(Renderbuffer, _Resource);
42
+ var DEFAULT_RENDERBUFFER_PROPS = {
43
+ id: undefined,
44
+ handle: undefined,
45
+ userData: undefined,
46
+ format: 0,
47
+ width: 1,
48
+ height: 1,
49
+ samples: 0
50
+ };
52
51
 
53
- var _super = _createSuper(Renderbuffer);
52
+ var ImmutableRenderbuffer = function (_WebGLResource) {
53
+ (0, _inherits2.default)(ImmutableRenderbuffer, _WebGLResource);
54
54
 
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;
55
+ var _super = _createSuper(ImmutableRenderbuffer);
62
56
 
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
- }]);
72
-
73
- function Renderbuffer(gl) {
57
+ function ImmutableRenderbuffer(gl, props) {
74
58
  var _this;
75
59
 
76
- var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
77
- (0, _classCallCheck2.default)(this, Renderbuffer);
78
- _this = _super.call(this, gl, opts);
60
+ (0, _classCallCheck2.default)(this, ImmutableRenderbuffer);
61
+ _this = _super.call(this, _webglDevice.default.attach(gl), props, DEFAULT_RENDERBUFFER_PROPS);
79
62
 
80
- _this.initialize(opts);
63
+ _this._initialize(_this.props);
81
64
 
82
- Object.seal((0, _assertThisInitialized2.default)(_this));
83
65
  return _this;
84
66
  }
85
67
 
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');
97
-
98
- this._trackDeallocatedMemory();
99
-
100
- this.gl.bindRenderbuffer(36161, this.handle);
101
-
102
- if (samples !== 0 && (0, _gltools.isWebGL2)(this.gl)) {
103
- this.gl.renderbufferStorageMultisample(36161, samples, format, width, height);
68
+ (0, _createClass2.default)(ImmutableRenderbuffer, [{
69
+ key: "_initialize",
70
+ value: function _initialize(props) {
71
+ var format = props.format,
72
+ width = props.width,
73
+ height = props.height,
74
+ samples = props.samples;
75
+ (0, _api.assert)(format, 'Needs format');
76
+ this.trackDeallocatedMemory();
77
+ this.gl.bindRenderbuffer(_constants.default.RENDERBUFFER, this.handle);
78
+
79
+ if (samples !== 0 && (0, _webglChecks.isWebGL2)(this.gl)) {
80
+ this.gl.renderbufferStorageMultisample(_constants.default.RENDERBUFFER, samples, format, width, height);
104
81
  } else {
105
- this.gl.renderbufferStorage(36161, format, width, height);
106
- }
107
-
108
- this.format = format;
109
- this.width = width;
110
- this.height = height;
111
- this.samples = samples;
112
-
113
- this._trackAllocatedMemory(this.width * this.height * (this.samples || 1) * _renderbufferFormats.default[this.format].bpp);
114
-
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
- });
82
+ this.gl.renderbufferStorage(_constants.default.RENDERBUFFER, format, width, height);
130
83
  }
131
84
 
85
+ this.gl.bindRenderbuffer(_constants.default.RENDERBUFFER, null);
86
+ this.trackAllocatedMemory(width * height * (samples || 1) * (0, _renderbufferFormats.getRenderbufferFormatBytesPerPixel)(format));
132
87
  return this;
133
88
  }
134
89
  }, {
@@ -140,32 +95,106 @@ var Renderbuffer = function (_Resource) {
140
95
  key: "_deleteHandle",
141
96
  value: function _deleteHandle() {
142
97
  this.gl.deleteRenderbuffer(this.handle);
143
-
144
- this._trackDeallocatedMemory();
98
+ this.trackDeallocatedMemory();
145
99
  }
146
100
  }, {
147
101
  key: "_bindHandle",
148
102
  value: function _bindHandle(handle) {
149
- this.gl.bindRenderbuffer(36161, handle);
103
+ this.gl.bindRenderbuffer(_constants.default.RENDERBUFFER, handle);
104
+ }
105
+ }], [{
106
+ key: "isSupported",
107
+ value: function isSupported(gl, options) {
108
+ return !options.format || (0, _renderbufferFormats.isRenderbufferFormatSupported)(gl, options.format);
109
+ }
110
+ }]);
111
+ return ImmutableRenderbuffer;
112
+ }(_webglResource.default);
113
+
114
+ exports.ImmutableRenderbuffer = ImmutableRenderbuffer;
115
+
116
+ var Renderbuffer = function (_ImmutableRenderbuffe) {
117
+ (0, _inherits2.default)(Renderbuffer, _ImmutableRenderbuffe);
118
+
119
+ var _super2 = _createSuper(Renderbuffer);
120
+
121
+ function Renderbuffer(gl, props) {
122
+ (0, _classCallCheck2.default)(this, Renderbuffer);
123
+ return _super2.call(this, gl, props);
124
+ }
125
+
126
+ (0, _createClass2.default)(Renderbuffer, [{
127
+ key: "width",
128
+ get: function get() {
129
+ return this.props.width;
130
+ }
131
+ }, {
132
+ key: "height",
133
+ get: function get() {
134
+ return this.props.height;
135
+ }
136
+ }, {
137
+ key: "format",
138
+ get: function get() {
139
+ return this.props.format;
140
+ }
141
+ }, {
142
+ key: "samples",
143
+ get: function get() {
144
+ return this.props.samples;
145
+ }
146
+ }, {
147
+ key: "resize",
148
+ value: function resize(size) {
149
+ if (size.width !== this.width || size.height !== this.height) {
150
+ return this.initialize(_objectSpread(_objectSpread({}, size), {}, {
151
+ format: this.format,
152
+ samples: this.samples
153
+ }));
154
+ }
155
+
156
+ return this;
157
+ }
158
+ }, {
159
+ key: "initialize",
160
+ value: function initialize(props) {
161
+ Object.assign(this.props, props);
162
+
163
+ this._initialize(this.props);
164
+
165
+ return this;
150
166
  }
151
167
  }, {
152
168
  key: "_syncHandle",
153
169
  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);
170
+ this.gl.bindRenderbuffer(_constants.default.RENDERBUFFER, this.handle);
171
+ Object.assign(this.props, {
172
+ format: this.gl.getRenderbufferParameter(_constants.default.RENDERBUFFER, _constants.default.RENDERBUFFER_INTERNAL_FORMAT),
173
+ width: this.gl.getRenderbufferParameter(_constants.default.RENDERBUFFER, _constants.default.RENDERBUFFER_WIDTH),
174
+ height: this.gl.getRenderbufferParameter(_constants.default.RENDERBUFFER, _constants.default.RENDERBUFFER_HEIGHT),
175
+ samples: this.gl.getRenderbufferParameter(_constants.default.RENDERBUFFER, _constants.default.RENDERBUFFER_SAMPLES)
176
+ });
158
177
  }
159
178
  }, {
160
179
  key: "_getParameter",
161
180
  value: function _getParameter(pname) {
162
- this.gl.bindRenderbuffer(36161, this.handle);
163
- var value = this.gl.getRenderbufferParameter(36161, pname);
181
+ this.gl.bindRenderbuffer(_constants.default.RENDERBUFFER, this.handle);
182
+ var value = this.gl.getRenderbufferParameter(_constants.default.RENDERBUFFER, pname);
164
183
  return value;
165
184
  }
185
+ }], [{
186
+ key: "isSupported",
187
+ value: function isSupported(gl, options) {
188
+ return ImmutableRenderbuffer.isSupported(gl, options);
189
+ }
190
+ }, {
191
+ key: "getSamplesForFormat",
192
+ value: function getSamplesForFormat(gl, options) {
193
+ return gl.getInternalformatParameter(_constants.default.RENDERBUFFER, options.format, _constants.default.SAMPLES);
194
+ }
166
195
  }]);
167
196
  return Renderbuffer;
168
- }(_resource.default);
197
+ }(ImmutableRenderbuffer);
169
198
 
170
199
  exports.default = Renderbuffer;
171
200
  //# sourceMappingURL=renderbuffer.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/classes/renderbuffer.js"],"names":["isFormatSupported","gl","format","formats","info","value","gl2","gl1","getExtension","Renderbuffer","RENDERBUFFER_FORMATS","getInternalformatParameter","opts","initialize","Object","seal","width","height","samples","_trackDeallocatedMemory","bindRenderbuffer","handle","renderbufferStorageMultisample","renderbufferStorage","_trackAllocatedMemory","bpp","createRenderbuffer","deleteRenderbuffer","getParameter","pname","getRenderbufferParameter","Resource"],"mappings":"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","sourcesContent":["/* eslint-disable no-inline-comments */\nimport GL from '@luma.gl/constants';\nimport Resource from './resource';\nimport RENDERBUFFER_FORMATS from './renderbuffer-formats';\nimport {isWebGL2} from '@luma.gl/gltools';\nimport {assert} from '../utils/assert';\n\nfunction isFormatSupported(gl, format, formats) {\n const info = formats[format];\n if (!info) {\n return false;\n }\n const value = isWebGL2(gl) ? info.gl2 || info.gl1 : info.gl1;\n if (typeof value === 'string') {\n return gl.getExtension(value);\n }\n return value;\n}\n\nexport default class Renderbuffer extends Resource {\n static isSupported(gl, {format} = {format: null}) {\n return !format || isFormatSupported(gl, format, RENDERBUFFER_FORMATS);\n }\n\n static getSamplesForFormat(gl, {format}) {\n // Polyfilled to return [0] under WebGL1\n return gl.getInternalformatParameter(GL.RENDERBUFFER, format, GL.SAMPLES);\n }\n\n constructor(gl, opts = {}) {\n super(gl, opts);\n\n // @ts-ignore\n this.initialize(opts);\n\n Object.seal(this);\n }\n\n // Creates and initializes a renderbuffer object's data store\n initialize({format, width = 1, height = 1, samples = 0}) {\n assert(format, 'Needs format');\n\n this._trackDeallocatedMemory();\n\n this.gl.bindRenderbuffer(GL.RENDERBUFFER, this.handle);\n\n if (samples !== 0 && isWebGL2(this.gl)) {\n // @ts-ignore\n this.gl.renderbufferStorageMultisample(GL.RENDERBUFFER, samples, format, width, height);\n } else {\n this.gl.renderbufferStorage(GL.RENDERBUFFER, format, width, height);\n }\n\n // this.gl.bindRenderbuffer(GL.RENDERBUFFER, null);\n\n this.format = format;\n this.width = width;\n this.height = height;\n this.samples = samples;\n\n this._trackAllocatedMemory(\n this.width * this.height * (this.samples || 1) * RENDERBUFFER_FORMATS[this.format].bpp\n );\n\n return this;\n }\n\n resize({width, height}) {\n // Don't resize if width/height haven't changed\n if (width !== this.width || height !== this.height) {\n return this.initialize({width, height, format: this.format, samples: this.samples});\n }\n return this;\n }\n\n // PRIVATE METHODS\n _createHandle() {\n return this.gl.createRenderbuffer();\n }\n\n _deleteHandle() {\n this.gl.deleteRenderbuffer(this.handle);\n this._trackDeallocatedMemory();\n }\n\n _bindHandle(handle) {\n this.gl.bindRenderbuffer(GL.RENDERBUFFER, handle);\n }\n\n _syncHandle(handle) {\n this.format = this.getParameter(GL.RENDERBUFFER_INTERNAL_FORMAT);\n this.width = this.getParameter(GL.RENDERBUFFER_WIDTH);\n this.height = this.getParameter(GL.RENDERBUFFER_HEIGHT);\n this.samples = this.getParameter(GL.RENDERBUFFER_SAMPLES);\n }\n\n // @param {Boolean} opt.autobind=true - method call will bind/unbind object\n // @returns {GLenum|GLint} - depends on pname\n _getParameter(pname) {\n this.gl.bindRenderbuffer(GL.RENDERBUFFER, this.handle);\n const value = this.gl.getRenderbufferParameter(GL.RENDERBUFFER, pname);\n // this.gl.bindRenderbuffer(GL.RENDERBUFFER, null);\n return value;\n }\n}\n"],"file":"renderbuffer.js"}
1
+ {"version":3,"sources":["../../../src/classes/renderbuffer.ts"],"names":["DEFAULT_RENDERBUFFER_PROPS","id","undefined","handle","userData","format","width","height","samples","ImmutableRenderbuffer","gl","props","WebGLDevice","attach","_initialize","trackDeallocatedMemory","bindRenderbuffer","GL","RENDERBUFFER","renderbufferStorageMultisample","renderbufferStorage","trackAllocatedMemory","createRenderbuffer","deleteRenderbuffer","options","WebGLResource","Renderbuffer","size","initialize","Object","assign","getRenderbufferParameter","RENDERBUFFER_INTERNAL_FORMAT","RENDERBUFFER_WIDTH","RENDERBUFFER_HEIGHT","RENDERBUFFER_SAMPLES","pname","value","isSupported","getInternalformatParameter","SAMPLES"],"mappings":"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","sourcesContent":["/* eslint-disable no-inline-comments */\nimport {assert} from '@luma.gl/api';\nimport GL from '@luma.gl/constants';\nimport WebGLDevice from '../adapter/webgl-device';\nimport WebGLResource, {ResourceProps} from './webgl-resource';\nimport {isRenderbufferFormatSupported, getRenderbufferFormatBytesPerPixel} from './renderbuffer-formats';\nimport {isWebGL2} from '../context/context/webgl-checks';\n\nexport type RenderbufferProps = ResourceProps & {\n format: number;\n width?: number;\n height?: number;\n samples?: number;\n};\n\nconst DEFAULT_RENDERBUFFER_PROPS: Required<RenderbufferProps> = {\n id: undefined,\n handle: undefined,\n userData: undefined,\n format: 0,\n width: 1, \n height: 1, \n samples: 0\n};\n\n/**\n * Renderbuffers are GPU objects that contain images.\n * In contrast to Textures they are optimized for use as render targets, with Framebuffers.\n * while Textures may not be, and are the logical choice when\n * you do not need to sample (i.e. in a post-pass shader)\n * from the produced image. If you need to resample\n * (such as when reading depth back in a second shader pass),\n * use Textures instead.\n * Renderbuffer objects also natively accommodate Multisampling (MSAA).\n */\nexport class ImmutableRenderbuffer extends WebGLResource<RenderbufferProps> {\n static isSupported(gl: WebGLRenderingContext, options?: {format?: number}): boolean {\n return !options.format || isRenderbufferFormatSupported(gl, options.format);\n }\n\n constructor(gl: WebGLRenderingContext, props: RenderbufferProps) {\n super(WebGLDevice.attach(gl), props, DEFAULT_RENDERBUFFER_PROPS);\n this._initialize(this.props);\n }\n\n // PRIVATE METHODS\n\n /** Creates and initializes a renderbuffer object's data store */\n protected _initialize(props: Required<RenderbufferProps>) {\n const {format, width, height, samples} = props;\n assert(format, 'Needs format');\n\n this.trackDeallocatedMemory();\n\n this.gl.bindRenderbuffer(GL.RENDERBUFFER, this.handle);\n\n if (samples !== 0 && isWebGL2(this.gl)) {\n // @ts-expect-error\n this.gl.renderbufferStorageMultisample(GL.RENDERBUFFER, samples, format, width, height);\n } else {\n this.gl.renderbufferStorage(GL.RENDERBUFFER, format, width, height);\n }\n\n this.gl.bindRenderbuffer(GL.RENDERBUFFER, null);\n\n this.trackAllocatedMemory(\n width * height * (samples || 1) * getRenderbufferFormatBytesPerPixel(format)\n );\n\n return this;\n }\n\n // RESOURECE IMPLEMENTATION\n\n _createHandle() {\n return this.gl.createRenderbuffer();\n }\n\n _deleteHandle(): void {\n this.gl.deleteRenderbuffer(this.handle);\n this.trackDeallocatedMemory();\n }\n\n _bindHandle(handle): void {\n this.gl.bindRenderbuffer(GL.RENDERBUFFER, handle);\n }\n}\n\n\n/**\n * Renderbuffers are GPU objects that contain images.\n * In contrast to Textures they are optimized for use as render targets, with Framebuffers.\n * while Textures may not be, and are the logical choice when\n * you do not need to sample (i.e. in a post-pass shader)\n * from the produced image. If you need to resample\n * (such as when reading depth back in a second shader pass),\n * use Textures instead.\n * Renderbuffer objects also natively accommodate Multisampling (MSAA).\n */\nexport default class Renderbuffer extends ImmutableRenderbuffer {\n get width(): number { return this.props.width; }\n get height(): number { return this.props.height; }\n get format(): number { return this.props.format; }\n get samples(): number { return this.props.samples; }\n\n static isSupported(gl: WebGLRenderingContext, options?: {format?: number}): boolean {\n return ImmutableRenderbuffer.isSupported(gl, options);\n }\n\n static getSamplesForFormat(gl: WebGL2RenderingContext, options: {format: number}): number{\n // Polyfilled to return [0] under WebGL1\n return gl.getInternalformatParameter(GL.RENDERBUFFER, options.format, GL.SAMPLES);\n }\n\n constructor(gl: WebGLRenderingContext, props?: RenderbufferProps) {\n super(gl, props);\n }\n\n resize(size: {width: number, height: number}): this {\n // Don't resize if width/height haven't changed\n if (size.width !== this.width || size.height !== this.height) {\n return this.initialize({...size, format: this.format, samples: this.samples});\n }\n return this;\n }\n\n /** Creates and initializes a renderbuffer object's data store */\n initialize(props: RenderbufferProps): this {\n Object.assign(this.props, props);\n this._initialize(this.props);\n return this;\n }\n\n // PRIVATE\n\n _syncHandle(handle) {\n this.gl.bindRenderbuffer(GL.RENDERBUFFER, this.handle);\n Object.assign(this.props, {\n format: this.gl.getRenderbufferParameter(GL.RENDERBUFFER, GL.RENDERBUFFER_INTERNAL_FORMAT),\n width: this.gl.getRenderbufferParameter(GL.RENDERBUFFER, GL.RENDERBUFFER_WIDTH),\n height: this.gl.getRenderbufferParameter(GL.RENDERBUFFER, GL.RENDERBUFFER_HEIGHT),\n samples: this.gl.getRenderbufferParameter(GL.RENDERBUFFER, GL.RENDERBUFFER_SAMPLES)\n });\n }\n\n // @param {Boolean} opt.autobind=true - method call will bind/unbind object\n // @returns {GLenum|GLint} - depends on pname\n _getParameter(pname) {\n this.gl.bindRenderbuffer(GL.RENDERBUFFER, this.handle);\n const value = this.gl.getRenderbufferParameter(GL.RENDERBUFFER, pname);\n // this.gl.bindRenderbuffer(GL.RENDERBUFFER, null);\n return value;\n }\n}\n"],"file":"renderbuffer.js"}
@@ -11,79 +11,77 @@ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/cl
11
11
 
12
12
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
13
13
 
14
+ var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
15
+
14
16
  var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
15
17
 
16
18
  var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
17
19
 
18
20
  var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
19
21
 
20
- var _gltools = require("@luma.gl/gltools");
22
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
21
23
 
22
- var _glslUtils = require("../glsl-utils");
24
+ var _api = require("@luma.gl/api");
23
25
 
24
- var _assert = require("../utils/assert");
26
+ var _constants = _interopRequireDefault(require("@luma.gl/constants"));
25
27
 
26
- var _utils = require("../utils/utils");
28
+ var _shadertools = require("@luma.gl/shadertools");
27
29
 
28
- var _resource = _interopRequireDefault(require("./resource"));
30
+ var _webglChecks = require("../context/context/webgl-checks");
29
31
 
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); }; }
32
+ var _webglShader = require("../adapter/webgl-shader");
31
33
 
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; } }
34
+ var _webglDevice = _interopRequireDefault(require("../adapter/webgl-device"));
33
35
 
34
- var ERR_SOURCE = 'Shader: GLSL source code must be a JavaScript string';
36
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
35
37
 
36
- var Shader = function (_Resource) {
37
- (0, _inherits2.default)(Shader, _Resource);
38
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
38
39
 
39
- var _super = _createSuper(Shader);
40
+ 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); }; }
40
41
 
41
- (0, _createClass2.default)(Shader, null, [{
42
- key: "getTypeName",
43
- value: function getTypeName(shaderType) {
44
- switch (shaderType) {
45
- case 35633:
46
- return 'vertex-shader';
42
+ 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; } }
47
43
 
48
- case 35632:
49
- return 'fragment-shader';
44
+ var ERR_SOURCE = 'Shader: GLSL source code must be a JavaScript string';
50
45
 
51
- default:
52
- (0, _assert.assert)(false);
53
- return 'unknown';
54
- }
55
- }
56
- }]);
46
+ var Shader = function (_WEBGLShader) {
47
+ (0, _inherits2.default)(Shader, _WEBGLShader);
48
+
49
+ var _super = _createSuper(Shader);
57
50
 
58
51
  function Shader(gl, props) {
59
52
  var _this;
60
53
 
61
54
  (0, _classCallCheck2.default)(this, Shader);
62
- (0, _gltools.assertWebGLContext)(gl);
63
- (0, _assert.assert)(typeof props.source === 'string', ERR_SOURCE);
64
- var id = (0, _glslUtils.getShaderName)(props.source, null) || props.id || (0, _utils.uid)("unnamed ".concat(Shader.getTypeName(props.shaderType)));
65
- _this = _super.call(this, gl, {
66
- id: id
67
- });
55
+ (0, _webglChecks.assertWebGLContext)(gl);
56
+ (0, _api.assert)(typeof props.source === 'string', ERR_SOURCE);
57
+ _this = _super.call(this, _webglDevice.default.attach(gl), _objectSpread(_objectSpread({}, props), {}, {
58
+ stage: props.shaderType === _constants.default.VERTEX_SHADER ? 'vertex' : 'fragment'
59
+ }));
60
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "shaderType", void 0);
61
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "source", void 0);
68
62
  _this.shaderType = props.shaderType;
69
63
  _this.source = props.source;
64
+ var shaderName = (0, _shadertools.getShaderInfo)(props.source).name;
70
65
 
71
- _this.initialize(props);
66
+ if (shaderName) {
67
+ _this.id = (0, _api.uid)(shaderName);
68
+ }
72
69
 
73
70
  return _this;
74
71
  }
75
72
 
76
73
  (0, _createClass2.default)(Shader, [{
77
74
  key: "initialize",
78
- value: function initialize(_ref) {
79
- var source = _ref.source;
80
- var shaderName = (0, _glslUtils.getShaderName)(source, null);
75
+ value: function initialize(props) {
76
+ this._compile(props.source);
77
+
78
+ var shaderName = (0, _shadertools.getShaderInfo)(props.source).name;
81
79
 
82
80
  if (shaderName) {
83
- this.id = (0, _utils.uid)(shaderName);
81
+ this.id = (0, _api.uid)(shaderName);
84
82
  }
85
83
 
86
- this._compile(source);
84
+ return this;
87
85
  }
88
86
  }, {
89
87
  key: "getParameter",
@@ -98,7 +96,7 @@ var Shader = function (_Resource) {
98
96
  }, {
99
97
  key: "getName",
100
98
  value: function getName() {
101
- return (0, _glslUtils.getShaderName)(this.source) || 'unnamed-shader';
99
+ return (0, _shadertools.getShaderInfo)(this.source).name || 'unnamed-shader';
102
100
  }
103
101
  }, {
104
102
  key: "getSource",
@@ -111,51 +109,32 @@ var Shader = function (_Resource) {
111
109
  var extension = this.gl.getExtension('WEBGL_debug_shaders');
112
110
  return extension ? extension.getTranslatedShaderSource(this.handle) : 'No translated source available. WEBGL_debug_shaders not implemented';
113
111
  }
114
- }, {
115
- key: "_compile",
116
- value: function _compile() {
117
- var source = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.source;
118
-
119
- if (!source.startsWith('#version ')) {
120
- source = "#version 100\n".concat(source);
121
- }
122
-
123
- this.source = source;
124
- this.gl.shaderSource(this.handle, this.source);
125
- this.gl.compileShader(this.handle);
126
- var compileStatus = this.getParameter(35713);
127
-
128
- if (!compileStatus) {
129
- var infoLog = this.gl.getShaderInfoLog(this.handle);
130
-
131
- var _parseGLSLCompilerErr = (0, _glslUtils.parseGLSLCompilerError)(infoLog, this.source, this.shaderType, this.id),
132
- shaderName = _parseGLSLCompilerErr.shaderName,
133
- errors = _parseGLSLCompilerErr.errors,
134
- warnings = _parseGLSLCompilerErr.warnings;
135
-
136
- _gltools.log.error("GLSL compilation errors in ".concat(shaderName, "\n").concat(errors))();
137
-
138
- _gltools.log.warn("GLSL compilation warnings in ".concat(shaderName, "\n").concat(warnings))();
139
-
140
- throw new Error("GLSL compilation errors in ".concat(shaderName));
141
- }
142
- }
143
- }, {
144
- key: "_deleteHandle",
145
- value: function _deleteHandle() {
146
- this.gl.deleteShader(this.handle);
147
- }
148
112
  }, {
149
113
  key: "_getOptsFromHandle",
150
114
  value: function _getOptsFromHandle() {
151
115
  return {
152
- type: this.getParameter(35663),
116
+ type: this.getParameter(_constants.default.SHADER_TYPE),
153
117
  source: this.getSource()
154
118
  };
155
119
  }
120
+ }], [{
121
+ key: "getTypeName",
122
+ value: function getTypeName(shaderType) {
123
+ switch (shaderType) {
124
+ case _constants.default.VERTEX_SHADER:
125
+ return 'vertex-shader';
126
+
127
+ case _constants.default.FRAGMENT_SHADER:
128
+ return 'fragment-shader';
129
+
130
+ default:
131
+ (0, _api.assert)(false);
132
+ return 'unknown';
133
+ }
134
+ }
156
135
  }]);
157
136
  return Shader;
158
- }(_resource.default);
137
+ }(_webglShader.WEBGLShader);
159
138
 
160
139
  exports.Shader = Shader;
161
140
 
@@ -166,22 +145,13 @@ var VertexShader = function (_Shader) {
166
145
 
167
146
  function VertexShader(gl, props) {
168
147
  (0, _classCallCheck2.default)(this, VertexShader);
169
-
170
- if (typeof props === 'string') {
171
- props = {
172
- source: props
173
- };
174
- }
175
-
176
- return _super2.call(this, gl, Object.assign({}, props, {
177
- shaderType: 35633
178
- }));
148
+ return _super2.call(this, gl, getShaderProps(props, _constants.default.VERTEX_SHADER));
179
149
  }
180
150
 
181
151
  (0, _createClass2.default)(VertexShader, [{
182
152
  key: "_createHandle",
183
153
  value: function _createHandle() {
184
- return this.gl.createShader(35633);
154
+ return this.gl.createShader(_constants.default.VERTEX_SHADER);
185
155
  }
186
156
  }]);
187
157
  return VertexShader;
@@ -196,26 +166,30 @@ var FragmentShader = function (_Shader2) {
196
166
 
197
167
  function FragmentShader(gl, props) {
198
168
  (0, _classCallCheck2.default)(this, FragmentShader);
199
-
200
- if (typeof props === 'string') {
201
- props = {
202
- source: props
203
- };
204
- }
205
-
206
- return _super3.call(this, gl, Object.assign({}, props, {
207
- shaderType: 35632
208
- }));
169
+ return _super3.call(this, gl, getShaderProps(props, _constants.default.FRAGMENT_SHADER));
209
170
  }
210
171
 
211
172
  (0, _createClass2.default)(FragmentShader, [{
212
173
  key: "_createHandle",
213
174
  value: function _createHandle() {
214
- return this.gl.createShader(35632);
175
+ return this.gl.createShader(_constants.default.FRAGMENT_SHADER);
215
176
  }
216
177
  }]);
217
178
  return FragmentShader;
218
179
  }(Shader);
219
180
 
220
181
  exports.FragmentShader = FragmentShader;
182
+
183
+ function getShaderProps(props, shaderType) {
184
+ if (typeof props === 'string') {
185
+ return {
186
+ source: props,
187
+ shaderType: shaderType
188
+ };
189
+ }
190
+
191
+ return _objectSpread(_objectSpread({}, props), {}, {
192
+ shaderType: shaderType
193
+ });
194
+ }
221
195
  //# sourceMappingURL=shader.js.map