@luma.gl/webgl 9.0.0-alpha.16 → 9.0.0-alpha.19

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