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

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