@luma.gl/webgl 9.0.0-alpha.9 → 9.0.0-beta.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (525) hide show
  1. package/LICENSE +3 -1
  2. package/dist/adapter/converters/device-parameters.d.ts +12 -3
  3. package/dist/adapter/converters/device-parameters.d.ts.map +1 -1
  4. package/dist/adapter/converters/device-parameters.js +89 -74
  5. package/dist/adapter/converters/device-parameters.js.map +1 -1
  6. package/dist/adapter/converters/sampler-parameters.d.ts +4 -10
  7. package/dist/adapter/converters/sampler-parameters.d.ts.map +1 -1
  8. package/dist/adapter/converters/sampler-parameters.js +29 -180
  9. package/dist/adapter/converters/sampler-parameters.js.map +1 -1
  10. package/dist/adapter/converters/shader-formats.d.ts +9 -0
  11. package/dist/adapter/converters/shader-formats.d.ts.map +1 -0
  12. package/dist/adapter/converters/shader-formats.js +52 -0
  13. package/dist/adapter/converters/shader-formats.js.map +1 -0
  14. package/dist/adapter/converters/texture-formats.d.ts +32 -44
  15. package/dist/adapter/converters/texture-formats.d.ts.map +1 -1
  16. package/dist/adapter/converters/texture-formats.js +306 -343
  17. package/dist/adapter/converters/texture-formats.js.map +1 -1
  18. package/dist/adapter/converters/vertex-formats.d.ts +9 -3
  19. package/dist/adapter/converters/vertex-formats.d.ts.map +1 -1
  20. package/dist/adapter/converters/vertex-formats.js +53 -22
  21. package/dist/adapter/converters/vertex-formats.js.map +1 -1
  22. package/dist/adapter/device-helpers/device-features.d.ts +1 -1
  23. package/dist/adapter/device-helpers/device-features.d.ts.map +1 -1
  24. package/dist/adapter/device-helpers/device-features.js +9 -25
  25. package/dist/adapter/device-helpers/device-features.js.map +1 -1
  26. package/dist/adapter/device-helpers/device-limits.d.ts +3 -3
  27. package/dist/adapter/device-helpers/device-limits.d.ts.map +1 -1
  28. package/dist/adapter/device-helpers/device-limits.js +54 -58
  29. package/dist/adapter/device-helpers/device-limits.js.map +1 -1
  30. package/dist/adapter/device-helpers/get-device-info.d.ts +1 -1
  31. package/dist/adapter/device-helpers/get-device-info.d.ts.map +1 -1
  32. package/dist/adapter/device-helpers/get-device-info.js +49 -22
  33. package/dist/adapter/device-helpers/get-device-info.js.map +1 -1
  34. package/dist/adapter/device-helpers/is-old-ie.d.ts.map +1 -1
  35. package/dist/adapter/device-helpers/is-old-ie.js +2 -1
  36. package/dist/adapter/device-helpers/is-old-ie.js.map +1 -1
  37. package/dist/adapter/helpers/decode-webgl-types.d.ts +26 -0
  38. package/dist/adapter/helpers/decode-webgl-types.d.ts.map +1 -0
  39. package/dist/adapter/helpers/decode-webgl-types.js +89 -0
  40. package/dist/adapter/helpers/decode-webgl-types.js.map +1 -0
  41. package/dist/adapter/helpers/get-shader-layout.d.ts +1 -48
  42. package/dist/adapter/helpers/get-shader-layout.d.ts.map +1 -1
  43. package/dist/adapter/helpers/get-shader-layout.js +58 -138
  44. package/dist/adapter/helpers/get-shader-layout.js.map +1 -1
  45. package/dist/adapter/helpers/parse-shader-compiler-log.d.ts +1 -1
  46. package/dist/adapter/helpers/parse-shader-compiler-log.d.ts.map +1 -1
  47. package/dist/adapter/helpers/parse-shader-compiler-log.js +16 -11
  48. package/dist/adapter/helpers/parse-shader-compiler-log.js.map +1 -1
  49. package/dist/adapter/helpers/set-uniform.d.ts +3 -2
  50. package/dist/adapter/helpers/set-uniform.d.ts.map +1 -1
  51. package/dist/adapter/helpers/set-uniform.js +51 -82
  52. package/dist/adapter/helpers/set-uniform.js.map +1 -1
  53. package/dist/adapter/helpers/webgl-topology-utils.d.ts +16 -0
  54. package/dist/adapter/helpers/webgl-topology-utils.d.ts.map +1 -0
  55. package/dist/adapter/helpers/webgl-topology-utils.js +103 -0
  56. package/dist/adapter/helpers/webgl-topology-utils.js.map +1 -0
  57. package/dist/adapter/objects/constants-to-keys.d.ts +1 -3
  58. package/dist/adapter/objects/constants-to-keys.d.ts.map +1 -1
  59. package/dist/adapter/objects/constants-to-keys.js +2 -29
  60. package/dist/adapter/objects/constants-to-keys.js.map +1 -1
  61. package/dist/adapter/objects/webgl-renderbuffer.d.ts +15 -12
  62. package/dist/adapter/objects/webgl-renderbuffer.d.ts.map +1 -1
  63. package/dist/adapter/objects/webgl-renderbuffer.js +36 -44
  64. package/dist/adapter/objects/webgl-renderbuffer.js.map +1 -1
  65. package/dist/adapter/objects/webgl-resource.d.ts +6 -9
  66. package/dist/adapter/objects/webgl-resource.d.ts.map +1 -1
  67. package/dist/adapter/objects/webgl-resource.js +26 -83
  68. package/dist/adapter/objects/webgl-resource.js.map +1 -1
  69. package/dist/adapter/resources/webgl-buffer.d.ts +19 -14
  70. package/dist/adapter/resources/webgl-buffer.d.ts.map +1 -1
  71. package/dist/adapter/resources/webgl-buffer.js +67 -101
  72. package/dist/adapter/resources/webgl-buffer.js.map +1 -1
  73. package/dist/adapter/resources/webgl-command-buffer.d.ts +15 -9
  74. package/dist/adapter/resources/webgl-command-buffer.d.ts.map +1 -1
  75. package/dist/adapter/resources/webgl-command-buffer.js +175 -48
  76. package/dist/adapter/resources/webgl-command-buffer.js.map +1 -1
  77. package/dist/adapter/resources/webgl-command-encoder.d.ts +7 -6
  78. package/dist/adapter/resources/webgl-command-encoder.d.ts.map +1 -1
  79. package/dist/adapter/resources/webgl-command-encoder.js +10 -20
  80. package/dist/adapter/resources/webgl-command-encoder.js.map +1 -1
  81. package/dist/adapter/resources/webgl-external-texture.js.map +1 -1
  82. package/dist/adapter/resources/webgl-framebuffer.d.ts +21 -25
  83. package/dist/adapter/resources/webgl-framebuffer.d.ts.map +1 -1
  84. package/dist/adapter/resources/webgl-framebuffer.js +63 -175
  85. package/dist/adapter/resources/webgl-framebuffer.js.map +1 -1
  86. package/dist/adapter/resources/webgl-render-pass.d.ts +19 -4
  87. package/dist/adapter/resources/webgl-render-pass.d.ts.map +1 -1
  88. package/dist/adapter/resources/webgl-render-pass.js +98 -12
  89. package/dist/adapter/resources/webgl-render-pass.js.map +1 -1
  90. package/dist/adapter/resources/webgl-render-pipeline.d.ts +34 -20
  91. package/dist/adapter/resources/webgl-render-pipeline.d.ts.map +1 -1
  92. package/dist/adapter/resources/webgl-render-pipeline.js +110 -293
  93. package/dist/adapter/resources/webgl-render-pipeline.js.map +1 -1
  94. package/dist/adapter/resources/webgl-sampler.d.ts +5 -4
  95. package/dist/adapter/resources/webgl-sampler.d.ts.map +1 -1
  96. package/dist/adapter/resources/webgl-sampler.js +11 -21
  97. package/dist/adapter/resources/webgl-sampler.js.map +1 -1
  98. package/dist/adapter/resources/webgl-shader.d.ts +5 -5
  99. package/dist/adapter/resources/webgl-shader.d.ts.map +1 -1
  100. package/dist/adapter/resources/webgl-shader.js +18 -44
  101. package/dist/adapter/resources/webgl-shader.js.map +1 -1
  102. package/dist/adapter/resources/webgl-texture.d.ts +51 -31
  103. package/dist/adapter/resources/webgl-texture.d.ts.map +1 -1
  104. package/dist/adapter/resources/webgl-texture.js +123 -244
  105. package/dist/adapter/resources/webgl-texture.js.map +1 -1
  106. package/dist/adapter/resources/webgl-transform-feedback.d.ts +47 -0
  107. package/dist/adapter/resources/webgl-transform-feedback.d.ts.map +1 -0
  108. package/dist/adapter/resources/webgl-transform-feedback.js +164 -0
  109. package/dist/adapter/resources/webgl-transform-feedback.js.map +1 -0
  110. package/dist/adapter/resources/webgl-vertex-array.d.ts +67 -0
  111. package/dist/adapter/resources/webgl-vertex-array.d.ts.map +1 -0
  112. package/dist/adapter/resources/webgl-vertex-array.js +167 -0
  113. package/dist/adapter/resources/webgl-vertex-array.js.map +1 -0
  114. package/dist/adapter/webgl-canvas-context.d.ts +6 -7
  115. package/dist/adapter/webgl-canvas-context.d.ts.map +1 -1
  116. package/dist/adapter/webgl-canvas-context.js +12 -23
  117. package/dist/adapter/webgl-canvas-context.js.map +1 -1
  118. package/dist/adapter/webgl-device.d.ts +100 -41
  119. package/dist/adapter/webgl-device.d.ts.map +1 -1
  120. package/dist/adapter/webgl-device.js +217 -158
  121. package/dist/adapter/webgl-device.js.map +1 -1
  122. package/dist/classic/accessor.d.ts +3 -3
  123. package/dist/classic/accessor.d.ts.map +1 -1
  124. package/dist/classic/accessor.js +26 -52
  125. package/dist/classic/accessor.js.map +1 -1
  126. package/dist/classic/clear.d.ts +22 -0
  127. package/dist/classic/clear.d.ts.map +1 -0
  128. package/dist/classic/clear.js +88 -0
  129. package/dist/classic/clear.js.map +1 -0
  130. package/dist/classic/copy-and-blit.d.ts +62 -0
  131. package/dist/classic/copy-and-blit.d.ts.map +1 -0
  132. package/dist/classic/copy-and-blit.js +192 -0
  133. package/dist/classic/copy-and-blit.js.map +1 -0
  134. package/dist/classic/format-utils.d.ts +3 -0
  135. package/dist/classic/format-utils.d.ts.map +1 -0
  136. package/dist/classic/format-utils.js +37 -0
  137. package/dist/classic/format-utils.js.map +1 -0
  138. package/dist/classic/typed-array-utils.d.ts +17 -17
  139. package/dist/classic/typed-array-utils.d.ts.map +1 -1
  140. package/dist/classic/typed-array-utils.js +18 -39
  141. package/dist/classic/typed-array-utils.js.map +1 -1
  142. package/dist/context/context/create-browser-context.d.ts +17 -18
  143. package/dist/context/context/create-browser-context.d.ts.map +1 -1
  144. package/dist/context/context/create-browser-context.js +11 -19
  145. package/dist/context/context/create-browser-context.js.map +1 -1
  146. package/dist/context/context/create-headless-context.d.ts +1 -1
  147. package/dist/context/context/create-headless-context.d.ts.map +1 -1
  148. package/dist/context/context/create-headless-context.js +6 -7
  149. package/dist/context/context/create-headless-context.js.map +1 -1
  150. package/dist/context/context/webgl-checks.d.ts.map +1 -1
  151. package/dist/context/context/webgl-checks.js +1 -4
  152. package/dist/context/context/webgl-checks.js.map +1 -1
  153. package/dist/context/debug/spector.d.ts +1 -2
  154. package/dist/context/debug/spector.d.ts.map +1 -1
  155. package/dist/context/debug/spector.js +7 -19
  156. package/dist/context/debug/spector.js.map +1 -1
  157. package/dist/context/debug/webgl-developer-tools.d.ts +1 -1
  158. package/dist/context/debug/webgl-developer-tools.d.ts.map +1 -1
  159. package/dist/context/debug/webgl-developer-tools.js +18 -41
  160. package/dist/context/debug/webgl-developer-tools.js.map +1 -1
  161. package/dist/context/parameters/unified-parameter-api.d.ts +5 -5
  162. package/dist/context/parameters/unified-parameter-api.d.ts.map +1 -1
  163. package/dist/context/parameters/unified-parameter-api.js +9 -17
  164. package/dist/context/parameters/unified-parameter-api.js.map +1 -1
  165. package/dist/context/parameters/webgl-parameter-tables.d.ts +105 -106
  166. package/dist/context/parameters/webgl-parameter-tables.d.ts.map +1 -1
  167. package/dist/context/parameters/webgl-parameter-tables.js +267 -286
  168. package/dist/context/parameters/webgl-parameter-tables.js.map +1 -1
  169. package/dist/context/polyfill/context-data.d.ts +13 -0
  170. package/dist/context/polyfill/context-data.d.ts.map +1 -0
  171. package/dist/context/polyfill/context-data.js +12 -0
  172. package/dist/context/polyfill/context-data.js.map +1 -0
  173. package/dist/context/polyfill/get-parameter-polyfill.d.ts +1 -1
  174. package/dist/context/polyfill/get-parameter-polyfill.d.ts.map +1 -1
  175. package/dist/context/polyfill/get-parameter-polyfill.js +37 -43
  176. package/dist/context/polyfill/get-parameter-polyfill.js.map +1 -1
  177. package/dist/context/polyfill/polyfill-context.d.ts.map +1 -1
  178. package/dist/context/polyfill/polyfill-context.js +27 -31
  179. package/dist/context/polyfill/polyfill-context.js.map +1 -1
  180. package/dist/context/polyfill/polyfill-table.d.ts +7 -7
  181. package/dist/context/polyfill/polyfill-table.d.ts.map +1 -1
  182. package/dist/context/polyfill/polyfill-table.js +17 -40
  183. package/dist/context/polyfill/polyfill-table.js.map +1 -1
  184. package/dist/context/polyfill/polyfill-vertex-array-object.d.ts.map +1 -1
  185. package/dist/context/polyfill/polyfill-vertex-array-object.js +17 -87
  186. package/dist/context/polyfill/polyfill-vertex-array-object.js.map +1 -1
  187. package/dist/context/state-tracker/deep-array-equal.d.ts.map +1 -1
  188. package/dist/context/state-tracker/deep-array-equal.js +0 -4
  189. package/dist/context/state-tracker/deep-array-equal.js.map +1 -1
  190. package/dist/context/state-tracker/track-context-state.d.ts.map +1 -1
  191. package/dist/context/state-tracker/track-context-state.js +25 -61
  192. package/dist/context/state-tracker/track-context-state.js.map +1 -1
  193. package/dist/context/state-tracker/with-parameters.d.ts +2 -1
  194. package/dist/context/state-tracker/with-parameters.d.ts.map +1 -1
  195. package/dist/context/state-tracker/with-parameters.js +8 -10
  196. package/dist/context/state-tracker/with-parameters.js.map +1 -1
  197. package/dist/dist.dev.js +9296 -0
  198. package/dist/index.cjs +6469 -0
  199. package/dist/index.d.ts +20 -24
  200. package/dist/index.d.ts.map +1 -1
  201. package/dist/index.js +25 -27
  202. package/dist/index.js.map +1 -1
  203. package/dist/types.d.ts +3 -1
  204. package/dist/types.d.ts.map +1 -1
  205. package/dist/types.js.map +1 -1
  206. package/dist.min.js +52 -0
  207. package/package.json +21 -9
  208. package/src/adapter/converters/device-parameters.ts +120 -43
  209. package/src/adapter/converters/sampler-parameters.ts +54 -126
  210. package/src/adapter/converters/shader-formats.ts +44 -0
  211. package/src/adapter/converters/texture-formats.ts +265 -192
  212. package/src/adapter/converters/vertex-formats.ts +71 -10
  213. package/src/adapter/device-helpers/device-features.ts +5 -2
  214. package/src/adapter/device-helpers/device-limits.ts +4 -2
  215. package/src/adapter/device-helpers/get-device-info.ts +72 -18
  216. package/src/adapter/device-helpers/is-old-ie.ts +3 -0
  217. package/src/adapter/helpers/{uniforms.ts → decode-webgl-types.ts} +31 -24
  218. package/src/adapter/helpers/get-shader-layout.ts +87 -131
  219. package/src/adapter/helpers/parse-shader-compiler-log.ts +24 -8
  220. package/src/adapter/helpers/set-uniform.ts +39 -35
  221. package/src/adapter/helpers/webgl-topology-utils.ts +103 -0
  222. package/src/adapter/objects/constants-to-keys.ts +6 -25
  223. package/src/adapter/objects/webgl-renderbuffer.ts +43 -37
  224. package/src/adapter/objects/webgl-resource.ts +16 -23
  225. package/src/adapter/resources/webgl-buffer.ts +101 -106
  226. package/src/adapter/resources/webgl-command-buffer.ts +327 -25
  227. package/src/adapter/resources/webgl-command-encoder.ts +20 -12
  228. package/src/adapter/resources/webgl-external-texture.ts +5 -2
  229. package/src/adapter/resources/webgl-framebuffer.ts +86 -133
  230. package/src/adapter/resources/webgl-render-pass.ts +165 -4
  231. package/src/adapter/resources/webgl-render-pipeline.ts +209 -205
  232. package/src/adapter/resources/webgl-sampler.ts +12 -8
  233. package/src/adapter/resources/webgl-shader.ts +32 -27
  234. package/src/adapter/resources/webgl-texture.ts +117 -91
  235. package/src/adapter/resources/webgl-transform-feedback.ts +202 -0
  236. package/src/adapter/resources/webgl-vertex-array.ts +283 -0
  237. package/src/adapter/webgl-canvas-context.ts +18 -13
  238. package/src/adapter/webgl-device.ts +343 -92
  239. package/src/classic/accessor.ts +8 -5
  240. package/src/classic/clear.ts +113 -0
  241. package/src/classic/copy-and-blit.ts +312 -0
  242. package/src/classic/format-utils.ts +46 -0
  243. package/src/classic/typed-array-utils.ts +19 -27
  244. package/src/context/context/create-browser-context.ts +53 -31
  245. package/src/context/context/create-headless-context.ts +5 -2
  246. package/src/context/context/webgl-checks.ts +3 -1
  247. package/src/context/debug/spector.ts +8 -5
  248. package/src/context/debug/webgl-developer-tools.ts +26 -17
  249. package/src/context/parameters/unified-parameter-api.ts +15 -9
  250. package/src/context/parameters/webgl-parameter-tables.ts +120 -98
  251. package/src/context/polyfill/context-data.ts +30 -0
  252. package/src/context/polyfill/get-parameter-polyfill.ts +11 -7
  253. package/src/context/polyfill/polyfill-context.ts +15 -8
  254. package/src/context/polyfill/polyfill-table.ts +20 -15
  255. package/src/context/polyfill/polyfill-vertex-array-object.ts +5 -0
  256. package/src/context/state-tracker/deep-array-equal.ts +2 -0
  257. package/src/context/state-tracker/track-context-state.ts +13 -10
  258. package/src/context/state-tracker/with-parameters.ts +13 -4
  259. package/src/index.ts +42 -42
  260. package/src/types.ts +5 -0
  261. package/dist/adapter/converters/renderbuffer-formats.d.ts +0 -16
  262. package/dist/adapter/converters/renderbuffer-formats.d.ts.map +0 -1
  263. package/dist/adapter/converters/renderbuffer-formats.js +0 -185
  264. package/dist/adapter/converters/renderbuffer-formats.js.map +0 -1
  265. package/dist/adapter/helpers/attribute-utils.d.ts +0 -11
  266. package/dist/adapter/helpers/attribute-utils.d.ts.map +0 -1
  267. package/dist/adapter/helpers/attribute-utils.js +0 -81
  268. package/dist/adapter/helpers/attribute-utils.js.map +0 -1
  269. package/dist/adapter/helpers/uniforms.d.ts +0 -26
  270. package/dist/adapter/helpers/uniforms.d.ts.map +0 -1
  271. package/dist/adapter/helpers/uniforms.js +0 -99
  272. package/dist/adapter/helpers/uniforms.js.map +0 -1
  273. package/dist/adapter/objects/webgl-vertex-array-object.d.ts +0 -27
  274. package/dist/adapter/objects/webgl-vertex-array-object.d.ts.map +0 -1
  275. package/dist/adapter/objects/webgl-vertex-array-object.js +0 -84
  276. package/dist/adapter/objects/webgl-vertex-array-object.js.map +0 -1
  277. package/dist/bundle.d.ts +0 -2
  278. package/dist/bundle.d.ts.map +0 -1
  279. package/dist/bundle.js +0 -5
  280. package/dist/bundle.js.map +0 -1
  281. package/dist/classic/buffer.d.ts +0 -95
  282. package/dist/classic/buffer.d.ts.map +0 -1
  283. package/dist/classic/buffer.js +0 -392
  284. package/dist/classic/buffer.js.map +0 -1
  285. package/dist/context/context/context-state.d.ts +0 -18
  286. package/dist/context/context/context-state.d.ts.map +0 -1
  287. package/dist/context/context/context-state.js +0 -26
  288. package/dist/context/context/context-state.js.map +0 -1
  289. package/dist/context/context/device-pixels.d.ts +0 -25
  290. package/dist/context/context/device-pixels.d.ts.map +0 -1
  291. package/dist/context/context/device-pixels.js +0 -103
  292. package/dist/context/context/device-pixels.js.map +0 -1
  293. package/dist/es5/adapter/converters/device-parameters.js +0 -185
  294. package/dist/es5/adapter/converters/device-parameters.js.map +0 -1
  295. package/dist/es5/adapter/converters/renderbuffer-formats.js +0 -163
  296. package/dist/es5/adapter/converters/renderbuffer-formats.js.map +0 -1
  297. package/dist/es5/adapter/converters/sampler-parameters.js +0 -245
  298. package/dist/es5/adapter/converters/sampler-parameters.js.map +0 -1
  299. package/dist/es5/adapter/converters/texture-formats.js +0 -1031
  300. package/dist/es5/adapter/converters/texture-formats.js.map +0 -1
  301. package/dist/es5/adapter/converters/vertex-formats.js +0 -45
  302. package/dist/es5/adapter/converters/vertex-formats.js.map +0 -1
  303. package/dist/es5/adapter/device-helpers/device-features.js +0 -155
  304. package/dist/es5/adapter/device-helpers/device-features.js.map +0 -1
  305. package/dist/es5/adapter/device-helpers/device-limits.js +0 -64
  306. package/dist/es5/adapter/device-helpers/device-limits.js.map +0 -1
  307. package/dist/es5/adapter/device-helpers/get-device-info.js +0 -55
  308. package/dist/es5/adapter/device-helpers/get-device-info.js.map +0 -1
  309. package/dist/es5/adapter/device-helpers/is-old-ie.js +0 -16
  310. package/dist/es5/adapter/device-helpers/is-old-ie.js.map +0 -1
  311. package/dist/es5/adapter/helpers/attribute-utils.js +0 -91
  312. package/dist/es5/adapter/helpers/attribute-utils.js.map +0 -1
  313. package/dist/es5/adapter/helpers/get-shader-layout.js +0 -391
  314. package/dist/es5/adapter/helpers/get-shader-layout.js.map +0 -1
  315. package/dist/es5/adapter/helpers/parse-shader-compiler-log.js +0 -72
  316. package/dist/es5/adapter/helpers/parse-shader-compiler-log.js.map +0 -1
  317. package/dist/es5/adapter/helpers/set-uniform.js +0 -125
  318. package/dist/es5/adapter/helpers/set-uniform.js.map +0 -1
  319. package/dist/es5/adapter/helpers/uniforms.js +0 -112
  320. package/dist/es5/adapter/helpers/uniforms.js.map +0 -1
  321. package/dist/es5/adapter/objects/constants-to-keys.js +0 -54
  322. package/dist/es5/adapter/objects/constants-to-keys.js.map +0 -1
  323. package/dist/es5/adapter/objects/webgl-renderbuffer.js +0 -150
  324. package/dist/es5/adapter/objects/webgl-renderbuffer.js.map +0 -1
  325. package/dist/es5/adapter/objects/webgl-resource.js +0 -292
  326. package/dist/es5/adapter/objects/webgl-resource.js.map +0 -1
  327. package/dist/es5/adapter/objects/webgl-vertex-array-object.js +0 -137
  328. package/dist/es5/adapter/objects/webgl-vertex-array-object.js.map +0 -1
  329. package/dist/es5/adapter/resources/webgl-buffer.js +0 -243
  330. package/dist/es5/adapter/resources/webgl-buffer.js.map +0 -1
  331. package/dist/es5/adapter/resources/webgl-command-buffer.js +0 -96
  332. package/dist/es5/adapter/resources/webgl-command-buffer.js.map +0 -1
  333. package/dist/es5/adapter/resources/webgl-command-encoder.js +0 -98
  334. package/dist/es5/adapter/resources/webgl-command-encoder.js.map +0 -1
  335. package/dist/es5/adapter/resources/webgl-external-texture.js +0 -2
  336. package/dist/es5/adapter/resources/webgl-external-texture.js.map +0 -1
  337. package/dist/es5/adapter/resources/webgl-framebuffer.js +0 -346
  338. package/dist/es5/adapter/resources/webgl-framebuffer.js.map +0 -1
  339. package/dist/es5/adapter/resources/webgl-render-pass.js +0 -62
  340. package/dist/es5/adapter/resources/webgl-render-pass.js.map +0 -1
  341. package/dist/es5/adapter/resources/webgl-render-pipeline.js +0 -530
  342. package/dist/es5/adapter/resources/webgl-render-pipeline.js.map +0 -1
  343. package/dist/es5/adapter/resources/webgl-sampler.js +0 -96
  344. package/dist/es5/adapter/resources/webgl-sampler.js.map +0 -1
  345. package/dist/es5/adapter/resources/webgl-shader.js +0 -150
  346. package/dist/es5/adapter/resources/webgl-shader.js.map +0 -1
  347. package/dist/es5/adapter/resources/webgl-texture.js +0 -986
  348. package/dist/es5/adapter/resources/webgl-texture.js.map +0 -1
  349. package/dist/es5/adapter/webgl-canvas-context.js +0 -97
  350. package/dist/es5/adapter/webgl-canvas-context.js.map +0 -1
  351. package/dist/es5/adapter/webgl-device.js +0 -463
  352. package/dist/es5/adapter/webgl-device.js.map +0 -1
  353. package/dist/es5/bundle.js +0 -7
  354. package/dist/es5/bundle.js.map +0 -1
  355. package/dist/es5/classic/accessor.js +0 -181
  356. package/dist/es5/classic/accessor.js.map +0 -1
  357. package/dist/es5/classic/buffer.js +0 -478
  358. package/dist/es5/classic/buffer.js.map +0 -1
  359. package/dist/es5/classic/typed-array-utils.js +0 -126
  360. package/dist/es5/classic/typed-array-utils.js.map +0 -1
  361. package/dist/es5/context/context/context-state.js +0 -31
  362. package/dist/es5/context/context/context-state.js.map +0 -1
  363. package/dist/es5/context/context/create-browser-context.js +0 -83
  364. package/dist/es5/context/context/create-browser-context.js.map +0 -1
  365. package/dist/es5/context/context/create-headless-context.js +0 -60
  366. package/dist/es5/context/context/create-headless-context.js.map +0 -1
  367. package/dist/es5/context/context/device-pixels.js +0 -121
  368. package/dist/es5/context/context/device-pixels.js.map +0 -1
  369. package/dist/es5/context/context/webgl-checks.js +0 -54
  370. package/dist/es5/context/context/webgl-checks.js.map +0 -1
  371. package/dist/es5/context/debug/spector.js +0 -133
  372. package/dist/es5/context/debug/spector.js.map +0 -1
  373. package/dist/es5/context/debug/webgl-developer-tools.js +0 -198
  374. package/dist/es5/context/debug/webgl-developer-tools.js.map +0 -1
  375. package/dist/es5/context/parameters/unified-parameter-api.js +0 -97
  376. package/dist/es5/context/parameters/unified-parameter-api.js.map +0 -1
  377. package/dist/es5/context/parameters/webgl-parameter-tables.js +0 -392
  378. package/dist/es5/context/parameters/webgl-parameter-tables.js.map +0 -1
  379. package/dist/es5/context/polyfill/get-parameter-polyfill.js +0 -81
  380. package/dist/es5/context/polyfill/get-parameter-polyfill.js.map +0 -1
  381. package/dist/es5/context/polyfill/polyfill-context.js +0 -134
  382. package/dist/es5/context/polyfill/polyfill-context.js.map +0 -1
  383. package/dist/es5/context/polyfill/polyfill-table.js +0 -166
  384. package/dist/es5/context/polyfill/polyfill-table.js.map +0 -1
  385. package/dist/es5/context/polyfill/polyfill-vertex-array-object.js +0 -341
  386. package/dist/es5/context/polyfill/polyfill-vertex-array-object.js.map +0 -1
  387. package/dist/es5/context/state-tracker/deep-array-equal.js +0 -28
  388. package/dist/es5/context/state-tracker/deep-array-equal.js.map +0 -1
  389. package/dist/es5/context/state-tracker/track-context-state.js +0 -211
  390. package/dist/es5/context/state-tracker/track-context-state.js.map +0 -1
  391. package/dist/es5/context/state-tracker/with-parameters.js +0 -44
  392. package/dist/es5/context/state-tracker/with-parameters.js.map +0 -1
  393. package/dist/es5/index.js +0 -290
  394. package/dist/es5/index.js.map +0 -1
  395. package/dist/es5/init.js +0 -10
  396. package/dist/es5/init.js.map +0 -1
  397. package/dist/es5/types/webgl.js +0 -6
  398. package/dist/es5/types/webgl.js.map +0 -1
  399. package/dist/es5/types.js +0 -2
  400. package/dist/es5/types.js.map +0 -1
  401. package/dist/esm/adapter/converters/device-parameters.js +0 -168
  402. package/dist/esm/adapter/converters/device-parameters.js.map +0 -1
  403. package/dist/esm/adapter/converters/renderbuffer-formats.js +0 -185
  404. package/dist/esm/adapter/converters/renderbuffer-formats.js.map +0 -1
  405. package/dist/esm/adapter/converters/sampler-parameters.js +0 -227
  406. package/dist/esm/adapter/converters/sampler-parameters.js.map +0 -1
  407. package/dist/esm/adapter/converters/texture-formats.js +0 -954
  408. package/dist/esm/adapter/converters/texture-formats.js.map +0 -1
  409. package/dist/esm/adapter/converters/vertex-formats.js +0 -35
  410. package/dist/esm/adapter/converters/vertex-formats.js.map +0 -1
  411. package/dist/esm/adapter/device-helpers/device-features.js +0 -112
  412. package/dist/esm/adapter/device-helpers/device-features.js.map +0 -1
  413. package/dist/esm/adapter/device-helpers/device-limits.js +0 -91
  414. package/dist/esm/adapter/device-helpers/device-limits.js.map +0 -1
  415. package/dist/esm/adapter/device-helpers/get-device-info.js +0 -44
  416. package/dist/esm/adapter/device-helpers/get-device-info.js.map +0 -1
  417. package/dist/esm/adapter/device-helpers/is-old-ie.js +0 -8
  418. package/dist/esm/adapter/device-helpers/is-old-ie.js.map +0 -1
  419. package/dist/esm/adapter/helpers/attribute-utils.js +0 -81
  420. package/dist/esm/adapter/helpers/attribute-utils.js.map +0 -1
  421. package/dist/esm/adapter/helpers/get-shader-layout.js +0 -330
  422. package/dist/esm/adapter/helpers/get-shader-layout.js.map +0 -1
  423. package/dist/esm/adapter/helpers/parse-shader-compiler-log.js +0 -37
  424. package/dist/esm/adapter/helpers/parse-shader-compiler-log.js.map +0 -1
  425. package/dist/esm/adapter/helpers/set-uniform.js +0 -115
  426. package/dist/esm/adapter/helpers/set-uniform.js.map +0 -1
  427. package/dist/esm/adapter/helpers/uniforms.js +0 -99
  428. package/dist/esm/adapter/helpers/uniforms.js.map +0 -1
  429. package/dist/esm/adapter/objects/constants-to-keys.js +0 -42
  430. package/dist/esm/adapter/objects/constants-to-keys.js.map +0 -1
  431. package/dist/esm/adapter/objects/webgl-renderbuffer.js +0 -94
  432. package/dist/esm/adapter/objects/webgl-renderbuffer.js.map +0 -1
  433. package/dist/esm/adapter/objects/webgl-resource.js +0 -216
  434. package/dist/esm/adapter/objects/webgl-resource.js.map +0 -1
  435. package/dist/esm/adapter/objects/webgl-vertex-array-object.js +0 -84
  436. package/dist/esm/adapter/objects/webgl-vertex-array-object.js.map +0 -1
  437. package/dist/esm/adapter/resources/webgl-buffer.js +0 -164
  438. package/dist/esm/adapter/resources/webgl-buffer.js.map +0 -1
  439. package/dist/esm/adapter/resources/webgl-command-buffer.js +0 -65
  440. package/dist/esm/adapter/resources/webgl-command-buffer.js.map +0 -1
  441. package/dist/esm/adapter/resources/webgl-command-encoder.js +0 -53
  442. package/dist/esm/adapter/resources/webgl-command-encoder.js.map +0 -1
  443. package/dist/esm/adapter/resources/webgl-external-texture.js +0 -2
  444. package/dist/esm/adapter/resources/webgl-external-texture.js.map +0 -1
  445. package/dist/esm/adapter/resources/webgl-framebuffer.js +0 -267
  446. package/dist/esm/adapter/resources/webgl-framebuffer.js.map +0 -1
  447. package/dist/esm/adapter/resources/webgl-render-pass.js +0 -21
  448. package/dist/esm/adapter/resources/webgl-render-pass.js.map +0 -1
  449. package/dist/esm/adapter/resources/webgl-render-pipeline.js +0 -428
  450. package/dist/esm/adapter/resources/webgl-render-pipeline.js.map +0 -1
  451. package/dist/esm/adapter/resources/webgl-sampler.js +0 -50
  452. package/dist/esm/adapter/resources/webgl-sampler.js.map +0 -1
  453. package/dist/esm/adapter/resources/webgl-shader.js +0 -76
  454. package/dist/esm/adapter/resources/webgl-shader.js.map +0 -1
  455. package/dist/esm/adapter/resources/webgl-texture.js +0 -834
  456. package/dist/esm/adapter/resources/webgl-texture.js.map +0 -1
  457. package/dist/esm/adapter/webgl-canvas-context.js +0 -54
  458. package/dist/esm/adapter/webgl-canvas-context.js.map +0 -1
  459. package/dist/esm/adapter/webgl-device.js +0 -337
  460. package/dist/esm/adapter/webgl-device.js.map +0 -1
  461. package/dist/esm/bundle.js +0 -5
  462. package/dist/esm/bundle.js.map +0 -1
  463. package/dist/esm/classic/accessor.js +0 -144
  464. package/dist/esm/classic/accessor.js.map +0 -1
  465. package/dist/esm/classic/buffer.js +0 -392
  466. package/dist/esm/classic/buffer.js.map +0 -1
  467. package/dist/esm/classic/typed-array-utils.js +0 -112
  468. package/dist/esm/classic/typed-array-utils.js.map +0 -1
  469. package/dist/esm/context/context/context-state.js +0 -26
  470. package/dist/esm/context/context/context-state.js.map +0 -1
  471. package/dist/esm/context/context/create-browser-context.js +0 -61
  472. package/dist/esm/context/context/create-browser-context.js.map +0 -1
  473. package/dist/esm/context/context/create-headless-context.js +0 -43
  474. package/dist/esm/context/context/create-headless-context.js.map +0 -1
  475. package/dist/esm/context/context/device-pixels.js +0 -103
  476. package/dist/esm/context/context/device-pixels.js.map +0 -1
  477. package/dist/esm/context/context/webgl-checks.js +0 -34
  478. package/dist/esm/context/context/webgl-checks.js.map +0 -1
  479. package/dist/esm/context/debug/spector.js +0 -76
  480. package/dist/esm/context/debug/spector.js.map +0 -1
  481. package/dist/esm/context/debug/webgl-developer-tools.js +0 -121
  482. package/dist/esm/context/debug/webgl-developer-tools.js.map +0 -1
  483. package/dist/esm/context/parameters/unified-parameter-api.js +0 -63
  484. package/dist/esm/context/parameters/unified-parameter-api.js.map +0 -1
  485. package/dist/esm/context/parameters/webgl-parameter-tables.js +0 -445
  486. package/dist/esm/context/parameters/webgl-parameter-tables.js.map +0 -1
  487. package/dist/esm/context/polyfill/get-parameter-polyfill.js +0 -91
  488. package/dist/esm/context/polyfill/get-parameter-polyfill.js.map +0 -1
  489. package/dist/esm/context/polyfill/polyfill-context.js +0 -91
  490. package/dist/esm/context/polyfill/polyfill-context.js.map +0 -1
  491. package/dist/esm/context/polyfill/polyfill-table.js +0 -160
  492. package/dist/esm/context/polyfill/polyfill-table.js.map +0 -1
  493. package/dist/esm/context/polyfill/polyfill-vertex-array-object.js +0 -335
  494. package/dist/esm/context/polyfill/polyfill-vertex-array-object.js.map +0 -1
  495. package/dist/esm/context/state-tracker/deep-array-equal.js +0 -21
  496. package/dist/esm/context/state-tracker/deep-array-equal.js.map +0 -1
  497. package/dist/esm/context/state-tracker/track-context-state.js +0 -183
  498. package/dist/esm/context/state-tracker/track-context-state.js.map +0 -1
  499. package/dist/esm/context/state-tracker/with-parameters.js +0 -36
  500. package/dist/esm/context/state-tracker/with-parameters.js.map +0 -1
  501. package/dist/esm/index.js +0 -28
  502. package/dist/esm/index.js.map +0 -1
  503. package/dist/esm/init.js +0 -4
  504. package/dist/esm/init.js.map +0 -1
  505. package/dist/esm/types/webgl.js +0 -2
  506. package/dist/esm/types/webgl.js.map +0 -1
  507. package/dist/esm/types.js +0 -2
  508. package/dist/esm/types.js.map +0 -1
  509. package/dist/init.d.ts +0 -2
  510. package/dist/init.d.ts.map +0 -1
  511. package/dist/init.js +0 -4
  512. package/dist/init.js.map +0 -1
  513. package/dist/types/webgl.d.ts +0 -145
  514. package/dist/types/webgl.d.ts.map +0 -1
  515. package/dist/types/webgl.js +0 -2
  516. package/dist/types/webgl.js.map +0 -1
  517. package/src/adapter/converters/renderbuffer-formats.ts +0 -92
  518. package/src/adapter/helpers/attribute-utils.ts +0 -61
  519. package/src/adapter/objects/webgl-vertex-array-object.ts +0 -111
  520. package/src/bundle.ts +0 -4
  521. package/src/classic/buffer.ts +0 -474
  522. package/src/context/context/context-state.ts +0 -41
  523. package/src/context/context/device-pixels.ts +0 -158
  524. package/src/init.ts +0 -4
  525. package/src/types/webgl.ts +0 -284
