@luma.gl/webgl 9.0.0-alpha.8 → 9.0.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (525) hide show
  1. package/LICENSE +3 -1
  2. package/dist/adapter/converters/device-parameters.d.ts +12 -3
  3. package/dist/adapter/converters/device-parameters.d.ts.map +1 -1
  4. package/dist/adapter/converters/device-parameters.js +89 -74
  5. package/dist/adapter/converters/device-parameters.js.map +1 -1
  6. package/dist/adapter/converters/sampler-parameters.d.ts +4 -10
  7. package/dist/adapter/converters/sampler-parameters.d.ts.map +1 -1
  8. package/dist/adapter/converters/sampler-parameters.js +29 -180
  9. package/dist/adapter/converters/sampler-parameters.js.map +1 -1
  10. package/dist/adapter/converters/shader-formats.d.ts +9 -0
  11. package/dist/adapter/converters/shader-formats.d.ts.map +1 -0
  12. package/dist/adapter/converters/shader-formats.js +52 -0
  13. package/dist/adapter/converters/shader-formats.js.map +1 -0
  14. package/dist/adapter/converters/texture-formats.d.ts +32 -44
  15. package/dist/adapter/converters/texture-formats.d.ts.map +1 -1
  16. package/dist/adapter/converters/texture-formats.js +306 -343
  17. package/dist/adapter/converters/texture-formats.js.map +1 -1
  18. package/dist/adapter/converters/vertex-formats.d.ts +9 -3
  19. package/dist/adapter/converters/vertex-formats.d.ts.map +1 -1
  20. package/dist/adapter/converters/vertex-formats.js +53 -22
  21. package/dist/adapter/converters/vertex-formats.js.map +1 -1
  22. package/dist/adapter/device-helpers/device-features.d.ts +1 -1
  23. package/dist/adapter/device-helpers/device-features.d.ts.map +1 -1
  24. package/dist/adapter/device-helpers/device-features.js +9 -25
  25. package/dist/adapter/device-helpers/device-features.js.map +1 -1
  26. package/dist/adapter/device-helpers/device-limits.d.ts +3 -3
  27. package/dist/adapter/device-helpers/device-limits.d.ts.map +1 -1
  28. package/dist/adapter/device-helpers/device-limits.js +54 -58
  29. package/dist/adapter/device-helpers/device-limits.js.map +1 -1
  30. package/dist/adapter/device-helpers/get-device-info.d.ts +1 -1
  31. package/dist/adapter/device-helpers/get-device-info.d.ts.map +1 -1
  32. package/dist/adapter/device-helpers/get-device-info.js +49 -22
  33. package/dist/adapter/device-helpers/get-device-info.js.map +1 -1
  34. package/dist/adapter/device-helpers/is-old-ie.d.ts.map +1 -1
  35. package/dist/adapter/device-helpers/is-old-ie.js +2 -1
  36. package/dist/adapter/device-helpers/is-old-ie.js.map +1 -1
  37. package/dist/adapter/helpers/decode-webgl-types.d.ts +26 -0
  38. package/dist/adapter/helpers/decode-webgl-types.d.ts.map +1 -0
  39. package/dist/adapter/helpers/decode-webgl-types.js +89 -0
  40. package/dist/adapter/helpers/decode-webgl-types.js.map +1 -0
  41. package/dist/adapter/helpers/get-shader-layout.d.ts +1 -48
  42. package/dist/adapter/helpers/get-shader-layout.d.ts.map +1 -1
  43. package/dist/adapter/helpers/get-shader-layout.js +58 -138
  44. package/dist/adapter/helpers/get-shader-layout.js.map +1 -1
  45. package/dist/adapter/helpers/parse-shader-compiler-log.d.ts +1 -1
  46. package/dist/adapter/helpers/parse-shader-compiler-log.d.ts.map +1 -1
  47. package/dist/adapter/helpers/parse-shader-compiler-log.js +16 -11
  48. package/dist/adapter/helpers/parse-shader-compiler-log.js.map +1 -1
  49. package/dist/adapter/helpers/set-uniform.d.ts +3 -2
  50. package/dist/adapter/helpers/set-uniform.d.ts.map +1 -1
  51. package/dist/adapter/helpers/set-uniform.js +51 -82
  52. package/dist/adapter/helpers/set-uniform.js.map +1 -1
  53. package/dist/adapter/helpers/webgl-topology-utils.d.ts +16 -0
  54. package/dist/adapter/helpers/webgl-topology-utils.d.ts.map +1 -0
  55. package/dist/adapter/helpers/webgl-topology-utils.js +103 -0
  56. package/dist/adapter/helpers/webgl-topology-utils.js.map +1 -0
  57. package/dist/adapter/objects/constants-to-keys.d.ts +1 -3
  58. package/dist/adapter/objects/constants-to-keys.d.ts.map +1 -1
  59. package/dist/adapter/objects/constants-to-keys.js +2 -29
  60. package/dist/adapter/objects/constants-to-keys.js.map +1 -1
  61. package/dist/adapter/objects/webgl-renderbuffer.d.ts +15 -12
  62. package/dist/adapter/objects/webgl-renderbuffer.d.ts.map +1 -1
  63. package/dist/adapter/objects/webgl-renderbuffer.js +36 -44
  64. package/dist/adapter/objects/webgl-renderbuffer.js.map +1 -1
  65. package/dist/adapter/objects/webgl-resource.d.ts +6 -9
  66. package/dist/adapter/objects/webgl-resource.d.ts.map +1 -1
  67. package/dist/adapter/objects/webgl-resource.js +26 -83
  68. package/dist/adapter/objects/webgl-resource.js.map +1 -1
  69. package/dist/adapter/resources/webgl-buffer.d.ts +19 -14
  70. package/dist/adapter/resources/webgl-buffer.d.ts.map +1 -1
  71. package/dist/adapter/resources/webgl-buffer.js +67 -101
  72. package/dist/adapter/resources/webgl-buffer.js.map +1 -1
  73. package/dist/adapter/resources/webgl-command-buffer.d.ts +15 -9
  74. package/dist/adapter/resources/webgl-command-buffer.d.ts.map +1 -1
  75. package/dist/adapter/resources/webgl-command-buffer.js +175 -48
  76. package/dist/adapter/resources/webgl-command-buffer.js.map +1 -1
  77. package/dist/adapter/resources/webgl-command-encoder.d.ts +7 -6
  78. package/dist/adapter/resources/webgl-command-encoder.d.ts.map +1 -1
  79. package/dist/adapter/resources/webgl-command-encoder.js +10 -20
  80. package/dist/adapter/resources/webgl-command-encoder.js.map +1 -1
  81. package/dist/adapter/resources/webgl-external-texture.js.map +1 -1
  82. package/dist/adapter/resources/webgl-framebuffer.d.ts +21 -25
  83. package/dist/adapter/resources/webgl-framebuffer.d.ts.map +1 -1
  84. package/dist/adapter/resources/webgl-framebuffer.js +63 -175
  85. package/dist/adapter/resources/webgl-framebuffer.js.map +1 -1
  86. package/dist/adapter/resources/webgl-render-pass.d.ts +19 -4
  87. package/dist/adapter/resources/webgl-render-pass.d.ts.map +1 -1
  88. package/dist/adapter/resources/webgl-render-pass.js +98 -12
  89. package/dist/adapter/resources/webgl-render-pass.js.map +1 -1
  90. package/dist/adapter/resources/webgl-render-pipeline.d.ts +34 -20
  91. package/dist/adapter/resources/webgl-render-pipeline.d.ts.map +1 -1
  92. package/dist/adapter/resources/webgl-render-pipeline.js +110 -293
  93. package/dist/adapter/resources/webgl-render-pipeline.js.map +1 -1
  94. package/dist/adapter/resources/webgl-sampler.d.ts +5 -4
  95. package/dist/adapter/resources/webgl-sampler.d.ts.map +1 -1
  96. package/dist/adapter/resources/webgl-sampler.js +11 -21
  97. package/dist/adapter/resources/webgl-sampler.js.map +1 -1
  98. package/dist/adapter/resources/webgl-shader.d.ts +5 -5
  99. package/dist/adapter/resources/webgl-shader.d.ts.map +1 -1
  100. package/dist/adapter/resources/webgl-shader.js +18 -44
  101. package/dist/adapter/resources/webgl-shader.js.map +1 -1
  102. package/dist/adapter/resources/webgl-texture.d.ts +51 -31
  103. package/dist/adapter/resources/webgl-texture.d.ts.map +1 -1
  104. package/dist/adapter/resources/webgl-texture.js +123 -244
  105. package/dist/adapter/resources/webgl-texture.js.map +1 -1
  106. package/dist/adapter/resources/webgl-transform-feedback.d.ts +47 -0
  107. package/dist/adapter/resources/webgl-transform-feedback.d.ts.map +1 -0
  108. package/dist/adapter/resources/webgl-transform-feedback.js +164 -0
  109. package/dist/adapter/resources/webgl-transform-feedback.js.map +1 -0
  110. package/dist/adapter/resources/webgl-vertex-array.d.ts +67 -0
  111. package/dist/adapter/resources/webgl-vertex-array.d.ts.map +1 -0
  112. package/dist/adapter/resources/webgl-vertex-array.js +167 -0
  113. package/dist/adapter/resources/webgl-vertex-array.js.map +1 -0
  114. package/dist/adapter/webgl-canvas-context.d.ts +6 -7
  115. package/dist/adapter/webgl-canvas-context.d.ts.map +1 -1
  116. package/dist/adapter/webgl-canvas-context.js +12 -23
  117. package/dist/adapter/webgl-canvas-context.js.map +1 -1
  118. package/dist/adapter/webgl-device.d.ts +92 -41
  119. package/dist/adapter/webgl-device.d.ts.map +1 -1
  120. package/dist/adapter/webgl-device.js +205 -158
  121. package/dist/adapter/webgl-device.js.map +1 -1
  122. package/dist/classic/accessor.d.ts +3 -3
  123. package/dist/classic/accessor.d.ts.map +1 -1
  124. package/dist/classic/accessor.js +26 -52
  125. package/dist/classic/accessor.js.map +1 -1
  126. package/dist/classic/clear.d.ts +22 -0
  127. package/dist/classic/clear.d.ts.map +1 -0
  128. package/dist/classic/clear.js +88 -0
  129. package/dist/classic/clear.js.map +1 -0
  130. package/dist/classic/copy-and-blit.d.ts +62 -0
  131. package/dist/classic/copy-and-blit.d.ts.map +1 -0
  132. package/dist/classic/copy-and-blit.js +192 -0
  133. package/dist/classic/copy-and-blit.js.map +1 -0
  134. package/dist/classic/format-utils.d.ts +3 -0
  135. package/dist/classic/format-utils.d.ts.map +1 -0
  136. package/dist/classic/format-utils.js +37 -0
  137. package/dist/classic/format-utils.js.map +1 -0
  138. package/dist/classic/typed-array-utils.d.ts +17 -17
  139. package/dist/classic/typed-array-utils.d.ts.map +1 -1
  140. package/dist/classic/typed-array-utils.js +18 -39
  141. package/dist/classic/typed-array-utils.js.map +1 -1
  142. package/dist/context/context/create-browser-context.d.ts +17 -18
  143. package/dist/context/context/create-browser-context.d.ts.map +1 -1
  144. package/dist/context/context/create-browser-context.js +11 -19
  145. package/dist/context/context/create-browser-context.js.map +1 -1
  146. package/dist/context/context/create-headless-context.d.ts +1 -1
  147. package/dist/context/context/create-headless-context.d.ts.map +1 -1
  148. package/dist/context/context/create-headless-context.js +6 -7
  149. package/dist/context/context/create-headless-context.js.map +1 -1
  150. package/dist/context/context/webgl-checks.d.ts.map +1 -1
  151. package/dist/context/context/webgl-checks.js +1 -4
  152. package/dist/context/context/webgl-checks.js.map +1 -1
  153. package/dist/context/debug/spector.d.ts +1 -2
  154. package/dist/context/debug/spector.d.ts.map +1 -1
  155. package/dist/context/debug/spector.js +7 -19
  156. package/dist/context/debug/spector.js.map +1 -1
  157. package/dist/context/debug/webgl-developer-tools.d.ts +1 -1
  158. package/dist/context/debug/webgl-developer-tools.d.ts.map +1 -1
  159. package/dist/context/debug/webgl-developer-tools.js +18 -41
  160. package/dist/context/debug/webgl-developer-tools.js.map +1 -1
  161. package/dist/context/parameters/unified-parameter-api.d.ts +5 -5
  162. package/dist/context/parameters/unified-parameter-api.d.ts.map +1 -1
  163. package/dist/context/parameters/unified-parameter-api.js +9 -17
  164. package/dist/context/parameters/unified-parameter-api.js.map +1 -1
  165. package/dist/context/parameters/webgl-parameter-tables.d.ts +105 -106
  166. package/dist/context/parameters/webgl-parameter-tables.d.ts.map +1 -1
  167. package/dist/context/parameters/webgl-parameter-tables.js +267 -286
  168. package/dist/context/parameters/webgl-parameter-tables.js.map +1 -1
  169. package/dist/context/polyfill/context-data.d.ts +13 -0
  170. package/dist/context/polyfill/context-data.d.ts.map +1 -0
  171. package/dist/context/polyfill/context-data.js +12 -0
  172. package/dist/context/polyfill/context-data.js.map +1 -0
  173. package/dist/context/polyfill/get-parameter-polyfill.d.ts +1 -1
  174. package/dist/context/polyfill/get-parameter-polyfill.d.ts.map +1 -1
  175. package/dist/context/polyfill/get-parameter-polyfill.js +37 -43
  176. package/dist/context/polyfill/get-parameter-polyfill.js.map +1 -1
  177. package/dist/context/polyfill/polyfill-context.d.ts.map +1 -1
  178. package/dist/context/polyfill/polyfill-context.js +27 -31
  179. package/dist/context/polyfill/polyfill-context.js.map +1 -1
  180. package/dist/context/polyfill/polyfill-table.d.ts +7 -7
  181. package/dist/context/polyfill/polyfill-table.d.ts.map +1 -1
  182. package/dist/context/polyfill/polyfill-table.js +17 -40
  183. package/dist/context/polyfill/polyfill-table.js.map +1 -1
  184. package/dist/context/polyfill/polyfill-vertex-array-object.d.ts.map +1 -1
  185. package/dist/context/polyfill/polyfill-vertex-array-object.js +17 -87
  186. package/dist/context/polyfill/polyfill-vertex-array-object.js.map +1 -1
  187. package/dist/context/state-tracker/deep-array-equal.d.ts.map +1 -1
  188. package/dist/context/state-tracker/deep-array-equal.js +0 -4
  189. package/dist/context/state-tracker/deep-array-equal.js.map +1 -1
  190. package/dist/context/state-tracker/track-context-state.d.ts.map +1 -1
  191. package/dist/context/state-tracker/track-context-state.js +25 -61
  192. package/dist/context/state-tracker/track-context-state.js.map +1 -1
  193. package/dist/context/state-tracker/with-parameters.d.ts +2 -1
  194. package/dist/context/state-tracker/with-parameters.d.ts.map +1 -1
  195. package/dist/context/state-tracker/with-parameters.js +8 -10
  196. package/dist/context/state-tracker/with-parameters.js.map +1 -1
  197. package/dist/dist.dev.js +9344 -0
  198. package/dist/index.cjs +6556 -0
  199. package/dist/index.d.ts +23 -24
  200. package/dist/index.d.ts.map +1 -1
  201. package/dist/index.js +27 -27
  202. package/dist/index.js.map +1 -1
  203. package/dist/types.d.ts +3 -1
  204. package/dist/types.d.ts.map +1 -1
  205. package/dist/types.js.map +1 -1
  206. package/dist.min.js +52 -0
  207. package/package.json +21 -9
  208. package/src/adapter/converters/device-parameters.ts +120 -43
  209. package/src/adapter/converters/sampler-parameters.ts +54 -126
  210. package/src/adapter/converters/shader-formats.ts +44 -0
  211. package/src/adapter/converters/texture-formats.ts +265 -192
  212. package/src/adapter/converters/vertex-formats.ts +71 -10
  213. package/src/adapter/device-helpers/device-features.ts +5 -2
  214. package/src/adapter/device-helpers/device-limits.ts +4 -2
  215. package/src/adapter/device-helpers/get-device-info.ts +72 -18
  216. package/src/adapter/device-helpers/is-old-ie.ts +3 -0
  217. package/src/adapter/helpers/{uniforms.ts → decode-webgl-types.ts} +31 -24
  218. package/src/adapter/helpers/get-shader-layout.ts +87 -131
  219. package/src/adapter/helpers/parse-shader-compiler-log.ts +24 -8
  220. package/src/adapter/helpers/set-uniform.ts +39 -35
  221. package/src/adapter/helpers/webgl-topology-utils.ts +103 -0
  222. package/src/adapter/objects/constants-to-keys.ts +6 -25
  223. package/src/adapter/objects/webgl-renderbuffer.ts +43 -37
  224. package/src/adapter/objects/webgl-resource.ts +16 -23
  225. package/src/adapter/resources/webgl-buffer.ts +101 -106
  226. package/src/adapter/resources/webgl-command-buffer.ts +327 -25
  227. package/src/adapter/resources/webgl-command-encoder.ts +20 -12
  228. package/src/adapter/resources/webgl-external-texture.ts +5 -2
  229. package/src/adapter/resources/webgl-framebuffer.ts +86 -133
  230. package/src/adapter/resources/webgl-render-pass.ts +165 -4
  231. package/src/adapter/resources/webgl-render-pipeline.ts +209 -205
  232. package/src/adapter/resources/webgl-sampler.ts +12 -8
  233. package/src/adapter/resources/webgl-shader.ts +32 -27
  234. package/src/adapter/resources/webgl-texture.ts +117 -91
  235. package/src/adapter/resources/webgl-transform-feedback.ts +202 -0
  236. package/src/adapter/resources/webgl-vertex-array.ts +283 -0
  237. package/src/adapter/webgl-canvas-context.ts +18 -13
  238. package/src/adapter/webgl-device.ts +327 -92
  239. package/src/classic/accessor.ts +8 -5
  240. package/src/classic/clear.ts +113 -0
  241. package/src/classic/copy-and-blit.ts +312 -0
  242. package/src/classic/format-utils.ts +46 -0
  243. package/src/classic/typed-array-utils.ts +19 -27
  244. package/src/context/context/create-browser-context.ts +53 -31
  245. package/src/context/context/create-headless-context.ts +5 -2
  246. package/src/context/context/webgl-checks.ts +3 -1
  247. package/src/context/debug/spector.ts +8 -5
  248. package/src/context/debug/webgl-developer-tools.ts +26 -17
  249. package/src/context/parameters/unified-parameter-api.ts +15 -9
  250. package/src/context/parameters/webgl-parameter-tables.ts +120 -98
  251. package/src/context/polyfill/context-data.ts +30 -0
  252. package/src/context/polyfill/get-parameter-polyfill.ts +11 -7
  253. package/src/context/polyfill/polyfill-context.ts +15 -8
  254. package/src/context/polyfill/polyfill-table.ts +20 -15
  255. package/src/context/polyfill/polyfill-vertex-array-object.ts +5 -0
  256. package/src/context/state-tracker/deep-array-equal.ts +2 -0
  257. package/src/context/state-tracker/track-context-state.ts +13 -10
  258. package/src/context/state-tracker/with-parameters.ts +13 -4
  259. package/src/index.ts +65 -39
  260. package/src/types.ts +5 -0
  261. package/dist/adapter/converters/renderbuffer-formats.d.ts +0 -16
  262. package/dist/adapter/converters/renderbuffer-formats.d.ts.map +0 -1
  263. package/dist/adapter/converters/renderbuffer-formats.js +0 -185
  264. package/dist/adapter/converters/renderbuffer-formats.js.map +0 -1
  265. package/dist/adapter/helpers/attribute-utils.d.ts +0 -11
  266. package/dist/adapter/helpers/attribute-utils.d.ts.map +0 -1
  267. package/dist/adapter/helpers/attribute-utils.js +0 -81
  268. package/dist/adapter/helpers/attribute-utils.js.map +0 -1
  269. package/dist/adapter/helpers/uniforms.d.ts +0 -26
  270. package/dist/adapter/helpers/uniforms.d.ts.map +0 -1
  271. package/dist/adapter/helpers/uniforms.js +0 -99
  272. package/dist/adapter/helpers/uniforms.js.map +0 -1
  273. package/dist/adapter/objects/webgl-vertex-array-object.d.ts +0 -27
  274. package/dist/adapter/objects/webgl-vertex-array-object.d.ts.map +0 -1
  275. package/dist/adapter/objects/webgl-vertex-array-object.js +0 -84
  276. package/dist/adapter/objects/webgl-vertex-array-object.js.map +0 -1
  277. package/dist/bundle.d.ts +0 -2
  278. package/dist/bundle.d.ts.map +0 -1
  279. package/dist/bundle.js +0 -5
  280. package/dist/bundle.js.map +0 -1
  281. package/dist/classic/buffer.d.ts +0 -95
  282. package/dist/classic/buffer.d.ts.map +0 -1
  283. package/dist/classic/buffer.js +0 -392
  284. package/dist/classic/buffer.js.map +0 -1
  285. package/dist/context/context/context-state.d.ts +0 -18
  286. package/dist/context/context/context-state.d.ts.map +0 -1
  287. package/dist/context/context/context-state.js +0 -26
  288. package/dist/context/context/context-state.js.map +0 -1
  289. package/dist/context/context/device-pixels.d.ts +0 -25
  290. package/dist/context/context/device-pixels.d.ts.map +0 -1
  291. package/dist/context/context/device-pixels.js +0 -103
  292. package/dist/context/context/device-pixels.js.map +0 -1
  293. package/dist/es5/adapter/converters/device-parameters.js +0 -185
  294. package/dist/es5/adapter/converters/device-parameters.js.map +0 -1
  295. package/dist/es5/adapter/converters/renderbuffer-formats.js +0 -163
  296. package/dist/es5/adapter/converters/renderbuffer-formats.js.map +0 -1
  297. package/dist/es5/adapter/converters/sampler-parameters.js +0 -245
  298. package/dist/es5/adapter/converters/sampler-parameters.js.map +0 -1
  299. package/dist/es5/adapter/converters/texture-formats.js +0 -1031
  300. package/dist/es5/adapter/converters/texture-formats.js.map +0 -1
  301. package/dist/es5/adapter/converters/vertex-formats.js +0 -45
  302. package/dist/es5/adapter/converters/vertex-formats.js.map +0 -1
  303. package/dist/es5/adapter/device-helpers/device-features.js +0 -155
  304. package/dist/es5/adapter/device-helpers/device-features.js.map +0 -1
  305. package/dist/es5/adapter/device-helpers/device-limits.js +0 -64
  306. package/dist/es5/adapter/device-helpers/device-limits.js.map +0 -1
  307. package/dist/es5/adapter/device-helpers/get-device-info.js +0 -55
  308. package/dist/es5/adapter/device-helpers/get-device-info.js.map +0 -1
  309. package/dist/es5/adapter/device-helpers/is-old-ie.js +0 -16
  310. package/dist/es5/adapter/device-helpers/is-old-ie.js.map +0 -1
  311. package/dist/es5/adapter/helpers/attribute-utils.js +0 -91
  312. package/dist/es5/adapter/helpers/attribute-utils.js.map +0 -1
  313. package/dist/es5/adapter/helpers/get-shader-layout.js +0 -391
  314. package/dist/es5/adapter/helpers/get-shader-layout.js.map +0 -1
  315. package/dist/es5/adapter/helpers/parse-shader-compiler-log.js +0 -72
  316. package/dist/es5/adapter/helpers/parse-shader-compiler-log.js.map +0 -1
  317. package/dist/es5/adapter/helpers/set-uniform.js +0 -125
  318. package/dist/es5/adapter/helpers/set-uniform.js.map +0 -1
  319. package/dist/es5/adapter/helpers/uniforms.js +0 -112
  320. package/dist/es5/adapter/helpers/uniforms.js.map +0 -1
  321. package/dist/es5/adapter/objects/constants-to-keys.js +0 -54
  322. package/dist/es5/adapter/objects/constants-to-keys.js.map +0 -1
  323. package/dist/es5/adapter/objects/webgl-renderbuffer.js +0 -150
  324. package/dist/es5/adapter/objects/webgl-renderbuffer.js.map +0 -1
  325. package/dist/es5/adapter/objects/webgl-resource.js +0 -292
  326. package/dist/es5/adapter/objects/webgl-resource.js.map +0 -1
  327. package/dist/es5/adapter/objects/webgl-vertex-array-object.js +0 -137
  328. package/dist/es5/adapter/objects/webgl-vertex-array-object.js.map +0 -1
  329. package/dist/es5/adapter/resources/webgl-buffer.js +0 -243
  330. package/dist/es5/adapter/resources/webgl-buffer.js.map +0 -1
  331. package/dist/es5/adapter/resources/webgl-command-buffer.js +0 -96
  332. package/dist/es5/adapter/resources/webgl-command-buffer.js.map +0 -1
  333. package/dist/es5/adapter/resources/webgl-command-encoder.js +0 -98
  334. package/dist/es5/adapter/resources/webgl-command-encoder.js.map +0 -1
  335. package/dist/es5/adapter/resources/webgl-external-texture.js +0 -2
  336. package/dist/es5/adapter/resources/webgl-external-texture.js.map +0 -1
  337. package/dist/es5/adapter/resources/webgl-framebuffer.js +0 -346
  338. package/dist/es5/adapter/resources/webgl-framebuffer.js.map +0 -1
  339. package/dist/es5/adapter/resources/webgl-render-pass.js +0 -62
  340. package/dist/es5/adapter/resources/webgl-render-pass.js.map +0 -1
  341. package/dist/es5/adapter/resources/webgl-render-pipeline.js +0 -530
  342. package/dist/es5/adapter/resources/webgl-render-pipeline.js.map +0 -1
  343. package/dist/es5/adapter/resources/webgl-sampler.js +0 -96
  344. package/dist/es5/adapter/resources/webgl-sampler.js.map +0 -1
  345. package/dist/es5/adapter/resources/webgl-shader.js +0 -150
  346. package/dist/es5/adapter/resources/webgl-shader.js.map +0 -1
  347. package/dist/es5/adapter/resources/webgl-texture.js +0 -986
  348. package/dist/es5/adapter/resources/webgl-texture.js.map +0 -1
  349. package/dist/es5/adapter/webgl-canvas-context.js +0 -97
  350. package/dist/es5/adapter/webgl-canvas-context.js.map +0 -1
  351. package/dist/es5/adapter/webgl-device.js +0 -463
  352. package/dist/es5/adapter/webgl-device.js.map +0 -1
  353. package/dist/es5/bundle.js +0 -7
  354. package/dist/es5/bundle.js.map +0 -1
  355. package/dist/es5/classic/accessor.js +0 -181
  356. package/dist/es5/classic/accessor.js.map +0 -1
  357. package/dist/es5/classic/buffer.js +0 -478
  358. package/dist/es5/classic/buffer.js.map +0 -1
  359. package/dist/es5/classic/typed-array-utils.js +0 -126
  360. package/dist/es5/classic/typed-array-utils.js.map +0 -1
  361. package/dist/es5/context/context/context-state.js +0 -31
  362. package/dist/es5/context/context/context-state.js.map +0 -1
  363. package/dist/es5/context/context/create-browser-context.js +0 -83
  364. package/dist/es5/context/context/create-browser-context.js.map +0 -1
  365. package/dist/es5/context/context/create-headless-context.js +0 -60
  366. package/dist/es5/context/context/create-headless-context.js.map +0 -1
  367. package/dist/es5/context/context/device-pixels.js +0 -121
  368. package/dist/es5/context/context/device-pixels.js.map +0 -1
  369. package/dist/es5/context/context/webgl-checks.js +0 -54
  370. package/dist/es5/context/context/webgl-checks.js.map +0 -1
  371. package/dist/es5/context/debug/spector.js +0 -133
  372. package/dist/es5/context/debug/spector.js.map +0 -1
  373. package/dist/es5/context/debug/webgl-developer-tools.js +0 -198
  374. package/dist/es5/context/debug/webgl-developer-tools.js.map +0 -1
  375. package/dist/es5/context/parameters/unified-parameter-api.js +0 -97
  376. package/dist/es5/context/parameters/unified-parameter-api.js.map +0 -1
  377. package/dist/es5/context/parameters/webgl-parameter-tables.js +0 -392
  378. package/dist/es5/context/parameters/webgl-parameter-tables.js.map +0 -1
  379. package/dist/es5/context/polyfill/get-parameter-polyfill.js +0 -81
  380. package/dist/es5/context/polyfill/get-parameter-polyfill.js.map +0 -1
  381. package/dist/es5/context/polyfill/polyfill-context.js +0 -134
  382. package/dist/es5/context/polyfill/polyfill-context.js.map +0 -1
  383. package/dist/es5/context/polyfill/polyfill-table.js +0 -166
  384. package/dist/es5/context/polyfill/polyfill-table.js.map +0 -1
  385. package/dist/es5/context/polyfill/polyfill-vertex-array-object.js +0 -341
  386. package/dist/es5/context/polyfill/polyfill-vertex-array-object.js.map +0 -1
  387. package/dist/es5/context/state-tracker/deep-array-equal.js +0 -28
  388. package/dist/es5/context/state-tracker/deep-array-equal.js.map +0 -1
  389. package/dist/es5/context/state-tracker/track-context-state.js +0 -211
  390. package/dist/es5/context/state-tracker/track-context-state.js.map +0 -1
  391. package/dist/es5/context/state-tracker/with-parameters.js +0 -44
  392. package/dist/es5/context/state-tracker/with-parameters.js.map +0 -1
  393. package/dist/es5/index.js +0 -290
  394. package/dist/es5/index.js.map +0 -1
  395. package/dist/es5/init.js +0 -10
  396. package/dist/es5/init.js.map +0 -1
  397. package/dist/es5/types/webgl.js +0 -6
  398. package/dist/es5/types/webgl.js.map +0 -1
  399. package/dist/es5/types.js +0 -2
  400. package/dist/es5/types.js.map +0 -1
  401. package/dist/esm/adapter/converters/device-parameters.js +0 -168
  402. package/dist/esm/adapter/converters/device-parameters.js.map +0 -1
  403. package/dist/esm/adapter/converters/renderbuffer-formats.js +0 -185
  404. package/dist/esm/adapter/converters/renderbuffer-formats.js.map +0 -1
  405. package/dist/esm/adapter/converters/sampler-parameters.js +0 -227
  406. package/dist/esm/adapter/converters/sampler-parameters.js.map +0 -1
  407. package/dist/esm/adapter/converters/texture-formats.js +0 -954
  408. package/dist/esm/adapter/converters/texture-formats.js.map +0 -1
  409. package/dist/esm/adapter/converters/vertex-formats.js +0 -35
  410. package/dist/esm/adapter/converters/vertex-formats.js.map +0 -1
  411. package/dist/esm/adapter/device-helpers/device-features.js +0 -112
  412. package/dist/esm/adapter/device-helpers/device-features.js.map +0 -1
  413. package/dist/esm/adapter/device-helpers/device-limits.js +0 -91
  414. package/dist/esm/adapter/device-helpers/device-limits.js.map +0 -1
  415. package/dist/esm/adapter/device-helpers/get-device-info.js +0 -44
  416. package/dist/esm/adapter/device-helpers/get-device-info.js.map +0 -1
  417. package/dist/esm/adapter/device-helpers/is-old-ie.js +0 -8
  418. package/dist/esm/adapter/device-helpers/is-old-ie.js.map +0 -1
  419. package/dist/esm/adapter/helpers/attribute-utils.js +0 -81
  420. package/dist/esm/adapter/helpers/attribute-utils.js.map +0 -1
  421. package/dist/esm/adapter/helpers/get-shader-layout.js +0 -330
  422. package/dist/esm/adapter/helpers/get-shader-layout.js.map +0 -1
  423. package/dist/esm/adapter/helpers/parse-shader-compiler-log.js +0 -37
  424. package/dist/esm/adapter/helpers/parse-shader-compiler-log.js.map +0 -1
  425. package/dist/esm/adapter/helpers/set-uniform.js +0 -115
  426. package/dist/esm/adapter/helpers/set-uniform.js.map +0 -1
  427. package/dist/esm/adapter/helpers/uniforms.js +0 -99
  428. package/dist/esm/adapter/helpers/uniforms.js.map +0 -1
  429. package/dist/esm/adapter/objects/constants-to-keys.js +0 -42
  430. package/dist/esm/adapter/objects/constants-to-keys.js.map +0 -1
  431. package/dist/esm/adapter/objects/webgl-renderbuffer.js +0 -94
  432. package/dist/esm/adapter/objects/webgl-renderbuffer.js.map +0 -1
  433. package/dist/esm/adapter/objects/webgl-resource.js +0 -216
  434. package/dist/esm/adapter/objects/webgl-resource.js.map +0 -1
  435. package/dist/esm/adapter/objects/webgl-vertex-array-object.js +0 -84
  436. package/dist/esm/adapter/objects/webgl-vertex-array-object.js.map +0 -1
  437. package/dist/esm/adapter/resources/webgl-buffer.js +0 -164
  438. package/dist/esm/adapter/resources/webgl-buffer.js.map +0 -1
  439. package/dist/esm/adapter/resources/webgl-command-buffer.js +0 -65
  440. package/dist/esm/adapter/resources/webgl-command-buffer.js.map +0 -1
  441. package/dist/esm/adapter/resources/webgl-command-encoder.js +0 -53
  442. package/dist/esm/adapter/resources/webgl-command-encoder.js.map +0 -1
  443. package/dist/esm/adapter/resources/webgl-external-texture.js +0 -2
  444. package/dist/esm/adapter/resources/webgl-external-texture.js.map +0 -1
  445. package/dist/esm/adapter/resources/webgl-framebuffer.js +0 -267
  446. package/dist/esm/adapter/resources/webgl-framebuffer.js.map +0 -1
  447. package/dist/esm/adapter/resources/webgl-render-pass.js +0 -21
  448. package/dist/esm/adapter/resources/webgl-render-pass.js.map +0 -1
  449. package/dist/esm/adapter/resources/webgl-render-pipeline.js +0 -428
  450. package/dist/esm/adapter/resources/webgl-render-pipeline.js.map +0 -1
  451. package/dist/esm/adapter/resources/webgl-sampler.js +0 -50
  452. package/dist/esm/adapter/resources/webgl-sampler.js.map +0 -1
  453. package/dist/esm/adapter/resources/webgl-shader.js +0 -76
  454. package/dist/esm/adapter/resources/webgl-shader.js.map +0 -1
  455. package/dist/esm/adapter/resources/webgl-texture.js +0 -834
  456. package/dist/esm/adapter/resources/webgl-texture.js.map +0 -1
  457. package/dist/esm/adapter/webgl-canvas-context.js +0 -54
  458. package/dist/esm/adapter/webgl-canvas-context.js.map +0 -1
  459. package/dist/esm/adapter/webgl-device.js +0 -337
  460. package/dist/esm/adapter/webgl-device.js.map +0 -1
  461. package/dist/esm/bundle.js +0 -5
  462. package/dist/esm/bundle.js.map +0 -1
  463. package/dist/esm/classic/accessor.js +0 -144
  464. package/dist/esm/classic/accessor.js.map +0 -1
  465. package/dist/esm/classic/buffer.js +0 -392
  466. package/dist/esm/classic/buffer.js.map +0 -1
  467. package/dist/esm/classic/typed-array-utils.js +0 -112
  468. package/dist/esm/classic/typed-array-utils.js.map +0 -1
  469. package/dist/esm/context/context/context-state.js +0 -26
  470. package/dist/esm/context/context/context-state.js.map +0 -1
  471. package/dist/esm/context/context/create-browser-context.js +0 -61
  472. package/dist/esm/context/context/create-browser-context.js.map +0 -1
  473. package/dist/esm/context/context/create-headless-context.js +0 -43
  474. package/dist/esm/context/context/create-headless-context.js.map +0 -1
  475. package/dist/esm/context/context/device-pixels.js +0 -103
  476. package/dist/esm/context/context/device-pixels.js.map +0 -1
  477. package/dist/esm/context/context/webgl-checks.js +0 -34
  478. package/dist/esm/context/context/webgl-checks.js.map +0 -1
  479. package/dist/esm/context/debug/spector.js +0 -76
  480. package/dist/esm/context/debug/spector.js.map +0 -1
  481. package/dist/esm/context/debug/webgl-developer-tools.js +0 -121
  482. package/dist/esm/context/debug/webgl-developer-tools.js.map +0 -1
  483. package/dist/esm/context/parameters/unified-parameter-api.js +0 -63
  484. package/dist/esm/context/parameters/unified-parameter-api.js.map +0 -1
  485. package/dist/esm/context/parameters/webgl-parameter-tables.js +0 -445
  486. package/dist/esm/context/parameters/webgl-parameter-tables.js.map +0 -1
  487. package/dist/esm/context/polyfill/get-parameter-polyfill.js +0 -91
  488. package/dist/esm/context/polyfill/get-parameter-polyfill.js.map +0 -1
  489. package/dist/esm/context/polyfill/polyfill-context.js +0 -91
  490. package/dist/esm/context/polyfill/polyfill-context.js.map +0 -1
  491. package/dist/esm/context/polyfill/polyfill-table.js +0 -160
  492. package/dist/esm/context/polyfill/polyfill-table.js.map +0 -1
  493. package/dist/esm/context/polyfill/polyfill-vertex-array-object.js +0 -335
  494. package/dist/esm/context/polyfill/polyfill-vertex-array-object.js.map +0 -1
  495. package/dist/esm/context/state-tracker/deep-array-equal.js +0 -21
  496. package/dist/esm/context/state-tracker/deep-array-equal.js.map +0 -1
  497. package/dist/esm/context/state-tracker/track-context-state.js +0 -183
  498. package/dist/esm/context/state-tracker/track-context-state.js.map +0 -1
  499. package/dist/esm/context/state-tracker/with-parameters.js +0 -36
  500. package/dist/esm/context/state-tracker/with-parameters.js.map +0 -1
  501. package/dist/esm/index.js +0 -28
  502. package/dist/esm/index.js.map +0 -1
  503. package/dist/esm/init.js +0 -4
  504. package/dist/esm/init.js.map +0 -1
  505. package/dist/esm/types/webgl.js +0 -2
  506. package/dist/esm/types/webgl.js.map +0 -1
  507. package/dist/esm/types.js +0 -2
  508. package/dist/esm/types.js.map +0 -1
  509. package/dist/init.d.ts +0 -2
  510. package/dist/init.d.ts.map +0 -1
  511. package/dist/init.js +0 -4
  512. package/dist/init.js.map +0 -1
  513. package/dist/types/webgl.d.ts +0 -145
  514. package/dist/types/webgl.d.ts.map +0 -1
  515. package/dist/types/webgl.js +0 -2
  516. package/dist/types/webgl.js.map +0 -1
  517. package/src/adapter/converters/renderbuffer-formats.ts +0 -92
  518. package/src/adapter/helpers/attribute-utils.ts +0 -61
  519. package/src/adapter/objects/webgl-vertex-array-object.ts +0 -111
  520. package/src/bundle.ts +0 -4
  521. package/src/classic/buffer.ts +0 -474
  522. package/src/context/context/context-state.ts +0 -41
  523. package/src/context/context/device-pixels.ts +0 -158
  524. package/src/init.ts +0 -4
  525. package/src/types/webgl.ts +0 -284
