@luma.gl/webgl 8.6.0-alpha.5 → 9.0.0-alpha.4

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 (749) hide show
  1. package/README.md +3 -67
  2. package/dist/adapter/converters/device-parameters.d.ts +17 -0
  3. package/dist/adapter/converters/device-parameters.d.ts.map +1 -0
  4. package/dist/adapter/converters/{set-device-parameters.js → device-parameters.js} +36 -5
  5. package/dist/adapter/converters/device-parameters.js.map +1 -0
  6. package/dist/{classes → adapter/converters}/renderbuffer-formats.d.ts +0 -0
  7. package/dist/adapter/converters/renderbuffer-formats.d.ts.map +1 -0
  8. package/dist/{classes → adapter/converters}/renderbuffer-formats.js +1 -1
  9. package/dist/adapter/converters/renderbuffer-formats.js.map +1 -0
  10. package/dist/adapter/converters/sampler-parameters.d.ts +19 -0
  11. package/dist/adapter/converters/sampler-parameters.d.ts.map +1 -0
  12. package/dist/adapter/converters/sampler-parameters.js +208 -0
  13. package/dist/adapter/converters/sampler-parameters.js.map +1 -0
  14. package/dist/adapter/converters/texture-formats.d.ts +93 -0
  15. package/dist/adapter/converters/texture-formats.d.ts.map +1 -0
  16. package/dist/adapter/converters/texture-formats.js +954 -0
  17. package/dist/adapter/converters/texture-formats.js.map +1 -0
  18. package/dist/adapter/converters/vertex-formats.d.ts +4 -0
  19. package/dist/adapter/converters/vertex-formats.d.ts.map +1 -0
  20. package/dist/adapter/converters/vertex-formats.js +35 -0
  21. package/dist/adapter/converters/vertex-formats.js.map +1 -0
  22. package/dist/adapter/device-helpers/device-features.d.ts +3 -6
  23. package/dist/adapter/device-helpers/device-features.d.ts.map +1 -1
  24. package/dist/adapter/device-helpers/device-features.js +27 -48
  25. package/dist/adapter/device-helpers/device-features.js.map +1 -1
  26. package/dist/adapter/device-helpers/device-limits.d.ts +1 -0
  27. package/dist/adapter/device-helpers/device-limits.d.ts.map +1 -1
  28. package/dist/adapter/device-helpers/device-limits.js +1 -0
  29. package/dist/adapter/device-helpers/device-limits.js.map +1 -1
  30. package/dist/adapter/device-helpers/get-device-info.js +7 -7
  31. package/dist/adapter/device-helpers/get-device-info.js.map +1 -1
  32. package/dist/adapter/helpers/attribute-utils.d.ts +11 -0
  33. package/dist/adapter/helpers/attribute-utils.d.ts.map +1 -0
  34. package/dist/adapter/helpers/attribute-utils.js +81 -0
  35. package/dist/adapter/helpers/attribute-utils.js.map +1 -0
  36. package/dist/adapter/helpers/get-shader-layout.d.ts +55 -0
  37. package/dist/adapter/helpers/get-shader-layout.d.ts.map +1 -0
  38. package/dist/adapter/helpers/get-shader-layout.js +306 -0
  39. package/dist/adapter/helpers/get-shader-layout.js.map +1 -0
  40. package/dist/{webgl-utils → adapter/helpers}/parse-shader-compiler-log.d.ts +0 -0
  41. package/dist/adapter/helpers/parse-shader-compiler-log.d.ts.map +1 -0
  42. package/dist/{esm/webgl-utils → adapter/helpers}/parse-shader-compiler-log.js +0 -0
  43. package/dist/adapter/helpers/parse-shader-compiler-log.js.map +1 -0
  44. package/dist/adapter/helpers/set-uniform.d.ts +4 -0
  45. package/dist/adapter/helpers/set-uniform.d.ts.map +1 -0
  46. package/dist/adapter/helpers/set-uniform.js +115 -0
  47. package/dist/adapter/helpers/set-uniform.js.map +1 -0
  48. package/dist/adapter/helpers/uniforms.d.ts +26 -0
  49. package/dist/adapter/helpers/uniforms.d.ts.map +1 -0
  50. package/dist/adapter/helpers/uniforms.js +99 -0
  51. package/dist/adapter/helpers/uniforms.js.map +1 -0
  52. package/dist/adapter/objects/constants-to-keys.d.ts +5 -0
  53. package/dist/adapter/objects/constants-to-keys.d.ts.map +1 -0
  54. package/dist/{esm/webgl-utils → adapter/objects}/constants-to-keys.js +1 -0
  55. package/dist/adapter/objects/constants-to-keys.js.map +1 -0
  56. package/dist/adapter/objects/webgl-renderbuffer.d.ts +40 -0
  57. package/dist/adapter/objects/webgl-renderbuffer.d.ts.map +1 -0
  58. package/dist/{esm/classes/renderbuffer.js → adapter/objects/webgl-renderbuffer.js} +38 -72
  59. package/dist/adapter/objects/webgl-renderbuffer.js.map +1 -0
  60. package/dist/{classes → adapter/objects}/webgl-resource.d.ts +15 -14
  61. package/dist/adapter/objects/webgl-resource.d.ts.map +1 -0
  62. package/dist/{classes → adapter/objects}/webgl-resource.js +7 -3
  63. package/dist/adapter/objects/webgl-resource.js.map +1 -0
  64. package/dist/adapter/objects/webgl-vertex-array-object.d.ts +27 -0
  65. package/dist/adapter/objects/webgl-vertex-array-object.d.ts.map +1 -0
  66. package/dist/adapter/objects/webgl-vertex-array-object.js +84 -0
  67. package/dist/adapter/objects/webgl-vertex-array-object.js.map +1 -0
  68. package/dist/adapter/resources/webgl-buffer.d.ts +27 -0
  69. package/dist/adapter/resources/webgl-buffer.d.ts.map +1 -0
  70. package/dist/adapter/resources/webgl-buffer.js +164 -0
  71. package/dist/adapter/resources/webgl-buffer.js.map +1 -0
  72. package/dist/adapter/resources/webgl-command-buffer.d.ts +25 -0
  73. package/dist/adapter/resources/webgl-command-buffer.d.ts.map +1 -0
  74. package/dist/adapter/resources/webgl-command-buffer.js +65 -0
  75. package/dist/adapter/resources/webgl-command-buffer.js.map +1 -0
  76. package/dist/adapter/resources/webgl-command-encoder.d.ts +18 -0
  77. package/dist/adapter/resources/webgl-command-encoder.d.ts.map +1 -0
  78. package/dist/adapter/resources/webgl-command-encoder.js +53 -0
  79. package/dist/adapter/resources/webgl-command-encoder.js.map +1 -0
  80. package/dist/adapter/resources/webgl-external-texture.d.ts +1 -0
  81. package/dist/adapter/resources/webgl-external-texture.d.ts.map +1 -0
  82. package/dist/adapter/resources/webgl-external-texture.js +2 -0
  83. package/dist/{es5/helpers/program-bindings.js.map → adapter/resources/webgl-external-texture.js.map} +1 -1
  84. package/dist/adapter/resources/webgl-framebuffer.d.ts +40 -0
  85. package/dist/adapter/resources/webgl-framebuffer.d.ts.map +1 -0
  86. package/dist/adapter/resources/webgl-framebuffer.js +265 -0
  87. package/dist/adapter/resources/webgl-framebuffer.js.map +1 -0
  88. package/dist/adapter/resources/webgl-render-pass.d.ts +11 -0
  89. package/dist/adapter/resources/webgl-render-pass.d.ts.map +1 -0
  90. package/dist/adapter/resources/webgl-render-pass.js +19 -0
  91. package/dist/adapter/resources/webgl-render-pass.js.map +1 -0
  92. package/dist/adapter/resources/webgl-render-pipeline.d.ts +55 -0
  93. package/dist/adapter/resources/webgl-render-pipeline.d.ts.map +1 -0
  94. package/dist/adapter/resources/webgl-render-pipeline.js +400 -0
  95. package/dist/adapter/resources/webgl-render-pipeline.js.map +1 -0
  96. package/dist/adapter/resources/webgl-sampler.d.ts +20 -0
  97. package/dist/adapter/resources/webgl-sampler.d.ts.map +1 -0
  98. package/dist/adapter/resources/webgl-sampler.js +50 -0
  99. package/dist/adapter/resources/webgl-sampler.js.map +1 -0
  100. package/dist/adapter/{webgl-shader.d.ts → resources/webgl-shader.d.ts} +3 -6
  101. package/dist/adapter/resources/webgl-shader.d.ts.map +1 -0
  102. package/dist/{esm/adapter → adapter/resources}/webgl-shader.js +13 -20
  103. package/dist/adapter/resources/webgl-shader.js.map +1 -0
  104. package/dist/adapter/resources/webgl-texture.d.ts +193 -0
  105. package/dist/adapter/resources/webgl-texture.d.ts.map +1 -0
  106. package/dist/{classes/texture.js → adapter/resources/webgl-texture.js} +274 -229
  107. package/dist/adapter/resources/webgl-texture.js.map +1 -0
  108. package/dist/adapter/webgl-canvas-context.d.ts +36 -0
  109. package/dist/adapter/webgl-canvas-context.d.ts.map +1 -0
  110. package/dist/adapter/webgl-canvas-context.js +54 -0
  111. package/dist/adapter/webgl-canvas-context.js.map +1 -0
  112. package/dist/adapter/webgl-device.d.ts +58 -76
  113. package/dist/adapter/webgl-device.d.ts.map +1 -1
  114. package/dist/adapter/webgl-device.js +184 -111
  115. package/dist/adapter/webgl-device.js.map +1 -1
  116. package/dist/classic/accessor.d.ts +32 -0
  117. package/dist/classic/accessor.d.ts.map +1 -0
  118. package/dist/{classes → classic}/accessor.js +33 -1
  119. package/dist/classic/accessor.js.map +1 -0
  120. package/dist/{classes/webgl-buffer.d.ts → classic/buffer.d.ts} +28 -33
  121. package/dist/classic/buffer.d.ts.map +1 -0
  122. package/dist/{esm/classes/webgl-buffer.js → classic/buffer.js} +53 -51
  123. package/dist/classic/buffer.js.map +1 -0
  124. package/dist/{webgl-utils → classic}/typed-array-utils.d.ts +3 -2
  125. package/dist/classic/typed-array-utils.d.ts.map +1 -0
  126. package/dist/{esm/webgl-utils → classic}/typed-array-utils.js +0 -0
  127. package/dist/classic/typed-array-utils.js.map +1 -0
  128. package/dist/context/context/context-state.d.ts.map +1 -1
  129. package/dist/context/context/context-state.js +1 -1
  130. package/dist/context/context/context-state.js.map +1 -1
  131. package/dist/context/context/create-context.d.ts +1 -0
  132. package/dist/context/context/create-context.d.ts.map +1 -1
  133. package/dist/context/context/create-context.js +12 -0
  134. package/dist/context/context/create-context.js.map +1 -1
  135. package/dist/context/context/device-pixels.d.ts +1 -1
  136. package/dist/context/context/device-pixels.d.ts.map +1 -1
  137. package/dist/context/context/device-pixels.js.map +1 -1
  138. package/dist/context/debug/spector.d.ts +18 -0
  139. package/dist/context/debug/spector.d.ts.map +1 -0
  140. package/dist/context/debug/spector.js +76 -0
  141. package/dist/context/debug/spector.js.map +1 -0
  142. package/dist/context/debug/webgl-developer-tools.d.ts +19 -0
  143. package/dist/context/debug/webgl-developer-tools.d.ts.map +1 -0
  144. package/dist/context/debug/webgl-developer-tools.js +121 -0
  145. package/dist/context/debug/webgl-developer-tools.js.map +1 -0
  146. package/dist/context/parameters/unified-parameter-api.d.ts +3 -2
  147. package/dist/context/parameters/unified-parameter-api.d.ts.map +1 -1
  148. package/dist/context/parameters/unified-parameter-api.js +4 -4
  149. package/dist/context/parameters/unified-parameter-api.js.map +1 -1
  150. package/dist/context/parameters/webgl-parameter-tables.d.ts +40 -36
  151. package/dist/context/parameters/webgl-parameter-tables.d.ts.map +1 -1
  152. package/dist/context/parameters/webgl-parameter-tables.js.map +1 -1
  153. package/dist/context/polyfill/get-parameter-polyfill.js.map +1 -1
  154. package/dist/context/polyfill/polyfill-context.js +4 -3
  155. package/dist/context/polyfill/polyfill-context.js.map +1 -1
  156. package/dist/context/state-tracker/deep-array-equal.d.ts.map +1 -1
  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 +25 -11
  160. package/dist/context/state-tracker/track-context-state.js.map +1 -1
  161. package/dist/es5/adapter/converters/{set-device-parameters.js → device-parameters.js} +37 -5
  162. package/dist/es5/adapter/converters/device-parameters.js.map +1 -0
  163. package/dist/es5/{classes → adapter/converters}/renderbuffer-formats.js +1 -1
  164. package/dist/es5/adapter/converters/renderbuffer-formats.js.map +1 -0
  165. package/dist/es5/adapter/converters/sampler-parameters.js +226 -0
  166. package/dist/es5/adapter/converters/sampler-parameters.js.map +1 -0
  167. package/dist/es5/adapter/converters/texture-formats.js +1031 -0
  168. package/dist/es5/adapter/converters/texture-formats.js.map +1 -0
  169. package/dist/es5/adapter/converters/vertex-formats.js +45 -0
  170. package/dist/es5/adapter/converters/vertex-formats.js.map +1 -0
  171. package/dist/es5/adapter/device-helpers/device-features.js +46 -54
  172. package/dist/es5/adapter/device-helpers/device-features.js.map +1 -1
  173. package/dist/es5/adapter/device-helpers/device-limits.js +1 -1
  174. package/dist/es5/adapter/device-helpers/device-limits.js.map +1 -1
  175. package/dist/es5/adapter/device-helpers/get-device-info.js +7 -7
  176. package/dist/es5/adapter/device-helpers/get-device-info.js.map +1 -1
  177. package/dist/es5/adapter/helpers/attribute-utils.js +91 -0
  178. package/dist/es5/adapter/helpers/attribute-utils.js.map +1 -0
  179. package/dist/es5/{helpers/get-program-bindings.js → adapter/helpers/get-shader-layout.js} +184 -87
  180. package/dist/es5/adapter/helpers/get-shader-layout.js.map +1 -0
  181. package/dist/es5/{webgl-utils → adapter/helpers}/parse-shader-compiler-log.js +0 -0
  182. package/dist/es5/adapter/helpers/parse-shader-compiler-log.js.map +1 -0
  183. package/dist/es5/adapter/helpers/set-uniform.js +125 -0
  184. package/dist/es5/adapter/helpers/set-uniform.js.map +1 -0
  185. package/dist/es5/adapter/helpers/uniforms.js +112 -0
  186. package/dist/es5/adapter/helpers/uniforms.js.map +1 -0
  187. package/dist/es5/{webgl-utils → adapter/objects}/constants-to-keys.js +1 -0
  188. package/dist/es5/adapter/objects/constants-to-keys.js.map +1 -0
  189. package/dist/es5/{classes/renderbuffer.js → adapter/objects/webgl-renderbuffer.js} +48 -98
  190. package/dist/es5/adapter/objects/webgl-renderbuffer.js.map +1 -0
  191. package/dist/es5/{classes → adapter/objects}/webgl-resource.js +8 -3
  192. package/dist/es5/adapter/objects/webgl-resource.js.map +1 -0
  193. package/dist/es5/adapter/objects/webgl-vertex-array-object.js +137 -0
  194. package/dist/es5/adapter/objects/webgl-vertex-array-object.js.map +1 -0
  195. package/dist/es5/adapter/resources/webgl-buffer.js +243 -0
  196. package/dist/es5/adapter/resources/webgl-buffer.js.map +1 -0
  197. package/dist/es5/adapter/resources/webgl-command-buffer.js +96 -0
  198. package/dist/es5/adapter/resources/webgl-command-buffer.js.map +1 -0
  199. package/dist/es5/adapter/resources/webgl-command-encoder.js +98 -0
  200. package/dist/es5/adapter/resources/webgl-command-encoder.js.map +1 -0
  201. package/dist/es5/adapter/resources/webgl-external-texture.js +2 -0
  202. package/dist/{esm/helpers/program-bindings.js.map → es5/adapter/resources/webgl-external-texture.js.map} +1 -1
  203. package/dist/es5/adapter/resources/webgl-framebuffer.js +345 -0
  204. package/dist/es5/adapter/resources/webgl-framebuffer.js.map +1 -0
  205. package/dist/es5/{classes/texture-2d.js → adapter/resources/webgl-render-pass.js} +25 -45
  206. package/dist/es5/adapter/resources/webgl-render-pass.js.map +1 -0
  207. package/dist/es5/adapter/resources/webgl-render-pipeline.js +505 -0
  208. package/dist/es5/adapter/resources/webgl-render-pipeline.js.map +1 -0
  209. package/dist/es5/adapter/resources/webgl-sampler.js +96 -0
  210. package/dist/es5/adapter/resources/webgl-sampler.js.map +1 -0
  211. package/dist/es5/adapter/{webgl-shader.js → resources/webgl-shader.js} +12 -18
  212. package/dist/es5/adapter/resources/webgl-shader.js.map +1 -0
  213. package/dist/es5/{classes/texture.js → adapter/resources/webgl-texture.js} +336 -260
  214. package/dist/es5/adapter/resources/webgl-texture.js.map +1 -0
  215. package/dist/es5/adapter/webgl-canvas-context.js +97 -0
  216. package/dist/es5/adapter/webgl-canvas-context.js.map +1 -0
  217. package/dist/es5/adapter/webgl-device.js +253 -133
  218. package/dist/es5/adapter/webgl-device.js.map +1 -1
  219. package/dist/es5/{classes → classic}/accessor.js +25 -1
  220. package/dist/es5/classic/accessor.js.map +1 -0
  221. package/dist/es5/{classes/webgl-buffer.js → classic/buffer.js} +74 -66
  222. package/dist/es5/classic/buffer.js.map +1 -0
  223. package/dist/es5/{webgl-utils → classic}/typed-array-utils.js +0 -0
  224. package/dist/es5/classic/typed-array-utils.js.map +1 -0
  225. package/dist/es5/context/context/context-state.js +1 -1
  226. package/dist/es5/context/context/context-state.js.map +1 -1
  227. package/dist/es5/context/context/create-context.js +12 -0
  228. package/dist/es5/context/context/create-context.js.map +1 -1
  229. package/dist/es5/context/context/device-pixels.js.map +1 -1
  230. package/dist/es5/context/debug/spector.js +133 -0
  231. package/dist/es5/context/debug/spector.js.map +1 -0
  232. package/dist/es5/context/debug/webgl-developer-tools.js +198 -0
  233. package/dist/es5/context/debug/webgl-developer-tools.js.map +1 -0
  234. package/dist/es5/context/parameters/unified-parameter-api.js +7 -5
  235. package/dist/es5/context/parameters/unified-parameter-api.js.map +1 -1
  236. package/dist/es5/context/parameters/webgl-parameter-tables.js.map +1 -1
  237. package/dist/es5/context/polyfill/get-parameter-polyfill.js.map +1 -1
  238. package/dist/es5/context/polyfill/polyfill-context.js +4 -3
  239. package/dist/es5/context/polyfill/polyfill-context.js.map +1 -1
  240. package/dist/es5/context/state-tracker/deep-array-equal.js.map +1 -1
  241. package/dist/es5/context/state-tracker/track-context-state.js +26 -11
  242. package/dist/es5/context/state-tracker/track-context-state.js.map +1 -1
  243. package/dist/es5/index.js +65 -307
  244. package/dist/es5/index.js.map +1 -1
  245. package/dist/es5/init.js +1 -41
  246. package/dist/es5/init.js.map +1 -1
  247. package/dist/es5/{context/parameters/webgl-parameters.js → types/webgl.js} +1 -1
  248. package/dist/es5/types/webgl.js.map +1 -0
  249. package/dist/esm/adapter/converters/{set-device-parameters.js → device-parameters.js} +36 -5
  250. package/dist/esm/adapter/converters/device-parameters.js.map +1 -0
  251. package/dist/esm/{classes → adapter/converters}/renderbuffer-formats.js +1 -1
  252. package/dist/esm/adapter/converters/renderbuffer-formats.js.map +1 -0
  253. package/dist/esm/adapter/converters/sampler-parameters.js +208 -0
  254. package/dist/esm/adapter/converters/sampler-parameters.js.map +1 -0
  255. package/dist/esm/adapter/converters/texture-formats.js +954 -0
  256. package/dist/esm/adapter/converters/texture-formats.js.map +1 -0
  257. package/dist/esm/adapter/converters/vertex-formats.js +35 -0
  258. package/dist/esm/adapter/converters/vertex-formats.js.map +1 -0
  259. package/dist/esm/adapter/device-helpers/device-features.js +27 -48
  260. package/dist/esm/adapter/device-helpers/device-features.js.map +1 -1
  261. package/dist/esm/adapter/device-helpers/device-limits.js +1 -0
  262. package/dist/esm/adapter/device-helpers/device-limits.js.map +1 -1
  263. package/dist/esm/adapter/device-helpers/get-device-info.js +7 -7
  264. package/dist/esm/adapter/device-helpers/get-device-info.js.map +1 -1
  265. package/dist/esm/adapter/helpers/attribute-utils.js +81 -0
  266. package/dist/esm/adapter/helpers/attribute-utils.js.map +1 -0
  267. package/dist/esm/adapter/helpers/get-shader-layout.js +306 -0
  268. package/dist/esm/adapter/helpers/get-shader-layout.js.map +1 -0
  269. package/dist/{webgl-utils → esm/adapter/helpers}/parse-shader-compiler-log.js +0 -0
  270. package/dist/esm/adapter/helpers/parse-shader-compiler-log.js.map +1 -0
  271. package/dist/esm/adapter/helpers/set-uniform.js +115 -0
  272. package/dist/esm/adapter/helpers/set-uniform.js.map +1 -0
  273. package/dist/esm/adapter/helpers/uniforms.js +99 -0
  274. package/dist/esm/adapter/helpers/uniforms.js.map +1 -0
  275. package/dist/{webgl-utils → esm/adapter/objects}/constants-to-keys.js +1 -0
  276. package/dist/esm/adapter/objects/constants-to-keys.js.map +1 -0
  277. package/dist/{classes/renderbuffer.js → esm/adapter/objects/webgl-renderbuffer.js} +38 -72
  278. package/dist/esm/adapter/objects/webgl-renderbuffer.js.map +1 -0
  279. package/dist/esm/{classes → adapter/objects}/webgl-resource.js +7 -3
  280. package/dist/esm/adapter/objects/webgl-resource.js.map +1 -0
  281. package/dist/esm/adapter/objects/webgl-vertex-array-object.js +84 -0
  282. package/dist/esm/adapter/objects/webgl-vertex-array-object.js.map +1 -0
  283. package/dist/esm/adapter/resources/webgl-buffer.js +164 -0
  284. package/dist/esm/adapter/resources/webgl-buffer.js.map +1 -0
  285. package/dist/esm/adapter/resources/webgl-command-buffer.js +65 -0
  286. package/dist/esm/adapter/resources/webgl-command-buffer.js.map +1 -0
  287. package/dist/esm/adapter/resources/webgl-command-encoder.js +53 -0
  288. package/dist/esm/adapter/resources/webgl-command-encoder.js.map +1 -0
  289. package/dist/esm/adapter/resources/webgl-external-texture.js +2 -0
  290. package/dist/{helpers/program-bindings.js.map → esm/adapter/resources/webgl-external-texture.js.map} +1 -1
  291. package/dist/esm/adapter/resources/webgl-framebuffer.js +265 -0
  292. package/dist/esm/adapter/resources/webgl-framebuffer.js.map +1 -0
  293. package/dist/esm/adapter/resources/webgl-render-pass.js +19 -0
  294. package/dist/esm/adapter/resources/webgl-render-pass.js.map +1 -0
  295. package/dist/esm/adapter/resources/webgl-render-pipeline.js +400 -0
  296. package/dist/esm/adapter/resources/webgl-render-pipeline.js.map +1 -0
  297. package/dist/esm/adapter/resources/webgl-sampler.js +50 -0
  298. package/dist/esm/adapter/resources/webgl-sampler.js.map +1 -0
  299. package/dist/{adapter → esm/adapter/resources}/webgl-shader.js +13 -20
  300. package/dist/esm/adapter/resources/webgl-shader.js.map +1 -0
  301. package/dist/esm/{classes/texture.js → adapter/resources/webgl-texture.js} +274 -229
  302. package/dist/esm/adapter/resources/webgl-texture.js.map +1 -0
  303. package/dist/esm/adapter/webgl-canvas-context.js +54 -0
  304. package/dist/esm/adapter/webgl-canvas-context.js.map +1 -0
  305. package/dist/esm/adapter/webgl-device.js +184 -111
  306. package/dist/esm/adapter/webgl-device.js.map +1 -1
  307. package/dist/esm/{classes → classic}/accessor.js +33 -1
  308. package/dist/esm/classic/accessor.js.map +1 -0
  309. package/dist/{classes/webgl-buffer.js → esm/classic/buffer.js} +53 -51
  310. package/dist/esm/classic/buffer.js.map +1 -0
  311. package/dist/{webgl-utils → esm/classic}/typed-array-utils.js +0 -0
  312. package/dist/esm/classic/typed-array-utils.js.map +1 -0
  313. package/dist/esm/context/context/context-state.js +1 -1
  314. package/dist/esm/context/context/context-state.js.map +1 -1
  315. package/dist/esm/context/context/create-context.js +12 -0
  316. package/dist/esm/context/context/create-context.js.map +1 -1
  317. package/dist/esm/context/context/device-pixels.js.map +1 -1
  318. package/dist/esm/context/debug/spector.js +76 -0
  319. package/dist/esm/context/debug/spector.js.map +1 -0
  320. package/dist/esm/context/debug/webgl-developer-tools.js +121 -0
  321. package/dist/esm/context/debug/webgl-developer-tools.js.map +1 -0
  322. package/dist/esm/context/parameters/unified-parameter-api.js +4 -4
  323. package/dist/esm/context/parameters/unified-parameter-api.js.map +1 -1
  324. package/dist/esm/context/parameters/webgl-parameter-tables.js.map +1 -1
  325. package/dist/esm/context/polyfill/get-parameter-polyfill.js.map +1 -1
  326. package/dist/esm/context/polyfill/polyfill-context.js +4 -3
  327. package/dist/esm/context/polyfill/polyfill-context.js.map +1 -1
  328. package/dist/esm/context/state-tracker/deep-array-equal.js.map +1 -1
  329. package/dist/esm/context/state-tracker/track-context-state.js +25 -11
  330. package/dist/esm/context/state-tracker/track-context-state.js.map +1 -1
  331. package/dist/esm/index.js +19 -31
  332. package/dist/esm/index.js.map +1 -1
  333. package/dist/esm/init.js +2 -31
  334. package/dist/esm/init.js.map +1 -1
  335. package/dist/esm/types/webgl.js +2 -0
  336. package/dist/esm/types/webgl.js.map +1 -0
  337. package/dist/index.d.ts +22 -46
  338. package/dist/index.d.ts.map +1 -1
  339. package/dist/index.js +19 -31
  340. package/dist/index.js.map +1 -1
  341. package/dist/init.d.ts +1 -4
  342. package/dist/init.d.ts.map +1 -1
  343. package/dist/init.js +2 -31
  344. package/dist/init.js.map +1 -1
  345. package/dist/types/webgl.d.ts +144 -0
  346. package/dist/types/webgl.d.ts.map +1 -0
  347. package/dist/types/webgl.js +2 -0
  348. package/dist/types/webgl.js.map +1 -0
  349. package/package.json +5 -5
  350. package/src/adapter/converters/{set-device-parameters.ts → device-parameters.ts} +52 -9
  351. package/src/{classes → adapter/converters}/renderbuffer-formats.ts +1 -1
  352. package/src/adapter/converters/sampler-parameters.ts +175 -0
  353. package/src/adapter/converters/texture-formats.ts +633 -0
  354. package/src/adapter/converters/vertex-formats.ts +22 -0
  355. package/src/adapter/device-helpers/device-features.ts +46 -123
  356. package/src/adapter/device-helpers/device-limits.ts +5 -2
  357. package/src/adapter/device-helpers/get-device-info.ts +8 -8
  358. package/src/adapter/helpers/attribute-utils.ts +61 -0
  359. package/src/adapter/helpers/get-shader-layout.ts +388 -0
  360. package/src/{webgl-utils → adapter/helpers}/parse-shader-compiler-log.ts +0 -0
  361. package/src/adapter/helpers/set-uniform.ts +87 -0
  362. package/src/adapter/helpers/uniforms.ts +110 -0
  363. package/src/{webgl-utils → adapter/objects}/constants-to-keys.ts +6 -3
  364. package/src/adapter/objects/webgl-renderbuffer.ts +104 -0
  365. package/src/{classes → adapter/objects}/webgl-resource.ts +23 -17
  366. package/src/adapter/objects/webgl-vertex-array-object.ts +111 -0
  367. package/src/adapter/resources/webgl-buffer.ts +219 -0
  368. package/src/adapter/resources/webgl-command-buffer.ts +94 -0
  369. package/src/adapter/resources/webgl-command-encoder.ts +58 -0
  370. package/src/adapter/resources/webgl-external-texture.ts +92 -0
  371. package/src/adapter/resources/webgl-framebuffer.ts +279 -0
  372. package/src/adapter/resources/webgl-render-pass.ts +23 -0
  373. package/src/adapter/resources/webgl-render-pipeline.ts +413 -0
  374. package/src/adapter/resources/webgl-sampler.ts +54 -0
  375. package/src/adapter/{webgl-shader.ts → resources/webgl-shader.ts} +14 -20
  376. package/src/adapter/resources/webgl-texture.ts +1023 -0
  377. package/src/adapter/webgl-canvas-context.ts +74 -0
  378. package/src/adapter/webgl-device.ts +226 -275
  379. package/{dist/esm/classes/accessor.ts.disabled → src/classic/accessor.ts} +50 -36
  380. package/src/{classes/webgl-buffer.ts → classic/buffer.ts} +69 -77
  381. package/src/{webgl-utils → classic}/typed-array-utils.ts +3 -1
  382. package/src/context/context/context-state.ts +4 -2
  383. package/src/context/context/create-context.ts +28 -1
  384. package/src/context/context/device-pixels.ts +9 -4
  385. package/src/context/debug/spector.ts +92 -0
  386. package/src/context/debug/webgl-developer-tools.ts +162 -0
  387. package/src/context/parameters/unified-parameter-api.ts +6 -4
  388. package/src/context/parameters/webgl-parameter-tables.ts +38 -36
  389. package/src/context/polyfill/get-parameter-polyfill.ts +1 -1
  390. package/src/context/polyfill/polyfill-context.ts +4 -3
  391. package/src/context/state-tracker/deep-array-equal.ts +1 -1
  392. package/src/context/state-tracker/track-context-state.ts +27 -20
  393. package/src/index.ts +33 -102
  394. package/src/init.ts +2 -46
  395. package/src/types/webgl.ts +283 -0
  396. package/dist/_deprecated/context-api.d.ts +0 -85
  397. package/dist/_deprecated/context-api.d.ts.map +0 -1
  398. package/dist/_deprecated/context-api.js +0 -76
  399. package/dist/_deprecated/context-api.js.map +0 -1
  400. package/dist/_deprecated/features.d.ts +0 -27
  401. package/dist/_deprecated/features.d.ts.map +0 -1
  402. package/dist/_deprecated/features.js +0 -111
  403. package/dist/_deprecated/features.js.map +0 -1
  404. package/dist/adapter/converters/set-device-parameters.d.ts +0 -5
  405. package/dist/adapter/converters/set-device-parameters.d.ts.map +0 -1
  406. package/dist/adapter/converters/set-device-parameters.js.map +0 -1
  407. package/dist/adapter/converters/webgpu-texture-formats.d.ts +0 -281
  408. package/dist/adapter/converters/webgpu-texture-formats.d.ts.map +0 -1
  409. package/dist/adapter/converters/webgpu-texture-formats.js +0 -285
  410. package/dist/adapter/converters/webgpu-texture-formats.js.map +0 -1
  411. package/dist/adapter/webgl-shader.d.ts.map +0 -1
  412. package/dist/adapter/webgl-shader.js.map +0 -1
  413. package/dist/classes/accessor.d.ts +0 -28
  414. package/dist/classes/accessor.d.ts.map +0 -1
  415. package/dist/classes/accessor.js.map +0 -1
  416. package/dist/classes/accessor.ts.disabled +0 -159
  417. package/dist/classes/clear.d.ts +0 -17
  418. package/dist/classes/clear.d.ts.map +0 -1
  419. package/dist/classes/clear.js +0 -105
  420. package/dist/classes/clear.js.map +0 -1
  421. package/dist/classes/copy-and-blit.d.ts +0 -86
  422. package/dist/classes/copy-and-blit.d.ts.map +0 -1
  423. package/dist/classes/copy-and-blit.js +0 -338
  424. package/dist/classes/copy-and-blit.js.map +0 -1
  425. package/dist/classes/framebuffer.d.ts +0 -139
  426. package/dist/classes/framebuffer.d.ts.map +0 -1
  427. package/dist/classes/framebuffer.js +0 -656
  428. package/dist/classes/framebuffer.js.map +0 -1
  429. package/dist/classes/program-configuration.d.ts +0 -24
  430. package/dist/classes/program-configuration.d.ts.map +0 -1
  431. package/dist/classes/program-configuration.js +0 -73
  432. package/dist/classes/program-configuration.js.map +0 -1
  433. package/dist/classes/program.d.ts +0 -66
  434. package/dist/classes/program.d.ts.map +0 -1
  435. package/dist/classes/program.js +0 -379
  436. package/dist/classes/program.js.map +0 -1
  437. package/dist/classes/query.d.ts +0 -27
  438. package/dist/classes/query.d.ts.map +0 -1
  439. package/dist/classes/query.js +0 -145
  440. package/dist/classes/query.js.map +0 -1
  441. package/dist/classes/renderbuffer-formats.d.ts.map +0 -1
  442. package/dist/classes/renderbuffer-formats.js.map +0 -1
  443. package/dist/classes/renderbuffer.d.ts +0 -60
  444. package/dist/classes/renderbuffer.d.ts.map +0 -1
  445. package/dist/classes/renderbuffer.js.map +0 -1
  446. package/dist/classes/shader.d.ts +0 -42
  447. package/dist/classes/shader.d.ts.map +0 -1
  448. package/dist/classes/shader.js +0 -118
  449. package/dist/classes/shader.js.map +0 -1
  450. package/dist/classes/texture-2d.d.ts +0 -9
  451. package/dist/classes/texture-2d.d.ts.map +0 -1
  452. package/dist/classes/texture-2d.js +0 -36
  453. package/dist/classes/texture-2d.js.map +0 -1
  454. package/dist/classes/texture-3d.d.ts +0 -29
  455. package/dist/classes/texture-3d.d.ts.map +0 -1
  456. package/dist/classes/texture-3d.js +0 -76
  457. package/dist/classes/texture-3d.js.map +0 -1
  458. package/dist/classes/texture-cube.d.ts +0 -28
  459. package/dist/classes/texture-cube.d.ts.map +0 -1
  460. package/dist/classes/texture-cube.js +0 -130
  461. package/dist/classes/texture-cube.js.map +0 -1
  462. package/dist/classes/texture-formats.d.ts +0 -37
  463. package/dist/classes/texture-formats.d.ts.map +0 -1
  464. package/dist/classes/texture-formats.js +0 -98
  465. package/dist/classes/texture-formats.js.map +0 -1
  466. package/dist/classes/texture.d.ts +0 -123
  467. package/dist/classes/texture.d.ts.map +0 -1
  468. package/dist/classes/texture.js.map +0 -1
  469. package/dist/classes/transform-feedback.d.ts +0 -33
  470. package/dist/classes/transform-feedback.d.ts.map +0 -1
  471. package/dist/classes/transform-feedback.js +0 -198
  472. package/dist/classes/transform-feedback.js.map +0 -1
  473. package/dist/classes/uniform-buffer-layout.d.ts +0 -17
  474. package/dist/classes/uniform-buffer-layout.d.ts.map +0 -1
  475. package/dist/classes/uniform-buffer-layout.js +0 -104
  476. package/dist/classes/uniform-buffer-layout.js.map +0 -1
  477. package/dist/classes/uniforms.d.ts +0 -37
  478. package/dist/classes/uniforms.d.ts.map +0 -1
  479. package/dist/classes/uniforms.js +0 -250
  480. package/dist/classes/uniforms.js.map +0 -1
  481. package/dist/classes/vertex-array-object.d.ts +0 -76
  482. package/dist/classes/vertex-array-object.d.ts.map +0 -1
  483. package/dist/classes/vertex-array-object.js +0 -261
  484. package/dist/classes/vertex-array-object.js.map +0 -1
  485. package/dist/classes/vertex-array.d.ts +0 -75
  486. package/dist/classes/vertex-array.d.ts.map +0 -1
  487. package/dist/classes/vertex-array.js +0 -408
  488. package/dist/classes/vertex-array.js.map +0 -1
  489. package/dist/classes/webgl-buffer.d.ts.map +0 -1
  490. package/dist/classes/webgl-buffer.js.map +0 -1
  491. package/dist/classes/webgl-resource.d.ts.map +0 -1
  492. package/dist/classes/webgl-resource.js.map +0 -1
  493. package/dist/context/context/get-canvas.d.ts +0 -13
  494. package/dist/context/context/get-canvas.d.ts.map +0 -1
  495. package/dist/context/context/get-canvas.js +0 -31
  496. package/dist/context/context/get-canvas.js.map +0 -1
  497. package/dist/context/context/resize-context.d.ts +0 -20
  498. package/dist/context/context/resize-context.d.ts.map +0 -1
  499. package/dist/context/context/resize-context.js +0 -15
  500. package/dist/context/context/resize-context.js.map +0 -1
  501. package/dist/context/parameters/webgl-parameters.d.ts +0 -144
  502. package/dist/context/parameters/webgl-parameters.d.ts.map +0 -1
  503. package/dist/context/parameters/webgl-parameters.js +0 -2
  504. package/dist/context/parameters/webgl-parameters.js.map +0 -1
  505. package/dist/debug/debug-program-configuration.d.ts +0 -2
  506. package/dist/debug/debug-program-configuration.d.ts.map +0 -1
  507. package/dist/debug/debug-program-configuration.js +0 -40
  508. package/dist/debug/debug-program-configuration.js.map +0 -1
  509. package/dist/debug/debug-uniforms.d.ts +0 -12
  510. package/dist/debug/debug-uniforms.d.ts.map +0 -1
  511. package/dist/debug/debug-uniforms.js +0 -108
  512. package/dist/debug/debug-uniforms.js.map +0 -1
  513. package/dist/debug/debug-vertex-array.d.ts +0 -5
  514. package/dist/debug/debug-vertex-array.d.ts.map +0 -1
  515. package/dist/debug/debug-vertex-array.js +0 -118
  516. package/dist/debug/debug-vertex-array.js.map +0 -1
  517. package/dist/es5/_deprecated/context-api.js +0 -116
  518. package/dist/es5/_deprecated/context-api.js.map +0 -1
  519. package/dist/es5/_deprecated/features.js +0 -118
  520. package/dist/es5/_deprecated/features.js.map +0 -1
  521. package/dist/es5/adapter/converters/set-device-parameters.js.map +0 -1
  522. package/dist/es5/adapter/converters/webgpu-texture-formats.js +0 -296
  523. package/dist/es5/adapter/converters/webgpu-texture-formats.js.map +0 -1
  524. package/dist/es5/adapter/webgl-shader.js.map +0 -1
  525. package/dist/es5/classes/accessor.d.ts +0 -28
  526. package/dist/es5/classes/accessor.js.map +0 -1
  527. package/dist/es5/classes/accessor.ts.disabled +0 -159
  528. package/dist/es5/classes/clear.js +0 -135
  529. package/dist/es5/classes/clear.js.map +0 -1
  530. package/dist/es5/classes/copy-and-blit.js +0 -382
  531. package/dist/es5/classes/copy-and-blit.js.map +0 -1
  532. package/dist/es5/classes/framebuffer.js +0 -807
  533. package/dist/es5/classes/framebuffer.js.map +0 -1
  534. package/dist/es5/classes/program-configuration.js +0 -119
  535. package/dist/es5/classes/program-configuration.js.map +0 -1
  536. package/dist/es5/classes/program.js +0 -471
  537. package/dist/es5/classes/program.js.map +0 -1
  538. package/dist/es5/classes/query.js +0 -222
  539. package/dist/es5/classes/query.js.map +0 -1
  540. package/dist/es5/classes/renderbuffer-formats.js.map +0 -1
  541. package/dist/es5/classes/renderbuffer.js.map +0 -1
  542. package/dist/es5/classes/shader.js +0 -195
  543. package/dist/es5/classes/shader.js.map +0 -1
  544. package/dist/es5/classes/texture-2d.js.map +0 -1
  545. package/dist/es5/classes/texture-3d.js +0 -142
  546. package/dist/es5/classes/texture-3d.js.map +0 -1
  547. package/dist/es5/classes/texture-cube.js +0 -202
  548. package/dist/es5/classes/texture-cube.js.map +0 -1
  549. package/dist/es5/classes/texture-formats.js +0 -87
  550. package/dist/es5/classes/texture-formats.js.map +0 -1
  551. package/dist/es5/classes/texture.js.map +0 -1
  552. package/dist/es5/classes/transform-feedback.js +0 -267
  553. package/dist/es5/classes/transform-feedback.js.map +0 -1
  554. package/dist/es5/classes/uniform-buffer-layout.js +0 -130
  555. package/dist/es5/classes/uniform-buffer-layout.js.map +0 -1
  556. package/dist/es5/classes/uniforms.js +0 -232
  557. package/dist/es5/classes/uniforms.js.map +0 -1
  558. package/dist/es5/classes/vertex-array-object.js +0 -337
  559. package/dist/es5/classes/vertex-array-object.js.map +0 -1
  560. package/dist/es5/classes/vertex-array.js +0 -465
  561. package/dist/es5/classes/vertex-array.js.map +0 -1
  562. package/dist/es5/classes/webgl-buffer.js.map +0 -1
  563. package/dist/es5/classes/webgl-resource.js.map +0 -1
  564. package/dist/es5/context/context/get-canvas.js +0 -40
  565. package/dist/es5/context/context/get-canvas.js.map +0 -1
  566. package/dist/es5/context/context/resize-context.js +0 -23
  567. package/dist/es5/context/context/resize-context.js.map +0 -1
  568. package/dist/es5/context/parameters/webgl-parameters.js.map +0 -1
  569. package/dist/es5/debug/debug-program-configuration.js +0 -76
  570. package/dist/es5/debug/debug-program-configuration.js.map +0 -1
  571. package/dist/es5/debug/debug-uniforms.js +0 -156
  572. package/dist/es5/debug/debug-uniforms.js.map +0 -1
  573. package/dist/es5/debug/debug-vertex-array.js +0 -126
  574. package/dist/es5/debug/debug-vertex-array.js.map +0 -1
  575. package/dist/es5/helpers/get-program-bindings.js.map +0 -1
  576. package/dist/es5/helpers/program-bindings.js +0 -2
  577. package/dist/es5/types/accessor.d.ts +0 -29
  578. package/dist/es5/webgl-utils/attribute-utils.js +0 -186
  579. package/dist/es5/webgl-utils/attribute-utils.js.map +0 -1
  580. package/dist/es5/webgl-utils/constants-to-keys.js.map +0 -1
  581. package/dist/es5/webgl-utils/format-utils.js +0 -58
  582. package/dist/es5/webgl-utils/format-utils.js.map +0 -1
  583. package/dist/es5/webgl-utils/get-error.js +0 -49
  584. package/dist/es5/webgl-utils/get-error.js.map +0 -1
  585. package/dist/es5/webgl-utils/index.js +0 -74
  586. package/dist/es5/webgl-utils/index.js.map +0 -1
  587. package/dist/es5/webgl-utils/parse-shader-compiler-log.js.map +0 -1
  588. package/dist/es5/webgl-utils/request-animation-frame.js +0 -16
  589. package/dist/es5/webgl-utils/request-animation-frame.js.map +0 -1
  590. package/dist/es5/webgl-utils/texture-utils.js +0 -61
  591. package/dist/es5/webgl-utils/texture-utils.js.map +0 -1
  592. package/dist/es5/webgl-utils/typed-array-utils.js.map +0 -1
  593. package/dist/esm/_deprecated/context-api.js +0 -76
  594. package/dist/esm/_deprecated/context-api.js.map +0 -1
  595. package/dist/esm/_deprecated/features.js +0 -111
  596. package/dist/esm/_deprecated/features.js.map +0 -1
  597. package/dist/esm/adapter/converters/set-device-parameters.js.map +0 -1
  598. package/dist/esm/adapter/converters/webgpu-texture-formats.js +0 -285
  599. package/dist/esm/adapter/converters/webgpu-texture-formats.js.map +0 -1
  600. package/dist/esm/adapter/webgl-shader.js.map +0 -1
  601. package/dist/esm/classes/accessor.d.ts +0 -28
  602. package/dist/esm/classes/accessor.js.map +0 -1
  603. package/dist/esm/classes/clear.js +0 -105
  604. package/dist/esm/classes/clear.js.map +0 -1
  605. package/dist/esm/classes/copy-and-blit.js +0 -338
  606. package/dist/esm/classes/copy-and-blit.js.map +0 -1
  607. package/dist/esm/classes/framebuffer.js +0 -656
  608. package/dist/esm/classes/framebuffer.js.map +0 -1
  609. package/dist/esm/classes/program-configuration.js +0 -73
  610. package/dist/esm/classes/program-configuration.js.map +0 -1
  611. package/dist/esm/classes/program.js +0 -379
  612. package/dist/esm/classes/program.js.map +0 -1
  613. package/dist/esm/classes/query.js +0 -145
  614. package/dist/esm/classes/query.js.map +0 -1
  615. package/dist/esm/classes/renderbuffer-formats.js.map +0 -1
  616. package/dist/esm/classes/renderbuffer.js.map +0 -1
  617. package/dist/esm/classes/shader.js +0 -118
  618. package/dist/esm/classes/shader.js.map +0 -1
  619. package/dist/esm/classes/texture-2d.js +0 -36
  620. package/dist/esm/classes/texture-2d.js.map +0 -1
  621. package/dist/esm/classes/texture-3d.js +0 -76
  622. package/dist/esm/classes/texture-3d.js.map +0 -1
  623. package/dist/esm/classes/texture-cube.js +0 -130
  624. package/dist/esm/classes/texture-cube.js.map +0 -1
  625. package/dist/esm/classes/texture-formats.js +0 -98
  626. package/dist/esm/classes/texture-formats.js.map +0 -1
  627. package/dist/esm/classes/texture.js.map +0 -1
  628. package/dist/esm/classes/transform-feedback.js +0 -198
  629. package/dist/esm/classes/transform-feedback.js.map +0 -1
  630. package/dist/esm/classes/uniform-buffer-layout.js +0 -104
  631. package/dist/esm/classes/uniform-buffer-layout.js.map +0 -1
  632. package/dist/esm/classes/uniforms.js +0 -250
  633. package/dist/esm/classes/uniforms.js.map +0 -1
  634. package/dist/esm/classes/vertex-array-object.js +0 -261
  635. package/dist/esm/classes/vertex-array-object.js.map +0 -1
  636. package/dist/esm/classes/vertex-array.js +0 -408
  637. package/dist/esm/classes/vertex-array.js.map +0 -1
  638. package/dist/esm/classes/webgl-buffer.js.map +0 -1
  639. package/dist/esm/classes/webgl-resource.js.map +0 -1
  640. package/dist/esm/context/context/get-canvas.js +0 -31
  641. package/dist/esm/context/context/get-canvas.js.map +0 -1
  642. package/dist/esm/context/context/resize-context.js +0 -15
  643. package/dist/esm/context/context/resize-context.js.map +0 -1
  644. package/dist/esm/context/parameters/webgl-parameters.js +0 -2
  645. package/dist/esm/context/parameters/webgl-parameters.js.map +0 -1
  646. package/dist/esm/debug/debug-program-configuration.js +0 -40
  647. package/dist/esm/debug/debug-program-configuration.js.map +0 -1
  648. package/dist/esm/debug/debug-uniforms.js +0 -108
  649. package/dist/esm/debug/debug-uniforms.js.map +0 -1
  650. package/dist/esm/debug/debug-vertex-array.js +0 -118
  651. package/dist/esm/debug/debug-vertex-array.js.map +0 -1
  652. package/dist/esm/helpers/get-program-bindings.js +0 -228
  653. package/dist/esm/helpers/get-program-bindings.js.map +0 -1
  654. package/dist/esm/helpers/program-bindings.js +0 -2
  655. package/dist/esm/types/accessor.d.ts +0 -29
  656. package/dist/esm/webgl-utils/attribute-utils.js +0 -182
  657. package/dist/esm/webgl-utils/attribute-utils.js.map +0 -1
  658. package/dist/esm/webgl-utils/constants-to-keys.js.map +0 -1
  659. package/dist/esm/webgl-utils/format-utils.js +0 -45
  660. package/dist/esm/webgl-utils/format-utils.js.map +0 -1
  661. package/dist/esm/webgl-utils/get-error.js +0 -41
  662. package/dist/esm/webgl-utils/get-error.js.map +0 -1
  663. package/dist/esm/webgl-utils/index.js +0 -5
  664. package/dist/esm/webgl-utils/index.js.map +0 -1
  665. package/dist/esm/webgl-utils/parse-shader-compiler-log.js.map +0 -1
  666. package/dist/esm/webgl-utils/request-animation-frame.js +0 -7
  667. package/dist/esm/webgl-utils/request-animation-frame.js.map +0 -1
  668. package/dist/esm/webgl-utils/texture-utils.js +0 -48
  669. package/dist/esm/webgl-utils/texture-utils.js.map +0 -1
  670. package/dist/esm/webgl-utils/typed-array-utils.js.map +0 -1
  671. package/dist/helpers/get-program-bindings.d.ts +0 -8
  672. package/dist/helpers/get-program-bindings.d.ts.map +0 -1
  673. package/dist/helpers/get-program-bindings.js +0 -228
  674. package/dist/helpers/get-program-bindings.js.map +0 -1
  675. package/dist/helpers/program-bindings.d.ts +0 -41
  676. package/dist/helpers/program-bindings.d.ts.map +0 -1
  677. package/dist/helpers/program-bindings.js +0 -2
  678. package/dist/types/accessor.d.ts +0 -29
  679. package/dist/webgl-utils/attribute-utils.d.ts +0 -18
  680. package/dist/webgl-utils/attribute-utils.d.ts.map +0 -1
  681. package/dist/webgl-utils/attribute-utils.js +0 -182
  682. package/dist/webgl-utils/attribute-utils.js.map +0 -1
  683. package/dist/webgl-utils/constants-to-keys.d.ts +0 -4
  684. package/dist/webgl-utils/constants-to-keys.d.ts.map +0 -1
  685. package/dist/webgl-utils/constants-to-keys.js.map +0 -1
  686. package/dist/webgl-utils/format-utils.d.ts +0 -3
  687. package/dist/webgl-utils/format-utils.d.ts.map +0 -1
  688. package/dist/webgl-utils/format-utils.js +0 -45
  689. package/dist/webgl-utils/format-utils.js.map +0 -1
  690. package/dist/webgl-utils/get-error.d.ts +0 -3
  691. package/dist/webgl-utils/get-error.d.ts.map +0 -1
  692. package/dist/webgl-utils/get-error.js +0 -41
  693. package/dist/webgl-utils/get-error.js.map +0 -1
  694. package/dist/webgl-utils/index.d.ts +0 -5
  695. package/dist/webgl-utils/index.d.ts.map +0 -1
  696. package/dist/webgl-utils/index.js +0 -5
  697. package/dist/webgl-utils/index.js.map +0 -1
  698. package/dist/webgl-utils/parse-shader-compiler-log.d.ts.map +0 -1
  699. package/dist/webgl-utils/parse-shader-compiler-log.js.map +0 -1
  700. package/dist/webgl-utils/request-animation-frame.d.ts +0 -4
  701. package/dist/webgl-utils/request-animation-frame.d.ts.map +0 -1
  702. package/dist/webgl-utils/request-animation-frame.js +0 -7
  703. package/dist/webgl-utils/request-animation-frame.js.map +0 -1
  704. package/dist/webgl-utils/texture-utils.d.ts +0 -15
  705. package/dist/webgl-utils/texture-utils.d.ts.map +0 -1
  706. package/dist/webgl-utils/texture-utils.js +0 -48
  707. package/dist/webgl-utils/texture-utils.js.map +0 -1
  708. package/dist/webgl-utils/typed-array-utils.d.ts.map +0 -1
  709. package/dist/webgl-utils/typed-array-utils.js.map +0 -1
  710. package/src/.DS_Store +0 -0
  711. package/src/_deprecated/context-api.ts +0 -146
  712. package/src/_deprecated/features.ts +0 -159
  713. package/src/adapter/converters/webgpu-texture-formats.ts +0 -167
  714. package/src/classes/accessor.d.ts +0 -28
  715. package/src/classes/accessor.js +0 -129
  716. package/src/classes/accessor.ts.disabled +0 -159
  717. package/src/classes/clear.ts +0 -108
  718. package/src/classes/copy-and-blit.ts +0 -460
  719. package/src/classes/framebuffer.ts +0 -763
  720. package/src/classes/program-configuration.ts +0 -77
  721. package/src/classes/program.ts +0 -431
  722. package/src/classes/query.ts +0 -171
  723. package/src/classes/renderbuffer.ts +0 -154
  724. package/src/classes/shader.ts +0 -129
  725. package/src/classes/texture-2d.ts +0 -35
  726. package/src/classes/texture-3d.ts +0 -123
  727. package/src/classes/texture-cube.ts +0 -162
  728. package/src/classes/texture-formats.ts +0 -171
  729. package/src/classes/texture.ts +0 -965
  730. package/src/classes/transform-feedback.ts +0 -191
  731. package/src/classes/uniform-buffer-layout.ts +0 -113
  732. package/src/classes/uniforms.ts +0 -394
  733. package/src/classes/vertex-array-object.ts +0 -339
  734. package/src/classes/vertex-array.ts +0 -484
  735. package/src/context/context/get-canvas.ts +0 -37
  736. package/src/context/context/resize-context.ts +0 -37
  737. package/src/context/parameters/webgl-parameters.ts +0 -197
  738. package/src/debug/debug-program-configuration.ts +0 -32
  739. package/src/debug/debug-uniforms.ts +0 -100
  740. package/src/debug/debug-vertex-array.ts +0 -123
  741. package/src/helpers/get-program-bindings.ts +0 -244
  742. package/src/helpers/program-bindings.ts +0 -46
  743. package/src/types/accessor.d.ts +0 -29
  744. package/src/webgl-utils/attribute-utils.ts +0 -171
  745. package/src/webgl-utils/format-utils.ts +0 -43
  746. package/src/webgl-utils/get-error.ts +0 -56
  747. package/src/webgl-utils/index.ts +0 -12
  748. package/src/webgl-utils/request-animation-frame.ts +0 -14
  749. package/src/webgl-utils/texture-utils.ts +0 -60