@@ -1,6 +1,6 @@
1
- import { decodeTextureFormat } from '@luma.gl/api';
2
- import GL from '@luma.gl/constants';
3
- import { isWebGL2 } from '../../context/context/webgl-checks';
1
+ import { decodeTextureFormat } from '@luma.gl/core';
2
+ import { isWebGL2 } from "../../context/context/webgl-checks.js";
3
+ import { getGLFromVertexType } from "./vertex-formats.js";
4
4
  const texture_compression_bc = 'texture-compression-bc';
5
5
  const texture_compression_astc = 'texture-compression-astc';
6
6
  const texture_compression_etc2 = 'texture-compression-etc2';
@@ -20,12 +20,8 @@ const EXT_SRGB = 'EXT_sRGB';
20
20
  const EXT_TEXTURE_NORM16 = 'EXT_texture_norm16';
21
21
  const EXT_FLOAT_WEBGL1 = 'WEBGL_color_buffer_float';
22
22
  const EXT_FLOAT_RENDER_WEBGL2 = 'EXT_color_buffer_float';
23
- const EXT_HALF_FLOAT_WEBGL1 = 'WEBGL_color_buffer_half_float';
24
-
25
23
  const checkExtension = (gl, extension) => gl.getExtension(extension);
26
-
27
24
  const checkExtensions = (gl, extensions) => extensions.every(extension => gl.getExtension(extension));