@@ -1,77 +1,59 @@
1
- import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
2
- import { isObjectEmpty } from '@luma.gl/api';
3
- import { Texture, cast, log, assert, isPowerOfTwo, loadImage } from '@luma.gl/api';
4
- import GL from '@luma.gl/constants';
5
- import { withParameters } from '../../context/state-tracker/with-parameters';
6
- import { getWebGLTextureFormat, getWebGLTextureParameters, getTextureFormatBytesPerPixel } from '../converters/texture-formats';
7
- import { convertSamplerParametersToWebGL, updateSamplerParametersForNPOT } from '../converters/sampler-parameters';
8
- import WEBGLBuffer from './webgl-buffer';
9
- import WEBGLSampler from './webgl-sampler';
10
- export default class WEBGLTexture extends Texture {
1
+ import { Texture, log, assert, isPowerOfTwo, loadImage, isObjectEmpty } from '@luma.gl/core';
2
+ import { withGLParameters } from "../../context/state-tracker/with-parameters.js";
3
+ import { convertTextureFormatToGL, getWebGLTextureParameters, getTextureFormatBytesPerPixel } from "../converters/texture-formats.js";
4
+ import { convertSamplerParametersToWebGL, updateSamplerParametersForNPOT } from "../converters/sampler-parameters.js";
5
+ import { WEBGLBuffer } from "./webgl-buffer.js";
6
+ import { WEBGLSampler } from "./webgl-sampler.js";
7
+ export const DEFAULT_WEBGL_TEXTURE_PROPS = {
8
+ parameters: {},
9
+ pixelStore: {},
10
+ pixels: null,
11
+ border: 0,
12
+ dataFormat: undefined,
13
+ textureUnit: undefined,
14
+ target: undefined
15
+ };
16
+ export class WEBGLTexture extends Texture {
11
17
  constructor(device, props) {
12
18
  var _this$props;
13
-
14
19
  super(device, {
15
- format: GL.RGBA,
20
+ ...DEFAULT_WEBGL_TEXTURE_PROPS,
21
+ format: 'rgba8unorm',
16
22
  ...props
17
23
  });
18
-
19
- _defineProperty(this, "MAX_ATTRIBUTES", void 0);
20
-
21
- _defineProperty(this, "device", void 0);
22
-
23
- _defineProperty(this, "gl", void 0);
24
-
25
- _defineProperty(this, "gl2", void 0);
26
-
27
- _defineProperty(this, "handle", void 0);
28
-
29
- _defineProperty(this, "data", void 0);
30
-
31
- _defineProperty(this, "width", undefined);
32
-
33
- _defineProperty(this, "height", undefined);
34
-
35
- _defineProperty(this, "depth", undefined);
36
-
37
- _defineProperty(this, "format", undefined);
38
-
39
- _defineProperty(this, "type", undefined);
40
-
41
- _defineProperty(this, "dataFormat", undefined);
42
-
43
- _defineProperty(this, "mipmaps", undefined);
44
-
45
- _defineProperty(this, "target", void 0);
46
-
47
- _defineProperty(this, "textureUnit", undefined);
48
-
49
- _defineProperty(this, "sampler", undefined);
50
-
51
- _defineProperty(this, "loaded", false);
52
-
53
- _defineProperty(this, "_video", void 0);
54
-
55
- this.device = cast(device);
24
+ this.MAX_ATTRIBUTES = void 0;
25
+ this.device = void 0;
26
+ this.gl = void 0;
27
+ this.gl2 = void 0;
28
+ this.handle = void 0;
29
+ this.sampler = undefined;
30
+ this.glFormat = undefined;
31
+ this.type = undefined;
32
+ this.dataFormat = undefined;
33
+ this.mipmaps = undefined;
34
+ this.target = void 0;
35
+ this.textureUnit = undefined;
36
+ this.loaded = false;
37
+ this._video = void 0;
38
+ this.device = device;
56
39
  this.gl = this.device.gl;
57
40
  this.gl2 = this.device.gl2;
58
41
  this.handle = this.props.handle || this.gl.createTexture();
59
- this.handle.__SPECTOR_Metadata = { ...this.props,
42
+ this.device.setSpectorMetadata(this.handle, {
43
+ ...this.props,
60
44
  data: typeof this.props.data
61
- };
45
+ });
46
+ this.glFormat = 6408;
62
47
  this.target = getWebGLTextureTarget(this.props);
63
48
  this.loaded = false;
64
-
65
49
  if (typeof ((_this$props = this.props) === null || _this$props === void 0 ? void 0 : _this$props.data) === 'string') {
66
50
  Object.assign(this.props, {
67
51
  data: loadImage(this.props.data)
68
52
  });
69
53
  }
70
-
71
54
  this.initialize(this.props);
72
55
  Object.seal(this);
73
56
  }
74
-
75
57
  destroy() {
76
58
  if (this.handle) {
77
59
  this.gl.deleteTexture(this.handle);
@@ -80,18 +62,15 @@ export default class WEBGLTexture extends Texture {
80
62
  this.destroyed = true;
81
63
  }
82
64
  }
83
-
84
65
  toString() {
85
- return "Texture(".concat(this.id, ",").concat(this.width, "x").concat(this.height, ")");
66
+ return `Texture(${this.id},${this.width}x${this.height})`;
86
67
  }
87
-
88
- initialize(props = {}) {
68
+ initialize() {
69
+ let props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
89
70
  if (this.props.dimension === 'cube') {
90
71
  return this.initializeCube(props);
91
72
  }
92
-
93
73
  let data = props.data;
94
-
95
74
  if (data instanceof Promise) {
96
75
  data.then(resolvedImageData => this.initialize(Object.assign({}, props, {
97
76
  pixels: resolvedImageData,
@@ -99,29 +78,23 @@ export default class WEBGLTexture extends Texture {
99
78
  })));
100
79
  return this;
101
80
  }
102
-
103
81
  const isVideo = typeof HTMLVideoElement !== 'undefined' && data instanceof HTMLVideoElement;
104
-
105
82
  if (isVideo && data.readyState < HTMLVideoElement.HAVE_METADATA) {
106
83
  this._video = null;
107
84
  data.addEventListener('loadeddata', () => this.initialize(props));
108
85
  return this;
109
86
  }
110
-
111
- let {
87
+ const {
112
88
  parameters = {}
113
89
  } = props;
114
90
  const {
115
91
  pixels = null,
116
- recreate = false,
117
92
  pixelStore = {},
118
93
  textureUnit = undefined
119
94
  } = props;
120
-
121
95
  if (!data) {
122
96
  data = pixels;
123
97
  }
124
-
125
98
  let {
126
99
  width,
127
100
  height,
@@ -133,6 +106,7 @@ export default class WEBGLTexture extends Texture {
133
106
  const {
134
107
  depth = 0
135
108
  } = props;
109
+ const glFormat = convertTextureFormatToGL(props.format, this.device.isWebGL2);
136
110
  ({
137
111
  width,
138
112
  height,
@@ -148,49 +122,37 @@ export default class WEBGLTexture extends Texture {
148
122
  width,
149
123
  height
150
124
  }));
151
- const format = getWebGLTextureFormat(this.gl, props.format);
152
125
  this.width = width;
153
126
  this.height = height;
154
- this.depth = depth;
155
- this.format = format;
127
+ this.glFormat = glFormat;
156
128
  this.type = type;
157
129
  this.dataFormat = dataFormat;
158
130
  this.textureUnit = textureUnit;
159
-
160
131
  if (Number.isFinite(this.textureUnit)) {
161
- this.gl.activeTexture(GL.TEXTURE0 + this.textureUnit);
132
+ this.gl.activeTexture(33984 + this.textureUnit);
162
133
  this.gl.bindTexture(this.target, this.handle);
163
134
  }
164
-
165
135
  if (mipmaps && this.device.isWebGL1 && isNPOT(this.width, this.height)) {
166
- log.warn("texture: ".concat(this, " is Non-Power-Of-Two, disabling mipmaps"))();
136
+ log.warn(`texture: ${this} is Non-Power-Of-Two, disabling mipmaps`)();
167
137
  mipmaps = false;
168
138
  }
169
-
170
139
  this.mipmaps = mipmaps;
171
140
  this.setImageData({
172
141
  data,
173
142
  width,
174
143
  height,
175
144
  depth,
176
- format,
145
+ format: glFormat,
177
146
  type,
178
147
  dataFormat,
179
148
  parameters: pixelStore,
180
149
  compressed
181
150
  });
182
151
  this.setSampler(props.sampler);
183
-
184
152
  this._setSamplerParameters(parameters);
185
-
186
153
  if (mipmaps) {
187
154
  this.generateMipmap();
188
155
  }
189
-
190
- if (recreate) {
191
- this.data = data;
192
- }
193
-
194
156
  if (isVideo) {
195
157
  this._video = {
196
158
  video: data,
@@ -198,10 +160,8 @@ export default class WEBGLTexture extends Texture {
198
160
  lastTime: data.readyState >= HTMLVideoElement.HAVE_CURRENT_DATA ? data.currentTime : -1
199
161
  };
200
162
  }
201
-
202
163
  return this;
203
164
  }
204
-
205
165
  initializeCube(props) {
206
166
  const {
207
167
  mipmaps = true,
@@ -209,21 +169,17 @@ export default class WEBGLTexture extends Texture {
209
169
  } = props;
210
170
  this.setCubeMapImageData(props).then(() => {
211
171
  this.loaded = true;
212
-
213
172
  if (mipmaps) {
214
173
  this.generateMipmap(props);
215
174
  }
216
-
217
175
  this.setSampler(props.sampler);
218
-
219
176
  this._setSamplerParameters(parameters);
220
177
  });
221
178
  return this;
222
179
  }
223
-
224
- setSampler(sampler = {}) {
180
+ setSampler() {
181
+ let sampler = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
225
182
  let samplerProps;
226
-
227
183
  if (sampler instanceof WEBGLSampler) {
228
184
  this.sampler = sampler;
229
185
  samplerProps = sampler.props;
@@ -231,21 +187,16 @@ export default class WEBGLTexture extends Texture {
231
187
  this.sampler = new WEBGLSampler(this.device, sampler);
232
188
  samplerProps = sampler;
233
189
  }
234
-
235
190
  const parameters = convertSamplerParametersToWebGL(samplerProps);
236
-
237
191
  this._setSamplerParameters(parameters);
238
-
239
192
  return this;
240
193
  }
241
-
242
194
  resize(options) {
243
195
  const {
244
196
  height,
245
197
  width,
246
198
  mipmaps = false
247
199
  } = options;
248
-
249
200
  if (width !== this.width || height !== this.height) {
250
201
  return this.initialize({
251
202
  width,
@@ -256,10 +207,8 @@ export default class WEBGLTexture extends Texture {
256
207
  mipmaps
257
208
  });
258
209
  }
259
-
260
210
  return this;
261
211
  }
262
-
263
212
  update() {
264
213
  if (this._video) {
265
214
  const {
@@ -267,50 +216,43 @@ export default class WEBGLTexture extends Texture {
267
216
  parameters,
268
217
  lastTime
269
218
  } = this._video;
270
-
271
219
  if (lastTime === video.currentTime || video.readyState < HTMLVideoElement.HAVE_CURRENT_DATA) {
272
220
  return;
273
221
  }
274
-
275
222
  this.setSubImageData({
276
223
  data: video,
277
224
  parameters
278
225
  });
279
-
280
226
  if (this.mipmaps) {
281
227
  this.generateMipmap();
282
228
  }
283
-
284
229
  this._video.lastTime = video.currentTime;
285
230
  }
286
231
  }
287
-
288
- generateMipmap(params = {}) {
232
+ generateMipmap() {
233
+ let params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
289
234
  if (this.device.isWebGL1 && isNPOT(this.width, this.height)) {
290
- log.warn("texture: ".concat(this, " is Non-Power-Of-Two, disabling mipmaping"))();
235
+ log.warn(`texture: ${this} is Non-Power-Of-Two, disabling mipmaping`)();
291
236
  return this;
292
237
  }
293
-
294
238
  this.mipmaps = true;
295
239
  this.gl.bindTexture(this.target, this.handle);
296
- withParameters(this.gl, params, () => {
240
+ withGLParameters(this.gl, params, () => {
297
241
  this.gl.generateMipmap(this.target);
298
242
  });
299
243
  this.gl.bindTexture(this.target, null);
300
244
  return this;
301
245
  }
302
-
303
246
  setImageData(options) {
304
- if (this.props.dimension === '3d') {
247
+ if (this.props.dimension === '3d' || this.props.dimension === '2d-array') {
305
248
  return this.setImageData3D(options);
306
249
  }
307
-
308
250
  this.trackDeallocatedMemory('Texture');
309
251
  const {
310
252
  target = this.target,
311
253
  pixels = null,
312
254
  level = 0,
313
- format = this.format,
255
+ glFormat = this.glFormat,
314
256
  offset = 0,
315
257
  parameters = {}
316
258
  } = options;
@@ -322,11 +264,9 @@ export default class WEBGLTexture extends Texture {
322
264
  dataFormat = this.dataFormat,
323
265
  compressed = false
324
266
  } = options;
325
-
326
267
  if (!data) {
327
268
  data = pixels;
328
269
  }
329
-
330
270
  ({
331
271
  type,
332
272
  dataFormat,
@@ -355,71 +295,62 @@ export default class WEBGLTexture extends Texture {
355
295
  compressed
356
296
  }));
357
297
  let gl2;
358
- withParameters(this.gl, parameters, () => {
298
+ withGLParameters(this.gl, parameters, () => {
359
299
  switch (dataType) {
360
300
  case 'null':
361
- gl.texImage2D(target, level, format, width, height, 0, dataFormat, type, data);
301
+ gl.texImage2D(target, level, glFormat, width, height, 0, dataFormat, type, data);
362
302
  break;
363
-
364
303
  case 'typed-array':
365
- gl.texImage2D(target, level, format, width, height, 0, dataFormat, type, data, offset);
304
+ gl.texImage2D(target, level, glFormat, width, height, 0, dataFormat, type, data, offset);
366
305
  break;
367
-
368
306
  case 'buffer':
369
307
  gl2 = this.device.assertWebGL2();
370
- gl2.bindBuffer(GL.PIXEL_UNPACK_BUFFER, data.handle || data);
371
- gl2.texImage2D(target, level, format, width, height, 0, dataFormat, type, offset);
372
- gl2.bindBuffer(GL.PIXEL_UNPACK_BUFFER, null);
308
+ gl2.bindBuffer(35052, data.handle || data);
309
+ gl2.texImage2D(target, level, glFormat, width, height, 0, dataFormat, type, offset);
310
+ gl2.bindBuffer(35052, null);
373
311
  break;
374
-
375
312
  case 'browser-object':
376
313
  if (this.device.isWebGL2) {
377
- gl.texImage2D(target, level, format, width, height, 0, dataFormat, type, data);
314
+ gl.texImage2D(target, level, glFormat, width, height, 0, dataFormat, type, data);
378
315
  } else {
379
- gl.texImage2D(target, level, format, dataFormat, type, data);
316
+ gl.texImage2D(target, level, glFormat, dataFormat, type, data);
380
317
  }
381
-
382
318
  break;
383
-
384
319
  case 'compressed':
385
320
  for (const [levelIndex, levelData] of data.entries()) {
386
321
  gl.compressedTexImage2D(target, levelIndex, levelData.format, levelData.width, levelData.height, 0, levelData.data);
387
322
  }
388
-
389
323
  break;
390
-
391
324
  default:
392
325
  assert(false, 'Unknown image data type');
393
326
  }
394
327
  });
395
-
396
328
  if (data && data.byteLength) {
397
329
  this.trackAllocatedMemory(data.byteLength, 'Texture');
398
330
  } else {
399
- const bytesPerPixel = getTextureFormatBytesPerPixel(this.gl, this.props.format);
331
+ const bytesPerPixel = getTextureFormatBytesPerPixel(this.props.format, this.device.isWebGL2);
400
332
  this.trackAllocatedMemory(this.width * this.height * bytesPerPixel, 'Texture');
401
333
  }
402
-
403
334
  this.loaded = true;
404
335
  return this;
405
336
  }
406
-
407
- setSubImageData({
408
- target = this.target,
409
- pixels = null,
410
- data = null,
411
- x = 0,
412
- y = 0,
413
- width = this.width,
414
- height = this.height,
415
- level = 0,
416
- format = this.format,
417
- type = this.type,
418
- dataFormat = this.dataFormat,
419
- compressed = false,
420
- offset = 0,
421
- parameters = {}
422
- }) {
337
+ setSubImageData(_ref) {
338
+ let {
339
+ target = this.target,
340
+ pixels = null,
341
+ data = null,
342
+ x = 0,
343
+ y = 0,
344
+ width = this.width,
345
+ height = this.height,
346
+ level = 0,
347
+ glFormat = this.glFormat,
348
+ type = this.type,
349
+ dataFormat = this.dataFormat,
350
+ compressed = false,
351
+ offset = 0,
352
+ parameters = {}
353
+ } = _ref;
423
354
  ({
424
355
  type,
425
356
  dataFormat,
@@ -436,35 +367,31 @@ export default class WEBGLTexture extends Texture {
436
367
  height
437
368
  }));
438
369
  assert(this.depth === 1, 'texSubImage not supported for 3D textures');
439
-
440
370
  if (!data) {
441
371
  data = pixels;
442
372
  }
443
-
444
373
  if (data && data.data) {
445
374
  const ndarray = data;
446
375
  data = ndarray.data;
447
376
  width = ndarray.shape[0];
448
377
  height = ndarray.shape[1];
449
378
  }
450
-
451
379
  if (data instanceof WEBGLBuffer) {
452
380
  data = data.handle;
453
381
  }
454
-
455
382
  this.gl.bindTexture(this.target, this.handle);
456
- withParameters(this.gl, parameters, () => {
383
+ withGLParameters(this.gl, parameters, () => {
457
384
  if (compressed) {
458
- this.gl.compressedTexSubImage2D(target, level, x, y, width, height, format, data);
385
+ this.gl.compressedTexSubImage2D(target, level, x, y, width, height, glFormat, data);
459
386
  } else if (data === null) {
460
387
  this.gl.texSubImage2D(target, level, x, y, width, height, dataFormat, type, null);
461
388
  } else if (ArrayBuffer.isView(data)) {
462
389
  this.gl.texSubImage2D(target, level, x, y, width, height, dataFormat, type, data, offset);
463
390
  } else if (typeof WebGLBuffer !== 'undefined' && data instanceof WebGLBuffer) {
464
391
  const gl2 = this.device.assertWebGL2();
465
- gl2.bindBuffer(GL.PIXEL_UNPACK_BUFFER, data);
392
+ gl2.bindBuffer(35052, data);
466
393
  gl2.texSubImage2D(target, level, x, y, width, height, dataFormat, type, offset);
467
- gl2.bindBuffer(GL.PIXEL_UNPACK_BUFFER, null);
394
+ gl2.bindBuffer(35052, null);
468
395
  } else if (this.device.isWebGL2) {
469
396
  const gl2 = this.device.assertWebGL2();
470
397
  gl2.texSubImage2D(target, level, x, y, width, height, dataFormat, type, data);
@@ -474,89 +401,78 @@ export default class WEBGLTexture extends Texture {
474
401
  });
475
402
  this.gl.bindTexture(this.target, null);
476
403
  }
477
-
478
- copyFramebuffer(opts = {}) {
404
+ copyFramebuffer() {
405
+ let opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
479
406
  log.error('Texture.copyFramebuffer({...}) is no logner supported, use copyToTexture(source, target, opts})')();
480
407
  return null;
481
408
  }
482
-
483
409
  getActiveUnit() {
484
- return this.gl.getParameter(GL.ACTIVE_TEXTURE) - GL.TEXTURE0;
410
+ return this.gl.getParameter(34016) - 33984;
485
411
  }
486
-
487
- bind(textureUnit = this.textureUnit) {
412
+ bind() {
413
+ let textureUnit = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.textureUnit;
488
414
  const {
489
415
  gl
490
416
  } = this;
491
-
492
417
  if (textureUnit !== undefined) {
493
418
  this.textureUnit = textureUnit;
494
- gl.activeTexture(gl.TEXTURE0 + textureUnit);
419
+ gl.activeTexture(33984 + textureUnit);
495
420
  }
496
-
497
421
  gl.bindTexture(this.target, this.handle);
498
422
  return textureUnit;
499
423
  }
500
-
501
- unbind(textureUnit = this.textureUnit) {
424
+ unbind() {
425
+ let textureUnit = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.textureUnit;
502
426
  const {
503
427
  gl
504
428
  } = this;
505
-
506
429
  if (textureUnit !== undefined) {
507
430
  this.textureUnit = textureUnit;
508
- gl.activeTexture(gl.TEXTURE0 + textureUnit);
431
+ gl.activeTexture(33984 + textureUnit);
509
432
  }
510
-
511
433
  gl.bindTexture(this.target, null);
512
434
  return textureUnit;
513
435
  }
514
-
515
- _getDataType({
516
- data,
517
- compressed = false
518
- }) {
436
+ _getDataType(_ref2) {
437
+ let {
438
+ data,
439
+ compressed = false
440
+ } = _ref2;
519
441
  if (compressed) {
520
442
  return {
521
443
  data,
522
444
  dataType: 'compressed'
523
445
  };
524
446
  }
525
-
526
447
  if (data === null) {
527
448
  return {
528
449
  data,
529
450
  dataType: 'null'
530
451
  };
531
452
  }
532
-
533
453
  if (ArrayBuffer.isView(data)) {
534
454
  return {
535
455
  data,
536
456
  dataType: 'typed-array'
537
457
  };
538
458
  }
539
-
540
459
  if (data instanceof WEBGLBuffer) {
541
460
  return {
542
461
  data: data.handle,
543
462
  dataType: 'buffer'
544
463
  };
545
464
  }
546
-
547
465
  if (typeof WebGLBuffer !== 'undefined' && data instanceof WebGLBuffer) {
548
466
  return {
549
467
  data,
550
468
  dataType: 'buffer'
551
469
  };
552
470
  }
553
-
554
471
  return {
555
472
  data,
556
473
  dataType: 'browser-object'
557
474
  };
558
475
  }
559
-
560
476
  _deduceParameters(opts) {
561
477
  const {
562
478
  format,
@@ -569,7 +485,7 @@ export default class WEBGLTexture extends Texture {
569
485
  type,
570
486
  compressed
571
487
  } = opts;
572
- const parameters = getWebGLTextureParameters(this.gl, format);
488
+ const parameters = getWebGLTextureParameters(format, this.device.isWebGL2);
573
489
  dataFormat = dataFormat || parameters.dataFormat;
574
490
  type = type || parameters.type;
575
491
  compressed = compressed || parameters.compressed;
@@ -587,10 +503,8 @@ export default class WEBGLTexture extends Texture {
587
503
  data
588
504
  };
589
505
  }
590
-
591
506
  _deduceImageSize(data, width, height) {
592
507
  let size;
593
-
594
508
  if (typeof ImageData !== 'undefined' && data instanceof ImageData) {
595
509
  size = {
596
510
  width: data.width,
@@ -627,13 +541,11 @@ export default class WEBGLTexture extends Texture {
627
541
  height
628
542
  };
629
543
  }
630
-
631
544
  assert(size, 'Could not deduced texture size');
632
545
  assert(width === undefined || size.width === width, 'Deduced texture width does not match supplied width');
633
546
  assert(height === undefined || size.height === height, 'Deduced texture height does not match supplied height');
634
547
  return size;
635
548
  }
636
-
637
549
  async setCubeMapImageData(options) {
638
550
  const {
639
551
  gl
@@ -643,8 +555,8 @@ export default class WEBGLTexture extends Texture {
643
555
  height,
644
556
  pixels,
645
557
  data,
646
- format = GL.RGBA,
647
- type = GL.UNSIGNED_BYTE
558
+ format = 6408,
559
+ type = 5121
648
560
  } = options;
649
561
  const imageDataMap = pixels || data;
650
562
  const resolvedFaces = await Promise.all(WEBGLTexture.FACES.map(face => {
@@ -654,9 +566,8 @@ export default class WEBGLTexture extends Texture {
654
566
  this.bind();
655
567
  WEBGLTexture.FACES.forEach((face, index) => {
656
568
  if (resolvedFaces[index].length > 1 && this.props.mipmaps !== false) {
657
- log.warn("".concat(this.id, " has mipmap and multiple LODs."))();
569
+ log.warn(`${this.id} has mipmap and multiple LODs.`)();
658
570
  }
659
-
660
571
  resolvedFaces[index].forEach((image, lodLevel) => {
661
572
  if (width && height) {
662
573
  gl.texImage2D(face, lodLevel, format, width, height, 0, format, type, image);
@@ -667,7 +578,6 @@ export default class WEBGLTexture extends Texture {
667
578
  });
668
579
  this.unbind();
669
580
  }
670
-
671
581
  setImageDataForFace(options) {
672
582
  const {
673
583
  face,
@@ -675,15 +585,14 @@ export default class WEBGLTexture extends Texture {
675
585
  height,
676
586
  pixels,
677
587
  data,
678
- format = GL.RGBA,
679
- type = GL.UNSIGNED_BYTE
588
+ format = 6408,
589
+ type = 5121
680
590
  } = options;
681
591
  const {
682
592
  gl
683
593
  } = this;
684
594
  const imageData = pixels || data;
685
595
  this.bind();
686
-
687
596
  if (imageData instanceof Promise) {
688
597
  imageData.then(resolvedImageData => this.setImageDataForFace(Object.assign({}, options, {
689
598
  face,
@@ -695,10 +604,8 @@ export default class WEBGLTexture extends Texture {
695
604
  } else {
696
605
  gl.texImage2D(face, 0, format, format, type, imageData);
697
606
  }
698
-
699
607
  return this;
700
608
  }
701
-
702
609
  setImageData3D(options) {
703
610
  const {
704
611
  level = 0,
@@ -714,121 +621,93 @@ export default class WEBGLTexture extends Texture {
714
621
  } = options;
715
622
  this.trackDeallocatedMemory('Texture');
716
623
  this.gl.bindTexture(this.target, this.handle);
717
- const webglTextureFormat = getWebGLTextureParameters(this.gl, format);
718
- withParameters(this.gl, parameters, () => {
624
+ const webglTextureFormat = getWebGLTextureParameters(format, this.device.isWebGL2);
625
+ withGLParameters(this.gl, parameters, () => {
719
626
  if (ArrayBuffer.isView(data)) {
720
627
  this.gl.texImage3D(this.target, level, webglTextureFormat.format, width, height, depth, 0, webglTextureFormat.dataFormat, webglTextureFormat.type, data);
721
628
  }
722
-
723
629
  if (data instanceof WEBGLBuffer) {
724
- this.gl.bindBuffer(GL.PIXEL_UNPACK_BUFFER, data.handle);
630
+ this.gl.bindBuffer(35052, data.handle);
725
631
  this.gl.texImage3D(this.target, level, dataFormat, width, height, depth, 0, format, type, offset);
726
632
  }
727
633
  });
728
-
729
634
  if (data && data.byteLength) {
730
635
  this.trackAllocatedMemory(data.byteLength, 'Texture');
731
636
  } else {
732
- const bytesPerPixel = getTextureFormatBytesPerPixel(this.gl, this.props.format);
637
+ const bytesPerPixel = getTextureFormatBytesPerPixel(this.props.format, this.device.isWebGL2);
733
638
  this.trackAllocatedMemory(this.width * this.height * this.depth * bytesPerPixel, 'Texture');
734
639
  }
735
-
736
640
  this.loaded = true;
737
641
  return this;
738
642
  }
739
-
740
643
  _setSamplerParameters(parameters) {
741
644
  if (this.device.isWebGL1 && isNPOT(this.width, this.height)) {
742
645
  parameters = updateSamplerParametersForNPOT(parameters);
743
646
  }
744
-
745
647
  if (isObjectEmpty(parameters)) {
746
648
  return;
747
649
  }
748
-
749
650
  logParameters(parameters);
750
651
  this.gl.bindTexture(this.target, this.handle);
751
-
752
652
  for (const [pname, pvalue] of Object.entries(parameters)) {
753
653
  const param = Number(pname);
754
- let value = pvalue;
755
-
654
+ const value = pvalue;
756
655
  switch (param) {
757
- case GL.TEXTURE_MIN_LOD:
758
- case GL.TEXTURE_MAX_LOD:
656
+ case 33082:
657
+ case 33083:
759
658
  this.gl.texParameterf(this.target, param, value);
760
659
  break;
761
-
762
660
  default:
763
661
  this.gl.texParameteri(this.target, param, value);
764
662
  break;
765
663
  }
766
664
  }
767
-
768
665
  this.gl.bindTexture(this.target, null);
769
- return this;
666
+ return;
770
667
  }
771
-
772
668
  _getWebGL1NPOTParameterOverride(pname, value) {
773
669
  const npot = this.device.isWebGL1 && isNPOT(this.width, this.height);
774
-
775
670
  if (npot) {
776
671
  switch (pname) {
777
- case GL.TEXTURE_MIN_FILTER:
778
- if (value !== GL.LINEAR && value !== GL.NEAREST) {
779
- return GL.LINEAR;
672
+ case 10241:
673
+ if (value !== 9729 && value !== 9728) {
674
+ return 9729;
780
675
  }
781
-
782
676
  break;
783
-
784
- case GL.TEXTURE_WRAP_S:
785
- case GL.TEXTURE_WRAP_T:
786
- return GL.CLAMP_TO_EDGE;
787
-
677
+ case 10242:
678
+ case 10243:
679
+ return 33071;
788
680
  default:
789
681
  break;
790
682
  }
791
683
  }
792
-
793
684
  return value;
794
685
  }
795
-
796
686
  }
797
-
798
- _defineProperty(WEBGLTexture, "FACES", [GL.TEXTURE_CUBE_MAP_POSITIVE_X, GL.TEXTURE_CUBE_MAP_NEGATIVE_X, GL.TEXTURE_CUBE_MAP_POSITIVE_Y, GL.TEXTURE_CUBE_MAP_NEGATIVE_Y, GL.TEXTURE_CUBE_MAP_POSITIVE_Z, GL.TEXTURE_CUBE_MAP_NEGATIVE_Z]);
799
-
687
+ WEBGLTexture.FACES = [34069, 34070, 34071, 34072, 34073, 34074];
800
688
  function getWebGLTextureTarget(props) {
801
689
  switch (props.dimension) {
802
690
  case '2d':
803
- return GL.TEXTURE_2D;
804
-
691
+ return 3553;
805
692
  case 'cube':
806
- return GL.TEXTURE_CUBE_MAP;
807
-
693
+ return 34067;
808
694
  case '2d-array':
809
- return GL.TEXTURE_2D_ARRAY;
810
-
695
+ return 35866;
811
696
  case '3d':
812
- return GL.TEXTURE_3D;
813
-
697
+ return 32879;
814
698
  case '1d':
815
699
  case 'cube-array':
816
700
  default:
817
701
  throw new Error(props.dimension);
818
702
  }
819
703
  }
820
-
821
704
  function isNPOT(width, height) {
822
705
  if (!width || !height) {
823
706
  return false;
824
707
  }
825
-
826
708
  return !isPowerOfTwo(width) || !isPowerOfTwo(height);
827
709
  }
828
-
829
710
  function logParameters(parameters) {
830
711
  log.log(1, 'texture sampler parameters', parameters)();
831
-
832
- for (const [pname, pvalue] of Object.entries(parameters)) {}
833
712
  }
834
713
  //# sourceMappingURL=webgl-texture.js.map