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

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