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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (525) hide show
  1. package/LICENSE +3 -1
  2. package/dist/adapter/converters/device-parameters.d.ts +12 -3
  3. package/dist/adapter/converters/device-parameters.d.ts.map +1 -1
  4. package/dist/adapter/converters/device-parameters.js +89 -74
  5. package/dist/adapter/converters/device-parameters.js.map +1 -1
  6. package/dist/adapter/converters/sampler-parameters.d.ts +4 -10
  7. package/dist/adapter/converters/sampler-parameters.d.ts.map +1 -1
  8. package/dist/adapter/converters/sampler-parameters.js +29 -180
  9. package/dist/adapter/converters/sampler-parameters.js.map +1 -1
  10. package/dist/adapter/converters/shader-formats.d.ts +9 -0
  11. package/dist/adapter/converters/shader-formats.d.ts.map +1 -0
  12. package/dist/adapter/converters/shader-formats.js +52 -0
  13. package/dist/adapter/converters/shader-formats.js.map +1 -0
  14. package/dist/adapter/converters/texture-formats.d.ts +32 -44
  15. package/dist/adapter/converters/texture-formats.d.ts.map +1 -1
  16. package/dist/adapter/converters/texture-formats.js +306 -343
  17. package/dist/adapter/converters/texture-formats.js.map +1 -1
  18. package/dist/adapter/converters/vertex-formats.d.ts +9 -3
  19. package/dist/adapter/converters/vertex-formats.d.ts.map +1 -1
  20. package/dist/adapter/converters/vertex-formats.js +53 -22
  21. package/dist/adapter/converters/vertex-formats.js.map +1 -1
  22. package/dist/adapter/device-helpers/device-features.d.ts +1 -1
  23. package/dist/adapter/device-helpers/device-features.d.ts.map +1 -1
  24. package/dist/adapter/device-helpers/device-features.js +9 -25
  25. package/dist/adapter/device-helpers/device-features.js.map +1 -1
  26. package/dist/adapter/device-helpers/device-limits.d.ts +3 -3
  27. package/dist/adapter/device-helpers/device-limits.d.ts.map +1 -1
  28. package/dist/adapter/device-helpers/device-limits.js +54 -58
  29. package/dist/adapter/device-helpers/device-limits.js.map +1 -1
  30. package/dist/adapter/device-helpers/get-device-info.d.ts +1 -1
  31. package/dist/adapter/device-helpers/get-device-info.d.ts.map +1 -1
  32. package/dist/adapter/device-helpers/get-device-info.js +49 -22
  33. package/dist/adapter/device-helpers/get-device-info.js.map +1 -1
  34. package/dist/adapter/device-helpers/is-old-ie.d.ts.map +1 -1
  35. package/dist/adapter/device-helpers/is-old-ie.js +2 -1
  36. package/dist/adapter/device-helpers/is-old-ie.js.map +1 -1
  37. package/dist/adapter/helpers/decode-webgl-types.d.ts +26 -0
  38. package/dist/adapter/helpers/decode-webgl-types.d.ts.map +1 -0
  39. package/dist/adapter/helpers/decode-webgl-types.js +89 -0
  40. package/dist/adapter/helpers/decode-webgl-types.js.map +1 -0
  41. package/dist/adapter/helpers/get-shader-layout.d.ts +1 -48
  42. package/dist/adapter/helpers/get-shader-layout.d.ts.map +1 -1
  43. package/dist/adapter/helpers/get-shader-layout.js +58 -138
  44. package/dist/adapter/helpers/get-shader-layout.js.map +1 -1
  45. package/dist/adapter/helpers/parse-shader-compiler-log.d.ts +1 -1
  46. package/dist/adapter/helpers/parse-shader-compiler-log.d.ts.map +1 -1
  47. package/dist/adapter/helpers/parse-shader-compiler-log.js +16 -11
  48. package/dist/adapter/helpers/parse-shader-compiler-log.js.map +1 -1
  49. package/dist/adapter/helpers/set-uniform.d.ts +3 -2
  50. package/dist/adapter/helpers/set-uniform.d.ts.map +1 -1
  51. package/dist/adapter/helpers/set-uniform.js +51 -82
  52. package/dist/adapter/helpers/set-uniform.js.map +1 -1
  53. package/dist/adapter/helpers/webgl-topology-utils.d.ts +16 -0
  54. package/dist/adapter/helpers/webgl-topology-utils.d.ts.map +1 -0
  55. package/dist/adapter/helpers/webgl-topology-utils.js +103 -0
  56. package/dist/adapter/helpers/webgl-topology-utils.js.map +1 -0
  57. package/dist/adapter/objects/constants-to-keys.d.ts +1 -3
  58. package/dist/adapter/objects/constants-to-keys.d.ts.map +1 -1
  59. package/dist/adapter/objects/constants-to-keys.js +2 -29
  60. package/dist/adapter/objects/constants-to-keys.js.map +1 -1
  61. package/dist/adapter/objects/webgl-renderbuffer.d.ts +15 -12
  62. package/dist/adapter/objects/webgl-renderbuffer.d.ts.map +1 -1
  63. package/dist/adapter/objects/webgl-renderbuffer.js +36 -44
  64. package/dist/adapter/objects/webgl-renderbuffer.js.map +1 -1
  65. package/dist/adapter/objects/webgl-resource.d.ts +6 -9
  66. package/dist/adapter/objects/webgl-resource.d.ts.map +1 -1
  67. package/dist/adapter/objects/webgl-resource.js +26 -83
  68. package/dist/adapter/objects/webgl-resource.js.map +1 -1
  69. package/dist/adapter/resources/webgl-buffer.d.ts +19 -14
  70. package/dist/adapter/resources/webgl-buffer.d.ts.map +1 -1
  71. package/dist/adapter/resources/webgl-buffer.js +67 -101
  72. package/dist/adapter/resources/webgl-buffer.js.map +1 -1
  73. package/dist/adapter/resources/webgl-command-buffer.d.ts +15 -9
  74. package/dist/adapter/resources/webgl-command-buffer.d.ts.map +1 -1
  75. package/dist/adapter/resources/webgl-command-buffer.js +175 -48
  76. package/dist/adapter/resources/webgl-command-buffer.js.map +1 -1
  77. package/dist/adapter/resources/webgl-command-encoder.d.ts +7 -6
  78. package/dist/adapter/resources/webgl-command-encoder.d.ts.map +1 -1
  79. package/dist/adapter/resources/webgl-command-encoder.js +10 -20
  80. package/dist/adapter/resources/webgl-command-encoder.js.map +1 -1
  81. package/dist/adapter/resources/webgl-external-texture.js.map +1 -1
  82. package/dist/adapter/resources/webgl-framebuffer.d.ts +21 -25
  83. package/dist/adapter/resources/webgl-framebuffer.d.ts.map +1 -1
  84. package/dist/adapter/resources/webgl-framebuffer.js +63 -175
  85. package/dist/adapter/resources/webgl-framebuffer.js.map +1 -1
  86. package/dist/adapter/resources/webgl-render-pass.d.ts +19 -4
  87. package/dist/adapter/resources/webgl-render-pass.d.ts.map +1 -1
  88. package/dist/adapter/resources/webgl-render-pass.js +98 -12
  89. package/dist/adapter/resources/webgl-render-pass.js.map +1 -1
  90. package/dist/adapter/resources/webgl-render-pipeline.d.ts +34 -20
  91. package/dist/adapter/resources/webgl-render-pipeline.d.ts.map +1 -1
  92. package/dist/adapter/resources/webgl-render-pipeline.js +110 -293
  93. package/dist/adapter/resources/webgl-render-pipeline.js.map +1 -1
  94. package/dist/adapter/resources/webgl-sampler.d.ts +5 -4
  95. package/dist/adapter/resources/webgl-sampler.d.ts.map +1 -1
  96. package/dist/adapter/resources/webgl-sampler.js +11 -21
  97. package/dist/adapter/resources/webgl-sampler.js.map +1 -1
  98. package/dist/adapter/resources/webgl-shader.d.ts +5 -5
  99. package/dist/adapter/resources/webgl-shader.d.ts.map +1 -1
  100. package/dist/adapter/resources/webgl-shader.js +18 -44
  101. package/dist/adapter/resources/webgl-shader.js.map +1 -1
  102. package/dist/adapter/resources/webgl-texture.d.ts +51 -31
  103. package/dist/adapter/resources/webgl-texture.d.ts.map +1 -1
  104. package/dist/adapter/resources/webgl-texture.js +123 -244
  105. package/dist/adapter/resources/webgl-texture.js.map +1 -1
  106. package/dist/adapter/resources/webgl-transform-feedback.d.ts +47 -0
  107. package/dist/adapter/resources/webgl-transform-feedback.d.ts.map +1 -0
  108. package/dist/adapter/resources/webgl-transform-feedback.js +164 -0
  109. package/dist/adapter/resources/webgl-transform-feedback.js.map +1 -0
  110. package/dist/adapter/resources/webgl-vertex-array.d.ts +67 -0
  111. package/dist/adapter/resources/webgl-vertex-array.d.ts.map +1 -0
  112. package/dist/adapter/resources/webgl-vertex-array.js +167 -0
  113. package/dist/adapter/resources/webgl-vertex-array.js.map +1 -0
  114. package/dist/adapter/webgl-canvas-context.d.ts +6 -7
  115. package/dist/adapter/webgl-canvas-context.d.ts.map +1 -1
  116. package/dist/adapter/webgl-canvas-context.js +12 -23
  117. package/dist/adapter/webgl-canvas-context.js.map +1 -1
  118. package/dist/adapter/webgl-device.d.ts +92 -41
  119. package/dist/adapter/webgl-device.d.ts.map +1 -1
  120. package/dist/adapter/webgl-device.js +205 -158
  121. package/dist/adapter/webgl-device.js.map +1 -1
  122. package/dist/classic/accessor.d.ts +3 -3
  123. package/dist/classic/accessor.d.ts.map +1 -1
  124. package/dist/classic/accessor.js +26 -52
  125. package/dist/classic/accessor.js.map +1 -1
  126. package/dist/classic/clear.d.ts +22 -0
  127. package/dist/classic/clear.d.ts.map +1 -0
  128. package/dist/classic/clear.js +88 -0
  129. package/dist/classic/clear.js.map +1 -0
  130. package/dist/classic/copy-and-blit.d.ts +62 -0
  131. package/dist/classic/copy-and-blit.d.ts.map +1 -0
  132. package/dist/classic/copy-and-blit.js +192 -0
  133. package/dist/classic/copy-and-blit.js.map +1 -0
  134. package/dist/classic/format-utils.d.ts +3 -0
  135. package/dist/classic/format-utils.d.ts.map +1 -0
  136. package/dist/classic/format-utils.js +37 -0
  137. package/dist/classic/format-utils.js.map +1 -0
  138. package/dist/classic/typed-array-utils.d.ts +17 -17
  139. package/dist/classic/typed-array-utils.d.ts.map +1 -1
  140. package/dist/classic/typed-array-utils.js +18 -39
  141. package/dist/classic/typed-array-utils.js.map +1 -1
  142. package/dist/context/context/create-browser-context.d.ts +17 -18
  143. package/dist/context/context/create-browser-context.d.ts.map +1 -1
  144. package/dist/context/context/create-browser-context.js +11 -19
  145. package/dist/context/context/create-browser-context.js.map +1 -1
  146. package/dist/context/context/create-headless-context.d.ts +1 -1
  147. package/dist/context/context/create-headless-context.d.ts.map +1 -1
  148. package/dist/context/context/create-headless-context.js +6 -7
  149. package/dist/context/context/create-headless-context.js.map +1 -1
  150. package/dist/context/context/webgl-checks.d.ts.map +1 -1
  151. package/dist/context/context/webgl-checks.js +1 -4
  152. package/dist/context/context/webgl-checks.js.map +1 -1
  153. package/dist/context/debug/spector.d.ts +1 -2
  154. package/dist/context/debug/spector.d.ts.map +1 -1
  155. package/dist/context/debug/spector.js +7 -19
  156. package/dist/context/debug/spector.js.map +1 -1
  157. package/dist/context/debug/webgl-developer-tools.d.ts +1 -1
  158. package/dist/context/debug/webgl-developer-tools.d.ts.map +1 -1
  159. package/dist/context/debug/webgl-developer-tools.js +18 -41
  160. package/dist/context/debug/webgl-developer-tools.js.map +1 -1
  161. package/dist/context/parameters/unified-parameter-api.d.ts +5 -5
  162. package/dist/context/parameters/unified-parameter-api.d.ts.map +1 -1
  163. package/dist/context/parameters/unified-parameter-api.js +9 -17
  164. package/dist/context/parameters/unified-parameter-api.js.map +1 -1
  165. package/dist/context/parameters/webgl-parameter-tables.d.ts +105 -106
  166. package/dist/context/parameters/webgl-parameter-tables.d.ts.map +1 -1
  167. package/dist/context/parameters/webgl-parameter-tables.js +267 -286
  168. package/dist/context/parameters/webgl-parameter-tables.js.map +1 -1
  169. package/dist/context/polyfill/context-data.d.ts +13 -0
  170. package/dist/context/polyfill/context-data.d.ts.map +1 -0
  171. package/dist/context/polyfill/context-data.js +12 -0
  172. package/dist/context/polyfill/context-data.js.map +1 -0
  173. package/dist/context/polyfill/get-parameter-polyfill.d.ts +1 -1
  174. package/dist/context/polyfill/get-parameter-polyfill.d.ts.map +1 -1
  175. package/dist/context/polyfill/get-parameter-polyfill.js +37 -43
  176. package/dist/context/polyfill/get-parameter-polyfill.js.map +1 -1
  177. package/dist/context/polyfill/polyfill-context.d.ts.map +1 -1
  178. package/dist/context/polyfill/polyfill-context.js +27 -31
  179. package/dist/context/polyfill/polyfill-context.js.map +1 -1
  180. package/dist/context/polyfill/polyfill-table.d.ts +7 -7
  181. package/dist/context/polyfill/polyfill-table.d.ts.map +1 -1
  182. package/dist/context/polyfill/polyfill-table.js +17 -40
  183. package/dist/context/polyfill/polyfill-table.js.map +1 -1
  184. package/dist/context/polyfill/polyfill-vertex-array-object.d.ts.map +1 -1
  185. package/dist/context/polyfill/polyfill-vertex-array-object.js +17 -87
  186. package/dist/context/polyfill/polyfill-vertex-array-object.js.map +1 -1
  187. package/dist/context/state-tracker/deep-array-equal.d.ts.map +1 -1
  188. package/dist/context/state-tracker/deep-array-equal.js +0 -4
  189. package/dist/context/state-tracker/deep-array-equal.js.map +1 -1
  190. package/dist/context/state-tracker/track-context-state.d.ts.map +1 -1
  191. package/dist/context/state-tracker/track-context-state.js +25 -61
  192. package/dist/context/state-tracker/track-context-state.js.map +1 -1
  193. package/dist/context/state-tracker/with-parameters.d.ts +2 -1
  194. package/dist/context/state-tracker/with-parameters.d.ts.map +1 -1
  195. package/dist/context/state-tracker/with-parameters.js +8 -10
  196. package/dist/context/state-tracker/with-parameters.js.map +1 -1
  197. package/dist/dist.dev.js +9344 -0
  198. package/dist/index.cjs +6556 -0
  199. package/dist/index.d.ts +23 -24
  200. package/dist/index.d.ts.map +1 -1
  201. package/dist/index.js +27 -27
  202. package/dist/index.js.map +1 -1
  203. package/dist/types.d.ts +3 -1
  204. package/dist/types.d.ts.map +1 -1
  205. package/dist/types.js.map +1 -1
  206. package/dist.min.js +52 -0
  207. package/package.json +21 -9
  208. package/src/adapter/converters/device-parameters.ts +120 -43
  209. package/src/adapter/converters/sampler-parameters.ts +54 -126
  210. package/src/adapter/converters/shader-formats.ts +44 -0
  211. package/src/adapter/converters/texture-formats.ts +265 -192
  212. package/src/adapter/converters/vertex-formats.ts +71 -10
  213. package/src/adapter/device-helpers/device-features.ts +5 -2
  214. package/src/adapter/device-helpers/device-limits.ts +4 -2
  215. package/src/adapter/device-helpers/get-device-info.ts +72 -18
  216. package/src/adapter/device-helpers/is-old-ie.ts +3 -0
  217. package/src/adapter/helpers/{uniforms.ts → decode-webgl-types.ts} +31 -24
  218. package/src/adapter/helpers/get-shader-layout.ts +87 -131
  219. package/src/adapter/helpers/parse-shader-compiler-log.ts +24 -8
  220. package/src/adapter/helpers/set-uniform.ts +39 -35
  221. package/src/adapter/helpers/webgl-topology-utils.ts +103 -0
  222. package/src/adapter/objects/constants-to-keys.ts +6 -25
  223. package/src/adapter/objects/webgl-renderbuffer.ts +43 -37
  224. package/src/adapter/objects/webgl-resource.ts +16 -23
  225. package/src/adapter/resources/webgl-buffer.ts +101 -106
  226. package/src/adapter/resources/webgl-command-buffer.ts +327 -25
  227. package/src/adapter/resources/webgl-command-encoder.ts +20 -12
  228. package/src/adapter/resources/webgl-external-texture.ts +5 -2
  229. package/src/adapter/resources/webgl-framebuffer.ts +86 -133
  230. package/src/adapter/resources/webgl-render-pass.ts +165 -4
  231. package/src/adapter/resources/webgl-render-pipeline.ts +209 -205
  232. package/src/adapter/resources/webgl-sampler.ts +12 -8
  233. package/src/adapter/resources/webgl-shader.ts +32 -27
  234. package/src/adapter/resources/webgl-texture.ts +117 -91
  235. package/src/adapter/resources/webgl-transform-feedback.ts +202 -0
  236. package/src/adapter/resources/webgl-vertex-array.ts +283 -0
  237. package/src/adapter/webgl-canvas-context.ts +18 -13
  238. package/src/adapter/webgl-device.ts +327 -92
  239. package/src/classic/accessor.ts +8 -5
  240. package/src/classic/clear.ts +113 -0
  241. package/src/classic/copy-and-blit.ts +312 -0
  242. package/src/classic/format-utils.ts +46 -0
  243. package/src/classic/typed-array-utils.ts +19 -27
  244. package/src/context/context/create-browser-context.ts +53 -31
  245. package/src/context/context/create-headless-context.ts +5 -2
  246. package/src/context/context/webgl-checks.ts +3 -1
  247. package/src/context/debug/spector.ts +8 -5
  248. package/src/context/debug/webgl-developer-tools.ts +26 -17
  249. package/src/context/parameters/unified-parameter-api.ts +15 -9
  250. package/src/context/parameters/webgl-parameter-tables.ts +120 -98
  251. package/src/context/polyfill/context-data.ts +30 -0
  252. package/src/context/polyfill/get-parameter-polyfill.ts +11 -7
  253. package/src/context/polyfill/polyfill-context.ts +15 -8
  254. package/src/context/polyfill/polyfill-table.ts +20 -15
  255. package/src/context/polyfill/polyfill-vertex-array-object.ts +5 -0
  256. package/src/context/state-tracker/deep-array-equal.ts +2 -0
  257. package/src/context/state-tracker/track-context-state.ts +13 -10
  258. package/src/context/state-tracker/with-parameters.ts +13 -4
  259. package/src/index.ts +65 -39
  260. package/src/types.ts +5 -0
  261. package/dist/adapter/converters/renderbuffer-formats.d.ts +0 -16
  262. package/dist/adapter/converters/renderbuffer-formats.d.ts.map +0 -1
  263. package/dist/adapter/converters/renderbuffer-formats.js +0 -185
  264. package/dist/adapter/converters/renderbuffer-formats.js.map +0 -1
  265. package/dist/adapter/helpers/attribute-utils.d.ts +0 -11
  266. package/dist/adapter/helpers/attribute-utils.d.ts.map +0 -1
  267. package/dist/adapter/helpers/attribute-utils.js +0 -81
  268. package/dist/adapter/helpers/attribute-utils.js.map +0 -1
  269. package/dist/adapter/helpers/uniforms.d.ts +0 -26
  270. package/dist/adapter/helpers/uniforms.d.ts.map +0 -1
  271. package/dist/adapter/helpers/uniforms.js +0 -99
  272. package/dist/adapter/helpers/uniforms.js.map +0 -1
  273. package/dist/adapter/objects/webgl-vertex-array-object.d.ts +0 -27
  274. package/dist/adapter/objects/webgl-vertex-array-object.d.ts.map +0 -1
  275. package/dist/adapter/objects/webgl-vertex-array-object.js +0 -84
  276. package/dist/adapter/objects/webgl-vertex-array-object.js.map +0 -1
  277. package/dist/bundle.d.ts +0 -2
  278. package/dist/bundle.d.ts.map +0 -1
  279. package/dist/bundle.js +0 -5
  280. package/dist/bundle.js.map +0 -1
  281. package/dist/classic/buffer.d.ts +0 -95
  282. package/dist/classic/buffer.d.ts.map +0 -1
  283. package/dist/classic/buffer.js +0 -392
  284. package/dist/classic/buffer.js.map +0 -1
  285. package/dist/context/context/context-state.d.ts +0 -18
  286. package/dist/context/context/context-state.d.ts.map +0 -1
  287. package/dist/context/context/context-state.js +0 -26
  288. package/dist/context/context/context-state.js.map +0 -1
  289. package/dist/context/context/device-pixels.d.ts +0 -25
  290. package/dist/context/context/device-pixels.d.ts.map +0 -1
  291. package/dist/context/context/device-pixels.js +0 -103
  292. package/dist/context/context/device-pixels.js.map +0 -1
  293. package/dist/es5/adapter/converters/device-parameters.js +0 -185
  294. package/dist/es5/adapter/converters/device-parameters.js.map +0 -1
  295. package/dist/es5/adapter/converters/renderbuffer-formats.js +0 -163
  296. package/dist/es5/adapter/converters/renderbuffer-formats.js.map +0 -1
  297. package/dist/es5/adapter/converters/sampler-parameters.js +0 -245
  298. package/dist/es5/adapter/converters/sampler-parameters.js.map +0 -1
  299. package/dist/es5/adapter/converters/texture-formats.js +0 -1031
  300. package/dist/es5/adapter/converters/texture-formats.js.map +0 -1
  301. package/dist/es5/adapter/converters/vertex-formats.js +0 -45
  302. package/dist/es5/adapter/converters/vertex-formats.js.map +0 -1
  303. package/dist/es5/adapter/device-helpers/device-features.js +0 -155
  304. package/dist/es5/adapter/device-helpers/device-features.js.map +0 -1
  305. package/dist/es5/adapter/device-helpers/device-limits.js +0 -64
  306. package/dist/es5/adapter/device-helpers/device-limits.js.map +0 -1
  307. package/dist/es5/adapter/device-helpers/get-device-info.js +0 -55
  308. package/dist/es5/adapter/device-helpers/get-device-info.js.map +0 -1
  309. package/dist/es5/adapter/device-helpers/is-old-ie.js +0 -16
  310. package/dist/es5/adapter/device-helpers/is-old-ie.js.map +0 -1
  311. package/dist/es5/adapter/helpers/attribute-utils.js +0 -91
  312. package/dist/es5/adapter/helpers/attribute-utils.js.map +0 -1
  313. package/dist/es5/adapter/helpers/get-shader-layout.js +0 -391
  314. package/dist/es5/adapter/helpers/get-shader-layout.js.map +0 -1
  315. package/dist/es5/adapter/helpers/parse-shader-compiler-log.js +0 -72
  316. package/dist/es5/adapter/helpers/parse-shader-compiler-log.js.map +0 -1
  317. package/dist/es5/adapter/helpers/set-uniform.js +0 -125
  318. package/dist/es5/adapter/helpers/set-uniform.js.map +0 -1
  319. package/dist/es5/adapter/helpers/uniforms.js +0 -112
  320. package/dist/es5/adapter/helpers/uniforms.js.map +0 -1
  321. package/dist/es5/adapter/objects/constants-to-keys.js +0 -54
  322. package/dist/es5/adapter/objects/constants-to-keys.js.map +0 -1
  323. package/dist/es5/adapter/objects/webgl-renderbuffer.js +0 -150
  324. package/dist/es5/adapter/objects/webgl-renderbuffer.js.map +0 -1
  325. package/dist/es5/adapter/objects/webgl-resource.js +0 -292
  326. package/dist/es5/adapter/objects/webgl-resource.js.map +0 -1
  327. package/dist/es5/adapter/objects/webgl-vertex-array-object.js +0 -137
  328. package/dist/es5/adapter/objects/webgl-vertex-array-object.js.map +0 -1
  329. package/dist/es5/adapter/resources/webgl-buffer.js +0 -243
  330. package/dist/es5/adapter/resources/webgl-buffer.js.map +0 -1
  331. package/dist/es5/adapter/resources/webgl-command-buffer.js +0 -96
  332. package/dist/es5/adapter/resources/webgl-command-buffer.js.map +0 -1
  333. package/dist/es5/adapter/resources/webgl-command-encoder.js +0 -98
  334. package/dist/es5/adapter/resources/webgl-command-encoder.js.map +0 -1
  335. package/dist/es5/adapter/resources/webgl-external-texture.js +0 -2
  336. package/dist/es5/adapter/resources/webgl-external-texture.js.map +0 -1
  337. package/dist/es5/adapter/resources/webgl-framebuffer.js +0 -346
  338. package/dist/es5/adapter/resources/webgl-framebuffer.js.map +0 -1
  339. package/dist/es5/adapter/resources/webgl-render-pass.js +0 -62
  340. package/dist/es5/adapter/resources/webgl-render-pass.js.map +0 -1
  341. package/dist/es5/adapter/resources/webgl-render-pipeline.js +0 -530
  342. package/dist/es5/adapter/resources/webgl-render-pipeline.js.map +0 -1
  343. package/dist/es5/adapter/resources/webgl-sampler.js +0 -96
  344. package/dist/es5/adapter/resources/webgl-sampler.js.map +0 -1
  345. package/dist/es5/adapter/resources/webgl-shader.js +0 -150
  346. package/dist/es5/adapter/resources/webgl-shader.js.map +0 -1
  347. package/dist/es5/adapter/resources/webgl-texture.js +0 -986
  348. package/dist/es5/adapter/resources/webgl-texture.js.map +0 -1
  349. package/dist/es5/adapter/webgl-canvas-context.js +0 -97
  350. package/dist/es5/adapter/webgl-canvas-context.js.map +0 -1
  351. package/dist/es5/adapter/webgl-device.js +0 -463
  352. package/dist/es5/adapter/webgl-device.js.map +0 -1
  353. package/dist/es5/bundle.js +0 -7
  354. package/dist/es5/bundle.js.map +0 -1
  355. package/dist/es5/classic/accessor.js +0 -181
  356. package/dist/es5/classic/accessor.js.map +0 -1
  357. package/dist/es5/classic/buffer.js +0 -478
  358. package/dist/es5/classic/buffer.js.map +0 -1
  359. package/dist/es5/classic/typed-array-utils.js +0 -126
  360. package/dist/es5/classic/typed-array-utils.js.map +0 -1
  361. package/dist/es5/context/context/context-state.js +0 -31
  362. package/dist/es5/context/context/context-state.js.map +0 -1
  363. package/dist/es5/context/context/create-browser-context.js +0 -83
  364. package/dist/es5/context/context/create-browser-context.js.map +0 -1
  365. package/dist/es5/context/context/create-headless-context.js +0 -60
  366. package/dist/es5/context/context/create-headless-context.js.map +0 -1
  367. package/dist/es5/context/context/device-pixels.js +0 -121
  368. package/dist/es5/context/context/device-pixels.js.map +0 -1
  369. package/dist/es5/context/context/webgl-checks.js +0 -54
  370. package/dist/es5/context/context/webgl-checks.js.map +0 -1
  371. package/dist/es5/context/debug/spector.js +0 -133
  372. package/dist/es5/context/debug/spector.js.map +0 -1
  373. package/dist/es5/context/debug/webgl-developer-tools.js +0 -198
  374. package/dist/es5/context/debug/webgl-developer-tools.js.map +0 -1
  375. package/dist/es5/context/parameters/unified-parameter-api.js +0 -97
  376. package/dist/es5/context/parameters/unified-parameter-api.js.map +0 -1
  377. package/dist/es5/context/parameters/webgl-parameter-tables.js +0 -392
  378. package/dist/es5/context/parameters/webgl-parameter-tables.js.map +0 -1
  379. package/dist/es5/context/polyfill/get-parameter-polyfill.js +0 -81
  380. package/dist/es5/context/polyfill/get-parameter-polyfill.js.map +0 -1
  381. package/dist/es5/context/polyfill/polyfill-context.js +0 -134
  382. package/dist/es5/context/polyfill/polyfill-context.js.map +0 -1
  383. package/dist/es5/context/polyfill/polyfill-table.js +0 -166
  384. package/dist/es5/context/polyfill/polyfill-table.js.map +0 -1
  385. package/dist/es5/context/polyfill/polyfill-vertex-array-object.js +0 -341
  386. package/dist/es5/context/polyfill/polyfill-vertex-array-object.js.map +0 -1
  387. package/dist/es5/context/state-tracker/deep-array-equal.js +0 -28
  388. package/dist/es5/context/state-tracker/deep-array-equal.js.map +0 -1
  389. package/dist/es5/context/state-tracker/track-context-state.js +0 -211
  390. package/dist/es5/context/state-tracker/track-context-state.js.map +0 -1
  391. package/dist/es5/context/state-tracker/with-parameters.js +0 -44
  392. package/dist/es5/context/state-tracker/with-parameters.js.map +0 -1
  393. package/dist/es5/index.js +0 -290
  394. package/dist/es5/index.js.map +0 -1
  395. package/dist/es5/init.js +0 -10
  396. package/dist/es5/init.js.map +0 -1
  397. package/dist/es5/types/webgl.js +0 -6
  398. package/dist/es5/types/webgl.js.map +0 -1
  399. package/dist/es5/types.js +0 -2
  400. package/dist/es5/types.js.map +0 -1
  401. package/dist/esm/adapter/converters/device-parameters.js +0 -168
  402. package/dist/esm/adapter/converters/device-parameters.js.map +0 -1
  403. package/dist/esm/adapter/converters/renderbuffer-formats.js +0 -185
  404. package/dist/esm/adapter/converters/renderbuffer-formats.js.map +0 -1
  405. package/dist/esm/adapter/converters/sampler-parameters.js +0 -227
  406. package/dist/esm/adapter/converters/sampler-parameters.js.map +0 -1
  407. package/dist/esm/adapter/converters/texture-formats.js +0 -954
  408. package/dist/esm/adapter/converters/texture-formats.js.map +0 -1
  409. package/dist/esm/adapter/converters/vertex-formats.js +0 -35
  410. package/dist/esm/adapter/converters/vertex-formats.js.map +0 -1
  411. package/dist/esm/adapter/device-helpers/device-features.js +0 -112
  412. package/dist/esm/adapter/device-helpers/device-features.js.map +0 -1
  413. package/dist/esm/adapter/device-helpers/device-limits.js +0 -91
  414. package/dist/esm/adapter/device-helpers/device-limits.js.map +0 -1
  415. package/dist/esm/adapter/device-helpers/get-device-info.js +0 -44
  416. package/dist/esm/adapter/device-helpers/get-device-info.js.map +0 -1
  417. package/dist/esm/adapter/device-helpers/is-old-ie.js +0 -8
  418. package/dist/esm/adapter/device-helpers/is-old-ie.js.map +0 -1
  419. package/dist/esm/adapter/helpers/attribute-utils.js +0 -81
  420. package/dist/esm/adapter/helpers/attribute-utils.js.map +0 -1
  421. package/dist/esm/adapter/helpers/get-shader-layout.js +0 -330
  422. package/dist/esm/adapter/helpers/get-shader-layout.js.map +0 -1
  423. package/dist/esm/adapter/helpers/parse-shader-compiler-log.js +0 -37
  424. package/dist/esm/adapter/helpers/parse-shader-compiler-log.js.map +0 -1
  425. package/dist/esm/adapter/helpers/set-uniform.js +0 -115
  426. package/dist/esm/adapter/helpers/set-uniform.js.map +0 -1
  427. package/dist/esm/adapter/helpers/uniforms.js +0 -99
  428. package/dist/esm/adapter/helpers/uniforms.js.map +0 -1
  429. package/dist/esm/adapter/objects/constants-to-keys.js +0 -42
  430. package/dist/esm/adapter/objects/constants-to-keys.js.map +0 -1
  431. package/dist/esm/adapter/objects/webgl-renderbuffer.js +0 -94
  432. package/dist/esm/adapter/objects/webgl-renderbuffer.js.map +0 -1
  433. package/dist/esm/adapter/objects/webgl-resource.js +0 -216
  434. package/dist/esm/adapter/objects/webgl-resource.js.map +0 -1
  435. package/dist/esm/adapter/objects/webgl-vertex-array-object.js +0 -84
  436. package/dist/esm/adapter/objects/webgl-vertex-array-object.js.map +0 -1
  437. package/dist/esm/adapter/resources/webgl-buffer.js +0 -164
  438. package/dist/esm/adapter/resources/webgl-buffer.js.map +0 -1
  439. package/dist/esm/adapter/resources/webgl-command-buffer.js +0 -65
  440. package/dist/esm/adapter/resources/webgl-command-buffer.js.map +0 -1
  441. package/dist/esm/adapter/resources/webgl-command-encoder.js +0 -53
  442. package/dist/esm/adapter/resources/webgl-command-encoder.js.map +0 -1
  443. package/dist/esm/adapter/resources/webgl-external-texture.js +0 -2
  444. package/dist/esm/adapter/resources/webgl-external-texture.js.map +0 -1
  445. package/dist/esm/adapter/resources/webgl-framebuffer.js +0 -267
  446. package/dist/esm/adapter/resources/webgl-framebuffer.js.map +0 -1
  447. package/dist/esm/adapter/resources/webgl-render-pass.js +0 -21
  448. package/dist/esm/adapter/resources/webgl-render-pass.js.map +0 -1
  449. package/dist/esm/adapter/resources/webgl-render-pipeline.js +0 -428
  450. package/dist/esm/adapter/resources/webgl-render-pipeline.js.map +0 -1
  451. package/dist/esm/adapter/resources/webgl-sampler.js +0 -50
  452. package/dist/esm/adapter/resources/webgl-sampler.js.map +0 -1
  453. package/dist/esm/adapter/resources/webgl-shader.js +0 -76
  454. package/dist/esm/adapter/resources/webgl-shader.js.map +0 -1
  455. package/dist/esm/adapter/resources/webgl-texture.js +0 -834
  456. package/dist/esm/adapter/resources/webgl-texture.js.map +0 -1
  457. package/dist/esm/adapter/webgl-canvas-context.js +0 -54
  458. package/dist/esm/adapter/webgl-canvas-context.js.map +0 -1
  459. package/dist/esm/adapter/webgl-device.js +0 -337
  460. package/dist/esm/adapter/webgl-device.js.map +0 -1
  461. package/dist/esm/bundle.js +0 -5
  462. package/dist/esm/bundle.js.map +0 -1
  463. package/dist/esm/classic/accessor.js +0 -144
  464. package/dist/esm/classic/accessor.js.map +0 -1
  465. package/dist/esm/classic/buffer.js +0 -392
  466. package/dist/esm/classic/buffer.js.map +0 -1
  467. package/dist/esm/classic/typed-array-utils.js +0 -112
  468. package/dist/esm/classic/typed-array-utils.js.map +0 -1
  469. package/dist/esm/context/context/context-state.js +0 -26
  470. package/dist/esm/context/context/context-state.js.map +0 -1
  471. package/dist/esm/context/context/create-browser-context.js +0 -61
  472. package/dist/esm/context/context/create-browser-context.js.map +0 -1
  473. package/dist/esm/context/context/create-headless-context.js +0 -43
  474. package/dist/esm/context/context/create-headless-context.js.map +0 -1
  475. package/dist/esm/context/context/device-pixels.js +0 -103
  476. package/dist/esm/context/context/device-pixels.js.map +0 -1
  477. package/dist/esm/context/context/webgl-checks.js +0 -34
  478. package/dist/esm/context/context/webgl-checks.js.map +0 -1
  479. package/dist/esm/context/debug/spector.js +0 -76
  480. package/dist/esm/context/debug/spector.js.map +0 -1
  481. package/dist/esm/context/debug/webgl-developer-tools.js +0 -121
  482. package/dist/esm/context/debug/webgl-developer-tools.js.map +0 -1
  483. package/dist/esm/context/parameters/unified-parameter-api.js +0 -63
  484. package/dist/esm/context/parameters/unified-parameter-api.js.map +0 -1
  485. package/dist/esm/context/parameters/webgl-parameter-tables.js +0 -445
  486. package/dist/esm/context/parameters/webgl-parameter-tables.js.map +0 -1
  487. package/dist/esm/context/polyfill/get-parameter-polyfill.js +0 -91
  488. package/dist/esm/context/polyfill/get-parameter-polyfill.js.map +0 -1
  489. package/dist/esm/context/polyfill/polyfill-context.js +0 -91
  490. package/dist/esm/context/polyfill/polyfill-context.js.map +0 -1
  491. package/dist/esm/context/polyfill/polyfill-table.js +0 -160
  492. package/dist/esm/context/polyfill/polyfill-table.js.map +0 -1
  493. package/dist/esm/context/polyfill/polyfill-vertex-array-object.js +0 -335
  494. package/dist/esm/context/polyfill/polyfill-vertex-array-object.js.map +0 -1
  495. package/dist/esm/context/state-tracker/deep-array-equal.js +0 -21
  496. package/dist/esm/context/state-tracker/deep-array-equal.js.map +0 -1
  497. package/dist/esm/context/state-tracker/track-context-state.js +0 -183
  498. package/dist/esm/context/state-tracker/track-context-state.js.map +0 -1
  499. package/dist/esm/context/state-tracker/with-parameters.js +0 -36
  500. package/dist/esm/context/state-tracker/with-parameters.js.map +0 -1
  501. package/dist/esm/index.js +0 -28
  502. package/dist/esm/index.js.map +0 -1
  503. package/dist/esm/init.js +0 -4
  504. package/dist/esm/init.js.map +0 -1
  505. package/dist/esm/types/webgl.js +0 -2
  506. package/dist/esm/types/webgl.js.map +0 -1
  507. package/dist/esm/types.js +0 -2
  508. package/dist/esm/types.js.map +0 -1
  509. package/dist/init.d.ts +0 -2
  510. package/dist/init.d.ts.map +0 -1
  511. package/dist/init.js +0 -4
  512. package/dist/init.js.map +0 -1
  513. package/dist/types/webgl.d.ts +0 -145
  514. package/dist/types/webgl.d.ts.map +0 -1
  515. package/dist/types/webgl.js +0 -2
  516. package/dist/types/webgl.js.map +0 -1
  517. package/src/adapter/converters/renderbuffer-formats.ts +0 -92
  518. package/src/adapter/helpers/attribute-utils.ts +0 -61
  519. package/src/adapter/objects/webgl-vertex-array-object.ts +0 -111
  520. package/src/bundle.ts +0 -4
  521. package/src/classic/buffer.ts +0 -474
  522. package/src/context/context/context-state.ts +0 -41
  523. package/src/context/context/device-pixels.ts +0 -158
  524. package/src/init.ts +0 -4
  525. package/src/types/webgl.ts +0 -284