28
-
29
25
  const TEXTURE_FEATURE_CHECKS = {
30
26
  'texture-blend-float-webgl1': gl => isWebGL2(gl) ? true : checkExtension(gl, 'EXT_float_blend'),
31
27
  'texture-formats-srgb-webgl1': gl => isWebGL2(gl) ? true : checkExtension(gl, EXT_SRGB),
@@ -48,162 +44,174 @@ const TEXTURE_FEATURE_CHECKS = {
48
44
  };
49
45
  export function checkTextureFeature(gl, feature) {
50
46
  var _TEXTURE_FEATURE_CHEC;
51
-
52
47
  return ((_TEXTURE_FEATURE_CHEC = TEXTURE_FEATURE_CHECKS[feature]) === null || _TEXTURE_FEATURE_CHEC === void 0 ? void 0 : _TEXTURE_FEATURE_CHEC.call(TEXTURE_FEATURE_CHECKS, gl)) || false;
53
48
  }
54
-
55
49
  const checkTextureFeatures = (gl, features) => features.every(feature => checkTextureFeature(gl, feature));
56
-
57
50
  export function getTextureFeatures(gl) {
58
51
  const textureFeatures = Object.keys(TEXTURE_FEATURE_CHECKS);
59
52
  return textureFeatures.filter(feature => checkTextureFeature(gl, feature));
60
53
  }
61
54
  export const TEXTURE_FORMATS = {
62
55
  'rgb8unorm-unsized': {
63
- gl: GL.RGB,
64
- gl1: GL.RGB,
56
+ gl: 6407,
57
+ gl1: 6407,
65
58
  b: 4,
66
59
  c: 2,
67
60
  bpp: 4,
68
- dataFormat: GL.RGB,
69
- types: [GL.UNSIGNED_BYTE, GL.UNSIGNED_SHORT_5_6_5]
61
+ dataFormat: 6407,
62
+ types: [5121, 33635]
70
63
  },
71
64
  'rgba8unorm-unsized': {
72
- gl: GL.RGBA,
73
- gl1: GL.RGBA,
65
+ gl: 6408,
66
+ gl1: 6408,
74
67
  b: 4,
75
68
  c: 2,
76
69
  bpp: 4,
77
- dataFormat: GL.RGBA,
78
- types: [GL.UNSIGNED_BYTE, GL.UNSIGNED_SHORT_4_4_4_4, GL.UNSIGNED_SHORT_5_5_5_1]
70
+ dataFormat: 6408,
71
+ types: [5121, 32819, 32820]
79
72
  },
80
73
  'r8unorm': {
81
- gl: GL.R8,
74
+ gl: 33321,
82
75
  b: 1,
83
- c: 1
76
+ c: 1,
77
+ renderbuffer: true
84
78
  },
85
79
  'r8snorm': {
86
- gl: GL.R8_SNORM,
80
+ gl: 36756,
87
81
  b: 1,
88
82
  c: 1
89
83
  },
90
84
  'r8uint': {
91
- gl: GL.R8UI,
85
+ gl: 33330,
92
86
  b: 1,
93
- c: 1
87
+ c: 1,
88
+ renderbuffer: true
94
89
  },
95
90
  'r8sint': {
96
- gl: GL.R8I,
91
+ gl: 33329,
97
92
  b: 1,
98
- c: 1
93
+ c: 1,
94
+ renderbuffer: true
99
95
  },
100
96
  'rg8unorm': {
101
- gl: GL.RG8,
97
+ gl: 33323,
102
98
  b: 2,
103
- c: 2
99
+ c: 2,
100
+ renderbuffer: true
104
101
  },
105
102
  'rg8snorm': {
106
- gl: GL.RG8_SNORM,
103
+ gl: 36757,
107
104
  b: 2,
108
105
  c: 2
109
106
  },
110
107
  'rg8uint': {
111
- gl: GL.RG8UI,
108
+ gl: 33336,
112
109
  b: 2,
113
- c: 2
110
+ c: 2,
111
+ renderbuffer: true
114
112
  },
115
113
  'rg8sint': {
116
- gl: GL.RG8I,
114
+ gl: 33335,
117
115
  b: 2,
118
- c: 2
116
+ c: 2,
117
+ renderbuffer: true
119
118
  },
120
119
  'r16uint': {
121
- gl: GL.R16UI,
120
+ gl: 33332,
122
121
  b: 2,
123
- c: 1
122
+ c: 1,
123
+ renderbuffer: true
124
124
  },
125
125
  'r16sint': {
126
- gl: GL.R16I,
126
+ gl: 33331,
127
127
  b: 2,
128
- c: 1
128
+ c: 1,
129
+ renderbuffer: true
129
130
  },
130
131
  'r16float': {
131
- gl: GL.R16F,
132
+ gl: 33325,
132
133
  b: 2,
133
134
  c: 1,
134
135
  render: 'texture-renderable-float16-webgl',
135
- filter: 'texture-filter-linear-float16-webgl'
136
+ filter: 'texture-filter-linear-float16-webgl',
137
+ renderbuffer: true
136
138
  },
137
139
  'r16unorm-webgl': {
138
- gl: GL.R16_EXT,
140
+ gl: 33322,
139
141
  b: 2,
140
142
  c: 1,
141
- f: 'texture-formats-norm16-webgl'
143
+ f: 'texture-formats-norm16-webgl',
144
+ renderbuffer: true,
145
+ x: EXT_TEXTURE_NORM16
142
146
  },
143
147
  'r16snorm-webgl': {
144
- gl: GL.R16_SNORM_EXT,
148
+ gl: 36760,
145
149
  b: 2,
146
150
  c: 1,
147
- f: 'texture-formats-norm16-webgl'
151
+ f: 'texture-formats-norm16-webgl',
152
+ x: EXT_TEXTURE_NORM16
148
153
  },
149
154
  'rgba4unorm-webgl': {
150
- gl: GL.RGBA4,
155
+ gl: 32854,
151
156
  b: 2,
152
157
  c: 4,
153
- wgpu: false
158
+ wgpu: false,
159
+ renderbuffer: true
154
160
  },
155
161
  'rgb565unorm-webgl': {
156
- gl: GL.RGB565,
162
+ gl: 36194,
157
163
  b: 2,
158
164
  c: 4,
159
- wgpu: false
165
+ wgpu: false,
166
+ renderbuffer: true
160
167
  },
161
168
  'rgb5a1unorm-webgl': {
162
- gl: GL.RGB5_A1,
169
+ gl: 32855,
163
170
  b: 2,
164
171
  c: 4,
165
- wgpu: false
172
+ wgpu: false,
173
+ renderbuffer: true
166
174
  },
167
- 'rbg8unorm-webgl': {
168
- gl: GL.RGB8,
175
+ 'rgb8unorm-webgl': {
176
+ gl: 32849,
169
177
  b: 3,
170
178
  c: 3,
171
179
  wgpu: false
172
180
  },
173
- 'rbg8snorm-webgl': {
174
- gl: GL.RGB8_SNORM,
181
+ 'rgb8snorm-webgl': {
182
+ gl: 36758,
175
183
  b: 3,
176
184
  c: 3,
177
185
  wgpu: false
178
186
  },
179
187
  'rgba8unorm': {
180
- gl: GL.RGBA8,
181
- gl1: GL.RGBA,
188
+ gl: 32856,
189
+ gl1: 6408,
182
190
  b: 4,
183
191
  c: 2,
184
192
  bpp: 4
185
193
  },
186
194
  'rgba8unorm-srgb': {
187
- gl: GL.SRGB8_ALPHA8,
188
- gl1: GL.SRGB_ALPHA_EXT,
195
+ gl: 35907,
196
+ gl1: 35906,
189
197
  b: 4,
190
198
  c: 4,
191
199
  gl1ext: EXT_SRGB,
192
200
  bpp: 4
193
201
  },
194
202
  'rgba8snorm': {
195
- gl: GL.RGBA8_SNORM,
203
+ gl: 36759,
196
204
  b: 4,
197
205
  c: 4
198
206
  },
199
207
  'rgba8uint': {
200
- gl: GL.RGBA8UI,
208
+ gl: 36220,
201
209
  b: 4,
202
210
  c: 4,
203
211
  bpp: 4
204
212
  },
205
213
  'rgba8sint': {
206
- gl: GL.RGBA8I,
214
+ gl: 36238,
207
215
  b: 4,
208
216
  c: 4,
209
217
  bpp: 4
@@ -217,51 +225,56 @@ export const TEXTURE_FORMATS = {
217
225
  c: 4
218
226
  },
219
227
  'rg16uint': {
220
- gl: GL.RG16UI,
228
+ gl: 33338,
221
229
  b: 4,
222
230
  c: 1,
223
231
  bpp: 4
224
232
  },
225
233
  'rg16sint': {
226
- gl: GL.RG16I,
234
+ gl: 33337,
227
235
  b: 4,
228
236
  c: 2,
229
237
  bpp: 4
230
238
  },
231
239
  'rg16float': {
232
- gl: GL.RG16F,
240
+ gl: 33327,
233
241
  bpp: 4,
234
242
  b: 4,
235
243
  c: 2,
236
244
  render: 'texture-renderable-float16-webgl',
237
- filter: 'texture-filter-linear-float16-webgl'
245
+ filter: 'texture-filter-linear-float16-webgl',
246
+ renderbuffer: true
238
247
  },
239
248
  'rg16unorm-webgl': {
240
- gl: GL.RG16_EXT,
249
+ gl: 33324,
241
250
  b: 2,
242
251
  c: 2,
243
- f: 'texture-formats-norm16-webgl'
252
+ f: 'texture-formats-norm16-webgl',
253
+ x: EXT_TEXTURE_NORM16
244
254
  },
245
255
  'rg16snorm-webgl': {
246
- gl: GL.RG16_SNORM_EXT,
256
+ gl: 36761,
247
257
  b: 2,
248
258
  c: 2,
249
- f: 'texture-formats-norm16-webgl'
259
+ f: 'texture-formats-norm16-webgl',
260
+ x: EXT_TEXTURE_NORM16
250
261
  },
251
262
  'r32uint': {
252
- gl: GL.R32UI,
263
+ gl: 33334,
253
264
  b: 4,
254
265
  c: 1,
255
- bpp: 4
266
+ bpp: 4,
267
+ renderbuffer: true
256
268
  },
257
269
  'r32sint': {
258
- gl: GL.R32I,
270
+ gl: 33333,
259
271
  b: 4,
260
272
  c: 1,
261
- bpp: 4
273
+ bpp: 4,
274
+ renderbuffer: true
262
275
  },
263
276
  'r32float': {
264
- gl: GL.R32F,
277
+ gl: 33326,
265
278
  bpp: 4,
266
279
  b: 4,
267
280
  c: 1,
@@ -269,7 +282,7 @@ export const TEXTURE_FORMATS = {
269
282
  filter: 'texture-filter-linear-float32-webgl'
270
283
  },
271
284
  'rgb9e5ufloat': {
272
- gl: GL.RGB9_E5,
285
+ gl: 35901,
273
286
  b: 4,
274
287
  c: 3,
275
288
  p: 1,
@@ -277,480 +290,523 @@ export const TEXTURE_FORMATS = {
277
290
  filter: 'texture-filter-linear-float16-webgl'
278
291
  },
279
292
  'rg11b10ufloat': {
280
- gl: GL.R11F_G11F_B10F,
293
+ gl: 35898,
281
294
  b: 4,
282
295
  c: 3,
283
296
  p: 1,
284
- render: 'texture-renderable-float32-webgl'
297
+ render: 'texture-renderable-float32-webgl',
298
+ renderbuffer: true
285
299
  },
286
300
  'rgb10a2unorm': {
287
- gl: GL.RGB10_A2,
301
+ gl: 32857,
288
302
  b: 4,
289
303
  c: 4,
290
- p: 1
304
+ p: 1,
305
+ renderbuffer: true
291
306
  },
292
307
  'rgb10a2unorm-webgl': {
293
308
  b: 4,
294
309
  c: 4,
295
- gl: GL.RGB10_A2UI,
310
+ gl: 36975,
296
311
  p: 1,
297
312
  wgpu: false,
298
- bpp: 4
313
+ bpp: 4,
314
+ renderbuffer: true
299
315
  },
300
316
  'rgb16unorm-webgl': {
301
- gl: GL.RGB16_EXT,
317
+ gl: 32852,
302
318
  b: 2,
303
319
  c: 3,
304
- f: 'texture-formats-norm16-webgl'
320
+ f: 'texture-formats-norm16-webgl',
321
+ x: EXT_TEXTURE_NORM16
305
322
  },
306
323
  'rgb16snorm-webgl': {
307
- gl: GL.RGB16_SNORM_EXT,
324
+ gl: 36762,
308
325
  b: 2,
309
326
  c: 3,
310
- f: 'texture-formats-norm16-webgl'
327
+ f: 'texture-formats-norm16-webgl',
328
+ x: EXT_TEXTURE_NORM16
311
329
  },
312
330
  'rg32uint': {
313
- gl: GL.RG32UI,
331
+ gl: 33340,
314
332
  b: 8,
315
- c: 2
333
+ c: 2,
334
+ renderbuffer: true
316
335
  },
317
336
  'rg32sint': {
318
- gl: GL.RG32I,
337
+ gl: 33339,
319
338
  b: 8,
320
- c: 2
339
+ c: 2,
340
+ renderbuffer: true
321
341
  },
322
342
  'rg32float': {
323
- gl: GL.RG32F,
343
+ gl: 33328,
324
344
  b: 8,
325
345
  c: 2,
326
346
  render: 'texture-renderable-float32-webgl',
327
- filter: 'texture-filter-linear-float32-webgl'
347
+ filter: 'texture-filter-linear-float32-webgl',
348
+ renderbuffer: true
328
349
  },
329
350
  'rgba16uint': {
330
- gl: GL.RGBA16UI,
351
+ gl: 36214,
331
352
  b: 8,
332
- c: 4
353
+ c: 4,
354
+ renderbuffer: true
333
355
  },
334
356
  'rgba16sint': {
335
- gl: GL.RGBA16I,
357
+ gl: 36232,
336
358
  b: 8,
337
- c: 4
359
+ c: 4,
360
+ renderbuffer: true
338
361
  },
339
362
  'rgba16float': {
340
- gl: GL.RGBA16F,
341
- gl1: GL.RGBA,
363
+ gl: 34842,
364
+ gl1: 6408,
342
365
  b: 8,
343
366
  c: 4,
344
367
  render: 'texture-renderable-float16-webgl',
345
368
  filter: 'texture-filter-linear-float16-webgl'
346
369
  },
347
370
  'rgba16unorm-webgl': {
348
- gl: GL.RGBA16_EXT,
371
+ gl: 32859,
349
372
  b: 2,
350
373
  c: 4,
351
- f: 'texture-formats-norm16-webgl'
374
+ f: 'texture-formats-norm16-webgl',
375
+ renderbuffer: true,
376
+ x: EXT_TEXTURE_NORM16
352
377
  },
353
378
  'rgba16snorm-webgl': {
354
- gl: GL.RGBA16_SNORM_EXT,
379
+ gl: 36763,
355
380
  b: 2,
356
381
  c: 4,
357
- f: 'texture-formats-norm16-webgl'
382
+ f: 'texture-formats-norm16-webgl',
383
+ x: EXT_TEXTURE_NORM16
358
384
  },
359
385
  'rgb32float-webgl': {
360
- gl: GL.RGB32F,
361
- gl1: GL.RGB,
386
+ gl: 34837,
387
+ gl1: 6407,
362
388
  render: 'texture-renderable-float32-webgl',
363
389
  filter: 'texture-filter-linear-float32-webgl',
364
390
  gl2ext: EXT_FLOAT_RENDER_WEBGL2,
365
391
  gl1ext: EXT_FLOAT_WEBGL1,
366
- dataFormat: GL.RGB,
367
- types: [GL.FLOAT]
392
+ dataFormat: 6407,
393
+ types: [5126]
368
394
  },
369
395
  'rgba32uint': {
370
- gl: GL.RGBA32UI,
396
+ gl: 36208,
371
397
  b: 16,
372
- c: 4
398
+ c: 4,
399
+ renderbuffer: true
373
400
  },
374
401
  'rgba32sint': {
375
- gl: GL.RGBA32I,
402
+ gl: 36226,
376
403
  b: 16,
377
- c: 4
404
+ c: 4,
405
+ renderbuffer: true
378
406
  },
379
407
  'rgba32float': {
380
- gl: GL.RGBA32F,
381
- gl1: GL.RGBA,
408
+ gl: 34836,
382
409
  b: 16,
383
410
  c: 4,
384
411
  render: 'texture-renderable-float32-webgl',
385
- filter: 'texture-filter-linear-float32-webgl'
412
+ filter: 'texture-filter-linear-float32-webgl',
413
+ renderbuffer: true
386
414
  },
387
415
  'stencil8': {
388
- gl: GL.STENCIL_INDEX8,
416
+ gl: 36168,
417
+ gl1: 36168,
389
418
  b: 1,
390
419
  c: 1,
391
- attachment: GL.STENCIL_ATTACHMENT
420
+ attachment: 36128,
421
+ renderbuffer: true
392
422
  },
393
423
  'depth16unorm': {
394
- gl: GL.DEPTH_COMPONENT16,
395
- gl1: GL.DEPTH_COMPONENT16,
424
+ gl: 33189,
425
+ gl1: 33189,
396
426
  b: 2,
397
427
  c: 1,
398
- attachment: GL.DEPTH_ATTACHMENT
428
+ attachment: 36096,
429
+ renderbuffer: true
399
430
  },
400
431
  'depth24plus': {
401
- gl: GL.DEPTH_COMPONENT24,
432
+ gl: 33190,
402
433
  b: 3,
403
434
  c: 1,
404
- attachment: GL.DEPTH_ATTACHMENT
435
+ attachment: 36096
405
436
  },
406
437
  'depth32float': {
407
- gl: GL.DEPTH_COMPONENT32F,
438
+ gl: 36012,
408
439
  b: 4,
409
440
  c: 1,
410
- attachment: GL.DEPTH_ATTACHMENT
441
+ attachment: 36096,
442
+ renderbuffer: true
411
443
  },
412
444
  'depth24plus-stencil8': {
445
+ gl: 34041,
446
+ gl1: 34041,
413
447
  b: 4,
414
- gl: GL.UNSIGNED_INT_24_8,
415
- gl1: GL.DEPTH_STENCIL,
416
448
  c: 2,
417
449
  p: 1,
418
- attachment: GL.DEPTH_STENCIL_ATTACHMENT
450
+ attachment: 33306,
451
+ renderbuffer: true,
452
+ depthTexture: true
419
453
  },
420
454
  'depth24unorm-stencil8': {
421
- gl: GL.DEPTH24_STENCIL8,
455
+ gl: 35056,
422
456
  b: 4,
423
457
  c: 2,
424
458
  p: 1,
425
- attachment: GL.DEPTH_STENCIL_ATTACHMENT
459
+ attachment: 33306,
460
+ renderbuffer: true
426
461
  },
427
- "depth32float-stencil8": {
428
- gl: GL.DEPTH32F_STENCIL8,
462
+ 'depth32float-stencil8': {
463
+ gl: 36013,
429
464
  b: 5,
430
465
  c: 2,
431
466
  p: 1,
432
- attachment: GL.DEPTH_STENCIL_ATTACHMENT
467
+ attachment: 33306,
468
+ renderbuffer: true
433
469
  },
434
470
  'bc1-rgb-unorm-webgl': {
435
- gl: GL.COMPRESSED_RGB_S3TC_DXT1_EXT,
471
+ gl: 33776,
436
472
  x: X_S3TC,
437
473
  f: texture_compression_bc
438
474
  },
439
475
  'bc1-rgb-unorm-srgb-webgl': {
440
- gl: GL.COMPRESSED_SRGB_S3TC_DXT1_EXT,
476
+ gl: 35916,
441
477
  x: X_S3TC_SRGB,
442
478
  f: texture_compression_bc
443
479
  },
444
480
  'bc1-rgba-unorm': {
445
- gl: GL.COMPRESSED_RGBA_S3TC_DXT1_EXT,
481
+ gl: 33777,
446
482
  x: X_S3TC,
447
483
  f: texture_compression_bc
448
484
  },
449
485
  'bc1-rgba-unorm-srgb': {
450
- gl: GL.COMPRESSED_SRGB_S3TC_DXT1_EXT,
486
+ gl: 35916,
451
487
  x: X_S3TC_SRGB,
452
488
  f: texture_compression_bc
453
489
  },
454
490
  'bc2-rgba-unorm': {
455
- gl: GL.COMPRESSED_RGBA_S3TC_DXT3_EXT,
491
+ gl: 33778,
456
492
  x: X_S3TC,
457
493
  f: texture_compression_bc
458
494
  },
459
495
  'bc2-rgba-unorm-srgb': {
460
- gl: GL.COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT,
496
+ gl: 35918,
461
497
  x: X_S3TC_SRGB,
462
498
  f: texture_compression_bc
463
499
  },
464
500
  'bc3-rgba-unorm': {
465
- gl: GL.COMPRESSED_RGBA_S3TC_DXT5_EXT,
501
+ gl: 33779,
466
502
  x: X_S3TC,
467
503
  f: texture_compression_bc
468
504
  },
469
505
  'bc3-rgba-unorm-srgb': {
470
- gl: GL.COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT,
506
+ gl: 35919,
471
507
  x: X_S3TC_SRGB,
472
508
  f: texture_compression_bc
473
509
  },
474
510
  'bc4-r-unorm': {
475
- gl: GL.COMPRESSED_RED_RGTC1_EXT,
511
+ gl: 36283,
476
512
  x: X_RGTC,
477
513
  f: texture_compression_bc
478
514
  },
479
515
  'bc4-r-snorm': {
480
- gl: GL.COMPRESSED_SIGNED_RED_RGTC1_EXT,
516
+ gl: 36284,
481
517
  x: X_RGTC,
482
518
  f: texture_compression_bc
483
519
  },
484
520
  'bc5-rg-unorm': {
485
- gl: GL.COMPRESSED_RED_GREEN_RGTC2_EXT,
521
+ gl: 36285,
486
522
  x: X_RGTC,
487
523
  f: texture_compression_bc
488
524
  },
489
525
  'bc5-rg-snorm': {
490
- gl: GL.COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT,
526
+ gl: 36286,
491
527
  x: X_RGTC,
492
528
  f: texture_compression_bc
493
529
  },
494
530
  'bc6h-rgb-ufloat': {
495
- gl: GL.COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_EXT,
531
+ gl: 36495,
496
532
  x: X_BPTC,
497
533
  f: texture_compression_bc
498
534
  },
499
535
  'bc6h-rgb-float': {
500
- gl: GL.COMPRESSED_RGB_BPTC_SIGNED_FLOAT_EXT,
536
+ gl: 36494,
501
537
  x: X_BPTC,
502
538
  f: texture_compression_bc
503
539
  },
504
540
  'bc7-rgba-unorm': {
505
- gl: GL.COMPRESSED_RGBA_BPTC_UNORM_EXT,
541
+ gl: 36492,
506
542
  x: X_BPTC,
507
543
  f: texture_compression_bc
508
544
  },
509
545
  'bc7-rgba-unorm-srgb': {
510
- gl: GL.COMPRESSED_SRGB_ALPHA_BPTC_UNORM_EXT,
546
+ gl: 36493,
511
547
  x: X_BPTC,
512
548
  f: texture_compression_bc
513
549
  },
514
550
  'etc2-rgb8unorm': {
515
- gl: GL.COMPRESSED_RGB8_ETC2,
551
+ gl: 37492,
516
552
  f: texture_compression_etc2
517
553
  },
518
554
  'etc2-rgb8unorm-srgb': {
519
- gl: GL.COMPRESSED_SRGB8_ETC2,
555
+ gl: 37494,
520
556
  f: texture_compression_etc2
521
557
  },
522
558
  'etc2-rgb8a1unorm': {
523
- gl: GL.COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2,
559
+ gl: 37496,
524
560
  f: texture_compression_etc2
525
561
  },
526
562
  'etc2-rgb8a1unorm-srgb': {
527
- gl: GL.COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2,
563
+ gl: 37497,
528
564
  f: texture_compression_etc2
529
565
  },
530
566
  'etc2-rgba8unorm': {
531
- gl: GL.COMPRESSED_RGBA8_ETC2_EAC,
567
+ gl: 37493,
532
568
  f: texture_compression_etc2
533
569
  },
534
570
  'etc2-rgba8unorm-srgb': {
535
- gl: GL.COMPRESSED_SRGB8_ALPHA8_ETC2_EAC,
571
+ gl: 37495,
536
572
  f: texture_compression_etc2
537
573
  },
538
574
  'eac-r11unorm': {
539
- gl: GL.COMPRESSED_R11_EAC,
575
+ gl: 37488,
540
576
  f: texture_compression_etc2
541
577
  },
542
578
  'eac-r11snorm': {
543
- gl: GL.COMPRESSED_SIGNED_R11_EAC,
579
+ gl: 37489,
544
580
  f: texture_compression_etc2
545
581
  },
546
582
  'eac-rg11unorm': {
547
- gl: GL.COMPRESSED_RG11_EAC,
583
+ gl: 37490,
548
584
  f: texture_compression_etc2
549
585
  },
550
586
  'eac-rg11snorm': {
551
- gl: GL.COMPRESSED_SIGNED_RG11_EAC,
587
+ gl: 37491,
552
588
  f: texture_compression_etc2
553
589
  },
554
590
  'astc-4x4-unorm': {
555
- gl: GL.COMPRESSED_RGBA_ASTC_4x4_KHR,
591
+ gl: 37808,
556
592
  f: texture_compression_astc
557
593
  },
558
594
  'astc-4x4-unorm-srgb': {
559
- gl: GL.COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR,
595
+ gl: 37840,
560
596
  f: texture_compression_astc
561
597
  },
562
598
  'astc-5x4-unorm': {
563
- gl: GL.COMPRESSED_RGBA_ASTC_5x4_KHR,
599
+ gl: 37809,
564
600
  f: texture_compression_astc
565
601
  },
566
602
  'astc-5x4-unorm-srgb': {
567
- gl: GL.COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR,
603
+ gl: 37841,
568
604
  f: texture_compression_astc
569
605
  },
570
606
  'astc-5x5-unorm': {
571
- gl: GL.COMPRESSED_RGBA_ASTC_5x5_KHR,
607
+ gl: 37810,
572
608
  f: texture_compression_astc
573
609
  },
574
610
  'astc-5x5-unorm-srgb': {
575
- gl: GL.COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR,
611
+ gl: 37842,
576
612
  f: texture_compression_astc
577
613
  },
578
614
  'astc-6x5-unorm': {
579
- gl: GL.COMPRESSED_RGBA_ASTC_6x5_KHR,
615
+ gl: 37811,
580
616
  f: texture_compression_astc
581
617
  },
582
618
  'astc-6x5-unorm-srgb': {
583
- gl: GL.COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR,
619
+ gl: 37843,
584
620
  f: texture_compression_astc
585
621
  },
586
622
  'astc-6x6-unorm': {
587
- gl: GL.COMPRESSED_RGBA_ASTC_6x6_KHR,
623
+ gl: 37812,
588
624
  f: texture_compression_astc
589
625
  },
590
626
  'astc-6x6-unorm-srgb': {
591
- gl: GL.COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR,
627
+ gl: 37844,
592
628
  f: texture_compression_astc
593
629
  },
594
630
  'astc-8x5-unorm': {
595
- gl: GL.COMPRESSED_RGBA_ASTC_8x5_KHR,
631
+ gl: 37813,
596
632
  f: texture_compression_astc
597
633
  },
598
634
  'astc-8x5-unorm-srgb': {
599
- gl: GL.COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR,
635
+ gl: 37845,
600
636
  f: texture_compression_astc
601
637
  },
602
638
  'astc-8x6-unorm': {
603
- gl: GL.COMPRESSED_RGBA_ASTC_8x6_KHR,
639
+ gl: 37814,
604
640
  f: texture_compression_astc
605
641
  },
606
642
  'astc-8x6-unorm-srgb': {
607
- gl: GL.COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR,
643
+ gl: 37846,
608
644
  f: texture_compression_astc
609
645
  },
610
646
  'astc-8x8-unorm': {
611
- gl: GL.COMPRESSED_RGBA_ASTC_8x8_KHR,
647
+ gl: 37815,
612
648
  f: texture_compression_astc
613
649
  },
614
650
  'astc-8x8-unorm-srgb': {
615
- gl: GL.COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR,
651
+ gl: 37847,
616
652
  f: texture_compression_astc
617
653
  },
618
654
  'astc-10x5-unorm': {
619
- gl: GL.COMPRESSED_RGBA_ASTC_10x10_KHR,
655
+ gl: 37819,
620
656
  f: texture_compression_astc
621
657
  },
622
658
  'astc-10x5-unorm-srgb': {
623
- gl: GL.COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR,
659
+ gl: 37851,
624
660
  f: texture_compression_astc
625
661
  },
626
662
  'astc-10x6-unorm': {
627
- gl: GL.COMPRESSED_RGBA_ASTC_10x6_KHR,
663
+ gl: 37817,
628
664
  f: texture_compression_astc
629
665
  },
630
666
  'astc-10x6-unorm-srgb': {
631
- gl: GL.COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR,
667
+ gl: 37849,
632
668
  f: texture_compression_astc
633
669
  },
634
670
  'astc-10x8-unorm': {
635
- gl: GL.COMPRESSED_RGBA_ASTC_10x8_KHR,
671
+ gl: 37818,
636
672
  f: texture_compression_astc
637
673
  },
638
674
  'astc-10x8-unorm-srgb': {
639
- gl: GL.COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR,
675
+ gl: 37850,
640
676
  f: texture_compression_astc
641
677
  },
642
678
  'astc-10x10-unorm': {
643
- gl: GL.COMPRESSED_RGBA_ASTC_10x10_KHR,
679
+ gl: 37819,
644
680
  f: texture_compression_astc
645
681
  },
646
682
  'astc-10x10-unorm-srgb': {
647
- gl: GL.COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR,
683
+ gl: 37851,
648
684
  f: texture_compression_astc
649
685
  },
650
686
  'astc-12x10-unorm': {
651
- gl: GL.COMPRESSED_RGBA_ASTC_12x10_KHR,
687
+ gl: 37820,
652
688
  f: texture_compression_astc
653
689
  },
654
690
  'astc-12x10-unorm-srgb': {
655
- gl: GL.COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR,
691
+ gl: 37852,
656
692
  f: texture_compression_astc
657
693
  },
658
694
  'astc-12x12-unorm': {
659
- gl: GL.COMPRESSED_RGBA_ASTC_12x12_KHR,
695
+ gl: 37821,
660
696
  f: texture_compression_astc
661
697
  },
662
698
  'astc-12x12-unorm-srgb': {
663
- gl: GL.COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR,
699
+ gl: 37853,
664
700
  f: texture_compression_astc
665
701
  },
666
702
  'pvrtc-rgb4unorm-webgl': {
667
- gl: GL.COMPRESSED_RGB_PVRTC_4BPPV1_IMG,
703
+ gl: 35840,
668
704
  f: texture_compression_pvrtc_webgl
669
705
  },
670
706
  'pvrtc-rgba4unorm-webgl': {
671
- gl: GL.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG,
707
+ gl: 35842,
672
708
  f: texture_compression_pvrtc_webgl
673
709
  },
674
710
  'pvrtc-rbg2unorm-webgl': {
675
- gl: GL.COMPRESSED_RGB_PVRTC_2BPPV1_IMG,
711
+ gl: 35841,
676
712
  f: texture_compression_pvrtc_webgl
677
713
  },
678
714
  'pvrtc-rgba2unorm-webgl': {
679
- gl: GL.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG,
715
+ gl: 35843,
680
716
  f: texture_compression_pvrtc_webgl
681
717
  },
682
718
  'etc1-rbg-unorm-webgl': {
683
- gl: GL.COMPRESSED_RGB_ETC1_WEBGL,
719
+ gl: 36196,
684
720
  f: texture_compression_etc1_webgl
685
721
  },
686
722
  'atc-rgb-unorm-webgl': {
687
- gl: GL.COMPRESSED_RGB_ATC_WEBGL,
723
+ gl: 35986,
688
724
  f: texture_compression_atc_webgl
689
725
  },
690
726
  'atc-rgba-unorm-webgl': {
691
- gl: GL.COMPRESSED_RGBA_ATC_EXPLICIT_ALPHA_WEBGL,
727
+ gl: 35986,
692
728
  f: texture_compression_atc_webgl
693
729
  },
694
730
  'atc-rgbai-unorm-webgl': {
695
- gl: GL.COMPRESSED_RGBA_ATC_INTERPOLATED_ALPHA_WEBGL,
731
+ gl: 34798,
696
732
  f: texture_compression_atc_webgl
697
733
  }
698
734
  };
699
-
700
- function getTextureFormat(format) {
701
- if (typeof format === 'string') {
702
- return format;
703
- }
704
-
705
- const entry = Object.entries(TEXTURE_FORMATS).find(([, entry]) => entry.gl === format || entry.gl1 === format);
706
-
707
- if (!entry) {
708
- throw new Error("Unknown texture format ".concat(format));
709
- }
710
-
711
- return entry[0];
712
- }
713
-
735
+ const DATA_FORMAT_CHANNELS = {
736
+ [6403]: 1,
737
+ [36244]: 1,
738
+ [33319]: 2,
739
+ [33320]: 2,
740
+ [6407]: 3,
741
+ [36248]: 3,
742
+ [6408]: 4,
743
+ [36249]: 4,
744
+ [6402]: 1,
745
+ [34041]: 1,
746
+ [6406]: 1,
747
+ [6409]: 1,
748
+ [6410]: 2
749
+ };
750
+ const TYPE_SIZES = {
751
+ [5126]: 4,
752
+ [5125]: 4,
753
+ [5124]: 4,
754
+ [5123]: 2,
755
+ [5122]: 2,
756
+ [5131]: 2,
757
+ [5120]: 1,
758
+ [5121]: 1
759
+ };
714
760
  export function isTextureFormatSupported(gl, formatOrGL) {
715
- const format = getTextureFormat(formatOrGL);
761
+ const format = convertGLToTextureFormat(formatOrGL);
716
762
  const info = TEXTURE_FORMATS[format];
717
-
718
763
  if (!info) {
719
764
  return false;
720
765
  }
721
-
722
766
  if (isWebGL2(gl) ? info.gl === undefined : info.gl1 === undefined) {
723
767
  return false;
724
768
  }
725
-
726
769
  const extension = info.x || (isWebGL2(gl) ? info.gl2ext || info.gl1ext : info.gl1ext);
727
-
728
770
  if (extension) {
729
771
  return Boolean(gl.getExtension(extension));
730
772
  }
731
-
732
773
  return true;
733
774
  }
775
+ export function isRenderbufferFormatSupported(gl, format) {
776
+ var _TEXTURE_FORMATS$form;
777
+ return isTextureFormatSupported(gl, format) && ((_TEXTURE_FORMATS$form = TEXTURE_FORMATS[format]) === null || _TEXTURE_FORMATS$form === void 0 ? void 0 : _TEXTURE_FORMATS$form.renderbuffer);
778
+ }
779
+ export function convertGLToTextureFormat(format) {
780
+ if (typeof format === 'string') {
781
+ return format;
782
+ }
783
+ const entry = Object.entries(TEXTURE_FORMATS).find(_ref => {
784
+ let [, entry] = _ref;
785
+ return entry.gl === format || entry.gl1 === format;
786
+ });
787
+ if (!entry) {
788
+ throw new Error(`Unknown texture format ${format}`);
789
+ }
790
+ return entry[0];
791
+ }
792
+ export function convertTextureFormatToGL(format, isWebGL2) {
793
+ const formatInfo = TEXTURE_FORMATS[format];
794
+ const webglFormat = isWebGL2 ? formatInfo === null || formatInfo === void 0 ? void 0 : formatInfo.gl : formatInfo === null || formatInfo === void 0 ? void 0 : formatInfo.gl1;
795
+ if (webglFormat === undefined) {
796
+ throw new Error(`Unsupported texture format ${format}`);
797
+ }
798
+ return webglFormat;
799
+ }
734
800
  export function getTextureFormatSupport(gl, formatOrGL) {
735
- const format = getTextureFormat(formatOrGL);
801
+ const format = convertGLToTextureFormat(formatOrGL);
736
802
  const info = TEXTURE_FORMATS[format];
737
-
738
803
  if (!info) {
739
804
  return {
740
805
  supported: false
741
806
  };
742
807
  }
743
-
744
- let decoded;
745
-
746
- try {
747
- decoded = decodeTextureFormat(format);
748
- } catch {}
749
-
750
808
  let supported = isWebGL2(gl) ? info.gl === undefined : info.gl1 === undefined;
751
809
  supported = supported && checkTextureFeatures(gl, [info.f]);
752
- const filterable = info.filter ? checkTextureFeatures(gl, [info.filter]) : decoded && !decoded.signed;
753
- const renderable = info.filter ? checkTextureFeatures(gl, [info.render]) : decoded && !decoded.signed;
754
810
  return {
755
811
  supported,
756
812
  renderable: supported && checkTextureFeatures(gl, [info.render]),
@@ -760,195 +816,102 @@ export function getTextureFormatSupport(gl, formatOrGL) {
760
816
  };
761
817
  }
762
818
  export function isTextureFormatFilterable(gl, formatOrGL) {
763
- const format = getTextureFormat(formatOrGL);
764
-
819
+ const format = convertGLToTextureFormat(formatOrGL);
765
820
  if (!isTextureFormatSupported(gl, format)) {
766
821
  return false;
767
822
  }
768
-
769
823
  try {
770
824
  const decoded = decodeTextureFormat(format);
771
-
772
825
  if (decoded.signed) {
773
826
  return false;
774
827
  }
775
828
  } catch {
776
829
  return false;
777
830
  }
778
-
779
831
  if (format.endsWith('32float')) {
780
832
  return Boolean(gl.getExtension('OES_texture_float_linear'));
781
833
  }
782
-
783
834
  if (format.endsWith('16float')) {
784
835
  return Boolean(gl.getExtension('OES_texture_half_float_linear'));
785
836
  }
786
-
787
837
  return true;
788
838
  }
789
839
  export function isTextureFormatRenderable(gl, formatOrGL) {
790
- const format = getTextureFormat(formatOrGL);
791
-
840
+ const format = convertGLToTextureFormat(formatOrGL);
792
841
  if (!isTextureFormatSupported(gl, format)) {
793
842
  return false;
794
843
  }
795
-
796
844
  if (typeof format === 'number') {
797
845
  return false;
798
846
  }
799
-
800
847
  return true;
801
848
  }
802
- export function getWebGLTextureFormat(gl, formatOrGL) {
803
- const format = getTextureFormat(formatOrGL);
804
- const formatInfo = TEXTURE_FORMATS[format];
805
- const webglFormat = isWebGL2(gl) ? formatInfo === null || formatInfo === void 0 ? void 0 : formatInfo.gl : formatInfo === null || formatInfo === void 0 ? void 0 : formatInfo.gl1;
806
-
807
- if (typeof format === 'number') {
808
- return webglFormat || format;
809
- }
810
-
811
- if (webglFormat === undefined) {
812
- throw new Error("Unsupported texture format ".concat(format));
813
- }
814
-
815
- return webglFormat;
816
- }
817
- export function getWebGLTextureParameters(gl, formatOrGL) {
818
- const format = getTextureFormat(formatOrGL);
819
- const webglFormat = getWebGLTextureFormat(gl, format);
849
+ export function getWebGLTextureParameters(formatOrGL, isWebGL2) {
850
+ const format = convertGLToTextureFormat(formatOrGL);
851
+ const webglFormat = convertTextureFormatToGL(format, isWebGL2);
820
852
  const decoded = decodeTextureFormat(format);
821
853
  return {
822
854
  format: webglFormat,
823
855
  dataFormat: getWebGLPixelDataFormat(decoded.format, decoded.integer, decoded.normalized, webglFormat),
824
- type: getWebGLDataType(decoded.dataType),
856
+ type: decoded.dataType ? getGLFromVertexType(decoded.dataType) : 5121,
825
857
  compressed: decoded.compressed
826
858
  };
827
859
  }
828
- export function getWebGLDepthStencilAttachment(formatOrGL) {
829
- const format = getTextureFormat(formatOrGL);
830
-
831
- if (typeof format === 'number') {
832
- throw new Error('unsupported depth stencil format');
833
- }
834
-
860
+ export function getDepthStencilAttachmentWebGL(format) {
835
861
  const info = TEXTURE_FORMATS[format];
836
- const attachment = info.attachment;
837
-
838
- if (!attachment) {
839
- throw new Error('not a depth stencil format');
862
+ if (!(info !== null && info !== void 0 && info.attachment)) {
863
+ throw new Error(`${format} is not a depth stencil format`);
840
864
  }
841
-
842
- return attachment;
865
+ return info.attachment;
843
866
  }
844
- export function _checkFloat32ColorAttachment(gl, internalFormat = gl.RGBA, srcFormat = GL.RGBA, srcType = GL.UNSIGNED_BYTE) {
867
+ export function _checkFloat32ColorAttachment(gl) {
868
+ let internalFormat = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 6408;
869
+ let srcFormat = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 6408;
870
+ let srcType = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 5121;
845
871
  let texture = null;
846
872
  let framebuffer = null;
847
-
848
873
  try {
849
874
  texture = gl.createTexture();
850
- gl.bindTexture(GL.TEXTURE_2D, texture);
875
+ gl.bindTexture(3553, texture);
851
876
  const level = 0;
852
877
  const width = 1;
853
878
  const height = 1;
854
879
  const border = 0;
855
880
  const pixel = new Uint8Array([0, 0, 255, 255]);
856
- gl.texImage2D(gl.TEXTURE_2D, level, internalFormat, width, height, border, srcFormat, srcType, pixel);
881
+ gl.texImage2D(3553, level, internalFormat, width, height, border, srcFormat, srcType, pixel);
857
882
  framebuffer = gl.createFramebuffer();
858
- gl.bindFramebuffer(GL.FRAMEBUFFER, framebuffer);
859
- gl.framebufferTexture2D(GL.FRAMEBUFFER, GL.COLOR_ATTACHMENT0, GL.TEXTURE_2D, texture, 0);
860
- const status = gl.checkFramebufferStatus(GL.FRAMEBUFFER) === GL.FRAMEBUFFER_COMPLETE;
861
- gl.bindTexture(GL.TEXTURE_2D, null);
883
+ gl.bindFramebuffer(36160, framebuffer);
884
+ gl.framebufferTexture2D(36160, 36064, 3553, texture, 0);
885
+ const status = gl.checkFramebufferStatus(36160) === 36053;
886
+ gl.bindTexture(3553, null);
862
887
  return status;
863
888
  } finally {
864
889
  gl.deleteTexture(texture);
865
890
  gl.deleteFramebuffer(framebuffer);
866
891
  }
867
892
  }
868
- const DATA_FORMAT_CHANNELS = {
869
- [GL.RED]: 1,
870
- [GL.RED_INTEGER]: 1,
871
- [GL.RG]: 2,
872
- [GL.RG_INTEGER]: 2,
873
- [GL.RGB]: 3,
874
- [GL.RGB_INTEGER]: 3,
875
- [GL.RGBA]: 4,
876
- [GL.RGBA_INTEGER]: 4,
877
- [GL.DEPTH_COMPONENT]: 1,
878
- [GL.DEPTH_STENCIL]: 1,
879
- [GL.ALPHA]: 1,
880
- [GL.LUMINANCE]: 1,
881
- [GL.LUMINANCE_ALPHA]: 2
882
- };
883
- const TYPE_SIZES = {
884
- [GL.FLOAT]: 4,
885
- [GL.UNSIGNED_INT]: 4,
886
- [GL.INT]: 4,
887
- [GL.UNSIGNED_SHORT]: 2,
888
- [GL.SHORT]: 2,
889
- [GL.HALF_FLOAT]: 2,
890
- [GL.BYTE]: 1,
891
- [GL.UNSIGNED_BYTE]: 1
892
- };
893
- export function getTextureFormatBytesPerPixel(gl, formatOrGL) {
894
- const format = getTextureFormat(formatOrGL);
895
- const params = getWebGLTextureParameters(gl, format);
893
+ export function getTextureFormatBytesPerPixel(formatOrGL, isWebGL2) {
894
+ const format = convertGLToTextureFormat(formatOrGL);
895
+ const params = getWebGLTextureParameters(format, isWebGL2);
896
896
  const channels = DATA_FORMAT_CHANNELS[params.dataFormat] || 4;
897
897
  const channelSize = TYPE_SIZES[params.type] || 1;
898
898
  return channels * channelSize;
899
899
  }
900
-
901
900
  function getWebGLPixelDataFormat(dataFormat, integer, normalized, format) {
902
- if (format === GL.RGBA || format === GL.RGB) {
901
+ if (format === 6408 || format === 6407) {
903
902
  return format;
904
903
  }
905
-
906
904
  switch (dataFormat) {
907
905
  case 'r':
908
- return integer && !normalized ? GL.RED_INTEGER : GL.RED;
909
-
906
+ return integer && !normalized ? 36244 : 6403;
910
907
  case 'rg':
911
- return integer && !normalized ? GL.RG_INTEGER : GL.RG;
912
-
908
+ return integer && !normalized ? 33320 : 33319;
913
909
  case 'rgb':
914
- return integer && !normalized ? GL.RGB_INTEGER : GL.RGB;
915
-
910
+ return integer && !normalized ? 36248 : 6407;
916
911
  case 'rgba':
917
- return integer && !normalized ? GL.RGBA_INTEGER : GL.RGBA;
918
-
919
- default:
920
- return GL.RGBA;
921
- }
922
- }
923
-
924
- export function getWebGLDataType(dataType) {
925
- switch (dataType) {
926
- case 'uint8':
927
- return GL.UNSIGNED_BYTE;
928
-
929
- case 'sint8':
930
- return GL.BYTE;
931
-
932
- case 'uint16':
933
- return GL.UNSIGNED_SHORT;
934
-
935
- case 'sint16':
936
- return GL.SHORT;
937
-
938
- case 'uint32':
939
- return GL.UNSIGNED_INT;
940
-
941
- case 'sint32':
942
- return GL.INT;
943
-
944
- case 'float16':
945
- return GL.HALF_FLOAT;
946
-
947
- case 'float32':
948
- return GL.FLOAT;
949
-
912
+ return integer && !normalized ? 36249 : 6408;
950
913
  default:
951
- return GL.UNSIGNED_BYTE;
914
+ return 6408;
952
915
  }
953
916
  }
954
917
  //# sourceMappingURL=texture-formats.js.map