@@ -7,8 +7,14 @@ Object.defineProperty(exports, "__esModule", {
7
7
  });
8
8
  exports.default = void 0;
9
9
 
10
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
11
+
12
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
13
+
10
14
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
11
15
 
16
+ var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
17
+
12
18
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
13
19
 
14
20
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
@@ -27,17 +33,15 @@ var _api = require("@luma.gl/api");
27
33
 
28
34
  var _constants = _interopRequireDefault(require("@luma.gl/constants"));
29
35
 
30
- var _webglChecks = require("../context/context/webgl-checks");
36
+ var _withParameters = require("../../context/state-tracker/with-parameters");
31
37
 
32
- var _withParameters = require("../context/state-tracker/with-parameters");
38
+ var _textureFormats = require("../converters/texture-formats");
33
39
 
34
- var _constantsToKeys = require("../webgl-utils/constants-to-keys");
35
-
36
- var _webglDevice = _interopRequireDefault(require("../adapter/webgl-device"));
40
+ var _samplerParameters = require("../converters/sampler-parameters");
37
41
 
38
42
  var _webglBuffer = _interopRequireDefault(require("./webgl-buffer"));
39
43
 
40
- var _textureFormats = require("./texture-formats");
44
+ var _webglSampler = _interopRequireDefault(require("./webgl-sampler"));
41
45
 
