@luma.gl/webgl 9.0.0-alpha.2 → 9.0.0-alpha.21

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 (468) hide show
  1. package/dist/adapter/converters/device-parameters.d.ts +11 -1
  2. package/dist/adapter/converters/device-parameters.d.ts.map +1 -1
  3. package/dist/adapter/converters/device-parameters.js +17 -35
  4. package/dist/adapter/converters/device-parameters.js.map +1 -1
  5. package/dist/adapter/converters/renderbuffer-formats.d.ts +2 -2
  6. package/dist/adapter/converters/renderbuffer-formats.d.ts.map +1 -1
  7. package/dist/adapter/converters/renderbuffer-formats.js +2 -7
  8. package/dist/adapter/converters/renderbuffer-formats.js.map +1 -1
  9. package/dist/adapter/converters/sampler-parameters.d.ts +4 -4
  10. package/dist/adapter/converters/sampler-parameters.d.ts.map +1 -1
  11. package/dist/adapter/converters/sampler-parameters.js +19 -55
  12. package/dist/adapter/converters/sampler-parameters.js.map +1 -1
  13. package/dist/adapter/converters/texture-formats.d.ts.map +1 -1
  14. package/dist/adapter/converters/texture-formats.js +13 -66
  15. package/dist/adapter/converters/texture-formats.js.map +1 -1
  16. package/dist/adapter/converters/vertex-formats.d.ts.map +1 -1
  17. package/dist/adapter/converters/vertex-formats.js +2 -8
  18. package/dist/adapter/converters/vertex-formats.js.map +1 -1
  19. package/dist/adapter/device-helpers/device-features.d.ts.map +1 -1
  20. package/dist/adapter/device-helpers/device-features.js +13 -20
  21. package/dist/adapter/device-helpers/device-features.js.map +1 -1
  22. package/dist/adapter/device-helpers/device-limits.js +1 -4
  23. package/dist/adapter/device-helpers/device-limits.js.map +1 -1
  24. package/dist/adapter/device-helpers/get-device-info.js +8 -10
  25. package/dist/adapter/device-helpers/get-device-info.js.map +1 -1
  26. package/dist/adapter/device-helpers/is-old-ie.js +2 -1
  27. package/dist/adapter/device-helpers/is-old-ie.js.map +1 -1
  28. package/dist/adapter/helpers/attribute-utils.js +0 -17
  29. package/dist/adapter/helpers/attribute-utils.js.map +1 -1
  30. package/dist/adapter/helpers/get-shader-info.d.ts +9 -0
  31. package/dist/adapter/helpers/get-shader-info.d.ts.map +1 -0
  32. package/dist/adapter/helpers/get-shader-info.js +25 -0
  33. package/dist/adapter/helpers/get-shader-info.js.map +1 -0
  34. package/dist/adapter/helpers/get-shader-layout.d.ts +1 -1
  35. package/dist/adapter/helpers/get-shader-layout.d.ts.map +1 -1
  36. package/dist/adapter/helpers/get-shader-layout.js +41 -67
  37. package/dist/adapter/helpers/get-shader-layout.js.map +1 -1
  38. package/dist/adapter/helpers/parse-shader-compiler-log.d.ts +1 -1
  39. package/dist/adapter/helpers/parse-shader-compiler-log.d.ts.map +1 -1
  40. package/dist/adapter/helpers/parse-shader-compiler-log.js +0 -7
  41. package/dist/adapter/helpers/parse-shader-compiler-log.js.map +1 -1
  42. package/dist/adapter/helpers/set-uniform.d.ts.map +1 -1
  43. package/dist/adapter/helpers/set-uniform.js +1 -31
  44. package/dist/adapter/helpers/set-uniform.js.map +1 -1
  45. package/dist/adapter/helpers/uniforms.d.ts +1 -1
  46. package/dist/adapter/helpers/uniforms.d.ts.map +1 -1
  47. package/dist/adapter/helpers/uniforms.js +4 -14
  48. package/dist/adapter/helpers/uniforms.js.map +1 -1
  49. package/dist/adapter/objects/constants-to-keys.d.ts.map +1 -1
  50. package/dist/adapter/objects/constants-to-keys.js +0 -7
  51. package/dist/adapter/objects/constants-to-keys.js.map +1 -1
  52. package/dist/adapter/objects/webgl-renderbuffer.d.ts +3 -3
  53. package/dist/adapter/objects/webgl-renderbuffer.d.ts.map +1 -1
  54. package/dist/adapter/objects/webgl-renderbuffer.js +6 -22
  55. package/dist/adapter/objects/webgl-renderbuffer.js.map +1 -1
  56. package/dist/adapter/objects/webgl-resource.d.ts +3 -5
  57. package/dist/adapter/objects/webgl-resource.d.ts.map +1 -1
  58. package/dist/adapter/objects/webgl-resource.js +15 -68
  59. package/dist/adapter/objects/webgl-resource.js.map +1 -1
  60. package/dist/adapter/objects/webgl-vertex-array-object.d.ts +6 -6
  61. package/dist/adapter/objects/webgl-vertex-array-object.d.ts.map +1 -1
  62. package/dist/adapter/objects/webgl-vertex-array-object.js +7 -17
  63. package/dist/adapter/objects/webgl-vertex-array-object.js.map +1 -1
  64. package/dist/adapter/resources/webgl-buffer.d.ts +3 -4
  65. package/dist/adapter/resources/webgl-buffer.d.ts.map +1 -1
  66. package/dist/adapter/resources/webgl-buffer.js +18 -49
  67. package/dist/adapter/resources/webgl-buffer.js.map +1 -1
  68. package/dist/adapter/resources/webgl-command-buffer.d.ts +2 -2
  69. package/dist/adapter/resources/webgl-command-buffer.d.ts.map +1 -1
  70. package/dist/adapter/resources/webgl-command-buffer.js +3 -18
  71. package/dist/adapter/resources/webgl-command-buffer.js.map +1 -1
  72. package/dist/adapter/resources/webgl-command-encoder.d.ts +3 -3
  73. package/dist/adapter/resources/webgl-command-encoder.d.ts.map +1 -1
  74. package/dist/adapter/resources/webgl-command-encoder.js +2 -15
  75. package/dist/adapter/resources/webgl-command-encoder.js.map +1 -1
  76. package/dist/adapter/resources/webgl-external-texture.js.map +1 -1
  77. package/dist/adapter/resources/webgl-framebuffer.d.ts +16 -16
  78. package/dist/adapter/resources/webgl-framebuffer.d.ts.map +1 -1
  79. package/dist/adapter/resources/webgl-framebuffer.js +17 -75
  80. package/dist/adapter/resources/webgl-framebuffer.js.map +1 -1
  81. package/dist/adapter/resources/webgl-render-pass.d.ts +3 -3
  82. package/dist/adapter/resources/webgl-render-pass.d.ts.map +1 -1
  83. package/dist/adapter/resources/webgl-render-pass.js +3 -8
  84. package/dist/adapter/resources/webgl-render-pass.js.map +1 -1
  85. package/dist/adapter/resources/webgl-render-pipeline.d.ts +5 -5
  86. package/dist/adapter/resources/webgl-render-pipeline.d.ts.map +1 -1
  87. package/dist/adapter/resources/webgl-render-pipeline.js +51 -140
  88. package/dist/adapter/resources/webgl-render-pipeline.js.map +1 -1
  89. package/dist/adapter/resources/webgl-sampler.d.ts +5 -4
  90. package/dist/adapter/resources/webgl-sampler.d.ts.map +1 -1
  91. package/dist/adapter/resources/webgl-sampler.js +5 -13
  92. package/dist/adapter/resources/webgl-sampler.js.map +1 -1
  93. package/dist/adapter/resources/webgl-shader.d.ts +3 -4
  94. package/dist/adapter/resources/webgl-shader.d.ts.map +1 -1
  95. package/dist/adapter/resources/webgl-shader.js +8 -21
  96. package/dist/adapter/resources/webgl-shader.js.map +1 -1
  97. package/dist/adapter/resources/webgl-texture.d.ts +26 -26
  98. package/dist/adapter/resources/webgl-texture.d.ts.map +1 -1
  99. package/dist/adapter/resources/webgl-texture.js +66 -183
  100. package/dist/adapter/resources/webgl-texture.js.map +1 -1
  101. package/dist/adapter/webgl-canvas-context.d.ts +3 -3
  102. package/dist/adapter/webgl-canvas-context.d.ts.map +1 -1
  103. package/dist/adapter/webgl-canvas-context.js +6 -19
  104. package/dist/adapter/webgl-canvas-context.js.map +1 -1
  105. package/dist/adapter/webgl-device.d.ts +53 -37
  106. package/dist/adapter/webgl-device.d.ts.map +1 -1
  107. package/dist/adapter/webgl-device.js +108 -109
  108. package/dist/adapter/webgl-device.js.map +1 -1
  109. package/dist/classic/accessor.d.ts +1 -1
  110. package/dist/classic/accessor.d.ts.map +1 -1
  111. package/dist/classic/accessor.js +12 -36
  112. package/dist/classic/accessor.js.map +1 -1
  113. package/dist/classic/buffer.d.ts +3 -4
  114. package/dist/classic/buffer.d.ts.map +1 -1
  115. package/dist/classic/buffer.js +30 -87
  116. package/dist/classic/buffer.js.map +1 -1
  117. package/dist/classic/typed-array-utils.d.ts +1 -1
  118. package/dist/classic/typed-array-utils.d.ts.map +1 -1
  119. package/dist/classic/typed-array-utils.js +0 -20
  120. package/dist/classic/typed-array-utils.js.map +1 -1
  121. package/dist/context/context/{create-context.d.ts → create-browser-context.d.ts} +2 -1
  122. package/dist/context/context/create-browser-context.d.ts.map +1 -0
  123. package/dist/context/context/{create-context.js → create-browser-context.js} +19 -15
  124. package/dist/context/context/create-browser-context.js.map +1 -0
  125. package/dist/context/context/create-headless-context.d.ts +9 -0
  126. package/dist/context/context/create-headless-context.d.ts.map +1 -0
  127. package/dist/context/context/create-headless-context.js +42 -0
  128. package/dist/context/context/create-headless-context.js.map +1 -0
  129. package/dist/context/context/webgl-checks.js +0 -3
  130. package/dist/context/context/webgl-checks.js.map +1 -1
  131. package/dist/context/debug/spector.d.ts +1 -0
  132. package/dist/context/debug/spector.d.ts.map +1 -1
  133. package/dist/context/debug/spector.js +7 -19
  134. package/dist/context/debug/spector.js.map +1 -1
  135. package/dist/context/debug/webgl-developer-tools.d.ts +1 -1
  136. package/dist/context/debug/webgl-developer-tools.d.ts.map +1 -1
  137. package/dist/context/debug/webgl-developer-tools.js +8 -32
  138. package/dist/context/debug/webgl-developer-tools.js.map +1 -1
  139. package/dist/context/parameters/unified-parameter-api.d.ts +6 -5
  140. package/dist/context/parameters/unified-parameter-api.d.ts.map +1 -1
  141. package/dist/context/parameters/unified-parameter-api.js +8 -18
  142. package/dist/context/parameters/unified-parameter-api.js.map +1 -1
  143. package/dist/context/parameters/webgl-parameter-tables.d.ts +103 -103
  144. package/dist/context/parameters/webgl-parameter-tables.d.ts.map +1 -1
  145. package/dist/context/parameters/webgl-parameter-tables.js +16 -34
  146. package/dist/context/parameters/webgl-parameter-tables.js.map +1 -1
  147. package/dist/context/polyfill/context-data.d.ts +13 -0
  148. package/dist/context/polyfill/context-data.d.ts.map +1 -0
  149. package/dist/context/polyfill/context-data.js +12 -0
  150. package/dist/context/polyfill/context-data.js.map +1 -0
  151. package/dist/context/polyfill/get-parameter-polyfill.d.ts +1 -1
  152. package/dist/context/polyfill/get-parameter-polyfill.d.ts.map +1 -1
  153. package/dist/context/polyfill/get-parameter-polyfill.js +1 -6
  154. package/dist/context/polyfill/get-parameter-polyfill.js.map +1 -1
  155. package/dist/context/polyfill/polyfill-context.js +20 -28
  156. package/dist/context/polyfill/polyfill-context.js.map +1 -1
  157. package/dist/context/polyfill/polyfill-table.d.ts +8 -8
  158. package/dist/context/polyfill/polyfill-table.d.ts.map +1 -1
  159. package/dist/context/polyfill/polyfill-table.js +8 -30
  160. package/dist/context/polyfill/polyfill-table.js.map +1 -1
  161. package/dist/context/polyfill/polyfill-vertex-array-object.d.ts.map +1 -1
  162. package/dist/context/polyfill/polyfill-vertex-array-object.js +0 -70
  163. package/dist/context/polyfill/polyfill-vertex-array-object.js.map +1 -1
  164. package/dist/context/state-tracker/deep-array-equal.js +0 -4
  165. package/dist/context/state-tracker/deep-array-equal.js.map +1 -1
  166. package/dist/context/state-tracker/track-context-state.d.ts.map +1 -1
  167. package/dist/context/state-tracker/track-context-state.js +15 -50
  168. package/dist/context/state-tracker/track-context-state.js.map +1 -1
  169. package/dist/context/state-tracker/with-parameters.d.ts +2 -1
  170. package/dist/context/state-tracker/with-parameters.d.ts.map +1 -1
  171. package/dist/context/state-tracker/with-parameters.js +7 -9
  172. package/dist/context/state-tracker/with-parameters.js.map +1 -1
  173. package/dist/dist.dev.js +9204 -0
  174. package/dist/index.cjs +5948 -0
  175. package/dist/index.d.ts +19 -19
  176. package/dist/index.d.ts.map +1 -1
  177. package/dist/index.js +24 -26
  178. package/dist/index.js.map +1 -1
  179. package/dist/types/webgl.d.ts +8 -7
  180. package/dist/types/webgl.d.ts.map +1 -1
  181. package/dist/types/webgl.js.map +1 -1
  182. package/dist/types.js.map +1 -1
  183. package/dist.min.js +36 -0
  184. package/package.json +18 -9
  185. package/src/.DS_Store +0 -0
  186. package/src/adapter/.DS_Store +0 -0
  187. package/src/adapter/converters/device-parameters.ts +45 -16
  188. package/src/adapter/converters/renderbuffer-formats.ts +1 -3
  189. package/src/adapter/converters/sampler-parameters.ts +18 -7
  190. package/src/adapter/converters/texture-formats.ts +18 -16
  191. package/src/adapter/converters/vertex-formats.ts +1 -0
  192. package/src/adapter/device-helpers/device-features.ts +9 -2
  193. package/src/adapter/device-helpers/device-limits.ts +1 -1
  194. package/src/adapter/device-helpers/get-device-info.ts +12 -8
  195. package/src/adapter/helpers/get-shader-info.ts +37 -0
  196. package/src/adapter/helpers/get-shader-layout.ts +59 -37
  197. package/src/adapter/helpers/parse-shader-compiler-log.ts +2 -2
  198. package/src/adapter/helpers/set-uniform.ts +3 -1
  199. package/src/adapter/helpers/uniforms.ts +21 -10
  200. package/src/adapter/objects/constants-to-keys.ts +4 -1
  201. package/src/adapter/objects/webgl-renderbuffer.ts +8 -8
  202. package/src/adapter/objects/webgl-resource.ts +8 -13
  203. package/src/adapter/objects/webgl-vertex-array-object.ts +10 -10
  204. package/src/adapter/resources/webgl-buffer.ts +16 -16
  205. package/src/adapter/resources/webgl-command-buffer.ts +3 -3
  206. package/src/adapter/resources/webgl-command-encoder.ts +8 -8
  207. package/src/adapter/resources/webgl-external-texture.ts +1 -1
  208. package/src/adapter/resources/webgl-framebuffer.ts +36 -33
  209. package/src/adapter/resources/webgl-render-pass.ts +4 -3
  210. package/src/adapter/resources/webgl-render-pipeline.ts +89 -77
  211. package/src/adapter/resources/webgl-sampler.ts +12 -6
  212. package/src/adapter/resources/webgl-shader.ts +10 -9
  213. package/src/adapter/resources/webgl-texture.ts +55 -45
  214. package/src/adapter/webgl-canvas-context.ts +8 -9
  215. package/src/adapter/webgl-device.ts +153 -69
  216. package/src/classic/accessor.ts +2 -15
  217. package/src/classic/buffer.ts +18 -25
  218. package/src/classic/typed-array-utils.ts +4 -2
  219. package/src/context/.DS_Store +0 -0
  220. package/src/context/context/{create-context.ts → create-browser-context.ts} +17 -7
  221. package/src/context/context/create-headless-context.ts +48 -0
  222. package/src/context/debug/spector.ts +6 -5
  223. package/src/context/debug/webgl-developer-tools.ts +13 -13
  224. package/src/context/parameters/unified-parameter-api.ts +18 -12
  225. package/src/context/parameters/webgl-parameter-tables.ts +113 -94
  226. package/src/context/polyfill/context-data.ts +27 -0
  227. package/src/context/polyfill/get-parameter-polyfill.ts +7 -6
  228. package/src/context/polyfill/polyfill-context.ts +6 -8
  229. package/src/context/polyfill/polyfill-table.ts +16 -14
  230. package/src/context/polyfill/polyfill-vertex-array-object.ts +2 -0
  231. package/src/context/state-tracker/track-context-state.ts +13 -12
  232. package/src/context/state-tracker/with-parameters.ts +8 -2
  233. package/src/index.ts +28 -26
  234. package/src/types/webgl.ts +10 -7
  235. package/dist/bundle.d.ts +0 -2
  236. package/dist/bundle.d.ts.map +0 -1
  237. package/dist/bundle.js +0 -5
  238. package/dist/bundle.js.map +0 -1
  239. package/dist/context/context/context-state.d.ts +0 -18
  240. package/dist/context/context/context-state.d.ts.map +0 -1
  241. package/dist/context/context/context-state.js +0 -26
  242. package/dist/context/context/context-state.js.map +0 -1
  243. package/dist/context/context/create-context.d.ts.map +0 -1
  244. package/dist/context/context/create-context.js.map +0 -1
  245. package/dist/context/context/device-pixels.d.ts +0 -25
  246. package/dist/context/context/device-pixels.d.ts.map +0 -1
  247. package/dist/context/context/device-pixels.js +0 -98
  248. package/dist/context/context/device-pixels.js.map +0 -1
  249. package/dist/es5/adapter/converters/device-parameters.js +0 -170
  250. package/dist/es5/adapter/converters/device-parameters.js.map +0 -1
  251. package/dist/es5/adapter/converters/renderbuffer-formats.js +0 -163
  252. package/dist/es5/adapter/converters/renderbuffer-formats.js.map +0 -1
  253. package/dist/es5/adapter/converters/sampler-parameters.js +0 -226
  254. package/dist/es5/adapter/converters/sampler-parameters.js.map +0 -1
  255. package/dist/es5/adapter/converters/texture-formats.js +0 -1031
  256. package/dist/es5/adapter/converters/texture-formats.js.map +0 -1
  257. package/dist/es5/adapter/converters/vertex-formats.js +0 -45
  258. package/dist/es5/adapter/converters/vertex-formats.js.map +0 -1
  259. package/dist/es5/adapter/device-helpers/device-features.js +0 -144
  260. package/dist/es5/adapter/device-helpers/device-features.js.map +0 -1
  261. package/dist/es5/adapter/device-helpers/device-limits.js +0 -64
  262. package/dist/es5/adapter/device-helpers/device-limits.js.map +0 -1
  263. package/dist/es5/adapter/device-helpers/get-device-info.js +0 -55
  264. package/dist/es5/adapter/device-helpers/get-device-info.js.map +0 -1
  265. package/dist/es5/adapter/device-helpers/is-old-ie.js +0 -16
  266. package/dist/es5/adapter/device-helpers/is-old-ie.js.map +0 -1
  267. package/dist/es5/adapter/helpers/attribute-utils.js +0 -91
  268. package/dist/es5/adapter/helpers/attribute-utils.js.map +0 -1
  269. package/dist/es5/adapter/helpers/get-shader-layout.js +0 -371
  270. package/dist/es5/adapter/helpers/get-shader-layout.js.map +0 -1
  271. package/dist/es5/adapter/helpers/parse-shader-compiler-log.js +0 -72
  272. package/dist/es5/adapter/helpers/parse-shader-compiler-log.js.map +0 -1
  273. package/dist/es5/adapter/helpers/set-uniform.js +0 -125
  274. package/dist/es5/adapter/helpers/set-uniform.js.map +0 -1
  275. package/dist/es5/adapter/helpers/uniforms.js +0 -112
  276. package/dist/es5/adapter/helpers/uniforms.js.map +0 -1
  277. package/dist/es5/adapter/objects/constants-to-keys.js +0 -54
  278. package/dist/es5/adapter/objects/constants-to-keys.js.map +0 -1
  279. package/dist/es5/adapter/objects/webgl-renderbuffer.js +0 -150
  280. package/dist/es5/adapter/objects/webgl-renderbuffer.js.map +0 -1
  281. package/dist/es5/adapter/objects/webgl-resource.js +0 -292
  282. package/dist/es5/adapter/objects/webgl-resource.js.map +0 -1
  283. package/dist/es5/adapter/objects/webgl-vertex-array-object.js +0 -137
  284. package/dist/es5/adapter/objects/webgl-vertex-array-object.js.map +0 -1
  285. package/dist/es5/adapter/resources/webgl-buffer.js +0 -243
  286. package/dist/es5/adapter/resources/webgl-buffer.js.map +0 -1
  287. package/dist/es5/adapter/resources/webgl-command-buffer.js +0 -96
  288. package/dist/es5/adapter/resources/webgl-command-buffer.js.map +0 -1
  289. package/dist/es5/adapter/resources/webgl-command-encoder.js +0 -98
  290. package/dist/es5/adapter/resources/webgl-command-encoder.js.map +0 -1
  291. package/dist/es5/adapter/resources/webgl-external-texture.js +0 -2
  292. package/dist/es5/adapter/resources/webgl-external-texture.js.map +0 -1
  293. package/dist/es5/adapter/resources/webgl-framebuffer.js +0 -345
  294. package/dist/es5/adapter/resources/webgl-framebuffer.js.map +0 -1
  295. package/dist/es5/adapter/resources/webgl-render-pass.js +0 -61
  296. package/dist/es5/adapter/resources/webgl-render-pass.js.map +0 -1
  297. package/dist/es5/adapter/resources/webgl-render-pipeline.js +0 -505
  298. package/dist/es5/adapter/resources/webgl-render-pipeline.js.map +0 -1
  299. package/dist/es5/adapter/resources/webgl-sampler.js +0 -96
  300. package/dist/es5/adapter/resources/webgl-sampler.js.map +0 -1
  301. package/dist/es5/adapter/resources/webgl-shader.js +0 -149
  302. package/dist/es5/adapter/resources/webgl-shader.js.map +0 -1
  303. package/dist/es5/adapter/resources/webgl-texture.js +0 -986
  304. package/dist/es5/adapter/resources/webgl-texture.js.map +0 -1
  305. package/dist/es5/adapter/webgl-canvas-context.js +0 -97
  306. package/dist/es5/adapter/webgl-canvas-context.js.map +0 -1
  307. package/dist/es5/adapter/webgl-device.js +0 -399
  308. package/dist/es5/adapter/webgl-device.js.map +0 -1
  309. package/dist/es5/bundle.js +0 -7
  310. package/dist/es5/bundle.js.map +0 -1
  311. package/dist/es5/classic/accessor.js +0 -181
  312. package/dist/es5/classic/accessor.js.map +0 -1
  313. package/dist/es5/classic/buffer.js +0 -470
  314. package/dist/es5/classic/buffer.js.map +0 -1
  315. package/dist/es5/classic/typed-array-utils.js +0 -126
  316. package/dist/es5/classic/typed-array-utils.js.map +0 -1
  317. package/dist/es5/context/context/context-state.js +0 -31
  318. package/dist/es5/context/context/context-state.js.map +0 -1
  319. package/dist/es5/context/context/create-context.js +0 -69
  320. package/dist/es5/context/context/create-context.js.map +0 -1
  321. package/dist/es5/context/context/device-pixels.js +0 -115
  322. package/dist/es5/context/context/device-pixels.js.map +0 -1
  323. package/dist/es5/context/context/webgl-checks.js +0 -54
  324. package/dist/es5/context/context/webgl-checks.js.map +0 -1
  325. package/dist/es5/context/debug/spector.js +0 -133
  326. package/dist/es5/context/debug/spector.js.map +0 -1
  327. package/dist/es5/context/debug/webgl-developer-tools.js +0 -198
  328. package/dist/es5/context/debug/webgl-developer-tools.js.map +0 -1
  329. package/dist/es5/context/parameters/unified-parameter-api.js +0 -97
  330. package/dist/es5/context/parameters/unified-parameter-api.js.map +0 -1
  331. package/dist/es5/context/parameters/webgl-parameter-tables.js +0 -392
  332. package/dist/es5/context/parameters/webgl-parameter-tables.js.map +0 -1
  333. package/dist/es5/context/polyfill/get-parameter-polyfill.js +0 -81
  334. package/dist/es5/context/polyfill/get-parameter-polyfill.js.map +0 -1
  335. package/dist/es5/context/polyfill/polyfill-context.js +0 -135
  336. package/dist/es5/context/polyfill/polyfill-context.js.map +0 -1
  337. package/dist/es5/context/polyfill/polyfill-table.js +0 -166
  338. package/dist/es5/context/polyfill/polyfill-table.js.map +0 -1
  339. package/dist/es5/context/polyfill/polyfill-vertex-array-object.js +0 -341
  340. package/dist/es5/context/polyfill/polyfill-vertex-array-object.js.map +0 -1
  341. package/dist/es5/context/state-tracker/deep-array-equal.js +0 -28
  342. package/dist/es5/context/state-tracker/deep-array-equal.js.map +0 -1
  343. package/dist/es5/context/state-tracker/track-context-state.js +0 -211
  344. package/dist/es5/context/state-tracker/track-context-state.js.map +0 -1
  345. package/dist/es5/context/state-tracker/with-parameters.js +0 -44
  346. package/dist/es5/context/state-tracker/with-parameters.js.map +0 -1
  347. package/dist/es5/index.js +0 -276
  348. package/dist/es5/index.js.map +0 -1
  349. package/dist/es5/init.js +0 -10
  350. package/dist/es5/init.js.map +0 -1
  351. package/dist/es5/types/webgl.js +0 -6
  352. package/dist/es5/types/webgl.js.map +0 -1
  353. package/dist/es5/types.js +0 -2
  354. package/dist/es5/types.js.map +0 -1
  355. package/dist/esm/adapter/converters/device-parameters.js +0 -155
  356. package/dist/esm/adapter/converters/device-parameters.js.map +0 -1
  357. package/dist/esm/adapter/converters/renderbuffer-formats.js +0 -185
  358. package/dist/esm/adapter/converters/renderbuffer-formats.js.map +0 -1
  359. package/dist/esm/adapter/converters/sampler-parameters.js +0 -208
  360. package/dist/esm/adapter/converters/sampler-parameters.js.map +0 -1
  361. package/dist/esm/adapter/converters/texture-formats.js +0 -954
  362. package/dist/esm/adapter/converters/texture-formats.js.map +0 -1
  363. package/dist/esm/adapter/converters/vertex-formats.js +0 -35
  364. package/dist/esm/adapter/converters/vertex-formats.js.map +0 -1
  365. package/dist/esm/adapter/device-helpers/device-features.js +0 -102
  366. package/dist/esm/adapter/device-helpers/device-features.js.map +0 -1
  367. package/dist/esm/adapter/device-helpers/device-limits.js +0 -91
  368. package/dist/esm/adapter/device-helpers/device-limits.js.map +0 -1
  369. package/dist/esm/adapter/device-helpers/get-device-info.js +0 -44
  370. package/dist/esm/adapter/device-helpers/get-device-info.js.map +0 -1
  371. package/dist/esm/adapter/device-helpers/is-old-ie.js +0 -8
  372. package/dist/esm/adapter/device-helpers/is-old-ie.js.map +0 -1
  373. package/dist/esm/adapter/helpers/attribute-utils.js +0 -81
  374. package/dist/esm/adapter/helpers/attribute-utils.js.map +0 -1
  375. package/dist/esm/adapter/helpers/get-shader-layout.js +0 -306
  376. package/dist/esm/adapter/helpers/get-shader-layout.js.map +0 -1
  377. package/dist/esm/adapter/helpers/parse-shader-compiler-log.js +0 -37
  378. package/dist/esm/adapter/helpers/parse-shader-compiler-log.js.map +0 -1
  379. package/dist/esm/adapter/helpers/set-uniform.js +0 -115
  380. package/dist/esm/adapter/helpers/set-uniform.js.map +0 -1
  381. package/dist/esm/adapter/helpers/uniforms.js +0 -99
  382. package/dist/esm/adapter/helpers/uniforms.js.map +0 -1
  383. package/dist/esm/adapter/objects/constants-to-keys.js +0 -42
  384. package/dist/esm/adapter/objects/constants-to-keys.js.map +0 -1
  385. package/dist/esm/adapter/objects/webgl-renderbuffer.js +0 -94
  386. package/dist/esm/adapter/objects/webgl-renderbuffer.js.map +0 -1
  387. package/dist/esm/adapter/objects/webgl-resource.js +0 -216
  388. package/dist/esm/adapter/objects/webgl-resource.js.map +0 -1
  389. package/dist/esm/adapter/objects/webgl-vertex-array-object.js +0 -84
  390. package/dist/esm/adapter/objects/webgl-vertex-array-object.js.map +0 -1
  391. package/dist/esm/adapter/resources/webgl-buffer.js +0 -164
  392. package/dist/esm/adapter/resources/webgl-buffer.js.map +0 -1
  393. package/dist/esm/adapter/resources/webgl-command-buffer.js +0 -65
  394. package/dist/esm/adapter/resources/webgl-command-buffer.js.map +0 -1
  395. package/dist/esm/adapter/resources/webgl-command-encoder.js +0 -53
  396. package/dist/esm/adapter/resources/webgl-command-encoder.js.map +0 -1
  397. package/dist/esm/adapter/resources/webgl-external-texture.js +0 -2
  398. package/dist/esm/adapter/resources/webgl-external-texture.js.map +0 -1
  399. package/dist/esm/adapter/resources/webgl-framebuffer.js +0 -265
  400. package/dist/esm/adapter/resources/webgl-framebuffer.js.map +0 -1
  401. package/dist/esm/adapter/resources/webgl-render-pass.js +0 -19
  402. package/dist/esm/adapter/resources/webgl-render-pass.js.map +0 -1
  403. package/dist/esm/adapter/resources/webgl-render-pipeline.js +0 -400
  404. package/dist/esm/adapter/resources/webgl-render-pipeline.js.map +0 -1
  405. package/dist/esm/adapter/resources/webgl-sampler.js +0 -50
  406. package/dist/esm/adapter/resources/webgl-sampler.js.map +0 -1
  407. package/dist/esm/adapter/resources/webgl-shader.js +0 -75
  408. package/dist/esm/adapter/resources/webgl-shader.js.map +0 -1
  409. package/dist/esm/adapter/resources/webgl-texture.js +0 -831
  410. package/dist/esm/adapter/resources/webgl-texture.js.map +0 -1
  411. package/dist/esm/adapter/webgl-canvas-context.js +0 -54
  412. package/dist/esm/adapter/webgl-canvas-context.js.map +0 -1
  413. package/dist/esm/adapter/webgl-device.js +0 -280
  414. package/dist/esm/adapter/webgl-device.js.map +0 -1
  415. package/dist/esm/bundle.js +0 -5
  416. package/dist/esm/bundle.js.map +0 -1
  417. package/dist/esm/classic/accessor.js +0 -144
  418. package/dist/esm/classic/accessor.js.map +0 -1
  419. package/dist/esm/classic/buffer.js +0 -384
  420. package/dist/esm/classic/buffer.js.map +0 -1
  421. package/dist/esm/classic/typed-array-utils.js +0 -112
  422. package/dist/esm/classic/typed-array-utils.js.map +0 -1
  423. package/dist/esm/context/context/context-state.js +0 -26
  424. package/dist/esm/context/context/context-state.js.map +0 -1
  425. package/dist/esm/context/context/create-context.js +0 -49
  426. package/dist/esm/context/context/create-context.js.map +0 -1
  427. package/dist/esm/context/context/device-pixels.js +0 -98
  428. package/dist/esm/context/context/device-pixels.js.map +0 -1
  429. package/dist/esm/context/context/webgl-checks.js +0 -34
  430. package/dist/esm/context/context/webgl-checks.js.map +0 -1
  431. package/dist/esm/context/debug/spector.js +0 -76
  432. package/dist/esm/context/debug/spector.js.map +0 -1
  433. package/dist/esm/context/debug/webgl-developer-tools.js +0 -121
  434. package/dist/esm/context/debug/webgl-developer-tools.js.map +0 -1
  435. package/dist/esm/context/parameters/unified-parameter-api.js +0 -65
  436. package/dist/esm/context/parameters/unified-parameter-api.js.map +0 -1
  437. package/dist/esm/context/parameters/webgl-parameter-tables.js +0 -445
  438. package/dist/esm/context/parameters/webgl-parameter-tables.js.map +0 -1
  439. package/dist/esm/context/polyfill/get-parameter-polyfill.js +0 -91
  440. package/dist/esm/context/polyfill/get-parameter-polyfill.js.map +0 -1
  441. package/dist/esm/context/polyfill/polyfill-context.js +0 -92
  442. package/dist/esm/context/polyfill/polyfill-context.js.map +0 -1
  443. package/dist/esm/context/polyfill/polyfill-table.js +0 -160
  444. package/dist/esm/context/polyfill/polyfill-table.js.map +0 -1
  445. package/dist/esm/context/polyfill/polyfill-vertex-array-object.js +0 -335
  446. package/dist/esm/context/polyfill/polyfill-vertex-array-object.js.map +0 -1
  447. package/dist/esm/context/state-tracker/deep-array-equal.js +0 -21
  448. package/dist/esm/context/state-tracker/deep-array-equal.js.map +0 -1
  449. package/dist/esm/context/state-tracker/track-context-state.js +0 -183
  450. package/dist/esm/context/state-tracker/track-context-state.js.map +0 -1
  451. package/dist/esm/context/state-tracker/with-parameters.js +0 -36
  452. package/dist/esm/context/state-tracker/with-parameters.js.map +0 -1
  453. package/dist/esm/index.js +0 -27
  454. package/dist/esm/index.js.map +0 -1
  455. package/dist/esm/init.js +0 -4
  456. package/dist/esm/init.js.map +0 -1
  457. package/dist/esm/types/webgl.js +0 -2
  458. package/dist/esm/types/webgl.js.map +0 -1
  459. package/dist/esm/types.js +0 -2
  460. package/dist/esm/types.js.map +0 -1
  461. package/dist/init.d.ts +0 -2
  462. package/dist/init.d.ts.map +0 -1
  463. package/dist/init.js +0 -4
  464. package/dist/init.js.map +0 -1
  465. package/src/bundle.ts +0 -4
  466. package/src/context/context/context-state.ts +0 -41
  467. package/src/context/context/device-pixels.ts +0 -152
  468. package/src/init.ts +0 -4
@@ -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);
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;
942
- var framebuffer;
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