@@ -1,986 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- exports.default = void 0;
9
-
10
- var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
11
-
12
- var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
13
-
14
- var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
15
-
16
- var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
17
-
18
- var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
19
-
20
- var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
21
-
22
- var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
23
-
24
- var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
25
-
26
- var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
27
-
28
- var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
29
-
30
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
31
-
32
- var _api = require("@luma.gl/api");
33
-
34
- var _constants = _interopRequireDefault(require("@luma.gl/constants"));
35
-
36
- var _withParameters = require("../../context/state-tracker/with-parameters");
37
-
38
- var _textureFormats = require("../converters/texture-formats");
39
-
40
- var _samplerParameters = require("../converters/sampler-parameters");
41
-
42
- var _webglBuffer = _interopRequireDefault(require("./webgl-buffer"));
43
-
44
- var _webglSampler = _interopRequireDefault(require("./webgl-sampler"));
45
-
46
- function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
47
-
48
- function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
49
-
50
- function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
51
-
52
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
53
-
54
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
55
-
56
- function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
57
-
58
- function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
59
-
60
- var WEBGLTexture = function (_Texture) {
61
- (0, _inherits2.default)(WEBGLTexture, _Texture);
62
-
63
- var _super = _createSuper(WEBGLTexture);
64
-
65
- function WEBGLTexture(device, props) {
66
- var _this$props;
67
-
68
- var _this;
69
-
70
- (0, _classCallCheck2.default)(this, WEBGLTexture);
71
- _this = _super.call(this, device, _objectSpread({
72
- format: _constants.default.RGBA
73
- }, props));
74
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "MAX_ATTRIBUTES", void 0);
75
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "device", void 0);
76
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "gl", void 0);
77
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "gl2", void 0);
78
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "handle", void 0);
79
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "data", void 0);
80
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "width", undefined);
81
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "height", undefined);
82
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "depth", undefined);
83
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "format", undefined);
84
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "type", undefined);
85
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "dataFormat", undefined);
86
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "mipmaps", undefined);
87
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "target", void 0);
88
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "textureUnit", undefined);
89
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "sampler", undefined);
90
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "loaded", false);
91
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "_video", void 0);
92
- _this.device = (0, _api.cast)(device);
93
- _this.gl = _this.device.gl;
94
- _this.gl2 = _this.device.gl2;
95
- _this.handle = _this.props.handle || _this.gl.createTexture();
96
- _this.handle.__SPECTOR_Metadata = _objectSpread(_objectSpread({}, _this.props), {}, {
97
- data: (0, _typeof2.default)(_this.props.data)
98
- });
99
- _this.target = getWebGLTextureTarget(_this.props);
100
- _this.loaded = false;
101
-
102
- if (typeof ((_this$props = _this.props) === null || _this$props === void 0 ? void 0 : _this$props.data) === 'string') {
103
- Object.assign(_this.props, {
104
- data: (0, _api.loadImage)(_this.props.data)
105
- });
106
- }
107
-
108
- _this.initialize(_this.props);
109
-
110
- Object.seal((0, _assertThisInitialized2.default)(_this));
111
- return _this;
112
- }
113
-
114
- (0, _createClass2.default)(WEBGLTexture, [{
115
- key: "destroy",
116
- value: function destroy() {
117
- if (this.handle) {
118
- this.gl.deleteTexture(this.handle);
119
- this.removeStats();
120
- this.trackDeallocatedMemory('Texture');
121
- this.destroyed = true;
122
- }
123
- }
124
- }, {
125
- key: "toString",
126
- value: function toString() {
127
- return "Texture(".concat(this.id, ",").concat(this.width, "x").concat(this.height, ")");
128
- }
129
- }, {
130
- key: "initialize",
131
- value: function initialize() {
132
- var _this2 = this;
133
-
134
- var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
135
-
136
- if (this.props.dimension === 'cube') {
137
- return this.initializeCube(props);
138
- }
139
-
140
- var data = props.data;
141
-
142
- if (data instanceof Promise) {
143
- data.then(function (resolvedImageData) {
144
- return _this2.initialize(Object.assign({}, props, {
145
- pixels: resolvedImageData,
146
- data: resolvedImageData
147
- }));
148
- });
149
- return this;
150
- }
151
-
152
- var isVideo = typeof HTMLVideoElement !== 'undefined' && data instanceof HTMLVideoElement;
153
-
154
- if (isVideo && data.readyState < HTMLVideoElement.HAVE_METADATA) {
155
- this._video = null;
156
- data.addEventListener('loadeddata', function () {
157
- return _this2.initialize(props);
158
- });
159
- return this;
160
- }
161
-
162
- var _props$parameters = props.parameters,
163
- parameters = _props$parameters === void 0 ? {} : _props$parameters;
164
- var _props$pixels = props.pixels,
165
- pixels = _props$pixels === void 0 ? null : _props$pixels,
166
- _props$recreate = props.recreate,
167
- recreate = _props$recreate === void 0 ? false : _props$recreate,
168
- _props$pixelStore = props.pixelStore,
169
- pixelStore = _props$pixelStore === void 0 ? {} : _props$pixelStore,
170
- _props$textureUnit = props.textureUnit,
171
- textureUnit = _props$textureUnit === void 0 ? undefined : _props$textureUnit;
172
-
173
- if (!data) {
174
- data = pixels;
175
- }
176
-
177
- var width = props.width,
178
- height = props.height,
179
- dataFormat = props.dataFormat,
180
- type = props.type,
181
- _props$compressed = props.compressed,
182
- compressed = _props$compressed === void 0 ? false : _props$compressed,
183
- _props$mipmaps = props.mipmaps,
184
- mipmaps = _props$mipmaps === void 0 ? true : _props$mipmaps;
185
- var _props$depth = props.depth,
186
- depth = _props$depth === void 0 ? 0 : _props$depth;
187
-
188
- var _this$_deduceParamete = this._deduceParameters({
189
- format: props.format,
190
- type: type,
191
- dataFormat: dataFormat,
192
- compressed: compressed,
193
- data: data,
194
- width: width,
195
- height: height
196
- });
197
-
198
- width = _this$_deduceParamete.width;
199
- height = _this$_deduceParamete.height;
200
- compressed = _this$_deduceParamete.compressed;
201
- dataFormat = _this$_deduceParamete.dataFormat;
202
- type = _this$_deduceParamete.type;
203
- var format = (0, _textureFormats.getWebGLTextureFormat)(this.gl, props.format);
204
- this.width = width;
205
- this.height = height;
206
- this.depth = depth;
207
- this.format = format;
208
- this.type = type;
209
- this.dataFormat = dataFormat;
210
- this.textureUnit = textureUnit;
211
-
212
- if (Number.isFinite(this.textureUnit)) {
213
- this.gl.activeTexture(_constants.default.TEXTURE0 + this.textureUnit);
214
- this.gl.bindTexture(this.target, this.handle);
215
- }
216
-
217
- if (mipmaps && this.device.isWebGL1 && isNPOT(this.width, this.height)) {
218
- _api.log.warn("texture: ".concat(this, " is Non-Power-Of-Two, disabling mipmaps"))();
219
-
220
- mipmaps = false;
221
- }
222
-
223
- this.mipmaps = mipmaps;
224
- this.setImageData({
225
- data: data,
226
- width: width,
227
- height: height,
228
- depth: depth,
229
- format: format,
230
- type: type,
231
- dataFormat: dataFormat,
232
- parameters: pixelStore,
233
- compressed: compressed
234
- });
235
- this.setSampler(props.sampler);
236
-
237
- this._setSamplerParameters(parameters);
238
-
239
- if (mipmaps) {
240
- this.generateMipmap();
241
- }
242
-
243
- if (recreate) {
244
- this.data = data;
245
- }
246
-
247
- if (isVideo) {
248
- this._video = {
249
- video: data,
250
- parameters: parameters,
251
- lastTime: data.readyState >= HTMLVideoElement.HAVE_CURRENT_DATA ? data.currentTime : -1
252
- };
253
- }
254
-
255
- return this;
256
- }
257
- }, {
258
- key: "initializeCube",
259
- value: function initializeCube(props) {
260
- var _this3 = this;
261
-
262
- var _props$mipmaps2 = props.mipmaps,
263
- mipmaps = _props$mipmaps2 === void 0 ? true : _props$mipmaps2,
264
- _props$parameters2 = props.parameters,
265
- parameters = _props$parameters2 === void 0 ? {} : _props$parameters2;
266
- this.setCubeMapImageData(props).then(function () {
267
- _this3.loaded = true;
268
-
269
- if (mipmaps) {
270
- _this3.generateMipmap(props);
271
- }
272
-
273
- _this3.setSampler(props.sampler);
274
-
275
- _this3._setSamplerParameters(parameters);
276
- });
277
- return this;
278
- }
279
- }, {
280
- key: "setSampler",
281
- value: function setSampler() {
282
- var sampler = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
283
- var samplerProps;
284
-
285
- if (sampler instanceof _webglSampler.default) {
286
- this.sampler = sampler;
287
- samplerProps = sampler.props;
288
- } else {
289
- this.sampler = new _webglSampler.default(this.device, sampler);
290
- samplerProps = sampler;
291
- }
292
-
293
- var parameters = (0, _samplerParameters.convertSamplerParametersToWebGL)(samplerProps);
294
-
295
- this._setSamplerParameters(parameters);
296
-
297
- return this;
298
- }
299
- }, {
300
- key: "resize",
301
- value: function resize(options) {
302
- var height = options.height,
303
- width = options.width,
304
- _options$mipmaps = options.mipmaps,
305
- mipmaps = _options$mipmaps === void 0 ? false : _options$mipmaps;
306
-
307
- if (width !== this.width || height !== this.height) {
308
- return this.initialize({
309
- width: width,
310
- height: height,
311
- format: this.format,
312
- type: this.type,
313
- dataFormat: this.dataFormat,
314
- mipmaps: mipmaps
315
- });
316
- }
317
-
318
- return this;
319
- }
320
- }, {
321
- key: "update",
322
- value: function update() {
323
- if (this._video) {
324
- var _this$_video = this._video,
325
- video = _this$_video.video,
326
- parameters = _this$_video.parameters,
327
- lastTime = _this$_video.lastTime;
328
-
329
- if (lastTime === video.currentTime || video.readyState < HTMLVideoElement.HAVE_CURRENT_DATA) {
330
- return;
331
- }
332
-
333
- this.setSubImageData({
334
- data: video,
335
- parameters: parameters
336
- });
337
-
338
- if (this.mipmaps) {
339
- this.generateMipmap();
340
- }
341
-
342
- this._video.lastTime = video.currentTime;
343
- }
344
- }
345
- }, {
346
- key: "generateMipmap",
347
- value: function generateMipmap() {
348
- var _this4 = this;
349
-
350
- var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
351
-
352
- if (this.device.isWebGL1 && isNPOT(this.width, this.height)) {
353
- _api.log.warn("texture: ".concat(this, " is Non-Power-Of-Two, disabling mipmaping"))();
354
-
355
- return this;
356
- }
357
-
358
- this.mipmaps = true;
359
- this.gl.bindTexture(this.target, this.handle);
360
- (0, _withParameters.withParameters)(this.gl, params, function () {
361
- _this4.gl.generateMipmap(_this4.target);
362
- });
363
- this.gl.bindTexture(this.target, null);
364
- return this;
365
- }
366
- }, {
367
- key: "setImageData",
368
- value: function setImageData(options) {
369
- var _this5 = this;
370
-
371
- if (this.props.dimension === '3d') {
372
- return this.setImageData3D(options);
373
- }
374
-
375
- this.trackDeallocatedMemory('Texture');
376
- var _options$target = options.target,
377
- target = _options$target === void 0 ? this.target : _options$target,
378
- _options$pixels = options.pixels,
379
- pixels = _options$pixels === void 0 ? null : _options$pixels,
380
- _options$level = options.level,
381
- level = _options$level === void 0 ? 0 : _options$level,
382
- _options$format = options.format,
383
- format = _options$format === void 0 ? this.format : _options$format,
384
- _options$offset = options.offset,
385
- offset = _options$offset === void 0 ? 0 : _options$offset,
386
- _options$parameters = options.parameters,
387
- parameters = _options$parameters === void 0 ? {} : _options$parameters;
388
- var _options$data = options.data,
389
- data = _options$data === void 0 ? null : _options$data,
390
- _options$type = options.type,
391
- type = _options$type === void 0 ? this.type : _options$type,
392
- _options$width = options.width,
393
- width = _options$width === void 0 ? this.width : _options$width,
394
- _options$height = options.height,
395
- height = _options$height === void 0 ? this.height : _options$height,
396
- _options$dataFormat = options.dataFormat,
397
- dataFormat = _options$dataFormat === void 0 ? this.dataFormat : _options$dataFormat,
398
- _options$compressed = options.compressed,
399
- compressed = _options$compressed === void 0 ? false : _options$compressed;
400
-
401
- if (!data) {
402
- data = pixels;
403
- }
404
-
405
- var _this$_deduceParamete2 = this._deduceParameters({
406
- format: this.props.format,
407
- type: type,
408
- dataFormat: dataFormat,
409
- compressed: compressed,
410
- data: data,
411
- width: width,
412
- height: height
413
- });
414
-
415
- type = _this$_deduceParamete2.type;
416
- dataFormat = _this$_deduceParamete2.dataFormat;
417
- compressed = _this$_deduceParamete2.compressed;
418
- width = _this$_deduceParamete2.width;
419
- height = _this$_deduceParamete2.height;
420
- var gl = this.gl;
421
- gl.bindTexture(this.target, this.handle);
422
- var dataType = null;
423
-
424
- var _this$_getDataType = this._getDataType({
425
- data: data,
426
- compressed: compressed
427
- });
428
-
429
- data = _this$_getDataType.data;
430
- dataType = _this$_getDataType.dataType;
431
- var gl2;
432
- (0, _withParameters.withParameters)(this.gl, parameters, function () {
433
- switch (dataType) {
434
- case 'null':
435
- gl.texImage2D(target, level, format, width, height, 0, dataFormat, type, data);
436
- break;
437
-
438
- case 'typed-array':
439
- gl.texImage2D(target, level, format, width, height, 0, dataFormat, type, data, offset);
440
- break;
441
-
442
- case 'buffer':
443
- gl2 = _this5.device.assertWebGL2();
444
- gl2.bindBuffer(_constants.default.PIXEL_UNPACK_BUFFER, data.handle || data);
445
- gl2.texImage2D(target, level, format, width, height, 0, dataFormat, type, offset);
446
- gl2.bindBuffer(_constants.default.PIXEL_UNPACK_BUFFER, null);
447
- break;
448
-
449
- case 'browser-object':
450
- if (_this5.device.isWebGL2) {
451
- gl.texImage2D(target, level, format, width, height, 0, dataFormat, type, data);
452
- } else {
453
- gl.texImage2D(target, level, format, dataFormat, type, data);
454
- }
455
-
456
- break;
457
-
458
- case 'compressed':
459
- var _iterator = _createForOfIteratorHelper(data.entries()),
460
- _step;
461
-
462
- try {
463
- for (_iterator.s(); !(_step = _iterator.n()).done;) {
464
- var _step$value = (0, _slicedToArray2.default)(_step.value, 2),
465
- levelIndex = _step$value[0],
466
- levelData = _step$value[1];
467
-
468
- gl.compressedTexImage2D(target, levelIndex, levelData.format, levelData.width, levelData.height, 0, levelData.data);
469
- }
470
- } catch (err) {
471
- _iterator.e(err);
472
- } finally {
473
- _iterator.f();
474
- }
475
-
476
- break;
477
-
478
- default:
479
- (0, _api.assert)(false, 'Unknown image data type');
480
- }
481
- });
482
-
483
- if (data && data.byteLength) {
484
- this.trackAllocatedMemory(data.byteLength, 'Texture');
485
- } else {
486
- var bytesPerPixel = (0, _textureFormats.getTextureFormatBytesPerPixel)(this.gl, this.props.format);
487
- this.trackAllocatedMemory(this.width * this.height * bytesPerPixel, 'Texture');
488
- }
489
-
490
- this.loaded = true;
491
- return this;
492
- }
493
- }, {
494
- key: "setSubImageData",
495
- value: function setSubImageData(_ref) {
496
- var _this6 = this;
497
-
498
- var _ref$target = _ref.target,
499
- target = _ref$target === void 0 ? this.target : _ref$target,
500
- _ref$pixels = _ref.pixels,
501
- pixels = _ref$pixels === void 0 ? null : _ref$pixels,
502
- _ref$data = _ref.data,
503
- data = _ref$data === void 0 ? null : _ref$data,
504
- _ref$x = _ref.x,
505
- x = _ref$x === void 0 ? 0 : _ref$x,
506
- _ref$y = _ref.y,
507
- y = _ref$y === void 0 ? 0 : _ref$y,
508
- _ref$width = _ref.width,
509
- width = _ref$width === void 0 ? this.width : _ref$width,
510
- _ref$height = _ref.height,
511
- height = _ref$height === void 0 ? this.height : _ref$height,
512
- _ref$level = _ref.level,
513
- level = _ref$level === void 0 ? 0 : _ref$level,
514
- _ref$format = _ref.format,
515
- format = _ref$format === void 0 ? this.format : _ref$format,
516
- _ref$type = _ref.type,
517
- type = _ref$type === void 0 ? this.type : _ref$type,
518
- _ref$dataFormat = _ref.dataFormat,
519
- dataFormat = _ref$dataFormat === void 0 ? this.dataFormat : _ref$dataFormat,
520
- _ref$compressed = _ref.compressed,
521
- compressed = _ref$compressed === void 0 ? false : _ref$compressed,
522
- _ref$offset = _ref.offset,
523
- offset = _ref$offset === void 0 ? 0 : _ref$offset,
524
- _ref$parameters = _ref.parameters,
525
- parameters = _ref$parameters === void 0 ? {} : _ref$parameters;
526
-
527
- var _this$_deduceParamete3 = this._deduceParameters({
528
- format: this.props.format,
529
- type: type,
530
- dataFormat: dataFormat,
531
- compressed: compressed,
532
- data: data,
533
- width: width,
534
- height: height
535
- });
536
-
537
- type = _this$_deduceParamete3.type;
538
- dataFormat = _this$_deduceParamete3.dataFormat;
539
- compressed = _this$_deduceParamete3.compressed;
540
- width = _this$_deduceParamete3.width;
541
- height = _this$_deduceParamete3.height;
542
- (0, _api.assert)(this.depth === 1, 'texSubImage not supported for 3D textures');
543
-
544
- if (!data) {
545
- data = pixels;
546
- }
547
-
548
- if (data && data.data) {
549
- var ndarray = data;
550
- data = ndarray.data;
551
- width = ndarray.shape[0];
552
- height = ndarray.shape[1];
553
- }
554
-
555
- if (data instanceof _webglBuffer.default) {
556
- data = data.handle;
557
- }
558
-
559
- this.gl.bindTexture(this.target, this.handle);
560
- (0, _withParameters.withParameters)(this.gl, parameters, function () {
561
- if (compressed) {
562
- _this6.gl.compressedTexSubImage2D(target, level, x, y, width, height, format, data);
563
- } else if (data === null) {
564
- _this6.gl.texSubImage2D(target, level, x, y, width, height, dataFormat, type, null);
565
- } else if (ArrayBuffer.isView(data)) {
566
- _this6.gl.texSubImage2D(target, level, x, y, width, height, dataFormat, type, data, offset);
567
- } else if (typeof WebGLBuffer !== 'undefined' && data instanceof WebGLBuffer) {
568
- var gl2 = _this6.device.assertWebGL2();
569
-
570
- gl2.bindBuffer(_constants.default.PIXEL_UNPACK_BUFFER, data);
571
- gl2.texSubImage2D(target, level, x, y, width, height, dataFormat, type, offset);
572
- gl2.bindBuffer(_constants.default.PIXEL_UNPACK_BUFFER, null);
573
- } else if (_this6.device.isWebGL2) {
574
- var _gl = _this6.device.assertWebGL2();
575
-
576
- _gl.texSubImage2D(target, level, x, y, width, height, dataFormat, type, data);
577
- } else {
578
- _this6.gl.texSubImage2D(target, level, x, y, dataFormat, type, data);
579
- }
580
- });
581
- this.gl.bindTexture(this.target, null);
582
- }
583
- }, {
584
- key: "copyFramebuffer",
585
- value: function copyFramebuffer() {
586
- var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
587
-
588
- _api.log.error('Texture.copyFramebuffer({...}) is no logner supported, use copyToTexture(source, target, opts})')();
589
-
590
- return null;
591
- }
592
- }, {
593
- key: "getActiveUnit",
594
- value: function getActiveUnit() {
595
- return this.gl.getParameter(_constants.default.ACTIVE_TEXTURE) - _constants.default.TEXTURE0;
596
- }
597
- }, {
598
- key: "bind",
599
- value: function bind() {
600
- var textureUnit = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.textureUnit;
601
- var gl = this.gl;
602
-
603
- if (textureUnit !== undefined) {
604
- this.textureUnit = textureUnit;
605
- gl.activeTexture(gl.TEXTURE0 + textureUnit);
606
- }
607
-
608
- gl.bindTexture(this.target, this.handle);
609
- return textureUnit;
610
- }
611
- }, {
612
- key: "unbind",
613
- value: function unbind() {
614
- var textureUnit = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.textureUnit;
615
- var gl = this.gl;
616
-
617
- if (textureUnit !== undefined) {
618
- this.textureUnit = textureUnit;
619
- gl.activeTexture(gl.TEXTURE0 + textureUnit);
620
- }
621
-
622
- gl.bindTexture(this.target, null);
623
- return textureUnit;
624
- }
625
- }, {
626
- key: "_getDataType",
627
- value: function _getDataType(_ref2) {
628
- var data = _ref2.data,
629
- _ref2$compressed = _ref2.compressed,
630
- compressed = _ref2$compressed === void 0 ? false : _ref2$compressed;
631
-
632
- if (compressed) {
633
- return {
634
- data: data,
635
- dataType: 'compressed'
636
- };
637
- }
638
-
639
- if (data === null) {
640
- return {
641
- data: data,
642
- dataType: 'null'
643
- };
644
- }
645
-
646
- if (ArrayBuffer.isView(data)) {
647
- return {
648
- data: data,
649
- dataType: 'typed-array'
650
- };
651
- }
652
-
653
- if (data instanceof _webglBuffer.default) {
654
- return {
655
- data: data.handle,
656
- dataType: 'buffer'
657
- };
658
- }
659
-
660
- if (typeof WebGLBuffer !== 'undefined' && data instanceof WebGLBuffer) {
661
- return {
662
- data: data,
663
- dataType: 'buffer'
664
- };
665
- }
666
-
667
- return {
668
- data: data,
669
- dataType: 'browser-object'
670
- };
671
- }
672
- }, {
673
- key: "_deduceParameters",
674
- value: function _deduceParameters(opts) {
675
- var format = opts.format,
676
- data = opts.data;
677
- var width = opts.width,
678
- height = opts.height,
679
- dataFormat = opts.dataFormat,
680
- type = opts.type,
681
- compressed = opts.compressed;
682
- var parameters = (0, _textureFormats.getWebGLTextureParameters)(this.gl, format);
683
- dataFormat = dataFormat || parameters.dataFormat;
684
- type = type || parameters.type;
685
- compressed = compressed || parameters.compressed;
686
-
687
- var _this$_deduceImageSiz = this._deduceImageSize(data, width, height);
688
-
689
- width = _this$_deduceImageSiz.width;
690
- height = _this$_deduceImageSiz.height;
691
- return {
692
- dataFormat: dataFormat,
693
- type: type,
694
- compressed: compressed,
695
- width: width,
696
- height: height,
697
- format: format,
698
- data: data
699
- };
700
- }
701
- }, {
702
- key: "_deduceImageSize",
703
- value: function _deduceImageSize(data, width, height) {
704
- var size;
705
-
706
- if (typeof ImageData !== 'undefined' && data instanceof ImageData) {
707
- size = {
708
- width: data.width,
709
- height: data.height
710
- };
711
- } else if (typeof HTMLImageElement !== 'undefined' && data instanceof HTMLImageElement) {
712
- size = {
713
- width: data.naturalWidth,
714
- height: data.naturalHeight
715
- };
716
- } else if (typeof HTMLCanvasElement !== 'undefined' && data instanceof HTMLCanvasElement) {
717
- size = {
718
- width: data.width,
719
- height: data.height
720
- };
721
- } else if (typeof ImageBitmap !== 'undefined' && data instanceof ImageBitmap) {
722
- size = {
723
- width: data.width,
724
- height: data.height
725
- };
726
- } else if (typeof HTMLVideoElement !== 'undefined' && data instanceof HTMLVideoElement) {
727
- size = {
728
- width: data.videoWidth,
729
- height: data.videoHeight
730
- };
731
- } else if (!data) {
732
- size = {
733
- width: width >= 0 ? width : 1,
734
- height: height >= 0 ? height : 1
735
- };
736
- } else {
737
- size = {
738
- width: width,
739
- height: height
740
- };
741
- }
742
-
743
- (0, _api.assert)(size, 'Could not deduced texture size');
744
- (0, _api.assert)(width === undefined || size.width === width, 'Deduced texture width does not match supplied width');
745
- (0, _api.assert)(height === undefined || size.height === height, 'Deduced texture height does not match supplied height');
746
- return size;
747
- }
748
- }, {
749
- key: "setCubeMapImageData",
750
- value: function () {
751
- var _setCubeMapImageData = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee(options) {
752
- var _this7 = this;
753
-
754
- var gl, width, height, pixels, data, _options$format2, format, _options$type2, type, imageDataMap, resolvedFaces;
755
-
756
- return _regenerator.default.wrap(function _callee$(_context) {
757
- while (1) {
758
- switch (_context.prev = _context.next) {
759
- case 0:
760
- gl = this.gl;
761
- width = options.width, height = options.height, pixels = options.pixels, data = options.data, _options$format2 = options.format, format = _options$format2 === void 0 ? _constants.default.RGBA : _options$format2, _options$type2 = options.type, type = _options$type2 === void 0 ? _constants.default.UNSIGNED_BYTE : _options$type2;
762
- imageDataMap = pixels || data;
763
- _context.next = 5;
764
- return Promise.all(WEBGLTexture.FACES.map(function (face) {
765
- var facePixels = imageDataMap[face];
766
- return Promise.all(Array.isArray(facePixels) ? facePixels : [facePixels]);
767
- }));
768
-
769
- case 5:
770
- resolvedFaces = _context.sent;
771
- this.bind();
772
- WEBGLTexture.FACES.forEach(function (face, index) {
773
- if (resolvedFaces[index].length > 1 && _this7.props.mipmaps !== false) {
774
- _api.log.warn("".concat(_this7.id, " has mipmap and multiple LODs."))();
775
- }
776
-
777
- resolvedFaces[index].forEach(function (image, lodLevel) {
778
- if (width && height) {
779
- gl.texImage2D(face, lodLevel, format, width, height, 0, format, type, image);
780
- } else {
781
- gl.texImage2D(face, lodLevel, format, format, type, image);
782
- }
783
- });
784
- });
785
- this.unbind();
786
-
787
- case 9:
788
- case "end":
789
- return _context.stop();
790
- }
791
- }
792
- }, _callee, this);
793
- }));
794
-
795
- function setCubeMapImageData(_x) {
796
- return _setCubeMapImageData.apply(this, arguments);
797
- }
798
-
799
- return setCubeMapImageData;
800
- }()
801
- }, {
802
- key: "setImageDataForFace",
803
- value: function setImageDataForFace(options) {
804
- var _this8 = this;
805
-
806
- var face = options.face,
807
- width = options.width,
808
- height = options.height,
809
- pixels = options.pixels,
810
- data = options.data,
811
- _options$format3 = options.format,
812
- format = _options$format3 === void 0 ? _constants.default.RGBA : _options$format3,
813
- _options$type3 = options.type,
814
- type = _options$type3 === void 0 ? _constants.default.UNSIGNED_BYTE : _options$type3;
815
- var gl = this.gl;
816
- var imageData = pixels || data;
817
- this.bind();
818
-
819
- if (imageData instanceof Promise) {
820
- imageData.then(function (resolvedImageData) {
821
- return _this8.setImageDataForFace(Object.assign({}, options, {
822
- face: face,
823
- data: resolvedImageData,
824
- pixels: resolvedImageData
825
- }));
826
- });
827
- } else if (this.width || this.height) {
828
- gl.texImage2D(face, 0, format, width, height, 0, format, type, imageData);
829
- } else {
830
- gl.texImage2D(face, 0, format, format, type, imageData);
831
- }
832
-
833
- return this;
834
- }
835
- }, {
836
- key: "setImageData3D",
837
- value: function setImageData3D(options) {
838
- var _this9 = this;
839
-
840
- var _options$level2 = options.level,
841
- level = _options$level2 === void 0 ? 0 : _options$level2,
842
- dataFormat = options.dataFormat,
843
- format = options.format,
844
- type = options.type,
845
- width = options.width,
846
- height = options.height,
847
- _options$depth = options.depth,
848
- depth = _options$depth === void 0 ? 1 : _options$depth,
849
- _options$offset2 = options.offset,
850
- offset = _options$offset2 === void 0 ? 0 : _options$offset2,
851
- data = options.data,
852
- _options$parameters2 = options.parameters,
853
- parameters = _options$parameters2 === void 0 ? {} : _options$parameters2;
854
- this.trackDeallocatedMemory('Texture');
855
- this.gl.bindTexture(this.target, this.handle);
856
- var webglTextureFormat = (0, _textureFormats.getWebGLTextureParameters)(this.gl, format);
857
- (0, _withParameters.withParameters)(this.gl, parameters, function () {
858
- if (ArrayBuffer.isView(data)) {
859
- _this9.gl.texImage3D(_this9.target, level, webglTextureFormat.format, width, height, depth, 0, webglTextureFormat.dataFormat, webglTextureFormat.type, data);
860
- }
861
-
862
- if (data instanceof _webglBuffer.default) {
863
- _this9.gl.bindBuffer(_constants.default.PIXEL_UNPACK_BUFFER, data.handle);
864
-
865
- _this9.gl.texImage3D(_this9.target, level, dataFormat, width, height, depth, 0, format, type, offset);
866
- }
867
- });
868
-
869
- if (data && data.byteLength) {
870
- this.trackAllocatedMemory(data.byteLength, 'Texture');
871
- } else {
872
- var bytesPerPixel = (0, _textureFormats.getTextureFormatBytesPerPixel)(this.gl, this.props.format);
873
- this.trackAllocatedMemory(this.width * this.height * this.depth * bytesPerPixel, 'Texture');
874
- }
875
-
876
- this.loaded = true;
877
- return this;
878
- }
879
- }, {
880
- key: "_setSamplerParameters",
881
- value: function _setSamplerParameters(parameters) {
882
- if (this.device.isWebGL1 && isNPOT(this.width, this.height)) {
883
- parameters = (0, _samplerParameters.updateSamplerParametersForNPOT)(parameters);
884
- }
885
-
886
- if ((0, _api.isObjectEmpty)(parameters)) {
887
- return;
888
- }
889
-
890
- logParameters(parameters);
891
- this.gl.bindTexture(this.target, this.handle);
892
-
893
- for (var _i = 0, _Object$entries = Object.entries(parameters); _i < _Object$entries.length; _i++) {
894
- var _Object$entries$_i = (0, _slicedToArray2.default)(_Object$entries[_i], 2),
895
- pname = _Object$entries$_i[0],
896
- pvalue = _Object$entries$_i[1];
897
-
898
- var param = Number(pname);
899
- var value = pvalue;
900
-
901
- switch (param) {
902
- case _constants.default.TEXTURE_MIN_LOD:
903
- case _constants.default.TEXTURE_MAX_LOD:
904
- this.gl.texParameterf(this.target, param, value);
905
- break;
906
-
907
- default:
908
- this.gl.texParameteri(this.target, param, value);
909
- break;
910
- }
911
- }
912
-
913
- this.gl.bindTexture(this.target, null);
914
- return this;
915
- }
916
- }, {
917
- key: "_getWebGL1NPOTParameterOverride",
918
- value: function _getWebGL1NPOTParameterOverride(pname, value) {
919
- var npot = this.device.isWebGL1 && isNPOT(this.width, this.height);
920
-
921
- if (npot) {
922
- switch (pname) {
923
- case _constants.default.TEXTURE_MIN_FILTER:
924
- if (value !== _constants.default.LINEAR && value !== _constants.default.NEAREST) {
925
- return _constants.default.LINEAR;
926
- }
927
-
928
- break;
929
-
930
- case _constants.default.TEXTURE_WRAP_S:
931
- case _constants.default.TEXTURE_WRAP_T:
932
- return _constants.default.CLAMP_TO_EDGE;
933
-
934
- default:
935
- break;
936
- }
937
- }
938
-
939
- return value;
940
- }
941
- }]);
942
- return WEBGLTexture;
943
- }(_api.Texture);
944
-
945
- exports.default = WEBGLTexture;
946
- (0, _defineProperty2.default)(WEBGLTexture, "FACES", [_constants.default.TEXTURE_CUBE_MAP_POSITIVE_X, _constants.default.TEXTURE_CUBE_MAP_NEGATIVE_X, _constants.default.TEXTURE_CUBE_MAP_POSITIVE_Y, _constants.default.TEXTURE_CUBE_MAP_NEGATIVE_Y, _constants.default.TEXTURE_CUBE_MAP_POSITIVE_Z, _constants.default.TEXTURE_CUBE_MAP_NEGATIVE_Z]);
947
-
948
- function getWebGLTextureTarget(props) {
949
- switch (props.dimension) {
950
- case '2d':
951
- return _constants.default.TEXTURE_2D;
952
-
953
- case 'cube':
954
- return _constants.default.TEXTURE_CUBE_MAP;
955
-
956
- case '2d-array':
957
- return _constants.default.TEXTURE_2D_ARRAY;
958
-
959
- case '3d':
960
- return _constants.default.TEXTURE_3D;
961
-
962
- case '1d':
963
- case 'cube-array':
964
- default:
965
- throw new Error(props.dimension);
966
- }
967
- }
968
-
969
- function isNPOT(width, height) {
970
- if (!width || !height) {
971
- return false;
972
- }
973
-
974
- return !(0, _api.isPowerOfTwo)(width) || !(0, _api.isPowerOfTwo)(height);
975
- }
976
-
977
- function logParameters(parameters) {
978
- _api.log.log(1, 'texture sampler parameters', parameters)();
979
-
980
- for (var _i2 = 0, _Object$entries2 = Object.entries(parameters); _i2 < _Object$entries2.length; _i2++) {
981
- var _Object$entries2$_i = (0, _slicedToArray2.default)(_Object$entries2[_i2], 2),
982
- pname = _Object$entries2$_i[0],
983
- pvalue = _Object$entries2$_i[1];
984
- }
985
- }
986
- //# sourceMappingURL=webgl-texture.js.map