42
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; } } }; }
43
47
 
@@ -45,60 +49,65 @@ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o =
45
49
 
46
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; }
47
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
+
48
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); }; }
49
57
 
50
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; } }
51
59
 
52
- var NPOT_MIN_FILTERS = [_constants.default.LINEAR, _constants.default.NEAREST];
53
-
54
60
  var WEBGLTexture = function (_Texture) {
55
61
  (0, _inherits2.default)(WEBGLTexture, _Texture);
56
62
 
57
63
  var _super = _createSuper(WEBGLTexture);
58
64
 
59
65
  function WEBGLTexture(device, props) {
66
+ var _this$props;
67
+
60
68
  var _this;
61
69
 
62
70
  (0, _classCallCheck2.default)(this, WEBGLTexture);
63
- _this = _super.call(this, _webglDevice.default.attach(device), props);
71
+ _this = _super.call(this, device, _objectSpread({
72
+ format: _constants.default.RGBA
73
+ }, props));
64
74
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "MAX_ATTRIBUTES", void 0);
65
75
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "device", void 0);
66
76
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "gl", void 0);
67
77
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "gl2", void 0);
68
78
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "handle", void 0);
69
79
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "data", void 0);
70
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "width", void 0);
71
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "height", void 0);
72
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "depth", 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);
73
83
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "format", undefined);
74
84
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "type", undefined);
75
85
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "dataFormat", undefined);
76
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "border", undefined);
77
86
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "mipmaps", undefined);
78
87
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "target", void 0);
79
88
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "textureUnit", undefined);
89
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "sampler", undefined);
80
90
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "loaded", false);
81
91
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "_video", void 0);
82
- var _props$id = props.id,
83
- id = _props$id === void 0 ? (0, _api.uid)('texture') : _props$id,
84
- handle = props.handle,
85
- target = props.target;
86
- _this.target = target;
87
- _this.textureUnit = undefined;
88
- _this.loaded = false;
89
- _this.width = undefined;
90
- _this.height = undefined;
91
- _this.depth = undefined;
92
- _this.format = undefined;
93
- _this.type = undefined;
94
- _this.dataFormat = undefined;
95
- _this.border = undefined;
96
- _this.textureUnit = undefined;
97
- _this.mipmaps = undefined;
98
- _this.device = _webglDevice.default.attach(device);
92
+ _this.device = (0, _api.cast)(device);
99
93
  _this.gl = _this.device.gl;
