@luma.gl/webgl 9.0.0-alpha.3 → 9.0.0-alpha.30

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 (500) hide show
  1. package/LICENSE +2 -1
  2. package/dist/adapter/converters/device-parameters.d.ts +14 -4
  3. package/dist/adapter/converters/device-parameters.d.ts.map +1 -1
  4. package/dist/adapter/converters/device-parameters.js +28 -46
  5. package/dist/adapter/converters/device-parameters.js.map +1 -1
  6. package/dist/adapter/converters/sampler-parameters.d.ts +5 -5
  7. package/dist/adapter/converters/sampler-parameters.d.ts.map +1 -1
  8. package/dist/adapter/converters/sampler-parameters.js +20 -56
  9. package/dist/adapter/converters/sampler-parameters.js.map +1 -1
  10. package/dist/adapter/converters/texture-formats.d.ts +31 -42
  11. package/dist/adapter/converters/texture-formats.d.ts.map +1 -1
  12. package/dist/adapter/converters/texture-formats.js +163 -178
  13. package/dist/adapter/converters/texture-formats.js.map +1 -1
  14. package/dist/adapter/converters/vertex-formats.d.ts +2 -2
  15. package/dist/adapter/converters/vertex-formats.d.ts.map +1 -1
  16. package/dist/adapter/converters/vertex-formats.js +3 -9
  17. package/dist/adapter/converters/vertex-formats.js.map +1 -1
  18. package/dist/adapter/device-helpers/device-features.d.ts +1 -1
  19. package/dist/adapter/device-helpers/device-features.d.ts.map +1 -1
  20. package/dist/adapter/device-helpers/device-features.js +13 -20
  21. package/dist/adapter/device-helpers/device-features.js.map +1 -1
  22. package/dist/adapter/device-helpers/device-limits.d.ts +3 -3
  23. package/dist/adapter/device-helpers/device-limits.d.ts.map +1 -1
  24. package/dist/adapter/device-helpers/device-limits.js +2 -5
  25. package/dist/adapter/device-helpers/device-limits.js.map +1 -1
  26. package/dist/adapter/device-helpers/get-device-info.d.ts +1 -1
  27. package/dist/adapter/device-helpers/get-device-info.d.ts.map +1 -1
  28. package/dist/adapter/device-helpers/get-device-info.js +9 -11
  29. package/dist/adapter/device-helpers/get-device-info.js.map +1 -1
  30. package/dist/adapter/device-helpers/is-old-ie.js +2 -1
  31. package/dist/adapter/device-helpers/is-old-ie.js.map +1 -1
  32. package/dist/adapter/helpers/attribute-utils.d.ts +4 -4
  33. package/dist/adapter/helpers/attribute-utils.d.ts.map +1 -1
  34. package/dist/adapter/helpers/attribute-utils.js +1 -18
  35. package/dist/adapter/helpers/attribute-utils.js.map +1 -1
  36. package/dist/adapter/helpers/get-shader-info.d.ts +9 -0
  37. package/dist/adapter/helpers/get-shader-info.d.ts.map +1 -0
  38. package/dist/adapter/helpers/get-shader-info.js +25 -0
  39. package/dist/adapter/helpers/get-shader-info.js.map +1 -0
  40. package/dist/adapter/helpers/get-shader-layout.d.ts +10 -7
  41. package/dist/adapter/helpers/get-shader-layout.d.ts.map +1 -1
  42. package/dist/adapter/helpers/get-shader-layout.js +101 -84
  43. package/dist/adapter/helpers/get-shader-layout.js.map +1 -1
  44. package/dist/adapter/helpers/parse-shader-compiler-log.d.ts +1 -1
  45. package/dist/adapter/helpers/parse-shader-compiler-log.d.ts.map +1 -1
  46. package/dist/adapter/helpers/parse-shader-compiler-log.js +0 -7
  47. package/dist/adapter/helpers/parse-shader-compiler-log.js.map +1 -1
  48. package/dist/adapter/helpers/set-uniform.d.ts +2 -2
  49. package/dist/adapter/helpers/set-uniform.d.ts.map +1 -1
  50. package/dist/adapter/helpers/set-uniform.js +3 -33
  51. package/dist/adapter/helpers/set-uniform.js.map +1 -1
  52. package/dist/adapter/helpers/uniforms.d.ts +9 -10
  53. package/dist/adapter/helpers/uniforms.d.ts.map +1 -1
  54. package/dist/adapter/helpers/uniforms.js +8 -18
  55. package/dist/adapter/helpers/uniforms.js.map +1 -1
  56. package/dist/adapter/objects/constants-to-keys.d.ts +1 -3
  57. package/dist/adapter/objects/constants-to-keys.d.ts.map +1 -1
  58. package/dist/adapter/objects/constants-to-keys.js +1 -28
  59. package/dist/adapter/objects/constants-to-keys.js.map +1 -1
  60. package/dist/adapter/objects/webgl-renderbuffer.d.ts +15 -12
  61. package/dist/adapter/objects/webgl-renderbuffer.d.ts.map +1 -1
  62. package/dist/adapter/objects/webgl-renderbuffer.js +35 -41
  63. package/dist/adapter/objects/webgl-renderbuffer.js.map +1 -1
  64. package/dist/adapter/objects/webgl-resource.d.ts +6 -9
  65. package/dist/adapter/objects/webgl-resource.d.ts.map +1 -1
  66. package/dist/adapter/objects/webgl-resource.js +19 -75
  67. package/dist/adapter/objects/webgl-resource.js.map +1 -1
  68. package/dist/adapter/objects/webgl-vertex-array-object.d.ts +38 -11
  69. package/dist/adapter/objects/webgl-vertex-array-object.d.ts.map +1 -1
  70. package/dist/adapter/objects/webgl-vertex-array-object.js +122 -32
  71. package/dist/adapter/objects/webgl-vertex-array-object.js.map +1 -1
  72. package/dist/adapter/resources/webgl-buffer.d.ts +18 -10
  73. package/dist/adapter/resources/webgl-buffer.d.ts.map +1 -1
  74. package/dist/adapter/resources/webgl-buffer.js +43 -71
  75. package/dist/adapter/resources/webgl-buffer.js.map +1 -1
  76. package/dist/adapter/resources/webgl-command-buffer.d.ts +15 -9
  77. package/dist/adapter/resources/webgl-command-buffer.d.ts.map +1 -1
  78. package/dist/adapter/resources/webgl-command-buffer.js +169 -41
  79. package/dist/adapter/resources/webgl-command-buffer.js.map +1 -1
  80. package/dist/adapter/resources/webgl-command-encoder.d.ts +7 -6
  81. package/dist/adapter/resources/webgl-command-encoder.d.ts.map +1 -1
  82. package/dist/adapter/resources/webgl-command-encoder.js +8 -17
  83. package/dist/adapter/resources/webgl-command-encoder.js.map +1 -1
  84. package/dist/adapter/resources/webgl-external-texture.js.map +1 -1
  85. package/dist/adapter/resources/webgl-framebuffer.d.ts +21 -24
  86. package/dist/adapter/resources/webgl-framebuffer.d.ts.map +1 -1
  87. package/dist/adapter/resources/webgl-framebuffer.js +41 -149
  88. package/dist/adapter/resources/webgl-framebuffer.js.map +1 -1
  89. package/dist/adapter/resources/webgl-render-pass.d.ts +19 -4
  90. package/dist/adapter/resources/webgl-render-pass.d.ts.map +1 -1
  91. package/dist/adapter/resources/webgl-render-pass.js +88 -9
  92. package/dist/adapter/resources/webgl-render-pass.js.map +1 -1
  93. package/dist/adapter/resources/webgl-render-pipeline.d.ts +44 -11
  94. package/dist/adapter/resources/webgl-render-pipeline.d.ts.map +1 -1
  95. package/dist/adapter/resources/webgl-render-pipeline.js +90 -152
  96. package/dist/adapter/resources/webgl-render-pipeline.js.map +1 -1
  97. package/dist/adapter/resources/webgl-sampler.d.ts +6 -5
  98. package/dist/adapter/resources/webgl-sampler.d.ts.map +1 -1
  99. package/dist/adapter/resources/webgl-sampler.js +7 -15
  100. package/dist/adapter/resources/webgl-sampler.js.map +1 -1
  101. package/dist/adapter/resources/webgl-shader.d.ts +3 -4
  102. package/dist/adapter/resources/webgl-shader.d.ts.map +1 -1
  103. package/dist/adapter/resources/webgl-shader.js +9 -22
  104. package/dist/adapter/resources/webgl-shader.js.map +1 -1
  105. package/dist/adapter/resources/webgl-texture.d.ts +64 -44
  106. package/dist/adapter/resources/webgl-texture.d.ts.map +1 -1
  107. package/dist/adapter/resources/webgl-texture.js +98 -213
  108. package/dist/adapter/resources/webgl-texture.js.map +1 -1
  109. package/dist/adapter/webgl-canvas-context.d.ts +6 -7
  110. package/dist/adapter/webgl-canvas-context.d.ts.map +1 -1
  111. package/dist/adapter/webgl-canvas-context.js +8 -20
  112. package/dist/adapter/webgl-canvas-context.js.map +1 -1
  113. package/dist/adapter/webgl-device.d.ts +64 -41
  114. package/dist/adapter/webgl-device.d.ts.map +1 -1
  115. package/dist/adapter/webgl-device.js +133 -113
  116. package/dist/adapter/webgl-device.js.map +1 -1
  117. package/dist/classic/accessor.d.ts +3 -3
  118. package/dist/classic/accessor.d.ts.map +1 -1
  119. package/dist/classic/accessor.js +14 -38
  120. package/dist/classic/accessor.js.map +1 -1
  121. package/dist/classic/{buffer.d.ts → buffer-with-accessor.d.ts} +16 -28
  122. package/dist/classic/buffer-with-accessor.d.ts.map +1 -0
  123. package/dist/classic/{buffer.js → buffer-with-accessor.js} +54 -122
  124. package/dist/classic/buffer-with-accessor.js.map +1 -0
  125. package/dist/classic/clear.d.ts +22 -0
  126. package/dist/classic/clear.d.ts.map +1 -0
  127. package/dist/classic/clear.js +88 -0
  128. package/dist/classic/clear.js.map +1 -0
  129. package/dist/classic/copy-and-blit.d.ts +62 -0
  130. package/dist/classic/copy-and-blit.d.ts.map +1 -0
  131. package/dist/classic/copy-and-blit.js +202 -0
  132. package/dist/classic/copy-and-blit.js.map +1 -0
  133. package/dist/classic/format-utils.d.ts +3 -0
  134. package/dist/classic/format-utils.d.ts.map +1 -0
  135. package/dist/classic/format-utils.js +38 -0
  136. package/dist/classic/format-utils.js.map +1 -0
  137. package/dist/classic/typed-array-utils.d.ts +15 -17
  138. package/dist/classic/typed-array-utils.d.ts.map +1 -1
  139. package/dist/classic/typed-array-utils.js +1 -21
  140. package/dist/classic/typed-array-utils.js.map +1 -1
  141. package/dist/context/context/create-browser-context.d.ts +40 -0
  142. package/dist/context/context/create-browser-context.d.ts.map +1 -0
  143. package/dist/{esm/context/context/create-context.js → context/context/create-browser-context.js} +23 -19
  144. package/dist/context/context/create-browser-context.js.map +1 -0
  145. package/dist/context/context/create-headless-context.d.ts +9 -0
  146. package/dist/context/context/create-headless-context.d.ts.map +1 -0
  147. package/dist/context/context/create-headless-context.js +42 -0
  148. package/dist/context/context/create-headless-context.js.map +1 -0
  149. package/dist/context/context/webgl-checks.js +1 -4
  150. package/dist/context/context/webgl-checks.js.map +1 -1
  151. package/dist/context/debug/spector.d.ts +1 -2
  152. package/dist/context/debug/spector.d.ts.map +1 -1
  153. package/dist/context/debug/spector.js +8 -20
  154. package/dist/context/debug/spector.js.map +1 -1
  155. package/dist/context/debug/webgl-developer-tools.d.ts +2 -2
  156. package/dist/context/debug/webgl-developer-tools.d.ts.map +1 -1
  157. package/dist/context/debug/webgl-developer-tools.js +11 -34
  158. package/dist/context/debug/webgl-developer-tools.js.map +1 -1
  159. package/dist/context/parameters/unified-parameter-api.d.ts +8 -7
  160. package/dist/context/parameters/unified-parameter-api.d.ts.map +1 -1
  161. package/dist/context/parameters/unified-parameter-api.js +8 -18
  162. package/dist/context/parameters/unified-parameter-api.js.map +1 -1
  163. package/dist/context/parameters/webgl-parameter-tables.d.ts +105 -106
  164. package/dist/context/parameters/webgl-parameter-tables.d.ts.map +1 -1
  165. package/dist/context/parameters/webgl-parameter-tables.js +18 -36
  166. package/dist/context/parameters/webgl-parameter-tables.js.map +1 -1
  167. package/dist/context/polyfill/context-data.d.ts +13 -0
  168. package/dist/context/polyfill/context-data.d.ts.map +1 -0
  169. package/dist/context/polyfill/context-data.js +12 -0
  170. package/dist/context/polyfill/context-data.js.map +1 -0
  171. package/dist/context/polyfill/get-parameter-polyfill.d.ts +1 -1
  172. package/dist/context/polyfill/get-parameter-polyfill.d.ts.map +1 -1
  173. package/dist/context/polyfill/get-parameter-polyfill.js +4 -9
  174. package/dist/context/polyfill/get-parameter-polyfill.js.map +1 -1
  175. package/dist/context/polyfill/polyfill-context.js +21 -29
  176. package/dist/context/polyfill/polyfill-context.js.map +1 -1
  177. package/dist/context/polyfill/polyfill-table.d.ts +8 -8
  178. package/dist/context/polyfill/polyfill-table.d.ts.map +1 -1
  179. package/dist/context/polyfill/polyfill-table.js +10 -32
  180. package/dist/context/polyfill/polyfill-table.js.map +1 -1
  181. package/dist/context/polyfill/polyfill-vertex-array-object.d.ts.map +1 -1
  182. package/dist/context/polyfill/polyfill-vertex-array-object.js +0 -70
  183. package/dist/context/polyfill/polyfill-vertex-array-object.js.map +1 -1
  184. package/dist/context/state-tracker/deep-array-equal.js +0 -4
  185. package/dist/context/state-tracker/deep-array-equal.js.map +1 -1
  186. package/dist/context/state-tracker/track-context-state.d.ts.map +1 -1
  187. package/dist/context/state-tracker/track-context-state.js +16 -51
  188. package/dist/context/state-tracker/track-context-state.js.map +1 -1
  189. package/dist/context/state-tracker/with-parameters.d.ts +2 -1
  190. package/dist/context/state-tracker/with-parameters.d.ts.map +1 -1
  191. package/dist/context/state-tracker/with-parameters.js +7 -9
  192. package/dist/context/state-tracker/with-parameters.js.map +1 -1
  193. package/dist/dist.dev.js +10158 -0
  194. package/dist/index.cjs +6604 -0
  195. package/dist/index.d.ts +25 -22
  196. package/dist/index.d.ts.map +1 -1
  197. package/dist/index.js +27 -26
  198. package/dist/index.js.map +1 -1
  199. package/dist/types.d.ts +1 -1
  200. package/dist/types.d.ts.map +1 -1
  201. package/dist/types.js.map +1 -1
  202. package/dist.min.js +37 -0
  203. package/package.json +21 -9
  204. package/src/adapter/converters/device-parameters.ts +88 -35
  205. package/src/adapter/converters/sampler-parameters.ts +19 -9
  206. package/src/adapter/converters/texture-formats.ts +261 -178
  207. package/src/adapter/converters/vertex-formats.ts +3 -2
  208. package/src/adapter/device-helpers/device-features.ts +10 -3
  209. package/src/adapter/device-helpers/device-limits.ts +3 -3
  210. package/src/adapter/device-helpers/get-device-info.ts +14 -10
  211. package/src/adapter/helpers/attribute-utils.ts +4 -5
  212. package/src/adapter/helpers/get-shader-info.ts +40 -0
  213. package/src/adapter/helpers/get-shader-layout.ts +150 -68
  214. package/src/adapter/helpers/parse-shader-compiler-log.ts +2 -2
  215. package/src/adapter/helpers/set-uniform.ts +7 -6
  216. package/src/adapter/helpers/uniforms.ts +23 -13
  217. package/src/adapter/objects/constants-to-keys.ts +3 -25
  218. package/src/adapter/objects/webgl-renderbuffer.ts +40 -37
  219. package/src/adapter/objects/webgl-resource.ts +14 -23
  220. package/src/adapter/objects/webgl-vertex-array-object.ts +201 -37
  221. package/src/adapter/resources/webgl-buffer.ts +56 -58
  222. package/src/adapter/resources/webgl-command-buffer.ts +332 -25
  223. package/src/adapter/resources/webgl-command-encoder.ts +16 -11
  224. package/src/adapter/resources/webgl-external-texture.ts +2 -2
  225. package/src/adapter/resources/webgl-framebuffer.ts +88 -133
  226. package/src/adapter/resources/webgl-render-pass.ts +155 -4
  227. package/src/adapter/resources/webgl-render-pipeline.ts +161 -104
  228. package/src/adapter/resources/webgl-sampler.ts +13 -8
  229. package/src/adapter/resources/webgl-shader.ts +11 -10
  230. package/src/adapter/resources/webgl-texture.ts +113 -85
  231. package/src/adapter/webgl-canvas-context.ts +14 -14
  232. package/src/adapter/webgl-device.ts +192 -77
  233. package/src/classic/accessor.ts +4 -17
  234. package/src/classic/{buffer.ts → buffer-with-accessor.ts} +67 -75
  235. package/src/classic/clear.ts +110 -0
  236. package/src/classic/copy-and-blit.ts +308 -0
  237. package/src/classic/format-utils.ts +43 -0
  238. package/src/classic/typed-array-utils.ts +18 -27
  239. package/src/context/context/{create-context.ts → create-browser-context.ts} +48 -31
  240. package/src/context/context/create-headless-context.ts +48 -0
  241. package/src/context/context/webgl-checks.ts +1 -1
  242. package/src/context/debug/spector.ts +7 -6
  243. package/src/context/debug/webgl-developer-tools.ts +21 -15
  244. package/src/context/parameters/unified-parameter-api.ts +20 -14
  245. package/src/context/parameters/webgl-parameter-tables.ts +117 -98
  246. package/src/context/polyfill/context-data.ts +27 -0
  247. package/src/context/polyfill/get-parameter-polyfill.ts +8 -7
  248. package/src/context/polyfill/polyfill-context.ts +7 -9
  249. package/src/context/polyfill/polyfill-table.ts +18 -16
  250. package/src/context/polyfill/polyfill-vertex-array-object.ts +2 -0
  251. package/src/context/state-tracker/track-context-state.ts +14 -13
  252. package/src/context/state-tracker/with-parameters.ts +8 -2
  253. package/src/index.ts +42 -33
  254. package/dist/adapter/converters/renderbuffer-formats.d.ts +0 -16
  255. package/dist/adapter/converters/renderbuffer-formats.d.ts.map +0 -1
  256. package/dist/adapter/converters/renderbuffer-formats.js +0 -185
  257. package/dist/adapter/converters/renderbuffer-formats.js.map +0 -1
  258. package/dist/bundle.d.ts +0 -2
  259. package/dist/bundle.d.ts.map +0 -1
  260. package/dist/bundle.js +0 -5
  261. package/dist/bundle.js.map +0 -1
  262. package/dist/classic/buffer.d.ts.map +0 -1
  263. package/dist/classic/buffer.js.map +0 -1
  264. package/dist/context/context/context-state.d.ts +0 -18
  265. package/dist/context/context/context-state.d.ts.map +0 -1
  266. package/dist/context/context/context-state.js +0 -26
  267. package/dist/context/context/context-state.js.map +0 -1
  268. package/dist/context/context/create-context.d.ts +0 -41
  269. package/dist/context/context/create-context.d.ts.map +0 -1
  270. package/dist/context/context/create-context.js +0 -49
  271. package/dist/context/context/create-context.js.map +0 -1
  272. package/dist/context/context/device-pixels.d.ts +0 -25
  273. package/dist/context/context/device-pixels.d.ts.map +0 -1
  274. package/dist/context/context/device-pixels.js +0 -98
  275. package/dist/context/context/device-pixels.js.map +0 -1
  276. package/dist/es5/adapter/converters/device-parameters.js +0 -170
  277. package/dist/es5/adapter/converters/device-parameters.js.map +0 -1
  278. package/dist/es5/adapter/converters/renderbuffer-formats.js +0 -163
  279. package/dist/es5/adapter/converters/renderbuffer-formats.js.map +0 -1
  280. package/dist/es5/adapter/converters/sampler-parameters.js +0 -226
  281. package/dist/es5/adapter/converters/sampler-parameters.js.map +0 -1
  282. package/dist/es5/adapter/converters/texture-formats.js +0 -1031
  283. package/dist/es5/adapter/converters/texture-formats.js.map +0 -1
  284. package/dist/es5/adapter/converters/vertex-formats.js +0 -45
  285. package/dist/es5/adapter/converters/vertex-formats.js.map +0 -1
  286. package/dist/es5/adapter/device-helpers/device-features.js +0 -144
  287. package/dist/es5/adapter/device-helpers/device-features.js.map +0 -1
  288. package/dist/es5/adapter/device-helpers/device-limits.js +0 -64
  289. package/dist/es5/adapter/device-helpers/device-limits.js.map +0 -1
  290. package/dist/es5/adapter/device-helpers/get-device-info.js +0 -55
  291. package/dist/es5/adapter/device-helpers/get-device-info.js.map +0 -1
  292. package/dist/es5/adapter/device-helpers/is-old-ie.js +0 -16
  293. package/dist/es5/adapter/device-helpers/is-old-ie.js.map +0 -1
  294. package/dist/es5/adapter/helpers/attribute-utils.js +0 -91
  295. package/dist/es5/adapter/helpers/attribute-utils.js.map +0 -1
  296. package/dist/es5/adapter/helpers/get-shader-layout.js +0 -371
  297. package/dist/es5/adapter/helpers/get-shader-layout.js.map +0 -1
  298. package/dist/es5/adapter/helpers/parse-shader-compiler-log.js +0 -72
  299. package/dist/es5/adapter/helpers/parse-shader-compiler-log.js.map +0 -1
  300. package/dist/es5/adapter/helpers/set-uniform.js +0 -125
  301. package/dist/es5/adapter/helpers/set-uniform.js.map +0 -1
  302. package/dist/es5/adapter/helpers/uniforms.js +0 -112
  303. package/dist/es5/adapter/helpers/uniforms.js.map +0 -1
  304. package/dist/es5/adapter/objects/constants-to-keys.js +0 -54
  305. package/dist/es5/adapter/objects/constants-to-keys.js.map +0 -1
  306. package/dist/es5/adapter/objects/webgl-renderbuffer.js +0 -150
  307. package/dist/es5/adapter/objects/webgl-renderbuffer.js.map +0 -1
  308. package/dist/es5/adapter/objects/webgl-resource.js +0 -292
  309. package/dist/es5/adapter/objects/webgl-resource.js.map +0 -1
  310. package/dist/es5/adapter/objects/webgl-vertex-array-object.js +0 -137
  311. package/dist/es5/adapter/objects/webgl-vertex-array-object.js.map +0 -1
  312. package/dist/es5/adapter/resources/webgl-buffer.js +0 -243
  313. package/dist/es5/adapter/resources/webgl-buffer.js.map +0 -1
  314. package/dist/es5/adapter/resources/webgl-command-buffer.js +0 -96
  315. package/dist/es5/adapter/resources/webgl-command-buffer.js.map +0 -1
  316. package/dist/es5/adapter/resources/webgl-command-encoder.js +0 -98
  317. package/dist/es5/adapter/resources/webgl-command-encoder.js.map +0 -1
  318. package/dist/es5/adapter/resources/webgl-external-texture.js +0 -2
  319. package/dist/es5/adapter/resources/webgl-external-texture.js.map +0 -1
  320. package/dist/es5/adapter/resources/webgl-framebuffer.js +0 -345
  321. package/dist/es5/adapter/resources/webgl-framebuffer.js.map +0 -1
  322. package/dist/es5/adapter/resources/webgl-render-pass.js +0 -61
  323. package/dist/es5/adapter/resources/webgl-render-pass.js.map +0 -1
  324. package/dist/es5/adapter/resources/webgl-render-pipeline.js +0 -505
  325. package/dist/es5/adapter/resources/webgl-render-pipeline.js.map +0 -1
  326. package/dist/es5/adapter/resources/webgl-sampler.js +0 -96
  327. package/dist/es5/adapter/resources/webgl-sampler.js.map +0 -1
  328. package/dist/es5/adapter/resources/webgl-shader.js +0 -149
  329. package/dist/es5/adapter/resources/webgl-shader.js.map +0 -1
  330. package/dist/es5/adapter/resources/webgl-texture.js +0 -986
  331. package/dist/es5/adapter/resources/webgl-texture.js.map +0 -1
  332. package/dist/es5/adapter/webgl-canvas-context.js +0 -97
  333. package/dist/es5/adapter/webgl-canvas-context.js.map +0 -1
  334. package/dist/es5/adapter/webgl-device.js +0 -399
  335. package/dist/es5/adapter/webgl-device.js.map +0 -1
  336. package/dist/es5/bundle.js +0 -7
  337. package/dist/es5/bundle.js.map +0 -1
  338. package/dist/es5/classic/accessor.js +0 -181
  339. package/dist/es5/classic/accessor.js.map +0 -1
  340. package/dist/es5/classic/buffer.js +0 -470
  341. package/dist/es5/classic/buffer.js.map +0 -1
  342. package/dist/es5/classic/typed-array-utils.js +0 -126
  343. package/dist/es5/classic/typed-array-utils.js.map +0 -1
  344. package/dist/es5/context/context/context-state.js +0 -31
  345. package/dist/es5/context/context/context-state.js.map +0 -1
  346. package/dist/es5/context/context/create-context.js +0 -69
  347. package/dist/es5/context/context/create-context.js.map +0 -1
  348. package/dist/es5/context/context/device-pixels.js +0 -115
  349. package/dist/es5/context/context/device-pixels.js.map +0 -1
  350. package/dist/es5/context/context/webgl-checks.js +0 -54
  351. package/dist/es5/context/context/webgl-checks.js.map +0 -1
  352. package/dist/es5/context/debug/spector.js +0 -133
  353. package/dist/es5/context/debug/spector.js.map +0 -1
  354. package/dist/es5/context/debug/webgl-developer-tools.js +0 -198
  355. package/dist/es5/context/debug/webgl-developer-tools.js.map +0 -1
  356. package/dist/es5/context/parameters/unified-parameter-api.js +0 -97
  357. package/dist/es5/context/parameters/unified-parameter-api.js.map +0 -1
  358. package/dist/es5/context/parameters/webgl-parameter-tables.js +0 -392
  359. package/dist/es5/context/parameters/webgl-parameter-tables.js.map +0 -1
  360. package/dist/es5/context/polyfill/get-parameter-polyfill.js +0 -81
  361. package/dist/es5/context/polyfill/get-parameter-polyfill.js.map +0 -1
  362. package/dist/es5/context/polyfill/polyfill-context.js +0 -135
  363. package/dist/es5/context/polyfill/polyfill-context.js.map +0 -1
  364. package/dist/es5/context/polyfill/polyfill-table.js +0 -166
  365. package/dist/es5/context/polyfill/polyfill-table.js.map +0 -1
  366. package/dist/es5/context/polyfill/polyfill-vertex-array-object.js +0 -341
  367. package/dist/es5/context/polyfill/polyfill-vertex-array-object.js.map +0 -1
  368. package/dist/es5/context/state-tracker/deep-array-equal.js +0 -28
  369. package/dist/es5/context/state-tracker/deep-array-equal.js.map +0 -1
  370. package/dist/es5/context/state-tracker/track-context-state.js +0 -211
  371. package/dist/es5/context/state-tracker/track-context-state.js.map +0 -1
  372. package/dist/es5/context/state-tracker/with-parameters.js +0 -44
  373. package/dist/es5/context/state-tracker/with-parameters.js.map +0 -1
  374. package/dist/es5/index.js +0 -276
  375. package/dist/es5/index.js.map +0 -1
  376. package/dist/es5/init.js +0 -10
  377. package/dist/es5/init.js.map +0 -1
  378. package/dist/es5/types/webgl.js +0 -6
  379. package/dist/es5/types/webgl.js.map +0 -1
  380. package/dist/es5/types.js +0 -2
  381. package/dist/es5/types.js.map +0 -1
  382. package/dist/esm/adapter/converters/device-parameters.js +0 -155
  383. package/dist/esm/adapter/converters/device-parameters.js.map +0 -1
  384. package/dist/esm/adapter/converters/renderbuffer-formats.js +0 -185
  385. package/dist/esm/adapter/converters/renderbuffer-formats.js.map +0 -1
  386. package/dist/esm/adapter/converters/sampler-parameters.js +0 -208
  387. package/dist/esm/adapter/converters/sampler-parameters.js.map +0 -1
  388. package/dist/esm/adapter/converters/texture-formats.js +0 -954
  389. package/dist/esm/adapter/converters/texture-formats.js.map +0 -1
  390. package/dist/esm/adapter/converters/vertex-formats.js +0 -35
  391. package/dist/esm/adapter/converters/vertex-formats.js.map +0 -1
  392. package/dist/esm/adapter/device-helpers/device-features.js +0 -102
  393. package/dist/esm/adapter/device-helpers/device-features.js.map +0 -1
  394. package/dist/esm/adapter/device-helpers/device-limits.js +0 -91
  395. package/dist/esm/adapter/device-helpers/device-limits.js.map +0 -1
  396. package/dist/esm/adapter/device-helpers/get-device-info.js +0 -44
  397. package/dist/esm/adapter/device-helpers/get-device-info.js.map +0 -1
  398. package/dist/esm/adapter/device-helpers/is-old-ie.js +0 -8
  399. package/dist/esm/adapter/device-helpers/is-old-ie.js.map +0 -1
  400. package/dist/esm/adapter/helpers/attribute-utils.js +0 -81
  401. package/dist/esm/adapter/helpers/attribute-utils.js.map +0 -1
  402. package/dist/esm/adapter/helpers/get-shader-layout.js +0 -306
  403. package/dist/esm/adapter/helpers/get-shader-layout.js.map +0 -1
  404. package/dist/esm/adapter/helpers/parse-shader-compiler-log.js +0 -37
  405. package/dist/esm/adapter/helpers/parse-shader-compiler-log.js.map +0 -1
  406. package/dist/esm/adapter/helpers/set-uniform.js +0 -115
  407. package/dist/esm/adapter/helpers/set-uniform.js.map +0 -1
  408. package/dist/esm/adapter/helpers/uniforms.js +0 -99
  409. package/dist/esm/adapter/helpers/uniforms.js.map +0 -1
  410. package/dist/esm/adapter/objects/constants-to-keys.js +0 -42
  411. package/dist/esm/adapter/objects/constants-to-keys.js.map +0 -1
  412. package/dist/esm/adapter/objects/webgl-renderbuffer.js +0 -94
  413. package/dist/esm/adapter/objects/webgl-renderbuffer.js.map +0 -1
  414. package/dist/esm/adapter/objects/webgl-resource.js +0 -216
  415. package/dist/esm/adapter/objects/webgl-resource.js.map +0 -1
  416. package/dist/esm/adapter/objects/webgl-vertex-array-object.js +0 -84
  417. package/dist/esm/adapter/objects/webgl-vertex-array-object.js.map +0 -1
  418. package/dist/esm/adapter/resources/webgl-buffer.js +0 -164
  419. package/dist/esm/adapter/resources/webgl-buffer.js.map +0 -1
  420. package/dist/esm/adapter/resources/webgl-command-buffer.js +0 -65
  421. package/dist/esm/adapter/resources/webgl-command-buffer.js.map +0 -1
  422. package/dist/esm/adapter/resources/webgl-command-encoder.js +0 -53
  423. package/dist/esm/adapter/resources/webgl-command-encoder.js.map +0 -1
  424. package/dist/esm/adapter/resources/webgl-external-texture.js +0 -2
  425. package/dist/esm/adapter/resources/webgl-external-texture.js.map +0 -1
  426. package/dist/esm/adapter/resources/webgl-framebuffer.js +0 -265
  427. package/dist/esm/adapter/resources/webgl-framebuffer.js.map +0 -1
  428. package/dist/esm/adapter/resources/webgl-render-pass.js +0 -19
  429. package/dist/esm/adapter/resources/webgl-render-pass.js.map +0 -1
  430. package/dist/esm/adapter/resources/webgl-render-pipeline.js +0 -400
  431. package/dist/esm/adapter/resources/webgl-render-pipeline.js.map +0 -1
  432. package/dist/esm/adapter/resources/webgl-sampler.js +0 -50
  433. package/dist/esm/adapter/resources/webgl-sampler.js.map +0 -1
  434. package/dist/esm/adapter/resources/webgl-shader.js +0 -75
  435. package/dist/esm/adapter/resources/webgl-shader.js.map +0 -1
  436. package/dist/esm/adapter/resources/webgl-texture.js +0 -831
  437. package/dist/esm/adapter/resources/webgl-texture.js.map +0 -1
  438. package/dist/esm/adapter/webgl-canvas-context.js +0 -54
  439. package/dist/esm/adapter/webgl-canvas-context.js.map +0 -1
  440. package/dist/esm/adapter/webgl-device.js +0 -280
  441. package/dist/esm/adapter/webgl-device.js.map +0 -1
  442. package/dist/esm/bundle.js +0 -5
  443. package/dist/esm/bundle.js.map +0 -1
  444. package/dist/esm/classic/accessor.js +0 -144
  445. package/dist/esm/classic/accessor.js.map +0 -1
  446. package/dist/esm/classic/buffer.js +0 -384
  447. package/dist/esm/classic/buffer.js.map +0 -1
  448. package/dist/esm/classic/typed-array-utils.js +0 -112
  449. package/dist/esm/classic/typed-array-utils.js.map +0 -1
  450. package/dist/esm/context/context/context-state.js +0 -26
  451. package/dist/esm/context/context/context-state.js.map +0 -1
  452. package/dist/esm/context/context/create-context.js.map +0 -1
  453. package/dist/esm/context/context/device-pixels.js +0 -98
  454. package/dist/esm/context/context/device-pixels.js.map +0 -1
  455. package/dist/esm/context/context/webgl-checks.js +0 -34
  456. package/dist/esm/context/context/webgl-checks.js.map +0 -1
  457. package/dist/esm/context/debug/spector.js +0 -76
  458. package/dist/esm/context/debug/spector.js.map +0 -1
  459. package/dist/esm/context/debug/webgl-developer-tools.js +0 -121
  460. package/dist/esm/context/debug/webgl-developer-tools.js.map +0 -1
  461. package/dist/esm/context/parameters/unified-parameter-api.js +0 -65
  462. package/dist/esm/context/parameters/unified-parameter-api.js.map +0 -1
  463. package/dist/esm/context/parameters/webgl-parameter-tables.js +0 -445
  464. package/dist/esm/context/parameters/webgl-parameter-tables.js.map +0 -1
  465. package/dist/esm/context/polyfill/get-parameter-polyfill.js +0 -91
  466. package/dist/esm/context/polyfill/get-parameter-polyfill.js.map +0 -1
  467. package/dist/esm/context/polyfill/polyfill-context.js +0 -92
  468. package/dist/esm/context/polyfill/polyfill-context.js.map +0 -1
  469. package/dist/esm/context/polyfill/polyfill-table.js +0 -160
  470. package/dist/esm/context/polyfill/polyfill-table.js.map +0 -1
  471. package/dist/esm/context/polyfill/polyfill-vertex-array-object.js +0 -335
  472. package/dist/esm/context/polyfill/polyfill-vertex-array-object.js.map +0 -1
  473. package/dist/esm/context/state-tracker/deep-array-equal.js +0 -21
  474. package/dist/esm/context/state-tracker/deep-array-equal.js.map +0 -1
  475. package/dist/esm/context/state-tracker/track-context-state.js +0 -183
  476. package/dist/esm/context/state-tracker/track-context-state.js.map +0 -1
  477. package/dist/esm/context/state-tracker/with-parameters.js +0 -36
  478. package/dist/esm/context/state-tracker/with-parameters.js.map +0 -1
  479. package/dist/esm/index.js +0 -27
  480. package/dist/esm/index.js.map +0 -1
  481. package/dist/esm/init.js +0 -4
  482. package/dist/esm/init.js.map +0 -1
  483. package/dist/esm/types/webgl.js +0 -2
  484. package/dist/esm/types/webgl.js.map +0 -1
  485. package/dist/esm/types.js +0 -2
  486. package/dist/esm/types.js.map +0 -1
  487. package/dist/init.d.ts +0 -2
  488. package/dist/init.d.ts.map +0 -1
  489. package/dist/init.js +0 -4
  490. package/dist/init.js.map +0 -1
  491. package/dist/types/webgl.d.ts +0 -144
  492. package/dist/types/webgl.d.ts.map +0 -1
  493. package/dist/types/webgl.js +0 -2
  494. package/dist/types/webgl.js.map +0 -1
  495. package/src/adapter/converters/renderbuffer-formats.ts +0 -92
  496. package/src/bundle.ts +0 -4
  497. package/src/context/context/context-state.ts +0 -41
  498. package/src/context/context/device-pixels.ts +0 -152
  499. package/src/init.ts +0 -4
  500. package/src/types/webgl.ts +0 -283
