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

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