100
94
  _this.gl2 = _this.device.gl2;
101
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));
102
111
  return _this;
103
112
  }
104
113
 
@@ -123,6 +132,11 @@ var WEBGLTexture = function (_Texture) {
123
132
  var _this2 = this;
124
133
 
125
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
+
126
140
  var data = props.data;
127
141
 
128
142
  if (data instanceof Promise) {
@@ -145,16 +159,12 @@ var WEBGLTexture = function (_Texture) {
145
159
  return this;
146
160
  }
147
161
 
162
+ var _props$parameters = props.parameters,
163
+ parameters = _props$parameters === void 0 ? {} : _props$parameters;
148
164
  var _props$pixels = props.pixels,
149
165
  pixels = _props$pixels === void 0 ? null : _props$pixels,
150
- _props$format = props.format,
151
- format = _props$format === void 0 ? _constants.default.RGBA : _props$format,
152
- _props$border = props.border,
153
- border = _props$border === void 0 ? 0 : _props$border,
154
166
  _props$recreate = props.recreate,
155
167
  recreate = _props$recreate === void 0 ? false : _props$recreate,
156
- _props$parameters = props.parameters,
157
- parameters = _props$parameters === void 0 ? {} : _props$parameters,
158
168
  _props$pixelStore = props.pixelStore,
159
169
  pixelStore = _props$pixelStore === void 0 ? {} : _props$pixelStore,
160
170
  _props$textureUnit = props.textureUnit,
@@ -176,7 +186,7 @@ var WEBGLTexture = function (_Texture) {
176
186
  depth = _props$depth === void 0 ? 0 : _props$depth;
177
187
 
178
188
  var _this$_deduceParamete = this._deduceParameters({
179
- format: format,
189
+ format: props.format,
180
190
  type: type,
181
191
  dataFormat: dataFormat,
182
192
  compressed: compressed,
@@ -190,13 +200,13 @@ var WEBGLTexture = function (_Texture) {
190
200
  compressed = _this$_deduceParamete.compressed;
191
201
  dataFormat = _this$_deduceParamete.dataFormat;
192
202
  type = _this$_deduceParamete.type;
203
+ var format = (0, _textureFormats.getWebGLTextureFormat)(this.gl, props.format);
193
204
  this.width = width;
194
205
  this.height = height;
195
206
  this.depth = depth;
196
207
  this.format = format;
197
208
  this.type = type;
198
209
  this.dataFormat = dataFormat;
199
- this.border = border;
200
210
  this.textureUnit = textureUnit;
201
211
 
202
212
  if (Number.isFinite(this.textureUnit)) {
@@ -204,12 +214,10 @@ var WEBGLTexture = function (_Texture) {
204
214
  this.gl.bindTexture(this.target, this.handle);
205
215
  }
206
216
 
207
- if (mipmaps && this._isNPOT()) {
208
- _api.log.warn("texture: ".concat(this, " is Non-Power-Of-Two, disabling mipmaping"))();
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"))();
209
219
 
210
220
  mipmaps = false;
211
-
212
- this._updateForNPOT(parameters);
213
221
  }
214
222
 
215
223
  this.mipmaps = mipmaps;
@@ -221,18 +229,17 @@ var WEBGLTexture = function (_Texture) {
221
229
  format: format,
222
230
  type: type,
223
231
  dataFormat: dataFormat,
224
- border: border,
225
- mipmaps: mipmaps,
226
232
  parameters: pixelStore,
227
233
  compressed: compressed
228
234
  });
235
+ this.setSampler(props.sampler);
236
+
237
+ this._setSamplerParameters(parameters);
229
238
 
230
239
  if (mipmaps) {
231
240
  this.generateMipmap();
232
241
  }
233
242
 
234
- this.setParameters(parameters);
235
-
236
243
  if (recreate) {
237
244
  this.data = data;
238
245
  }
@@ -248,29 +255,46 @@ var WEBGLTexture = function (_Texture) {
248
255
  return this;
249
256
  }
250
257
  }, {
251
- key: "update",
252
- value: function update() {
253
- if (this._video) {
254
- var _this$_video = this._video,
255
- video = _this$_video.video,
256
- parameters = _this$_video.parameters,
257
- lastTime = _this$_video.lastTime;
258
-
259
- if (lastTime === video.currentTime || video.readyState < HTMLVideoElement.HAVE_CURRENT_DATA) {
260
- return;
261
- }
258
+ key: "initializeCube",
259
+ value: function initializeCube(props) {
260
+ var _this3 = this;
262
261
 
263
- this.setSubImageData({
264
- data: video,
265
- parameters: parameters
266
- });
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;
267
268
 
268
- if (this.mipmaps) {
269
- this.generateMipmap();
269
+ if (mipmaps) {
270
+ _this3.generateMipmap(props);
270
271
  }
271
272
 
272
- this._video.lastTime = video.currentTime;
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;
273
291
  }
292
+
293
+ var parameters = (0, _samplerParameters.convertSamplerParametersToWebGL)(samplerProps);
294
+
295
+ this._setSamplerParameters(parameters);
296
+
297
+ return this;
274
298
  }
275
299
  }, {
276
300
  key: "resize",
@@ -287,21 +311,45 @@ var WEBGLTexture = function (_Texture) {
287
311
  format: this.format,
288
312
  type: this.type,
289
313
  dataFormat: this.dataFormat,
290
- border: this.border,
291
314
  mipmaps: mipmaps
292
315
  });
293
316
  }
294
317
 
295
318
  return this;
296
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
+ }
297
345
  }, {
298
346
  key: "generateMipmap",
299
347
  value: function generateMipmap() {
300
- var _this3 = this;
348
+ var _this4 = this;
301
349
 
302
350
  var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
303
351
 
304
- if (this._isNPOT()) {
352
+ if (this.device.isWebGL1 && isNPOT(this.width, this.height)) {
305
353
  _api.log.warn("texture: ".concat(this, " is Non-Power-Of-Two, disabling mipmaping"))();
306
354
 
307
355
  return this;
@@ -310,7 +358,7 @@ var WEBGLTexture = function (_Texture) {
310
358
  this.mipmaps = true;
311
359
  this.gl.bindTexture(this.target, this.handle);
312
360
  (0, _withParameters.withParameters)(this.gl, params, function () {
313
- _this3.gl.generateMipmap(_this3.target);
361
+ _this4.gl.generateMipmap(_this4.target);
314
362
  });
315
363
  this.gl.bindTexture(this.target, null);
316
364
  return this;
@@ -318,6 +366,12 @@ var WEBGLTexture = function (_Texture) {
318
366
  }, {
319
367
  key: "setImageData",
320
368
  value: function setImageData(options) {
369
+ var _this5 = this;
370
+
371
+ if (this.props.dimension === '3d') {
372
+ return this.setImageData3D(options);
373
+ }
374
+
321
375
  this.trackDeallocatedMemory('Texture');
322
376
  var _options$target = options.target,
323
377
  target = _options$target === void 0 ? this.target : _options$target,
@@ -327,8 +381,6 @@ var WEBGLTexture = function (_Texture) {
327
381
  level = _options$level === void 0 ? 0 : _options$level,
328
382
  _options$format = options.format,
329
383
  format = _options$format === void 0 ? this.format : _options$format,
330
- _options$border = options.border,
331
- border = _options$border === void 0 ? this.border : _options$border,
332
384
  _options$offset = options.offset,
333
385
  offset = _options$offset === void 0 ? 0 : _options$offset,
334
386
  _options$parameters = options.parameters,
@@ -351,7 +403,7 @@ var WEBGLTexture = function (_Texture) {
351
403
  }
352
404
 
353
405
  var _this$_deduceParamete2 = this._deduceParameters({
354
- format: format,
406
+ format: this.props.format,
355
407
  type: type,
356
408
  dataFormat: dataFormat,
357
409
  compressed: compressed,
@@ -380,23 +432,23 @@ var WEBGLTexture = function (_Texture) {
380
432
  (0, _withParameters.withParameters)(this.gl, parameters, function () {
381
433
  switch (dataType) {
382
434
  case 'null':
383
- gl.texImage2D(target, level, format, width, height, border, dataFormat, type, data);
435
+ gl.texImage2D(target, level, format, width, height, 0, dataFormat, type, data);
384
436
  break;
385
437
 
386
438
  case 'typed-array':
387
- gl.texImage2D(target, level, format, width, height, border, dataFormat, type, data, offset);
439
+ gl.texImage2D(target, level, format, width, height, 0, dataFormat, type, data, offset);
388
440
  break;
389
441
 
390
442
  case 'buffer':
391
- gl2 = (0, _webglChecks.assertWebGL2Context)(gl);
443
+ gl2 = _this5.device.assertWebGL2();
392
444
  gl2.bindBuffer(_constants.default.PIXEL_UNPACK_BUFFER, data.handle || data);
393
- gl2.texImage2D(target, level, format, width, height, border, dataFormat, type, offset);
445
+ gl2.texImage2D(target, level, format, width, height, 0, dataFormat, type, offset);
394
446
  gl2.bindBuffer(_constants.default.PIXEL_UNPACK_BUFFER, null);
395
447
  break;
396
448
 
397
449
  case 'browser-object':
398
- if ((0, _webglChecks.isWebGL2)(gl)) {
399
- gl.texImage2D(target, level, format, width, height, border, dataFormat, type, data);
450
+ if (_this5.device.isWebGL2) {
451
+ gl.texImage2D(target, level, format, width, height, 0, dataFormat, type, data);
400
452
  } else {
401
453
  gl.texImage2D(target, level, format, dataFormat, type, data);
402
454
  }
@@ -413,7 +465,7 @@ var WEBGLTexture = function (_Texture) {
413
465
  levelIndex = _step$value[0],
414
466
  levelData = _step$value[1];
415
467
 
416
- gl.compressedTexImage2D(target, levelIndex, levelData.format, levelData.width, levelData.height, border, levelData.data);
468
+ gl.compressedTexImage2D(target, levelIndex, levelData.format, levelData.width, levelData.height, 0, levelData.data);
417
469
  }
418
470
  } catch (err) {
419
471
  _iterator.e(err);
@@ -431,9 +483,8 @@ var WEBGLTexture = function (_Texture) {
431
483
  if (data && data.byteLength) {
432
484
  this.trackAllocatedMemory(data.byteLength, 'Texture');
433
485
  } else {
434
- var channels = _textureFormats.DATA_FORMAT_CHANNELS[this.dataFormat] || 4;
435
- var channelSize = _textureFormats.TYPE_SIZES[this.type] || 1;
436
- this.trackAllocatedMemory(this.width * this.height * channels * channelSize, 'Texture');
486
+ var bytesPerPixel = (0, _textureFormats.getTextureFormatBytesPerPixel)(this.gl, this.props.format);
487
+ this.trackAllocatedMemory(this.width * this.height * bytesPerPixel, 'Texture');
437
488
  }
438
489
 
439
490
  this.loaded = true;
@@ -442,7 +493,7 @@ var WEBGLTexture = function (_Texture) {
442
493
  }, {
443
494
  key: "setSubImageData",
444
495
  value: function setSubImageData(_ref2) {
445
- var _this4 = this;
496
+ var _this6 = this;
446
497
 
447
498
  var _ref2$target = _ref2.target,
448
499
  target = _ref2$target === void 0 ? this.target : _ref2$target,
@@ -470,13 +521,11 @@ var WEBGLTexture = function (_Texture) {
470
521
  compressed = _ref2$compressed === void 0 ? false : _ref2$compressed,
471
522
  _ref2$offset = _ref2.offset,
472
523
  offset = _ref2$offset === void 0 ? 0 : _ref2$offset,
473
- _ref2$border = _ref2.border,
474
- border = _ref2$border === void 0 ? this.border : _ref2$border,
475
524
  _ref2$parameters = _ref2.parameters,
476
525
  parameters = _ref2$parameters === void 0 ? {} : _ref2$parameters;
477
526
 
478
527
  var _this$_deduceParamete3 = this._deduceParameters({
479
- format: format,
528
+ format: this.props.format,
480
529
  type: type,
481
530
  dataFormat: dataFormat,
482
531
  compressed: compressed,
@@ -490,7 +539,7 @@ var WEBGLTexture = function (_Texture) {
490
539
  compressed = _this$_deduceParamete3.compressed;
491
540
  width = _this$_deduceParamete3.width;
492
541
  height = _this$_deduceParamete3.height;
493
- (0, _api.assert)(this.depth === 0, 'texSubImage not supported for 3D textures');
542
+ (0, _api.assert)(this.depth === 1, 'texSubImage not supported for 3D textures');
494
543
 
495
544
  if (!data) {
496
545
  data = pixels;
@@ -510,22 +559,23 @@ var WEBGLTexture = function (_Texture) {
510
559
  this.gl.bindTexture(this.target, this.handle);
511
560
  (0, _withParameters.withParameters)(this.gl, parameters, function () {
512
561
  if (compressed) {
513
- _this4.gl.compressedTexSubImage2D(target, level, x, y, width, height, format, data);
562
+ _this6.gl.compressedTexSubImage2D(target, level, x, y, width, height, format, data);
514
563
  } else if (data === null) {
515
- _this4.gl.texSubImage2D(target, level, x, y, width, height, dataFormat, type, null);
564
+ _this6.gl.texSubImage2D(target, level, x, y, width, height, dataFormat, type, null);
516
565
  } else if (ArrayBuffer.isView(data)) {
517
- _this4.gl.texSubImage2D(target, level, x, y, width, height, dataFormat, type, data, offset);
566
+ _this6.gl.texSubImage2D(target, level, x, y, width, height, dataFormat, type, data, offset);
518
567
  } else if (typeof WebGLBuffer !== 'undefined' && data instanceof WebGLBuffer) {
519
- var gl2 = (0, _webglChecks.assertWebGL2Context)(_this4.gl);
568
+ var gl2 = _this6.device.assertWebGL2();
569
+
520
570
  gl2.bindBuffer(_constants.default.PIXEL_UNPACK_BUFFER, data);
521
571
  gl2.texSubImage2D(target, level, x, y, width, height, dataFormat, type, offset);
522
572
  gl2.bindBuffer(_constants.default.PIXEL_UNPACK_BUFFER, null);
523
- } else if ((0, _webglChecks.isWebGL2)(_this4.gl)) {
524
- var _gl = (0, _webglChecks.assertWebGL2Context)(_this4.gl);
573
+ } else if (_this6.device.isWebGL2) {
574
+ var _gl = _this6.device.assertWebGL2();
525
575
 
526
576
  _gl.texSubImage2D(target, level, x, y, width, height, dataFormat, type, data);
527
577
  } else {
528
- _this4.gl.texSubImage2D(target, level, x, y, dataFormat, type, data);
578
+ _this6.gl.texSubImage2D(target, level, x, y, dataFormat, type, data);
529
579
  }
530
580
  });
531
581
  this.gl.bindTexture(this.target, null);
@@ -629,10 +679,10 @@ var WEBGLTexture = function (_Texture) {
629
679
  dataFormat = opts.dataFormat,
630
680
  type = opts.type,
631
681
  compressed = opts.compressed;
632
- var textureFormat = _textureFormats.TEXTURE_FORMATS[format];
633
- dataFormat = dataFormat || textureFormat && textureFormat.dataFormat;
634
- type = type || textureFormat && textureFormat.types[0];
635
- compressed = compressed || textureFormat && textureFormat.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;
636
686
 
637
687
  var _this$_deduceImageSiz = this._deduceImageSize(data, width, height);
638
688
 
@@ -696,215 +746,241 @@ var WEBGLTexture = function (_Texture) {
696
746
  return size;
697
747
  }
698
748
  }, {
699
- key: "getParameter",
700
- value: function getParameter(pname) {
701
- var props = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
702
- pname = (0, _constantsToKeys.getKeyValue)(this.gl, pname);
703
- (0, _api.assert)(pname);
704
- var parameters = this.constructor.PARAMETERS || {};
705
- var parameter = parameters[pname];
706
-
707
- if (parameter) {
708
- var isWebgl2 = (0, _webglChecks.isWebGL2)(this.gl);
709
- var parameterAvailable = (!('webgl2' in parameter) || isWebgl2) && (!('extension' in parameter) || this.gl.getExtension(parameter.extension));
710
-
711
- if (!parameterAvailable) {
712
- var webgl1Default = parameter.webgl1;
713
- var webgl2Default = 'webgl2' in parameter ? parameter.webgl2 : parameter.webgl1;
714
- var defaultValue = isWebgl2 ? webgl2Default : webgl1Default;
715
- return defaultValue;
716
- }
717
- }
718
-
719
- return this._getParameter(pname, props);
720
- }
721
- }, {
722
- key: "getParameters",
723
- value: function getParameters() {
724
- var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
725
- var parameters = options.parameters,
726
- keys = options.keys;
727
- var PARAMETERS = this.constructor.PARAMETERS || {};
728
- var isWebgl2 = (0, _webglChecks.isWebGL2)(this.gl);
729
- var values = {};
730
- var parameterKeys = parameters || Object.keys(PARAMETERS);
731
-
732
- var _iterator2 = _createForOfIteratorHelper(parameterKeys),
733
- _step2;
734
-
735
- try {
736
- for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
737
- var pname = _step2.value;
738
- var parameter = PARAMETERS[pname];
739
- var parameterAvailable = parameter && (!('webgl2' in parameter) || isWebgl2) && (!('extension' in parameter) || this.gl.getExtension(parameter.extension));
740
-
741
- if (parameterAvailable) {
742
- var key = keys ? (0, _constantsToKeys.getKey)(this.gl, pname) : pname;
743
- values[key] = this.getParameter(pname, options);
744
-
745
- if (keys && parameter.type === 'GLenum') {
746
- values[key] = (0, _constantsToKeys.getKey)(this.gl, values[key]);
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();
747
790
  }
748
791
  }
749
- }
750
- } catch (err) {
751
- _iterator2.e(err);
752
- } finally {
753
- _iterator2.f();
754
- }
792
+ }, _callee, this);
793
+ }));
755
794
 
756
- return values;
757
- }
758
- }, {
759
- key: "setParameter",
760
- value: function setParameter(pname, value) {
761
- pname = (0, _constantsToKeys.getKeyValue)(this.gl, pname);
762
- (0, _api.assert)(pname);
763
- var parameters = this.constructor.PARAMETERS || {};
764
- var parameter = parameters[pname];
765
-
766
- if (parameter) {
767
- var isWebgl2 = (0, _webglChecks.isWebGL2)(this.gl);
768
- var parameterAvailable = (!('webgl2' in parameter) || isWebgl2) && (!('extension' in parameter) || this.gl.getExtension(parameter.extension));
769
-
770
- if (!parameterAvailable) {
771
- throw new Error('Parameter not available on this platform');
772
- }
773
-
774
- if (parameter.type === 'GLenum') {
775
- value = (0, _constantsToKeys.getKeyValue)(value);
776
- }
795
+ function setCubeMapImageData(_x) {
796
+ return _setCubeMapImageData.apply(this, arguments);
777
797
  }
778
798
 
779
- this._setParameter(pname, value);
780
-
781
- return this;
782
- }
799
+ return setCubeMapImageData;
800
+ }()
783
801
  }, {
784
- key: "setParameters",
785
- value: function setParameters(parameters) {
786
- for (var pname in parameters) {
787
- this.setParameter(pname, parameters[pname]);
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);
788
831
  }
789
832
 
790
833
  return this;
791
834
  }
792
835
  }, {
793
- key: "_getParameter",
794
- value: function _getParameter(pname, props) {
795
- switch (pname) {
796
- case _constants.default.TEXTURE_WIDTH:
797
- return this.width;
798
-
799
- case _constants.default.TEXTURE_HEIGHT:
800
- return this.height;
801
-
802
- default:
803
- this.gl.bindTexture(this.target, this.handle);
804
- var value = this.gl.getTexParameter(this.target, pname);
805
- this.gl.bindTexture(this.target, null);
806
- return value;
807
- }
808
- }
809
- }, {
810
- key: "_setParameter",
811
- value: function _setParameter(pname, param) {
836
+ key: "setImageData3D",
837
+ value: function setImageData3D(_ref4) {
838
+ var _this9 = this;
839
+
840
+ var _ref4$level = _ref4.level,
841
+ level = _ref4$level === void 0 ? 0 : _ref4$level,
842
+ dataFormat = _ref4.dataFormat,
843
+ format = _ref4.format,
844
+ type = _ref4.type,
845
+ width = _ref4.width,
846
+ height = _ref4.height,
847
+ _ref4$depth = _ref4.depth,
848
+ depth = _ref4$depth === void 0 ? 1 : _ref4$depth,
849
+ _ref4$offset = _ref4.offset,
850
+ offset = _ref4$offset === void 0 ? 0 : _ref4$offset,
851
+ data = _ref4.data,
852
+ _ref4$parameters = _ref4.parameters,
853
+ parameters = _ref4$parameters === void 0 ? {} : _ref4$parameters;
854
+ this.trackDeallocatedMemory('Texture');
812
855
  this.gl.bindTexture(this.target, this.handle);
813
- param = this._getNPOTParam(pname, param);
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
+ }
814
861
 
815
- switch (pname) {
816
- case _constants.default.TEXTURE_MIN_LOD:
817
- case _constants.default.TEXTURE_MAX_LOD:
818
- this.gl.texParameterf(this.target, pname, param);
819
- break;
862
+ if (data instanceof _webglBuffer.default) {
863
+ _this9.gl.bindBuffer(_constants.default.PIXEL_UNPACK_BUFFER, data.handle);
820
864
 
821
- case _constants.default.TEXTURE_WIDTH:
822
- case _constants.default.TEXTURE_HEIGHT:
823
- (0, _api.assert)(false);
824
- break;
865
+ _this9.gl.texImage3D(_this9.target, level, dataFormat, width, height, depth, 0, format, type, offset);
866
+ }
867
+ });
825
868
 
826
- default:
827
- this.gl.texParameteri(this.target, pname, param);
828
- break;
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');
829
874
  }
830
875
 
831
- this.gl.bindTexture(this.target, null);
876
+ this.loaded = true;
832
877
  return this;
833
878
  }
834
879
  }, {
835
- key: "_isNPOT",
836
- value: function _isNPOT() {
837
- if ((0, _webglChecks.isWebGL2)(this.gl)) {
838
- return false;
880
+ key: "_setSamplerParameters",
881
+ value: function _setSamplerParameters(parameters) {
882
+ if (this.device.isWebGL1 && isNPOT(this.width, this.height)) {
883
+ parameters = (0, _samplerParameters.updateSamplerParametersForNPOT)(parameters);
839
884
  }
840
885
 
841
- if (!this.width || !this.height) {
842
- return false;
886
+ if ((0, _api.isObjectEmpty)(parameters)) {
887
+ return;
843
888
  }
844
889
 
845
- return !(0, _api.isPowerOfTwo)(this.width) || !(0, _api.isPowerOfTwo)(this.height);
846
- }
847
- }, {
848
- key: "_updateForNPOT",
849
- value: function _updateForNPOT(parameters) {
850
- if (parameters[this.gl.TEXTURE_MIN_FILTER] === undefined) {
851
- parameters[this.gl.TEXTURE_MIN_FILTER] = this.gl.LINEAR;
852
- }
890
+ logParameters(parameters);
891
+ this.gl.bindTexture(this.target, this.handle);
853
892
 
854
- if (parameters[this.gl.TEXTURE_WRAP_S] === undefined) {
855
- parameters[this.gl.TEXTURE_WRAP_S] = this.gl.CLAMP_TO_EDGE;
856
- }
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];
857
897
 
858
- if (parameters[this.gl.TEXTURE_WRAP_T] === undefined) {
859
- parameters[this.gl.TEXTURE_WRAP_T] = this.gl.CLAMP_TO_EDGE;
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
+ }
860
911
  }
912
+
913
+ this.gl.bindTexture(this.target, null);
914
+ return this;
861
915
  }
862
916
  }, {
863
- key: "_getNPOTParam",
864
- value: function _getNPOTParam(pname, param) {
865
- if (this._isNPOT()) {
917
+ key: "_getWebGL1NPOTParameterOverride",
918
+ value: function _getWebGL1NPOTParameterOverride(pname, value) {
919
+ var npot = this.device.isWebGL1 && isNPOT(this.width, this.height);
920
+
921
+ if (npot) {
866
922
  switch (pname) {
867
923
  case _constants.default.TEXTURE_MIN_FILTER:
868
- if (NPOT_MIN_FILTERS.indexOf(param) === -1) {
869
- param = _constants.default.LINEAR;
924
+ if (value !== _constants.default.LINEAR && value !== _constants.default.NEAREST) {
925
+ return _constants.default.LINEAR;
870
926
  }
871
927
 
872
928
  break;
873
929
 
874
930
  case _constants.default.TEXTURE_WRAP_S:
875
931
  case _constants.default.TEXTURE_WRAP_T:
876
- if (param !== _constants.default.CLAMP_TO_EDGE) {
877
- param = _constants.default.CLAMP_TO_EDGE;
878
- }
879
-
880
- break;
932
+ return _constants.default.CLAMP_TO_EDGE;
881
933
 
882
934
  default:
883
935
  break;
884
936
  }
885
937
  }
886
938
 
887
- return param;
888
- }
889
- }], [{
890
- key: "isSupported",
891
- value: function isSupported(device, options) {
892
- var webglDevice = _webglDevice.default.attach(device);
893
-
894
- var format = options.format,
895
- linearFiltering = options.linearFiltering;
896
- var supported = true;
897
-
898
- if (format) {
899
- supported = supported && (0, _textureFormats.isFormatSupported)(webglDevice.gl, format);
900
- supported = supported && (!linearFiltering || (0, _textureFormats.isLinearFilteringSupported)(webglDevice.gl, format));
901
- }
902
-
903
- return supported;
939
+ return value;
904
940
  }
905
941
  }]);
906
942
  return WEBGLTexture;
907
943
  }(_api.Texture);
908
944
 
909
945
  exports.default = WEBGLTexture;
910
- //# sourceMappingURL=texture.js.map
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