@@ -1,6 +1,6 @@
1
- import { Sampler, SamplerProps } from '@luma.gl/api';
2
- import type { WebGLSamplerParameters } from '../../types/webgl';
3
- import type WebGLDevice from '../webgl-device';
1
+ import { Sampler, SamplerProps } from '@luma.gl/core';
2
+ import { GLSamplerParameters } from '@luma.gl/constants';
3
+ import type { WebGLDevice } from '../webgl-device';
4
4
  /**
5
5
  * Sampler object -
6
6
  * Under WebGL2 we create an actual WebGL sampler
@@ -8,12 +8,13 @@ import type WebGLDevice from '../webgl-device';
8
8
  * so that they can be set directly on the texture
9
9
  * https://github.com/WebGLSamples/WebGL2Samples/blob/master/samples/sampler_object.html
10
10
  */
11
- export default class WEBGLSampler extends Sampler {
11
+ export declare class WEBGLSampler extends Sampler {
12
12
  readonly device: WebGLDevice;
13
13
  readonly handle: WebGLSampler;
14
- readonly parameters: WebGLSamplerParameters;
14
+ readonly parameters: GLSamplerParameters;
15
15
  constructor(device: WebGLDevice, props: SamplerProps);
16
16
  destroy(): void;
17
+ toString(): string;
17
18
  /** Set sampler parameters on the sampler */
18
19
  private _setSamplerParameters;
19
20
  }
@@ -1 +1 @@
1
- {"version":3,"file":"webgl-sampler.d.ts","sourceRoot":"","sources":["../../../src/adapter/resources/webgl-sampler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAE,YAAY,EAAC,MAAM,cAAc,CAAC;AAEnD,OAAO,KAAK,EAAC,sBAAsB,EAAC,MAAM,mBAAmB,CAAC;AAE9D,OAAO,KAAK,WAAW,MAAM,iBAAiB,CAAC;AAE/C;;;;;;GAMG;AACH,MAAM,CAAC,OAAO,OAAO,YAAa,SAAQ,OAAO;IAC/C,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;IAC9B,QAAQ,CAAC,UAAU,EAAE,sBAAsB,CAAC;gBAEhC,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,YAAY;IAUpD,OAAO,IAAI,IAAI;IAQf,4CAA4C;IAC5C,OAAO,CAAC,qBAAqB;CAgB9B"}
1
+ {"version":3,"file":"webgl-sampler.d.ts","sourceRoot":"","sources":["../../../src/adapter/resources/webgl-sampler.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,OAAO,EAAE,YAAY,EAAC,MAAM,eAAe,CAAC;AACpD,OAAO,EAAK,mBAAmB,EAAC,MAAM,oBAAoB,CAAC;AAE3D,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,iBAAiB,CAAC;AAEjD;;;;;;GAMG;AACH,qBAAa,YAAa,SAAQ,OAAO;IACvC,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;IAC9B,QAAQ,CAAC,UAAU,EAAE,mBAAmB,CAAC;gBAE7B,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,YAAY;IAU3C,OAAO,IAAI,IAAI;IAQf,QAAQ,IAAI,MAAM;IAI3B,4CAA4C;IAC5C,OAAO,CAAC,qBAAqB;CAgB9B"}
@@ -1,50 +1,42 @@
1
1
  import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
2
- import { Sampler } from '@luma.gl/api';
3
- import GL from '@luma.gl/constants';
4
- import { convertSamplerParametersToWebGL } from '../converters/sampler-parameters';
5
- export default class WEBGLSampler extends Sampler {
2
+ import { Sampler } from '@luma.gl/core';
3
+ import { GL } from '@luma.gl/constants';
4
+ import { convertSamplerParametersToWebGL } from "../converters/sampler-parameters.js";
5
+ export class WEBGLSampler extends Sampler {
6
6
  constructor(device, props) {
7
7
  super(device, props);
8
-
9
8
  _defineProperty(this, "device", void 0);
10
-
11
9
  _defineProperty(this, "handle", void 0);
12
-
13
10
  _defineProperty(this, "parameters", void 0);
14
-
15
11
  this.device = device;
16
12
  this.parameters = convertSamplerParametersToWebGL(props);
17
-
18
13
  if (this.device.isWebGL2) {
19
14
  this.handle = this.handle || this.device.gl2.createSampler();
20
-
21
15
  this._setSamplerParameters(this.parameters);
22
16
  }
23
17
  }
24
-
25
18
  destroy() {
26
19
  if (this.handle) {
27
20
  this.device.gl2.deleteSampler(this.handle);
28
21
  this.handle = undefined;
29
22
  }
30
23
  }
31
-
24
+ toString() {
25
+ return "Sampler(".concat(this.id, ",").concat(JSON.stringify(this.props), ")");
26
+ }
32
27
  _setSamplerParameters(parameters) {
33
28
  for (const [pname, value] of Object.entries(parameters)) {
34
29
  const param = Number(pname);
35
-
36
30
  switch (param) {
37
31
  case GL.TEXTURE_MIN_LOD:
38
32
  case GL.TEXTURE_MAX_LOD:
39
33
  this.device.gl2.samplerParameterf(this.handle, param, value);
40
34
  break;
41
-
42
35
  default:
43
36
  this.device.gl2.samplerParameteri(this.handle, param, value);
44
37
  break;
45
38
  }
46
39
  }
47
40
  }
48
-
49
41
  }
50
42
  //# sourceMappingURL=webgl-sampler.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/adapter/resources/webgl-sampler.ts"],"names":["Sampler","GL","convertSamplerParametersToWebGL","WEBGLSampler","constructor","device","props","parameters","isWebGL2","handle","gl2","createSampler","_setSamplerParameters","destroy","deleteSampler","undefined","pname","value","Object","entries","param","Number","TEXTURE_MIN_LOD","TEXTURE_MAX_LOD","samplerParameterf","samplerParameteri"],"mappings":";AAAA,SAAQA,OAAR,QAAoC,cAApC;AACA,OAAOC,EAAP,MAAe,oBAAf;AAEA,SAAQC,+BAAR,QAA8C,kCAA9C;AAUA,eAAe,MAAMC,YAAN,SAA2BH,OAA3B,CAAmC;AAKhDI,EAAAA,WAAW,CAACC,MAAD,EAAsBC,KAAtB,EAA2C;AACpD,UAAMD,MAAN,EAAcC,KAAd;;AADoD;;AAAA;;AAAA;;AAEpD,SAAKD,MAAL,GAAcA,MAAd;AACA,SAAKE,UAAL,GAAkBL,+BAA+B,CAACI,KAAD,CAAjD;;AACA,QAAI,KAAKD,MAAL,CAAYG,QAAhB,EAA0B;AACxB,WAAKC,MAAL,GAAc,KAAKA,MAAL,IAAe,KAAKJ,MAAL,CAAYK,GAAZ,CAAgBC,aAAhB,EAA7B;;AACA,WAAKC,qBAAL,CAA2B,KAAKL,UAAhC;AACD;AACF;;AAEDM,EAAAA,OAAO,GAAS;AACd,QAAI,KAAKJ,MAAT,EAAiB;AACf,WAAKJ,MAAL,CAAYK,GAAZ,CAAgBI,aAAhB,CAA8B,KAAKL,MAAnC;AAEA,WAAKA,MAAL,GAAcM,SAAd;AACD;AACF;;AAGOH,EAAAA,qBAAqB,CAACL,UAAD,EAA2C;AACtE,SAAK,MAAM,CAACS,KAAD,EAAQC,KAAR,CAAX,IAA6BC,MAAM,CAACC,OAAP,CAAeZ,UAAf,CAA7B,EAAyD;AAGvD,YAAMa,KAAK,GAAGC,MAAM,CAACL,KAAD,CAApB;;AACA,cAAQI,KAAR;AACE,aAAKnB,EAAE,CAACqB,eAAR;AACA,aAAKrB,EAAE,CAACsB,eAAR;AACE,eAAKlB,MAAL,CAAYK,GAAZ,CAAgBc,iBAAhB,CAAkC,KAAKf,MAAvC,EAA+CW,KAA/C,EAAsDH,KAAtD;AACA;;AACF;AACE,eAAKZ,MAAL,CAAYK,GAAZ,CAAgBe,iBAAhB,CAAkC,KAAKhB,MAAvC,EAA+CW,KAA/C,EAAsDH,KAAtD;AACA;AAPJ;AASD;AACF;;AAvC+C","sourcesContent":["import {Sampler, SamplerProps} from '@luma.gl/api';\nimport GL from '@luma.gl/constants';\nimport type {WebGLSamplerParameters} from '../../types/webgl';\nimport {convertSamplerParametersToWebGL} from '../converters/sampler-parameters';\nimport type WebGLDevice from '../webgl-device';\n\n/**\n * Sampler object -\n * Under WebGL2 we create an actual WebGL sampler\n * Under WebGL1, we just store the sampler parameters\n * so that they can be set directly on the texture\n * https://github.com/WebGLSamples/WebGL2Samples/blob/master/samples/sampler_object.html\n */\nexport default class WEBGLSampler extends Sampler {\n readonly device: WebGLDevice;\n readonly handle: WebGLSampler;\n readonly parameters: WebGLSamplerParameters;\n\n constructor(device: WebGLDevice, props: SamplerProps) {\n super(device, props);\n this.device = device;\n this.parameters = convertSamplerParametersToWebGL(props);\n if (this.device.isWebGL2) {\n this.handle = this.handle || this.device.gl2.createSampler();\n this._setSamplerParameters(this.parameters);\n }\n }\n\n destroy(): void {\n if (this.handle) {\n this.device.gl2.deleteSampler(this.handle);\n // @ts-expect-error\n this.handle = undefined;\n }\n }\n\n /** Set sampler parameters on the sampler */\n private _setSamplerParameters(parameters: WebGLSamplerParameters): void {\n for (const [pname, value] of Object.entries(parameters)) {\n // Apparently there are integer/float conversion issues requires two parameter setting functions in JavaScript.\n // For now, pick the float version for parameters specified as GLfloat.\n const param = Number(pname);\n switch (param) {\n case GL.TEXTURE_MIN_LOD:\n case GL.TEXTURE_MAX_LOD:\n this.device.gl2.samplerParameterf(this.handle, param, value);\n break;\n default:\n this.device.gl2.samplerParameteri(this.handle, param, value);\n break;\n }\n }\n }\n}\n"],"file":"webgl-sampler.js"}
1
+ {"version":3,"file":"webgl-sampler.js","names":["Sampler","GL","convertSamplerParametersToWebGL","WEBGLSampler","constructor","device","props","_defineProperty","parameters","isWebGL2","handle","gl2","createSampler","_setSamplerParameters","destroy","deleteSampler","undefined","toString","concat","id","JSON","stringify","pname","value","Object","entries","param","Number","TEXTURE_MIN_LOD","TEXTURE_MAX_LOD","samplerParameterf","samplerParameteri"],"sources":["../../../src/adapter/resources/webgl-sampler.ts"],"sourcesContent":["// luma.gl, MIT license\n\nimport {Sampler, SamplerProps} from '@luma.gl/core';\nimport {GL, GLSamplerParameters} from '@luma.gl/constants';\nimport {convertSamplerParametersToWebGL} from '../converters/sampler-parameters';\nimport type {WebGLDevice} from '../webgl-device';\n\n/**\n * Sampler object -\n * Under WebGL2 we create an actual WebGL sampler\n * Under WebGL1, we just store the sampler parameters\n * so that they can be set directly on the texture\n * https://github.com/WebGLSamples/WebGL2Samples/blob/master/samples/sampler_object.html\n */\nexport class WEBGLSampler extends Sampler {\n readonly device: WebGLDevice;\n readonly handle: WebGLSampler;\n readonly parameters: GLSamplerParameters;\n\n constructor(device: WebGLDevice, props: SamplerProps) {\n super(device, props);\n this.device = device;\n this.parameters = convertSamplerParametersToWebGL(props);\n if (this.device.isWebGL2) {\n this.handle = this.handle || this.device.gl2.createSampler();\n this._setSamplerParameters(this.parameters);\n }\n }\n\n override destroy(): void {\n if (this.handle) {\n this.device.gl2.deleteSampler(this.handle);\n // @ts-expect-error\n this.handle = undefined;\n }\n }\n\n override toString(): string {\n return `Sampler(${this.id},${JSON.stringify(this.props)})`;\n }\n\n /** Set sampler parameters on the sampler */\n private _setSamplerParameters(parameters: GLSamplerParameters): void {\n for (const [pname, value] of Object.entries(parameters)) {\n // Apparently there are integer/float conversion issues requires two parameter setting functions in JavaScript.\n // For now, pick the float version for parameters specified as GLfloat.\n const param = Number(pname);\n switch (param) {\n case GL.TEXTURE_MIN_LOD:\n case GL.TEXTURE_MAX_LOD:\n this.device.gl2.samplerParameterf(this.handle, param, value);\n break;\n default:\n this.device.gl2.samplerParameteri(this.handle, param, value);\n break;\n }\n }\n }\n}\n"],"mappings":";AAEA,SAAQA,OAAO,QAAqB,eAAe;AACnD,SAAQC,EAAE,QAA4B,oBAAoB;AAAC,SACnDC,+BAA+B;AAUvC,OAAO,MAAMC,YAAY,SAASH,OAAO,CAAC;EAKxCI,WAAWA,CAACC,MAAmB,EAAEC,KAAmB,EAAE;IACpD,KAAK,CAACD,MAAM,EAAEC,KAAK,CAAC;IAACC,eAAA;IAAAA,eAAA;IAAAA,eAAA;IACrB,IAAI,CAACF,MAAM,GAAGA,MAAM;IACpB,IAAI,CAACG,UAAU,GAAGN,+BAA+B,CAACI,KAAK,CAAC;IACxD,IAAI,IAAI,CAACD,MAAM,CAACI,QAAQ,EAAE;MACxB,IAAI,CAACC,MAAM,GAAG,IAAI,CAACA,MAAM,IAAI,IAAI,CAACL,MAAM,CAACM,GAAG,CAACC,aAAa,CAAC,CAAC;MAC5D,IAAI,CAACC,qBAAqB,CAAC,IAAI,CAACL,UAAU,CAAC;IAC7C;EACF;EAESM,OAAOA,CAAA,EAAS;IACvB,IAAI,IAAI,CAACJ,MAAM,EAAE;MACf,IAAI,CAACL,MAAM,CAACM,GAAG,CAACI,aAAa,CAAC,IAAI,CAACL,MAAM,CAAC;MAE1C,IAAI,CAACA,MAAM,GAAGM,SAAS;IACzB;EACF;EAESC,QAAQA,CAAA,EAAW;IAC1B,kBAAAC,MAAA,CAAkB,IAAI,CAACC,EAAE,OAAAD,MAAA,CAAIE,IAAI,CAACC,SAAS,CAAC,IAAI,CAACf,KAAK,CAAC;EACzD;EAGQO,qBAAqBA,CAACL,UAA+B,EAAQ;IACnE,KAAK,MAAM,CAACc,KAAK,EAAEC,KAAK,CAAC,IAAIC,MAAM,CAACC,OAAO,CAACjB,UAAU,CAAC,EAAE;MAGvD,MAAMkB,KAAK,GAAGC,MAAM,CAACL,KAAK,CAAC;MAC3B,QAAQI,KAAK;QACX,KAAKzB,EAAE,CAAC2B,eAAe;QACvB,KAAK3B,EAAE,CAAC4B,eAAe;UACrB,IAAI,CAACxB,MAAM,CAACM,GAAG,CAACmB,iBAAiB,CAAC,IAAI,CAACpB,MAAM,EAAEgB,KAAK,EAAEH,KAAK,CAAC;UAC5D;QACF;UACE,IAAI,CAAClB,MAAM,CAACM,GAAG,CAACoB,iBAAiB,CAAC,IAAI,CAACrB,MAAM,EAAEgB,KAAK,EAAEH,KAAK,CAAC;UAC5D;MACJ;IACF;EACF;AACF"}
@@ -1,10 +1,9 @@
1
- import { Shader, ShaderProps } from '@luma.gl/api';
2
- import { CompilerMessage } from '@luma.gl/shadertools';
3
- import WebGLDevice from '../webgl-device';
1
+ import { Shader, ShaderProps, CompilerMessage } from '@luma.gl/core';
2
+ import { WebGLDevice } from '../webgl-device';
4
3
  /**
5
4
  * An immutable compiled shader program that execute portions of the GPU Pipeline
6
5
  */
7
- export default class WEBGLShader extends Shader {
6
+ export declare class WEBGLShader extends Shader {
8
7
  readonly device: WebGLDevice;
9
8
  readonly handle: WebGLShader;
10
9
  constructor(device: WebGLDevice, props: ShaderProps);
@@ -1 +1 @@
1
- {"version":3,"file":"webgl-shader.d.ts","sourceRoot":"","sources":["../../../src/adapter/resources/webgl-shader.ts"],"names":[],"mappings":"AACA,OAAO,EAAW,MAAM,EAAE,WAAW,EAAC,MAAM,cAAc,CAAC;AAE3D,OAAO,EAAgB,eAAe,EAAoB,MAAM,sBAAsB,CAAC;AAEvF,OAAO,WAAW,MAAM,iBAAiB,CAAC;AAE1C;;GAEG;AACF,MAAM,CAAC,OAAO,OAAO,WAAY,SAAQ,MAAM;IAC9C,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;gBAEjB,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,WAAW;IAgBnD,OAAO,IAAI,IAAI;IAST,eAAe,IAAI,OAAO,CAAC,SAAS,eAAe,EAAE,CAAC;IAO5D,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;CAsB/B"}
1
+ {"version":3,"file":"webgl-shader.d.ts","sourceRoot":"","sources":["../../../src/adapter/resources/webgl-shader.ts"],"names":[],"mappings":"AACA,OAAO,EAAW,MAAM,EAAE,WAAW,EAAE,eAAe,EAAoB,MAAM,eAAe,CAAC;AAIhG,OAAO,EAAC,WAAW,EAAC,MAAM,iBAAiB,CAAC;AAE5C;;GAEG;AACH,qBAAa,WAAY,SAAQ,MAAM;IACrC,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;gBAEjB,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,WAAW;IAgB1C,OAAO,IAAI,IAAI;IASlB,eAAe,IAAI,OAAO,CAAC,SAAS,eAAe,EAAE,CAAC;IAO5D,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;CAuB/B"}
@@ -1,53 +1,42 @@
1
1
  import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
2
- import { log, uid, Shader } from '@luma.gl/api';
3
- import GL from '@luma.gl/constants';
4
- import { getShaderInfo, formatCompilerLog } from '@luma.gl/shadertools';
5
- import { parseShaderCompilerLog } from '../helpers/parse-shader-compiler-log';
6
- export default class WEBGLShader extends Shader {
2
+ import { log, uid, Shader, formatCompilerLog } from '@luma.gl/core';
3
+ import { GL } from '@luma.gl/constants';
4
+ import { getShaderInfo } from "../helpers/get-shader-info.js";
5
+ import { parseShaderCompilerLog } from "../helpers/parse-shader-compiler-log.js";
6
+ export class WEBGLShader extends Shader {
7
7
  constructor(device, props) {
8
8
  super(device, {
9
9
  id: getShaderIdFromProps(props),
10
10
  ...props
11
11
  });
12
-
13
12
  _defineProperty(this, "device", void 0);
14
-
15
13
  _defineProperty(this, "handle", void 0);
16
-
17
14
  this.device = device;
18
-
19
15
  switch (this.props.stage) {
20
16
  case 'vertex':
21
17
  this.handle = this.props.handle || this.device.gl.createShader(GL.VERTEX_SHADER);
22
18
  break;
23
-
24
19
  case 'fragment':
25
20
  this.handle = this.props.handle || this.device.gl.createShader(GL.FRAGMENT_SHADER);
26
21
  break;
27
-
28
22
  default:
29
23
  throw new Error(this.props.stage);
30
24
  }
31
-
32
25
  this._compile(this.source);
33
26
  }
34
-
35
27
  destroy() {
36
28
  if (this.handle) {
37
29
  this.removeStats();
38
30
  this.device.gl.deleteShader(this.handle);
39
- this.handle = null;
31
+ this.destroyed = true;
40
32
  }
41
33
  }
42
-
43
34
  async compilationInfo() {
44
35
  const log = this.device.gl.getShaderInfoLog(this.handle);
45
- return parseShaderCompilerLog(log);
36
+ return log ? parseShaderCompilerLog(log) : [];
46
37
  }
47
-
48
38
  _compile(source) {
49
39
  const addGLSLVersion = source => source.startsWith('#version ') ? source : "#version 100\n".concat(source);
50
-
51
40
  source = addGLSLVersion(source);
52
41
  const {
53
42
  gl
@@ -55,10 +44,10 @@ export default class WEBGLShader extends Shader {
55
44
  gl.shaderSource(this.handle, source);
56
45
  gl.compileShader(this.handle);
57
46
  const compileStatus = gl.getShaderParameter(this.handle, GL.COMPILE_STATUS);
58
-
59
47
  if (!compileStatus) {
60
48
  const shaderLog = gl.getShaderInfoLog(this.handle);
61
- const messages = parseShaderCompilerLog(shaderLog).filter(message => message.type === 'error');
49
+ const parsedLog = shaderLog ? parseShaderCompilerLog(shaderLog) : [];
50
+ const messages = parsedLog.filter(message => message.type === 'error');
62
51
  const formattedLog = formatCompilerLog(messages, source);
63
52
  const shaderName = getShaderInfo(source).name;
64
53
  const shaderDescription = "".concat(this.stage, " shader ").concat(shaderName);
@@ -66,9 +55,7 @@ export default class WEBGLShader extends Shader {
66
55
  throw new Error("GLSL compilation errors in ".concat(shaderName));
67
56
  }
68
57
  }
69
-
70
58
  }
71
-
72
59
  function getShaderIdFromProps(props) {
73
60
  return getShaderInfo(props.source).name || props.id || uid("unnamed ".concat(props.stage, "-shader"));
74
61
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/adapter/resources/webgl-shader.ts"],"names":["log","uid","Shader","GL","getShaderInfo","formatCompilerLog","parseShaderCompilerLog","WEBGLShader","constructor","device","props","id","getShaderIdFromProps","stage","handle","gl","createShader","VERTEX_SHADER","FRAGMENT_SHADER","Error","_compile","source","destroy","removeStats","deleteShader","compilationInfo","getShaderInfoLog","addGLSLVersion","startsWith","shaderSource","compileShader","compileStatus","getShaderParameter","COMPILE_STATUS","shaderLog","messages","filter","message","type","formattedLog","shaderName","name","shaderDescription","error"],"mappings":"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","sourcesContent":["// luma.gl, MIT license\nimport {log, uid, Shader, ShaderProps} from '@luma.gl/api';\nimport GL from '@luma.gl/constants';\nimport {getShaderInfo, CompilerMessage, formatCompilerLog} from '@luma.gl/shadertools';\nimport {parseShaderCompilerLog} from '../helpers/parse-shader-compiler-log';\nimport WebGLDevice from '../webgl-device';\n\n/**\n * An immutable compiled shader program that execute portions of the GPU Pipeline\n */\n export default class WEBGLShader extends Shader {\n readonly device: WebGLDevice;\n readonly handle: WebGLShader;\n\n constructor(device: WebGLDevice, props: ShaderProps) {\n super(device, {id: getShaderIdFromProps(props), ...props});\n this.device = device;\n switch (this.props.stage) {\n case 'vertex':\n this.handle = this.props.handle || this.device.gl.createShader(GL.VERTEX_SHADER);\n break;\n case 'fragment':\n this.handle = this.props.handle || this.device.gl.createShader(GL.FRAGMENT_SHADER);\n break;\n default:\n throw new Error(this.props.stage);\n }\n this._compile(this.source);\n }\n\n destroy(): void {\n if (this.handle) {\n this.removeStats();\n this.device.gl.deleteShader(this.handle);\n // @ts-expect-error\n this.handle = null;\n }\n }\n\n async compilationInfo(): Promise<readonly CompilerMessage[]> {\n const log = this.device.gl.getShaderInfoLog(this.handle);\n return parseShaderCompilerLog(log);\n }\n\n // PRIVATE METHODS\n\n _compile(source: string): void {\n const addGLSLVersion = (source: string) => source.startsWith('#version ') ? source : `#version 100\\n${source}`;\n source = addGLSLVersion(source);\n\n const {gl} = this.device;\n gl.shaderSource(this.handle, source);\n gl.compileShader(this.handle);\n\n // TODO - For performance reasons, avoid checking shader compilation errors on production?\n // TODO - Load log even when no error reported, to catch warnings?\n // https://gamedev.stackexchange.com/questions/30429/how-to-detect-glsl-warnings\n const compileStatus = gl.getShaderParameter(this.handle, GL.COMPILE_STATUS);\n if (!compileStatus) {\n const shaderLog = gl.getShaderInfoLog(this.handle);\n const messages = parseShaderCompilerLog(shaderLog).filter(message => message.type === 'error');\n const formattedLog = formatCompilerLog(messages, source);\n const shaderName: string = getShaderInfo(source).name;\n const shaderDescription = `${this.stage} shader ${shaderName}`;\n log.error(`GLSL compilation errors in ${shaderDescription}\\n${formattedLog}`)();\n throw new Error(`GLSL compilation errors in ${shaderName}`);\n }\n }\n}\n\n// HELPERS\n\n/** Deduce an id, from shader source, or supplied id, or shader type */\nfunction getShaderIdFromProps(props: ShaderProps): string {\n return getShaderInfo(props.source).name ||\n props.id ||\n uid(`unnamed ${props.stage}-shader`);\n}\n"],"file":"webgl-shader.js"}
1
+ {"version":3,"file":"webgl-shader.js","names":["log","uid","Shader","formatCompilerLog","GL","getShaderInfo","parseShaderCompilerLog","WEBGLShader","constructor","device","props","id","getShaderIdFromProps","_defineProperty","stage","handle","gl","createShader","VERTEX_SHADER","FRAGMENT_SHADER","Error","_compile","source","destroy","removeStats","deleteShader","destroyed","compilationInfo","getShaderInfoLog","addGLSLVersion","startsWith","concat","shaderSource","compileShader","compileStatus","getShaderParameter","COMPILE_STATUS","shaderLog","parsedLog","messages","filter","message","type","formattedLog","shaderName","name","shaderDescription","error"],"sources":["../../../src/adapter/resources/webgl-shader.ts"],"sourcesContent":["// luma.gl, MIT license\nimport {log, uid, Shader, ShaderProps, CompilerMessage, formatCompilerLog} from '@luma.gl/core';\nimport {GL} from '@luma.gl/constants';\nimport {getShaderInfo} from '../helpers/get-shader-info';\nimport {parseShaderCompilerLog} from '../helpers/parse-shader-compiler-log';\nimport {WebGLDevice} from '../webgl-device';\n\n/**\n * An immutable compiled shader program that execute portions of the GPU Pipeline\n */\nexport class WEBGLShader extends Shader {\n readonly device: WebGLDevice;\n readonly handle: WebGLShader;\n\n constructor(device: WebGLDevice, props: ShaderProps) {\n super(device, {id: getShaderIdFromProps(props), ...props});\n this.device = device;\n switch (this.props.stage) {\n case 'vertex':\n this.handle = this.props.handle || this.device.gl.createShader(GL.VERTEX_SHADER);\n break;\n case 'fragment':\n this.handle = this.props.handle || this.device.gl.createShader(GL.FRAGMENT_SHADER);\n break;\n default:\n throw new Error(this.props.stage);\n }\n this._compile(this.source);\n }\n\n override destroy(): void {\n if (this.handle) {\n this.removeStats();\n this.device.gl.deleteShader(this.handle);\n // this.handle = null;\n this.destroyed = true;\n }\n }\n\n async compilationInfo(): Promise<readonly CompilerMessage[]> {\n const log = this.device.gl.getShaderInfoLog(this.handle);\n return log ? parseShaderCompilerLog(log) : [];\n }\n\n // PRIVATE METHODS\n\n _compile(source: string): void {\n const addGLSLVersion = (source: string) => source.startsWith('#version ') ? source : `#version 100\\n${source}`;\n source = addGLSLVersion(source);\n\n const {gl} = this.device;\n gl.shaderSource(this.handle, source);\n gl.compileShader(this.handle);\n\n // TODO - For performance reasons, avoid checking shader compilation errors on production?\n // TODO - Load log even when no error reported, to catch warnings?\n // https://gamedev.stackexchange.com/questions/30429/how-to-detect-glsl-warnings\n const compileStatus = gl.getShaderParameter(this.handle, GL.COMPILE_STATUS);\n if (!compileStatus) {\n const shaderLog = gl.getShaderInfoLog(this.handle);\n const parsedLog = shaderLog ? parseShaderCompilerLog(shaderLog) : [];\n const messages = parsedLog.filter(message => message.type === 'error');\n const formattedLog = formatCompilerLog(messages, source);\n const shaderName: string = getShaderInfo(source).name;\n const shaderDescription = `${this.stage} shader ${shaderName}`;\n log.error(`GLSL compilation errors in ${shaderDescription}\\n${formattedLog}`)();\n throw new Error(`GLSL compilation errors in ${shaderName}`);\n }\n }\n}\n\n// HELPERS\n\n/** Deduce an id, from shader source, or supplied id, or shader type */\nfunction getShaderIdFromProps(props: ShaderProps): string {\n return getShaderInfo(props.source).name ||\n props.id ||\n uid(`unnamed ${props.stage}-shader`);\n}\n"],"mappings":"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"}
@@ -1,18 +1,42 @@
1
- import { Device, TextureProps, Sampler, SamplerProps } from '@luma.gl/api';
2
- import { Texture } from '@luma.gl/api';
3
- import GL from '@luma.gl/constants';
4
- import type { WebGLSamplerParameters } from '../../types/webgl';
5
- import WebGLDevice from '../webgl-device';
6
- import WEBGLSampler from './webgl-sampler';
7
- export type { TextureProps };
8
- declare type SetImageDataOptions = {
1
+ import { Device, TextureProps, Sampler, SamplerProps, TypedArray } from '@luma.gl/core';
2
+ import { Texture } from '@luma.gl/core';
3
+ import { GL, GLSamplerParameters } from '@luma.gl/constants';
4
+ import { WebGLDevice } from '../webgl-device';
5
+ import { WEBGLSampler } from './webgl-sampler';
6
+ export type WEBGLTextureProps = TextureProps & {
7
+ /** @deprecated use props.sampler */
8
+ parameters?: Record<number, number>;
9
+ /** @deprecated use props.data */
10
+ pixels?: any;
11
+ /** @deprecated use props.format */
12
+ dataFormat?: number | null;
13
+ /** @deprecated rarely supported */
14
+ border?: number;
15
+ /** @deprecated WebGL only. */
16
+ pixelStore?: object;
17
+ /** @deprecated WebGL only. */
18
+ textureUnit?: number;
19
+ /** @deprecated WebGL only. Use dimension. */
20
+ target?: number;
21
+ };
22
+ export declare const DEFAULT_WEBGL_TEXTURE_PROPS: {
23
+ parameters: {};
24
+ pixelStore: {};
25
+ pixels: any;
26
+ border: number;
27
+ dataFormat: any;
28
+ textureUnit: any;
29
+ target: any;
30
+ };
31
+ export type TextureSourceData = TypedArray | ImageData | HTMLImageElement | HTMLCanvasElement | ImageBitmap | HTMLVideoElement;
32
+ type SetImageDataOptions = {
9
33
  target?: number;
10
34
  level?: number;
11
35
  dataFormat?: any;
12
- width: number;
13
- height: number;
36
+ width?: number;
37
+ height?: number;
14
38
  depth?: number;
15
- format: any;
39
+ glFormat?: GL;
16
40
  type?: any;
17
41
  offset?: number;
18
42
  data: any;
@@ -43,14 +67,14 @@ declare type SetImageDataOptions = {
43
67
  * @param {Number} offset - (WEBGL2) offset from start of buffer
44
68
  * @parameters - temporary settings to be applied, can be used to supply pixel store settings.
45
69
  */
46
- declare type SetSubImageDataOptions = {
70
+ type SetSubImageDataOptions = {
47
71
  target?: number;
48
72
  level?: number;
49
73
  dataFormat?: any;
50
74
  width?: number;
51
75
  height?: number;
52
76
  depth?: number;
53
- format?: any;
77
+ glFormat?: any;
54
78
  type?: any;
55
79
  offset?: number;
56
80
  data: any;
@@ -61,30 +85,28 @@ declare type SetSubImageDataOptions = {
61
85
  /** @deprecated */
62
86
  pixels?: any;
63
87
  };
64
- declare type SetImageData3DOptions = {
88
+ type SetImageData3DOptions = {
65
89
  level?: number;
66
90
  dataFormat?: any;
67
- width: number;
68
- height: number;
91
+ width?: number;
92
+ height?: number;
69
93
  depth?: number;
70
- format: any;
94
+ format?: any;
71
95
  type?: any;
72
96
  offset?: number;
73
97
  data: any;
74
98
  parameters?: Record<GL, any>;
75
99
  };
76
- export default class WEBGLTexture extends Texture {
100
+ export declare class WEBGLTexture extends Texture<WEBGLTextureProps> {
77
101
  static FACES: number[];
78
102
  readonly MAX_ATTRIBUTES: number;
79
103
  readonly device: WebGLDevice;
80
104
  readonly gl: WebGLRenderingContext;
81
105
  readonly gl2: WebGL2RenderingContext | null;
82
106
  readonly handle: WebGLTexture;
83
- data: any;
84
- width: number;
85
- height: number;
86
- depth: number;
87
- format: GL;
107
+ /** Sampler object (currently unused) */
108
+ sampler: WEBGLSampler;
109
+ glFormat: GL;
88
110
  type: GL;
89
111
  dataFormat: GL;
90
112
  mipmaps: boolean;
@@ -99,8 +121,6 @@ export default class WEBGLTexture extends Texture {
99
121
  * */
100
122
  target: GL;
101
123
  textureUnit: number;
102
- /** Sampler object (currently unused) */
103
- sampler: WEBGLSampler;
104
124
  /**
105
125
  * Program.draw() checks the loaded flag of all textures to avoid
106
126
  * Textures that are still loading from promises
@@ -112,23 +132,23 @@ export default class WEBGLTexture extends Texture {
112
132
  parameters: any;
113
133
  lastTime: number;
114
134
  };
115
- constructor(device: Device, props: TextureProps);
135
+ constructor(device: Device, props: WEBGLTextureProps);
116
136
  destroy(): void;
117
137
  toString(): string;
118
- initialize(props?: TextureProps): this;
119
- initializeCube(props?: TextureProps): this;
138
+ initialize(props?: WEBGLTextureProps): this;
139
+ initializeCube(props?: WEBGLTextureProps): this;
120
140
  setSampler(sampler?: Sampler | SamplerProps): this;
121
141
  /**
122
142
  * If size has changed, reinitializes with current format
123
143
  * @note note clears image and mipmaps
124
144
  */
125
- resize({ height, width, mipmaps }: {
126
- height: any;
127
- width: any;
145
+ resize(options: {
146
+ height: number;
147
+ width: number;
128
148
  mipmaps?: boolean;
129
149
  }): this;
130
150
  /** Update external texture (video frame) */
131
- update(): this;
151
+ update(): void;
132
152
  generateMipmap(params?: {}): this;
133
153
  setImageData(options: SetImageDataOptions): this;
134
154
  /**
@@ -136,7 +156,7 @@ export default class WEBGLTexture extends Texture {
136
156
  * Note: does not allocate storage
137
157
  * Redefines an area of an existing texture
138
158
  */
139
- setSubImageData({ target, pixels, data, x, y, width, height, level, format, type, dataFormat, compressed, offset, parameters }: SetSubImageDataOptions): void;
159
+ setSubImageData({ target, pixels, data, x, y, width, height, level, glFormat, type, dataFormat, compressed, offset, parameters }: SetSubImageDataOptions): void;
140
160
  /**
141
161
  * Defines a two-dimensional texture image or cube-map texture image with
142
162
  * pixels from the current framebuffer (rather than from client memory).
@@ -156,14 +176,14 @@ export default class WEBGLTexture extends Texture {
156
176
  data: any;
157
177
  dataType: string;
158
178
  };
159
- _deduceParameters(opts: any): {
160
- dataFormat: any;
161
- type: any;
162
- compressed: any;
163
- width: any;
164
- height: any;
165
- format: any;
166
- data: any;
179
+ _deduceParameters(opts: WEBGLTextureProps): {
180
+ dataFormat: number;
181
+ type: number;
182
+ compressed: boolean;
183
+ width: number;
184
+ height: number;
185
+ format: import("@luma.gl/core").TextureFormat;
186
+ data: string | HTMLVideoElement | import("@luma.gl/core").TextureData | Promise<import("@luma.gl/core").TextureData> | import("modules/core/dist/adapter/resources/texture").CubeTextureData;
167
187
  };
168
188
  _deduceImageSize(data: any, width: any, height: any): {
169
189
  width: number;
@@ -180,14 +200,14 @@ export default class WEBGLTexture extends Texture {
180
200
  /** @todo update this method to accept LODs */
181
201
  setImageDataForFace(options: any): this;
182
202
  /** Image 3D copies from Typed Array or WebGLBuffer */
183
- setImageData3D({ level, dataFormat, format, type, // = GL.UNSIGNED_BYTE,
184
- width, height, depth, offset, data, parameters }: SetImageData3DOptions): this;
203
+ setImageData3D(options: SetImageData3DOptions): this;
185
204
  /**
186
205
  * Sets sampler parameters on texture
187
206
  * @note: Applies NPOT workaround if appropriate
188
207
  */
189
- _setSamplerParameters(parameters: WebGLSamplerParameters): this;
208
+ _setSamplerParameters(parameters: GLSamplerParameters): void;
190
209
  /** @deprecated For LegacyTexture subclass */
191
210
  protected _getWebGL1NPOTParameterOverride(pname: number, value: number): number;
192
211
  }
212
+ export {};
193
213
  //# sourceMappingURL=webgl-texture.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"webgl-texture.d.ts","sourceRoot":"","sources":["../../../src/adapter/resources/webgl-texture.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"webgl-texture.d.ts","sourceRoot":"","sources":["../../../src/adapter/resources/webgl-texture.ts"],"names":[],"mappings":"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"}