@luma.gl/webgl 9.0.0-alpha.4 → 9.0.0-alpha.40

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (525) hide show
  1. package/LICENSE +3 -1
  2. package/dist/adapter/converters/device-parameters.d.ts +23 -4
  3. package/dist/adapter/converters/device-parameters.d.ts.map +1 -1
  4. package/dist/adapter/converters/device-parameters.js +42 -47
  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/shader-formats.d.ts +9 -0
  11. package/dist/adapter/converters/shader-formats.d.ts.map +1 -0
  12. package/dist/adapter/converters/shader-formats.js +53 -0
  13. package/dist/adapter/converters/shader-formats.js.map +1 -0
  14. package/dist/adapter/converters/texture-formats.d.ts +32 -44
  15. package/dist/adapter/converters/texture-formats.d.ts.map +1 -1
  16. package/dist/adapter/converters/texture-formats.js +165 -201
  17. package/dist/adapter/converters/texture-formats.js.map +1 -1
  18. package/dist/adapter/converters/vertex-formats.d.ts +9 -3
  19. package/dist/adapter/converters/vertex-formats.d.ts.map +1 -1
  20. package/dist/adapter/converters/vertex-formats.js +51 -19
  21. package/dist/adapter/converters/vertex-formats.js.map +1 -1
  22. package/dist/adapter/device-helpers/device-features.d.ts +1 -1
  23. package/dist/adapter/device-helpers/device-features.d.ts.map +1 -1
  24. package/dist/adapter/device-helpers/device-features.js +14 -21
  25. package/dist/adapter/device-helpers/device-features.js.map +1 -1
  26. package/dist/adapter/device-helpers/device-limits.d.ts +3 -3
  27. package/dist/adapter/device-helpers/device-limits.d.ts.map +1 -1
  28. package/dist/adapter/device-helpers/device-limits.js +2 -5
  29. package/dist/adapter/device-helpers/device-limits.js.map +1 -1
  30. package/dist/adapter/device-helpers/get-device-info.d.ts +1 -1
  31. package/dist/adapter/device-helpers/get-device-info.d.ts.map +1 -1
  32. package/dist/adapter/device-helpers/get-device-info.js +9 -11
  33. package/dist/adapter/device-helpers/get-device-info.js.map +1 -1
  34. package/dist/adapter/device-helpers/is-old-ie.d.ts.map +1 -1
  35. package/dist/adapter/device-helpers/is-old-ie.js +2 -1
  36. package/dist/adapter/device-helpers/is-old-ie.js.map +1 -1
  37. package/dist/adapter/helpers/decode-webgl-types.d.ts +26 -0
  38. package/dist/adapter/helpers/decode-webgl-types.d.ts.map +1 -0
  39. package/dist/adapter/helpers/{uniforms.js → decode-webgl-types.js} +20 -29
  40. package/dist/adapter/helpers/decode-webgl-types.js.map +1 -0
  41. package/dist/adapter/helpers/get-shader-info.d.ts +9 -0
  42. package/dist/adapter/helpers/get-shader-info.d.ts.map +1 -0
  43. package/dist/adapter/helpers/get-shader-info.js +25 -0
  44. package/dist/adapter/helpers/get-shader-info.js.map +1 -0
  45. package/dist/adapter/helpers/get-shader-layout.d.ts +1 -48
  46. package/dist/adapter/helpers/get-shader-layout.d.ts.map +1 -1
  47. package/dist/adapter/helpers/get-shader-layout.js +60 -115
  48. package/dist/adapter/helpers/get-shader-layout.js.map +1 -1
  49. package/dist/adapter/helpers/parse-shader-compiler-log.d.ts +1 -1
  50. package/dist/adapter/helpers/parse-shader-compiler-log.d.ts.map +1 -1
  51. package/dist/adapter/helpers/parse-shader-compiler-log.js +0 -7
  52. package/dist/adapter/helpers/parse-shader-compiler-log.js.map +1 -1
  53. package/dist/adapter/helpers/set-uniform.d.ts +3 -2
  54. package/dist/adapter/helpers/set-uniform.d.ts.map +1 -1
  55. package/dist/adapter/helpers/set-uniform.js +27 -57
  56. package/dist/adapter/helpers/set-uniform.js.map +1 -1
  57. package/dist/adapter/helpers/webgl-topology-utils.d.ts +11 -0
  58. package/dist/adapter/helpers/webgl-topology-utils.d.ts.map +1 -0
  59. package/dist/adapter/helpers/{attribute-utils.js → webgl-topology-utils.js} +2 -19
  60. package/dist/adapter/helpers/webgl-topology-utils.js.map +1 -0
  61. package/dist/adapter/objects/constants-to-keys.d.ts +1 -3
  62. package/dist/adapter/objects/constants-to-keys.d.ts.map +1 -1
  63. package/dist/adapter/objects/constants-to-keys.js +2 -29
  64. package/dist/adapter/objects/constants-to-keys.js.map +1 -1
  65. package/dist/adapter/objects/webgl-renderbuffer.d.ts +15 -12
  66. package/dist/adapter/objects/webgl-renderbuffer.d.ts.map +1 -1
  67. package/dist/adapter/objects/webgl-renderbuffer.js +34 -41
  68. package/dist/adapter/objects/webgl-renderbuffer.js.map +1 -1
  69. package/dist/adapter/objects/webgl-resource.d.ts +6 -9
  70. package/dist/adapter/objects/webgl-resource.d.ts.map +1 -1
  71. package/dist/adapter/objects/webgl-resource.js +26 -83
  72. package/dist/adapter/objects/webgl-resource.js.map +1 -1
  73. package/dist/adapter/resources/webgl-buffer.d.ts +18 -10
  74. package/dist/adapter/resources/webgl-buffer.d.ts.map +1 -1
  75. package/dist/adapter/resources/webgl-buffer.js +49 -78
  76. package/dist/adapter/resources/webgl-buffer.js.map +1 -1
  77. package/dist/adapter/resources/webgl-command-buffer.d.ts +15 -9
  78. package/dist/adapter/resources/webgl-command-buffer.d.ts.map +1 -1
  79. package/dist/adapter/resources/webgl-command-buffer.js +169 -43
  80. package/dist/adapter/resources/webgl-command-buffer.js.map +1 -1
  81. package/dist/adapter/resources/webgl-command-encoder.d.ts +7 -6
  82. package/dist/adapter/resources/webgl-command-encoder.d.ts.map +1 -1
  83. package/dist/adapter/resources/webgl-command-encoder.js +10 -20
  84. package/dist/adapter/resources/webgl-command-encoder.js.map +1 -1
  85. package/dist/adapter/resources/webgl-external-texture.js.map +1 -1
  86. package/dist/adapter/resources/webgl-framebuffer.d.ts +21 -24
  87. package/dist/adapter/resources/webgl-framebuffer.d.ts.map +1 -1
  88. package/dist/adapter/resources/webgl-framebuffer.js +46 -155
  89. package/dist/adapter/resources/webgl-framebuffer.js.map +1 -1
  90. package/dist/adapter/resources/webgl-render-pass.d.ts +19 -4
  91. package/dist/adapter/resources/webgl-render-pass.d.ts.map +1 -1
  92. package/dist/adapter/resources/webgl-render-pass.js +91 -11
  93. package/dist/adapter/resources/webgl-render-pass.js.map +1 -1
  94. package/dist/adapter/resources/webgl-render-pipeline.d.ts +53 -19
  95. package/dist/adapter/resources/webgl-render-pipeline.d.ts.map +1 -1
  96. package/dist/adapter/resources/webgl-render-pipeline.js +107 -230
  97. package/dist/adapter/resources/webgl-render-pipeline.js.map +1 -1
  98. package/dist/adapter/resources/webgl-sampler.d.ts +6 -5
  99. package/dist/adapter/resources/webgl-sampler.d.ts.map +1 -1
  100. package/dist/adapter/resources/webgl-sampler.js +10 -19
  101. package/dist/adapter/resources/webgl-sampler.js.map +1 -1
  102. package/dist/adapter/resources/webgl-shader.d.ts +3 -4
  103. package/dist/adapter/resources/webgl-shader.d.ts.map +1 -1
  104. package/dist/adapter/resources/webgl-shader.js +19 -31
  105. package/dist/adapter/resources/webgl-shader.js.map +1 -1
  106. package/dist/adapter/resources/webgl-texture.d.ts +64 -44
  107. package/dist/adapter/resources/webgl-texture.d.ts.map +1 -1
  108. package/dist/adapter/resources/webgl-texture.js +119 -235
  109. package/dist/adapter/resources/webgl-texture.js.map +1 -1
  110. package/dist/adapter/resources/webgl-vertex-array.d.ts +67 -0
  111. package/dist/adapter/resources/webgl-vertex-array.d.ts.map +1 -0
  112. package/dist/adapter/resources/webgl-vertex-array.js +166 -0
  113. package/dist/adapter/resources/webgl-vertex-array.js.map +1 -0
  114. package/dist/adapter/webgl-canvas-context.d.ts +6 -7
  115. package/dist/adapter/webgl-canvas-context.d.ts.map +1 -1
  116. package/dist/adapter/webgl-canvas-context.js +10 -23
  117. package/dist/adapter/webgl-canvas-context.js.map +1 -1
  118. package/dist/adapter/webgl-device.d.ts +74 -41
  119. package/dist/adapter/webgl-device.d.ts.map +1 -1
  120. package/dist/adapter/webgl-device.js +214 -128
  121. package/dist/adapter/webgl-device.js.map +1 -1
  122. package/dist/classic/accessor.d.ts +3 -3
  123. package/dist/classic/accessor.d.ts.map +1 -1
  124. package/dist/classic/accessor.js +23 -48
  125. package/dist/classic/accessor.js.map +1 -1
  126. package/dist/classic/{buffer.d.ts → buffer-with-accessor.d.ts} +16 -29
  127. package/dist/classic/buffer-with-accessor.d.ts.map +1 -0
  128. package/dist/classic/{buffer.js → buffer-with-accessor.js} +55 -125
  129. package/dist/classic/buffer-with-accessor.js.map +1 -0
  130. package/dist/classic/clear.d.ts +22 -0
  131. package/dist/classic/clear.d.ts.map +1 -0
  132. package/dist/classic/clear.js +88 -0
  133. package/dist/classic/clear.js.map +1 -0
  134. package/dist/classic/copy-and-blit.d.ts +62 -0
  135. package/dist/classic/copy-and-blit.d.ts.map +1 -0
  136. package/dist/classic/copy-and-blit.js +200 -0
  137. package/dist/classic/copy-and-blit.js.map +1 -0
  138. package/dist/classic/format-utils.d.ts +3 -0
  139. package/dist/classic/format-utils.d.ts.map +1 -0
  140. package/dist/classic/format-utils.js +38 -0
  141. package/dist/classic/format-utils.js.map +1 -0
  142. package/dist/classic/typed-array-utils.d.ts +15 -17
  143. package/dist/classic/typed-array-utils.d.ts.map +1 -1
  144. package/dist/classic/typed-array-utils.js +1 -21
  145. package/dist/classic/typed-array-utils.js.map +1 -1
  146. package/dist/context/context/create-browser-context.d.ts +40 -0
  147. package/dist/context/context/create-browser-context.d.ts.map +1 -0
  148. package/dist/context/context/create-browser-context.js +53 -0
  149. package/dist/context/context/create-browser-context.js.map +1 -0
  150. package/dist/context/context/create-headless-context.d.ts +9 -0
  151. package/dist/context/context/create-headless-context.d.ts.map +1 -0
  152. package/dist/context/context/create-headless-context.js +42 -0
  153. package/dist/context/context/create-headless-context.js.map +1 -0
  154. package/dist/context/context/webgl-checks.d.ts.map +1 -1
  155. package/dist/context/context/webgl-checks.js +1 -4
  156. package/dist/context/context/webgl-checks.js.map +1 -1
  157. package/dist/context/debug/spector.d.ts +1 -2
  158. package/dist/context/debug/spector.d.ts.map +1 -1
  159. package/dist/context/debug/spector.js +8 -20
  160. package/dist/context/debug/spector.js.map +1 -1
  161. package/dist/context/debug/webgl-developer-tools.d.ts +2 -2
  162. package/dist/context/debug/webgl-developer-tools.d.ts.map +1 -1
  163. package/dist/context/debug/webgl-developer-tools.js +16 -39
  164. package/dist/context/debug/webgl-developer-tools.js.map +1 -1
  165. package/dist/context/parameters/unified-parameter-api.d.ts +9 -8
  166. package/dist/context/parameters/unified-parameter-api.d.ts.map +1 -1
  167. package/dist/context/parameters/unified-parameter-api.js +9 -19
  168. package/dist/context/parameters/unified-parameter-api.js.map +1 -1
  169. package/dist/context/parameters/webgl-parameter-tables.d.ts +105 -106
  170. package/dist/context/parameters/webgl-parameter-tables.d.ts.map +1 -1
  171. package/dist/context/parameters/webgl-parameter-tables.js +18 -36
  172. package/dist/context/parameters/webgl-parameter-tables.js.map +1 -1
  173. package/dist/context/polyfill/context-data.d.ts +13 -0
  174. package/dist/context/polyfill/context-data.d.ts.map +1 -0
  175. package/dist/context/polyfill/context-data.js +12 -0
  176. package/dist/context/polyfill/context-data.js.map +1 -0
  177. package/dist/context/polyfill/get-parameter-polyfill.d.ts +1 -1
  178. package/dist/context/polyfill/get-parameter-polyfill.d.ts.map +1 -1
  179. package/dist/context/polyfill/get-parameter-polyfill.js +4 -9
  180. package/dist/context/polyfill/get-parameter-polyfill.js.map +1 -1
  181. package/dist/context/polyfill/polyfill-context.d.ts.map +1 -1
  182. package/dist/context/polyfill/polyfill-context.js +22 -30
  183. package/dist/context/polyfill/polyfill-context.js.map +1 -1
  184. package/dist/context/polyfill/polyfill-table.d.ts +8 -8
  185. package/dist/context/polyfill/polyfill-table.d.ts.map +1 -1
  186. package/dist/context/polyfill/polyfill-table.js +10 -32
  187. package/dist/context/polyfill/polyfill-table.js.map +1 -1
  188. package/dist/context/polyfill/polyfill-vertex-array-object.d.ts.map +1 -1
  189. package/dist/context/polyfill/polyfill-vertex-array-object.js +0 -70
  190. package/dist/context/polyfill/polyfill-vertex-array-object.js.map +1 -1
  191. package/dist/context/state-tracker/deep-array-equal.d.ts.map +1 -1
  192. package/dist/context/state-tracker/deep-array-equal.js +0 -4
  193. package/dist/context/state-tracker/deep-array-equal.js.map +1 -1
  194. package/dist/context/state-tracker/track-context-state.d.ts.map +1 -1
  195. package/dist/context/state-tracker/track-context-state.js +26 -62
  196. package/dist/context/state-tracker/track-context-state.js.map +1 -1
  197. package/dist/context/state-tracker/with-parameters.d.ts +2 -1
  198. package/dist/context/state-tracker/with-parameters.d.ts.map +1 -1
  199. package/dist/context/state-tracker/with-parameters.js +8 -10
  200. package/dist/context/state-tracker/with-parameters.js.map +1 -1
  201. package/dist/dist.dev.js +10390 -0
  202. package/dist/index.cjs +6615 -0
  203. package/dist/index.d.ts +27 -24
  204. package/dist/index.d.ts.map +1 -1
  205. package/dist/index.js +27 -26
  206. package/dist/index.js.map +1 -1
  207. package/dist/types.d.ts +3 -1
  208. package/dist/types.d.ts.map +1 -1
  209. package/dist/types.js.map +1 -1
  210. package/dist.min.js +37 -0
  211. package/package.json +21 -9
  212. package/src/adapter/converters/device-parameters.ts +124 -36
  213. package/src/adapter/converters/sampler-parameters.ts +22 -9
  214. package/src/adapter/converters/shader-formats.ts +44 -0
  215. package/src/adapter/converters/texture-formats.ts +267 -194
  216. package/src/adapter/converters/vertex-formats.ts +71 -10
  217. package/src/adapter/device-helpers/device-features.ts +13 -3
  218. package/src/adapter/device-helpers/device-limits.ts +5 -3
  219. package/src/adapter/device-helpers/get-device-info.ts +17 -10
  220. package/src/adapter/device-helpers/is-old-ie.ts +3 -0
  221. package/src/adapter/helpers/{uniforms.ts → decode-webgl-types.ts} +39 -21
  222. package/src/adapter/helpers/get-shader-info.ts +41 -0
  223. package/src/adapter/helpers/get-shader-layout.ts +121 -146
  224. package/src/adapter/helpers/parse-shader-compiler-log.ts +4 -2
  225. package/src/adapter/helpers/set-uniform.ts +39 -35
  226. package/src/adapter/helpers/{attribute-utils.ts → webgl-topology-utils.ts} +7 -5
  227. package/src/adapter/objects/constants-to-keys.ts +6 -25
  228. package/src/adapter/objects/webgl-renderbuffer.ts +43 -37
  229. package/src/adapter/objects/webgl-resource.ts +16 -23
  230. package/src/adapter/resources/webgl-buffer.ts +59 -58
  231. package/src/adapter/resources/webgl-command-buffer.ts +333 -25
  232. package/src/adapter/resources/webgl-command-encoder.ts +20 -12
  233. package/src/adapter/resources/webgl-external-texture.ts +5 -2
  234. package/src/adapter/resources/webgl-framebuffer.ts +89 -133
  235. package/src/adapter/resources/webgl-render-pass.ts +160 -4
  236. package/src/adapter/resources/webgl-render-pipeline.ts +254 -174
  237. package/src/adapter/resources/webgl-sampler.ts +15 -9
  238. package/src/adapter/resources/webgl-shader.ts +14 -11
  239. package/src/adapter/resources/webgl-texture.ts +120 -90
  240. package/src/adapter/resources/webgl-vertex-array.ts +279 -0
  241. package/src/adapter/webgl-canvas-context.ts +16 -14
  242. package/src/adapter/webgl-device.ts +321 -78
  243. package/src/classic/accessor.ts +7 -17
  244. package/src/classic/{buffer.ts → buffer-with-accessor.ts} +68 -76
  245. package/src/classic/clear.ts +113 -0
  246. package/src/classic/copy-and-blit.ts +314 -0
  247. package/src/classic/format-utils.ts +46 -0
  248. package/src/classic/typed-array-utils.ts +19 -27
  249. package/src/context/context/create-browser-context.ts +140 -0
  250. package/src/context/context/create-headless-context.ts +51 -0
  251. package/src/context/context/webgl-checks.ts +3 -1
  252. package/src/context/debug/spector.ts +9 -6
  253. package/src/context/debug/webgl-developer-tools.ts +23 -15
  254. package/src/context/parameters/unified-parameter-api.ts +23 -14
  255. package/src/context/parameters/webgl-parameter-tables.ts +120 -98
  256. package/src/context/polyfill/context-data.ts +30 -0
  257. package/src/context/polyfill/get-parameter-polyfill.ts +11 -7
  258. package/src/context/polyfill/polyfill-context.ts +10 -9
  259. package/src/context/polyfill/polyfill-table.ts +21 -16
  260. package/src/context/polyfill/polyfill-vertex-array-object.ts +5 -0
  261. package/src/context/state-tracker/deep-array-equal.ts +2 -0
  262. package/src/context/state-tracker/track-context-state.ts +20 -16
  263. package/src/context/state-tracker/with-parameters.ts +13 -4
  264. package/src/index.ts +69 -35
  265. package/src/types.ts +5 -0
  266. package/dist/adapter/converters/renderbuffer-formats.d.ts +0 -16
  267. package/dist/adapter/converters/renderbuffer-formats.d.ts.map +0 -1
  268. package/dist/adapter/converters/renderbuffer-formats.js +0 -185
  269. package/dist/adapter/converters/renderbuffer-formats.js.map +0 -1
  270. package/dist/adapter/helpers/attribute-utils.d.ts +0 -11
  271. package/dist/adapter/helpers/attribute-utils.d.ts.map +0 -1
  272. package/dist/adapter/helpers/attribute-utils.js.map +0 -1
  273. package/dist/adapter/helpers/uniforms.d.ts +0 -26
  274. package/dist/adapter/helpers/uniforms.d.ts.map +0 -1
  275. package/dist/adapter/helpers/uniforms.js.map +0 -1
  276. package/dist/adapter/objects/webgl-vertex-array-object.d.ts +0 -27
  277. package/dist/adapter/objects/webgl-vertex-array-object.d.ts.map +0 -1
  278. package/dist/adapter/objects/webgl-vertex-array-object.js +0 -84
  279. package/dist/adapter/objects/webgl-vertex-array-object.js.map +0 -1
  280. package/dist/bundle.d.ts +0 -2
  281. package/dist/bundle.d.ts.map +0 -1
  282. package/dist/bundle.js +0 -5
  283. package/dist/bundle.js.map +0 -1
  284. package/dist/classic/buffer.d.ts.map +0 -1
  285. package/dist/classic/buffer.js.map +0 -1
  286. package/dist/context/context/context-state.d.ts +0 -18
  287. package/dist/context/context/context-state.d.ts.map +0 -1
  288. package/dist/context/context/context-state.js +0 -26
  289. package/dist/context/context/context-state.js.map +0 -1
  290. package/dist/context/context/create-context.d.ts +0 -41
  291. package/dist/context/context/create-context.d.ts.map +0 -1
  292. package/dist/context/context/create-context.js +0 -49
  293. package/dist/context/context/create-context.js.map +0 -1
  294. package/dist/context/context/device-pixels.d.ts +0 -25
  295. package/dist/context/context/device-pixels.d.ts.map +0 -1
  296. package/dist/context/context/device-pixels.js +0 -98
  297. package/dist/context/context/device-pixels.js.map +0 -1
  298. package/dist/es5/adapter/converters/device-parameters.js +0 -170
  299. package/dist/es5/adapter/converters/device-parameters.js.map +0 -1
  300. package/dist/es5/adapter/converters/renderbuffer-formats.js +0 -163
  301. package/dist/es5/adapter/converters/renderbuffer-formats.js.map +0 -1
  302. package/dist/es5/adapter/converters/sampler-parameters.js +0 -226
  303. package/dist/es5/adapter/converters/sampler-parameters.js.map +0 -1
  304. package/dist/es5/adapter/converters/texture-formats.js +0 -1031
  305. package/dist/es5/adapter/converters/texture-formats.js.map +0 -1
  306. package/dist/es5/adapter/converters/vertex-formats.js +0 -45
  307. package/dist/es5/adapter/converters/vertex-formats.js.map +0 -1
  308. package/dist/es5/adapter/device-helpers/device-features.js +0 -144
  309. package/dist/es5/adapter/device-helpers/device-features.js.map +0 -1
  310. package/dist/es5/adapter/device-helpers/device-limits.js +0 -64
  311. package/dist/es5/adapter/device-helpers/device-limits.js.map +0 -1
  312. package/dist/es5/adapter/device-helpers/get-device-info.js +0 -55
  313. package/dist/es5/adapter/device-helpers/get-device-info.js.map +0 -1
  314. package/dist/es5/adapter/device-helpers/is-old-ie.js +0 -16
  315. package/dist/es5/adapter/device-helpers/is-old-ie.js.map +0 -1
  316. package/dist/es5/adapter/helpers/attribute-utils.js +0 -91
  317. package/dist/es5/adapter/helpers/attribute-utils.js.map +0 -1
  318. package/dist/es5/adapter/helpers/get-shader-layout.js +0 -371
  319. package/dist/es5/adapter/helpers/get-shader-layout.js.map +0 -1
  320. package/dist/es5/adapter/helpers/parse-shader-compiler-log.js +0 -72
  321. package/dist/es5/adapter/helpers/parse-shader-compiler-log.js.map +0 -1
  322. package/dist/es5/adapter/helpers/set-uniform.js +0 -125
  323. package/dist/es5/adapter/helpers/set-uniform.js.map +0 -1
  324. package/dist/es5/adapter/helpers/uniforms.js +0 -112
  325. package/dist/es5/adapter/helpers/uniforms.js.map +0 -1
  326. package/dist/es5/adapter/objects/constants-to-keys.js +0 -54
  327. package/dist/es5/adapter/objects/constants-to-keys.js.map +0 -1
  328. package/dist/es5/adapter/objects/webgl-renderbuffer.js +0 -150
  329. package/dist/es5/adapter/objects/webgl-renderbuffer.js.map +0 -1
  330. package/dist/es5/adapter/objects/webgl-resource.js +0 -292
  331. package/dist/es5/adapter/objects/webgl-resource.js.map +0 -1
  332. package/dist/es5/adapter/objects/webgl-vertex-array-object.js +0 -137
  333. package/dist/es5/adapter/objects/webgl-vertex-array-object.js.map +0 -1
  334. package/dist/es5/adapter/resources/webgl-buffer.js +0 -243
  335. package/dist/es5/adapter/resources/webgl-buffer.js.map +0 -1
  336. package/dist/es5/adapter/resources/webgl-command-buffer.js +0 -96
  337. package/dist/es5/adapter/resources/webgl-command-buffer.js.map +0 -1
  338. package/dist/es5/adapter/resources/webgl-command-encoder.js +0 -98
  339. package/dist/es5/adapter/resources/webgl-command-encoder.js.map +0 -1
  340. package/dist/es5/adapter/resources/webgl-external-texture.js +0 -2
  341. package/dist/es5/adapter/resources/webgl-external-texture.js.map +0 -1
  342. package/dist/es5/adapter/resources/webgl-framebuffer.js +0 -345
  343. package/dist/es5/adapter/resources/webgl-framebuffer.js.map +0 -1
  344. package/dist/es5/adapter/resources/webgl-render-pass.js +0 -61
  345. package/dist/es5/adapter/resources/webgl-render-pass.js.map +0 -1
  346. package/dist/es5/adapter/resources/webgl-render-pipeline.js +0 -505
  347. package/dist/es5/adapter/resources/webgl-render-pipeline.js.map +0 -1
  348. package/dist/es5/adapter/resources/webgl-sampler.js +0 -96
  349. package/dist/es5/adapter/resources/webgl-sampler.js.map +0 -1
  350. package/dist/es5/adapter/resources/webgl-shader.js +0 -149
  351. package/dist/es5/adapter/resources/webgl-shader.js.map +0 -1
  352. package/dist/es5/adapter/resources/webgl-texture.js +0 -986
  353. package/dist/es5/adapter/resources/webgl-texture.js.map +0 -1
  354. package/dist/es5/adapter/webgl-canvas-context.js +0 -97
  355. package/dist/es5/adapter/webgl-canvas-context.js.map +0 -1
  356. package/dist/es5/adapter/webgl-device.js +0 -399
  357. package/dist/es5/adapter/webgl-device.js.map +0 -1
  358. package/dist/es5/bundle.js +0 -7
  359. package/dist/es5/bundle.js.map +0 -1
  360. package/dist/es5/classic/accessor.js +0 -181
  361. package/dist/es5/classic/accessor.js.map +0 -1
  362. package/dist/es5/classic/buffer.js +0 -470
  363. package/dist/es5/classic/buffer.js.map +0 -1
  364. package/dist/es5/classic/typed-array-utils.js +0 -126
  365. package/dist/es5/classic/typed-array-utils.js.map +0 -1
  366. package/dist/es5/context/context/context-state.js +0 -31
  367. package/dist/es5/context/context/context-state.js.map +0 -1
  368. package/dist/es5/context/context/create-context.js +0 -69
  369. package/dist/es5/context/context/create-context.js.map +0 -1
  370. package/dist/es5/context/context/device-pixels.js +0 -115
  371. package/dist/es5/context/context/device-pixels.js.map +0 -1
  372. package/dist/es5/context/context/webgl-checks.js +0 -54
  373. package/dist/es5/context/context/webgl-checks.js.map +0 -1
  374. package/dist/es5/context/debug/spector.js +0 -133
  375. package/dist/es5/context/debug/spector.js.map +0 -1
  376. package/dist/es5/context/debug/webgl-developer-tools.js +0 -198
  377. package/dist/es5/context/debug/webgl-developer-tools.js.map +0 -1
  378. package/dist/es5/context/parameters/unified-parameter-api.js +0 -97
  379. package/dist/es5/context/parameters/unified-parameter-api.js.map +0 -1
  380. package/dist/es5/context/parameters/webgl-parameter-tables.js +0 -392
  381. package/dist/es5/context/parameters/webgl-parameter-tables.js.map +0 -1
  382. package/dist/es5/context/polyfill/get-parameter-polyfill.js +0 -81
  383. package/dist/es5/context/polyfill/get-parameter-polyfill.js.map +0 -1
  384. package/dist/es5/context/polyfill/polyfill-context.js +0 -135
  385. package/dist/es5/context/polyfill/polyfill-context.js.map +0 -1
  386. package/dist/es5/context/polyfill/polyfill-table.js +0 -166
  387. package/dist/es5/context/polyfill/polyfill-table.js.map +0 -1
  388. package/dist/es5/context/polyfill/polyfill-vertex-array-object.js +0 -341
  389. package/dist/es5/context/polyfill/polyfill-vertex-array-object.js.map +0 -1
  390. package/dist/es5/context/state-tracker/deep-array-equal.js +0 -28
  391. package/dist/es5/context/state-tracker/deep-array-equal.js.map +0 -1
  392. package/dist/es5/context/state-tracker/track-context-state.js +0 -211
  393. package/dist/es5/context/state-tracker/track-context-state.js.map +0 -1
  394. package/dist/es5/context/state-tracker/with-parameters.js +0 -44
  395. package/dist/es5/context/state-tracker/with-parameters.js.map +0 -1
  396. package/dist/es5/index.js +0 -276
  397. package/dist/es5/index.js.map +0 -1
  398. package/dist/es5/init.js +0 -10
  399. package/dist/es5/init.js.map +0 -1
  400. package/dist/es5/types/webgl.js +0 -6
  401. package/dist/es5/types/webgl.js.map +0 -1
  402. package/dist/es5/types.js +0 -2
  403. package/dist/es5/types.js.map +0 -1
  404. package/dist/esm/adapter/converters/device-parameters.js +0 -155
  405. package/dist/esm/adapter/converters/device-parameters.js.map +0 -1
  406. package/dist/esm/adapter/converters/renderbuffer-formats.js +0 -185
  407. package/dist/esm/adapter/converters/renderbuffer-formats.js.map +0 -1
  408. package/dist/esm/adapter/converters/sampler-parameters.js +0 -208
  409. package/dist/esm/adapter/converters/sampler-parameters.js.map +0 -1
  410. package/dist/esm/adapter/converters/texture-formats.js +0 -954
  411. package/dist/esm/adapter/converters/texture-formats.js.map +0 -1
  412. package/dist/esm/adapter/converters/vertex-formats.js +0 -35
  413. package/dist/esm/adapter/converters/vertex-formats.js.map +0 -1
  414. package/dist/esm/adapter/device-helpers/device-features.js +0 -102
  415. package/dist/esm/adapter/device-helpers/device-features.js.map +0 -1
  416. package/dist/esm/adapter/device-helpers/device-limits.js +0 -91
  417. package/dist/esm/adapter/device-helpers/device-limits.js.map +0 -1
  418. package/dist/esm/adapter/device-helpers/get-device-info.js +0 -44
  419. package/dist/esm/adapter/device-helpers/get-device-info.js.map +0 -1
  420. package/dist/esm/adapter/device-helpers/is-old-ie.js +0 -8
  421. package/dist/esm/adapter/device-helpers/is-old-ie.js.map +0 -1
  422. package/dist/esm/adapter/helpers/attribute-utils.js +0 -81
  423. package/dist/esm/adapter/helpers/attribute-utils.js.map +0 -1
  424. package/dist/esm/adapter/helpers/get-shader-layout.js +0 -306
  425. package/dist/esm/adapter/helpers/get-shader-layout.js.map +0 -1
  426. package/dist/esm/adapter/helpers/parse-shader-compiler-log.js +0 -37
  427. package/dist/esm/adapter/helpers/parse-shader-compiler-log.js.map +0 -1
  428. package/dist/esm/adapter/helpers/set-uniform.js +0 -115
  429. package/dist/esm/adapter/helpers/set-uniform.js.map +0 -1
  430. package/dist/esm/adapter/helpers/uniforms.js +0 -99
  431. package/dist/esm/adapter/helpers/uniforms.js.map +0 -1
  432. package/dist/esm/adapter/objects/constants-to-keys.js +0 -42
  433. package/dist/esm/adapter/objects/constants-to-keys.js.map +0 -1
  434. package/dist/esm/adapter/objects/webgl-renderbuffer.js +0 -94
  435. package/dist/esm/adapter/objects/webgl-renderbuffer.js.map +0 -1
  436. package/dist/esm/adapter/objects/webgl-resource.js +0 -216
  437. package/dist/esm/adapter/objects/webgl-resource.js.map +0 -1
  438. package/dist/esm/adapter/objects/webgl-vertex-array-object.js +0 -84
  439. package/dist/esm/adapter/objects/webgl-vertex-array-object.js.map +0 -1
  440. package/dist/esm/adapter/resources/webgl-buffer.js +0 -164
  441. package/dist/esm/adapter/resources/webgl-buffer.js.map +0 -1
  442. package/dist/esm/adapter/resources/webgl-command-buffer.js +0 -65
  443. package/dist/esm/adapter/resources/webgl-command-buffer.js.map +0 -1
  444. package/dist/esm/adapter/resources/webgl-command-encoder.js +0 -53
  445. package/dist/esm/adapter/resources/webgl-command-encoder.js.map +0 -1
  446. package/dist/esm/adapter/resources/webgl-external-texture.js +0 -2
  447. package/dist/esm/adapter/resources/webgl-external-texture.js.map +0 -1
  448. package/dist/esm/adapter/resources/webgl-framebuffer.js +0 -265
  449. package/dist/esm/adapter/resources/webgl-framebuffer.js.map +0 -1
  450. package/dist/esm/adapter/resources/webgl-render-pass.js +0 -19
  451. package/dist/esm/adapter/resources/webgl-render-pass.js.map +0 -1
  452. package/dist/esm/adapter/resources/webgl-render-pipeline.js +0 -400
  453. package/dist/esm/adapter/resources/webgl-render-pipeline.js.map +0 -1
  454. package/dist/esm/adapter/resources/webgl-sampler.js +0 -50
  455. package/dist/esm/adapter/resources/webgl-sampler.js.map +0 -1
  456. package/dist/esm/adapter/resources/webgl-shader.js +0 -75
  457. package/dist/esm/adapter/resources/webgl-shader.js.map +0 -1
  458. package/dist/esm/adapter/resources/webgl-texture.js +0 -831
  459. package/dist/esm/adapter/resources/webgl-texture.js.map +0 -1
  460. package/dist/esm/adapter/webgl-canvas-context.js +0 -54
  461. package/dist/esm/adapter/webgl-canvas-context.js.map +0 -1
  462. package/dist/esm/adapter/webgl-device.js +0 -280
  463. package/dist/esm/adapter/webgl-device.js.map +0 -1
  464. package/dist/esm/bundle.js +0 -5
  465. package/dist/esm/bundle.js.map +0 -1
  466. package/dist/esm/classic/accessor.js +0 -144
  467. package/dist/esm/classic/accessor.js.map +0 -1
  468. package/dist/esm/classic/buffer.js +0 -384
  469. package/dist/esm/classic/buffer.js.map +0 -1
  470. package/dist/esm/classic/typed-array-utils.js +0 -112
  471. package/dist/esm/classic/typed-array-utils.js.map +0 -1
  472. package/dist/esm/context/context/context-state.js +0 -26
  473. package/dist/esm/context/context/context-state.js.map +0 -1
  474. package/dist/esm/context/context/create-context.js +0 -49
  475. package/dist/esm/context/context/create-context.js.map +0 -1
  476. package/dist/esm/context/context/device-pixels.js +0 -98
  477. package/dist/esm/context/context/device-pixels.js.map +0 -1
  478. package/dist/esm/context/context/webgl-checks.js +0 -34
  479. package/dist/esm/context/context/webgl-checks.js.map +0 -1
  480. package/dist/esm/context/debug/spector.js +0 -76
  481. package/dist/esm/context/debug/spector.js.map +0 -1
  482. package/dist/esm/context/debug/webgl-developer-tools.js +0 -121
  483. package/dist/esm/context/debug/webgl-developer-tools.js.map +0 -1
  484. package/dist/esm/context/parameters/unified-parameter-api.js +0 -65
  485. package/dist/esm/context/parameters/unified-parameter-api.js.map +0 -1
  486. package/dist/esm/context/parameters/webgl-parameter-tables.js +0 -445
  487. package/dist/esm/context/parameters/webgl-parameter-tables.js.map +0 -1
  488. package/dist/esm/context/polyfill/get-parameter-polyfill.js +0 -91
  489. package/dist/esm/context/polyfill/get-parameter-polyfill.js.map +0 -1
  490. package/dist/esm/context/polyfill/polyfill-context.js +0 -92
  491. package/dist/esm/context/polyfill/polyfill-context.js.map +0 -1
  492. package/dist/esm/context/polyfill/polyfill-table.js +0 -160
  493. package/dist/esm/context/polyfill/polyfill-table.js.map +0 -1
  494. package/dist/esm/context/polyfill/polyfill-vertex-array-object.js +0 -335
  495. package/dist/esm/context/polyfill/polyfill-vertex-array-object.js.map +0 -1
  496. package/dist/esm/context/state-tracker/deep-array-equal.js +0 -21
  497. package/dist/esm/context/state-tracker/deep-array-equal.js.map +0 -1
  498. package/dist/esm/context/state-tracker/track-context-state.js +0 -183
  499. package/dist/esm/context/state-tracker/track-context-state.js.map +0 -1
  500. package/dist/esm/context/state-tracker/with-parameters.js +0 -36
  501. package/dist/esm/context/state-tracker/with-parameters.js.map +0 -1
  502. package/dist/esm/index.js +0 -27
  503. package/dist/esm/index.js.map +0 -1
  504. package/dist/esm/init.js +0 -4
  505. package/dist/esm/init.js.map +0 -1
  506. package/dist/esm/types/webgl.js +0 -2
  507. package/dist/esm/types/webgl.js.map +0 -1
  508. package/dist/esm/types.js +0 -2
  509. package/dist/esm/types.js.map +0 -1
  510. package/dist/init.d.ts +0 -2
  511. package/dist/init.d.ts.map +0 -1
  512. package/dist/init.js +0 -4
  513. package/dist/init.js.map +0 -1
  514. package/dist/types/webgl.d.ts +0 -144
  515. package/dist/types/webgl.d.ts.map +0 -1
  516. package/dist/types/webgl.js +0 -2
  517. package/dist/types/webgl.js.map +0 -1
  518. package/src/adapter/converters/renderbuffer-formats.ts +0 -92
  519. package/src/adapter/objects/webgl-vertex-array-object.ts +0 -111
  520. package/src/bundle.ts +0 -4
  521. package/src/context/context/context-state.ts +0 -41
  522. package/src/context/context/create-context.ts +0 -110
  523. package/src/context/context/device-pixels.ts +0 -152
  524. package/src/init.ts +0 -4
  525. package/src/types/webgl.ts +0 -283
@@ -1,115 +1,85 @@
1
- import GL from '@luma.gl/constants';
1
+ import { GL } from '@luma.gl/constants';
2
2
  export function setUniform(gl, location, type, value) {
3
3
  const gl2 = gl;
4
-
5
- if (typeof value === 'number') {
6
- switch (type) {
7
- case GL.SAMPLER_2D:
8
- case GL.SAMPLER_CUBE:
9
- case GL.SAMPLER_3D:
10
- case GL.SAMPLER_2D_SHADOW:
11
- case GL.SAMPLER_2D_ARRAY:
12
- case GL.SAMPLER_2D_ARRAY_SHADOW:
13
- case GL.SAMPLER_CUBE_SHADOW:
14
- case GL.INT_SAMPLER_2D:
15
- case GL.INT_SAMPLER_3D:
16
- case GL.INT_SAMPLER_CUBE:
17
- case GL.INT_SAMPLER_2D_ARRAY:
18
- case GL.UNSIGNED_INT_SAMPLER_2D:
19
- case GL.UNSIGNED_INT_SAMPLER_3D:
20
- case GL.UNSIGNED_INT_SAMPLER_CUBE:
21
- case GL.UNSIGNED_INT_SAMPLER_2D_ARRAY:
22
- return gl.uniform1i(location, value);
23
- }
4
+ let uniformValue = value;
5
+ if (uniformValue === true) {
6
+ uniformValue = 1;
24
7
  }
25
-
26
- if (value === true) {
27
- value = 1;
8
+ if (uniformValue === false) {
9
+ uniformValue = 0;
28
10
  }
29
-
30
- if (value === false) {
31
- value = 1;
32
- }
33
-
34
- const arrayValue = typeof value === 'number' ? [value] : value;
35
-
11
+ const arrayValue = typeof uniformValue === 'number' ? [uniformValue] : uniformValue;
36
12
  switch (type) {
13
+ case GL.SAMPLER_2D:
14
+ case GL.SAMPLER_CUBE:
15
+ case GL.SAMPLER_3D:
16
+ case GL.SAMPLER_2D_SHADOW:
17
+ case GL.SAMPLER_2D_ARRAY:
18
+ case GL.SAMPLER_2D_ARRAY_SHADOW:
19
+ case GL.SAMPLER_CUBE_SHADOW:
20
+ case GL.INT_SAMPLER_2D:
21
+ case GL.INT_SAMPLER_3D:
22
+ case GL.INT_SAMPLER_CUBE:
23
+ case GL.INT_SAMPLER_2D_ARRAY:
24
+ case GL.UNSIGNED_INT_SAMPLER_2D:
25
+ case GL.UNSIGNED_INT_SAMPLER_3D:
26
+ case GL.UNSIGNED_INT_SAMPLER_CUBE:
27
+ case GL.UNSIGNED_INT_SAMPLER_2D_ARRAY:
28
+ if (typeof value !== 'number') {
29
+ throw new Error('samplers must be set to integers');
30
+ }
31
+ return gl.uniform1i(location, value);
37
32
  case GL.FLOAT:
38
33
  return gl.uniform1fv(location, arrayValue);
39
-
40
34
  case GL.FLOAT_VEC2:
41
35
  return gl.uniform2fv(location, arrayValue);
42
-
43
36
  case GL.FLOAT_VEC3:
44
37
  return gl.uniform3fv(location, arrayValue);
45
-
46
38
  case GL.FLOAT_VEC4:
47
39
  return gl.uniform4fv(location, arrayValue);
48
-
49
40
  case GL.INT:
50
41
  return gl.uniform1iv(location, arrayValue);
51
-
52
42
  case GL.INT_VEC2:
53
43
  return gl.uniform2iv(location, arrayValue);
54
-
55
44
  case GL.INT_VEC3:
56
45
  return gl.uniform3iv(location, arrayValue);
57
-
58
46
  case GL.INT_VEC4:
59
47
  return gl.uniform4iv(location, arrayValue);
60
-
61
48
  case GL.BOOL:
62
49
  return gl.uniform1iv(location, arrayValue);
63
-
64
50
  case GL.BOOL_VEC2:
65
51
  return gl.uniform2iv(location, arrayValue);
66
-
67
52
  case GL.BOOL_VEC3:
68
53
  return gl.uniform3iv(location, arrayValue);
69
-
70
54
  case GL.BOOL_VEC4:
71
- gl.uniform4iv(location, arrayValue);
72
-
55
+ return gl.uniform4iv(location, arrayValue);
73
56
  case GL.UNSIGNED_INT:
74
57
  return gl2.uniform1uiv(location, arrayValue, 1);
75
-
76
58
  case GL.UNSIGNED_INT_VEC2:
77
59
  return gl2.uniform2uiv(location, arrayValue, 2);
78
-
79
60
  case GL.UNSIGNED_INT_VEC3:
80
61
  return gl2.uniform3uiv(location, arrayValue, 3);
81
-
82
62
  case GL.UNSIGNED_INT_VEC4:
83
63
  return gl2.uniform4uiv(location, arrayValue, 4);
84
-
85
64
  case GL.FLOAT_MAT2:
86
65
  return gl.uniformMatrix2fv(location, false, arrayValue);
87
-
88
66
  case GL.FLOAT_MAT3:
89
67
  return gl.uniformMatrix3fv(location, false, arrayValue);
90
-
91
68
  case GL.FLOAT_MAT4:
92
69
  return gl.uniformMatrix4fv(location, false, arrayValue);
93
-
94
70
  case GL.FLOAT_MAT2x3:
95
71
  return gl2.uniformMatrix2x3fv(location, false, arrayValue);
96
-
97
72
  case GL.FLOAT_MAT2x4:
98
73
  return gl2.uniformMatrix2x4fv(location, false, arrayValue);
99
-
100
74
  case GL.FLOAT_MAT3x2:
101
75
  return gl2.uniformMatrix3x2fv(location, false, arrayValue);
102
-
103
76
  case GL.FLOAT_MAT3x4:
104
77
  return gl2.uniformMatrix3x4fv(location, false, arrayValue);
105
-
106
78
  case GL.FLOAT_MAT4x2:
107
79
  return gl2.uniformMatrix4x2fv(location, false, arrayValue);
108
-
109
80
  case GL.FLOAT_MAT4x3:
110
81
  return gl2.uniformMatrix4x3fv(location, false, arrayValue);
111
82
  }
112
-
113
83
  throw new Error('Illegal uniform');
114
84
  }
115
85
  //# sourceMappingURL=set-uniform.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/adapter/helpers/set-uniform.ts"],"names":["GL","setUniform","gl","location","type","value","gl2","SAMPLER_2D","SAMPLER_CUBE","SAMPLER_3D","SAMPLER_2D_SHADOW","SAMPLER_2D_ARRAY","SAMPLER_2D_ARRAY_SHADOW","SAMPLER_CUBE_SHADOW","INT_SAMPLER_2D","INT_SAMPLER_3D","INT_SAMPLER_CUBE","INT_SAMPLER_2D_ARRAY","UNSIGNED_INT_SAMPLER_2D","UNSIGNED_INT_SAMPLER_3D","UNSIGNED_INT_SAMPLER_CUBE","UNSIGNED_INT_SAMPLER_2D_ARRAY","uniform1i","arrayValue","FLOAT","uniform1fv","FLOAT_VEC2","uniform2fv","FLOAT_VEC3","uniform3fv","FLOAT_VEC4","uniform4fv","INT","uniform1iv","INT_VEC2","uniform2iv","INT_VEC3","uniform3iv","INT_VEC4","uniform4iv","BOOL","BOOL_VEC2","BOOL_VEC3","BOOL_VEC4","UNSIGNED_INT","uniform1uiv","UNSIGNED_INT_VEC2","uniform2uiv","UNSIGNED_INT_VEC3","uniform3uiv","UNSIGNED_INT_VEC4","uniform4uiv","FLOAT_MAT2","uniformMatrix2fv","FLOAT_MAT3","uniformMatrix3fv","FLOAT_MAT4","uniformMatrix4fv","FLOAT_MAT2x3","uniformMatrix2x3fv","FLOAT_MAT2x4","uniformMatrix2x4fv","FLOAT_MAT3x2","uniformMatrix3x2fv","FLOAT_MAT3x4","uniformMatrix3x4fv","FLOAT_MAT4x2","uniformMatrix4x2fv","FLOAT_MAT4x3","uniformMatrix4x3fv","Error"],"mappings":"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","sourcesContent":["// Uniforms\nimport GL from '@luma.gl/constants';\n\n/** Set a raw uniform (without type conversion and caching) */\n/* eslint-disable max-len */\nexport function setUniform(\n gl: WebGLRenderingContext,\n location: WebGLUniformLocation,\n type: GL,\n value: number | Float32Array | Int32Array | Uint32Array\n): void {\n const gl2 = gl as WebGL2RenderingContext;\n\n if (typeof value === 'number') {\n // prettier-ignore\n switch (type) {\n // WebGL1 samplers\n case GL.SAMPLER_2D:\n case GL.SAMPLER_CUBE:\n // WebGL2 samplers\n case GL.SAMPLER_3D:\n case GL.SAMPLER_2D_SHADOW:\n case GL.SAMPLER_2D_ARRAY:\n case GL.SAMPLER_2D_ARRAY_SHADOW:\n case GL.SAMPLER_CUBE_SHADOW:\n case GL.INT_SAMPLER_2D:\n case GL.INT_SAMPLER_3D:\n case GL.INT_SAMPLER_CUBE:\n case GL.INT_SAMPLER_2D_ARRAY:\n case GL.UNSIGNED_INT_SAMPLER_2D:\n case GL.UNSIGNED_INT_SAMPLER_3D:\n case GL.UNSIGNED_INT_SAMPLER_CUBE:\n case GL.UNSIGNED_INT_SAMPLER_2D_ARRAY:\n return gl.uniform1i(location, value);\n }\n }\n\n // @ts-expect-error\n if (value === true) {\n value = 1;\n }\n // @ts-expect-error\n if (value === false) {\n value = 1;\n }\n const arrayValue = (typeof value === 'number') ? [value] : value;\n\n // prettier-ignore\n switch (type) {\n case GL.FLOAT: return gl.uniform1fv(location, arrayValue);\n case GL.FLOAT_VEC2: return gl.uniform2fv(location, arrayValue);\n case GL.FLOAT_VEC3: return gl.uniform3fv(location, arrayValue);\n case GL.FLOAT_VEC4: return gl.uniform4fv(location, arrayValue);\n\n case GL.INT: return gl.uniform1iv(location, arrayValue);\n case GL.INT_VEC2: return gl.uniform2iv(location, arrayValue);\n case GL.INT_VEC3: return gl.uniform3iv(location, arrayValue);\n case GL.INT_VEC4: return gl.uniform4iv(location, arrayValue);\n\n case GL.BOOL: return gl.uniform1iv(location, arrayValue);\n case GL.BOOL_VEC2: return gl.uniform2iv(location, arrayValue);\n case GL.BOOL_VEC3: return gl.uniform3iv(location, arrayValue);\n case GL.BOOL_VEC4: gl.uniform4iv(location, arrayValue);\n\n // WEBGL2 - unsigned integers\n case GL.UNSIGNED_INT: return gl2.uniform1uiv(location, arrayValue, 1);\n case GL.UNSIGNED_INT_VEC2: return gl2.uniform2uiv(location, arrayValue, 2);\n case GL.UNSIGNED_INT_VEC3: return gl2.uniform3uiv(location, arrayValue, 3);\n case GL.UNSIGNED_INT_VEC4: return gl2.uniform4uiv(location, arrayValue, 4);\n\n // WebGL2 - quadratic matrices\n // false: don't transpose the matrix\n case GL.FLOAT_MAT2: return gl.uniformMatrix2fv(location, false, arrayValue);\n case GL.FLOAT_MAT3: return gl.uniformMatrix3fv(location, false, arrayValue);\n case GL.FLOAT_MAT4: return gl.uniformMatrix4fv(location, false, arrayValue);\n\n // WebGL2 - rectangular matrices\n case GL.FLOAT_MAT2x3: return gl2.uniformMatrix2x3fv(location, false, arrayValue);\n case GL.FLOAT_MAT2x4: return gl2.uniformMatrix2x4fv(location, false, arrayValue);\n case GL.FLOAT_MAT3x2: return gl2.uniformMatrix3x2fv(location, false, arrayValue);\n case GL.FLOAT_MAT3x4: return gl2.uniformMatrix3x4fv(location, false, arrayValue);\n case GL.FLOAT_MAT4x2: return gl2.uniformMatrix4x2fv(location, false, arrayValue);\n case GL.FLOAT_MAT4x3: return gl2.uniformMatrix4x3fv(location, false, arrayValue);\n }\n\n throw new Error('Illegal uniform');\n}\n"],"file":"set-uniform.js"}
1
+ {"version":3,"file":"set-uniform.js","names":["GL","setUniform","gl","location","type","value","gl2","uniformValue","arrayValue","SAMPLER_2D","SAMPLER_CUBE","SAMPLER_3D","SAMPLER_2D_SHADOW","SAMPLER_2D_ARRAY","SAMPLER_2D_ARRAY_SHADOW","SAMPLER_CUBE_SHADOW","INT_SAMPLER_2D","INT_SAMPLER_3D","INT_SAMPLER_CUBE","INT_SAMPLER_2D_ARRAY","UNSIGNED_INT_SAMPLER_2D","UNSIGNED_INT_SAMPLER_3D","UNSIGNED_INT_SAMPLER_CUBE","UNSIGNED_INT_SAMPLER_2D_ARRAY","Error","uniform1i","FLOAT","uniform1fv","FLOAT_VEC2","uniform2fv","FLOAT_VEC3","uniform3fv","FLOAT_VEC4","uniform4fv","INT","uniform1iv","INT_VEC2","uniform2iv","INT_VEC3","uniform3iv","INT_VEC4","uniform4iv","BOOL","BOOL_VEC2","BOOL_VEC3","BOOL_VEC4","UNSIGNED_INT","uniform1uiv","UNSIGNED_INT_VEC2","uniform2uiv","UNSIGNED_INT_VEC3","uniform3uiv","UNSIGNED_INT_VEC4","uniform4uiv","FLOAT_MAT2","uniformMatrix2fv","FLOAT_MAT3","uniformMatrix3fv","FLOAT_MAT4","uniformMatrix4fv","FLOAT_MAT2x3","uniformMatrix2x3fv","FLOAT_MAT2x4","uniformMatrix2x4fv","FLOAT_MAT3x2","uniformMatrix3x2fv","FLOAT_MAT3x4","uniformMatrix3x4fv","FLOAT_MAT4x2","uniformMatrix4x2fv","FLOAT_MAT4x3","uniformMatrix4x3fv"],"sources":["../../../src/adapter/helpers/set-uniform.ts"],"sourcesContent":["// luma.gl, MIT license\n// Copyright (c) vis.gl contributors\n\n/* eslint-disable */\n\n// Uniforms\nimport type {UniformValue} from '@luma.gl/core';\nimport {GL, GLCompositeType, GLSamplerType} from '@luma.gl/constants';\n\n/** Set a raw uniform (without type conversion and caching) */\n/* eslint-disable max-len */\nexport function setUniform(\n gl: WebGLRenderingContext,\n location: WebGLUniformLocation,\n type: GLCompositeType | GLSamplerType,\n value: UniformValue\n): void {\n const gl2 = gl as WebGL2RenderingContext;\n\n // Prepare the value for WebGL setters\n let uniformValue = value;\n if (uniformValue === true) {\n uniformValue = 1;\n }\n if (uniformValue === false) {\n uniformValue = 0;\n }\n const arrayValue = typeof uniformValue === 'number' ? [uniformValue] : uniformValue;\n\n // prettier-ignore\n switch (type) {\n // WebGL1 samplers\n case GL.SAMPLER_2D:\n case GL.SAMPLER_CUBE:\n // WebGL2 samplers\n case GL.SAMPLER_3D:\n case GL.SAMPLER_2D_SHADOW:\n case GL.SAMPLER_2D_ARRAY:\n case GL.SAMPLER_2D_ARRAY_SHADOW:\n case GL.SAMPLER_CUBE_SHADOW:\n case GL.INT_SAMPLER_2D:\n case GL.INT_SAMPLER_3D:\n case GL.INT_SAMPLER_CUBE:\n case GL.INT_SAMPLER_2D_ARRAY:\n case GL.UNSIGNED_INT_SAMPLER_2D:\n case GL.UNSIGNED_INT_SAMPLER_3D:\n case GL.UNSIGNED_INT_SAMPLER_CUBE:\n case GL.UNSIGNED_INT_SAMPLER_2D_ARRAY:\n if (typeof value !== 'number') {\n throw new Error('samplers must be set to integers');\n }\n return gl.uniform1i(location, value);\n\n case GL.FLOAT: return gl.uniform1fv(location, arrayValue);\n case GL.FLOAT_VEC2: return gl.uniform2fv(location, arrayValue);\n case GL.FLOAT_VEC3: return gl.uniform3fv(location, arrayValue);\n case GL.FLOAT_VEC4: return gl.uniform4fv(location, arrayValue);\n\n case GL.INT: return gl.uniform1iv(location, arrayValue);\n case GL.INT_VEC2: return gl.uniform2iv(location, arrayValue);\n case GL.INT_VEC3: return gl.uniform3iv(location, arrayValue);\n case GL.INT_VEC4: return gl.uniform4iv(location, arrayValue);\n\n case GL.BOOL: return gl.uniform1iv(location, arrayValue);\n case GL.BOOL_VEC2: return gl.uniform2iv(location, arrayValue);\n case GL.BOOL_VEC3: return gl.uniform3iv(location, arrayValue);\n case GL.BOOL_VEC4: return gl.uniform4iv(location, arrayValue);\n\n // WEBGL2 - unsigned integers\n case GL.UNSIGNED_INT: return gl2.uniform1uiv(location, arrayValue, 1);\n case GL.UNSIGNED_INT_VEC2: return gl2.uniform2uiv(location, arrayValue, 2);\n case GL.UNSIGNED_INT_VEC3: return gl2.uniform3uiv(location, arrayValue, 3);\n case GL.UNSIGNED_INT_VEC4: return gl2.uniform4uiv(location, arrayValue, 4);\n\n // WebGL2 - quadratic matrices\n // false: don't transpose the matrix\n case GL.FLOAT_MAT2: return gl.uniformMatrix2fv(location, false, arrayValue);\n case GL.FLOAT_MAT3: return gl.uniformMatrix3fv(location, false, arrayValue);\n case GL.FLOAT_MAT4: return gl.uniformMatrix4fv(location, false, arrayValue);\n\n // WebGL2 - rectangular matrices\n case GL.FLOAT_MAT2x3: return gl2.uniformMatrix2x3fv(location, false, arrayValue);\n case GL.FLOAT_MAT2x4: return gl2.uniformMatrix2x4fv(location, false, arrayValue);\n case GL.FLOAT_MAT3x2: return gl2.uniformMatrix3x2fv(location, false, arrayValue);\n case GL.FLOAT_MAT3x4: return gl2.uniformMatrix3x4fv(location, false, arrayValue);\n case GL.FLOAT_MAT4x2: return gl2.uniformMatrix4x2fv(location, false, arrayValue);\n case GL.FLOAT_MAT4x3: return gl2.uniformMatrix4x3fv(location, false, arrayValue);\n }\n\n throw new Error('Illegal uniform');\n}\n"],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import { GLPrimitiveTopology, GLPrimitive } from '@luma.gl/constants';
2
+ export declare function getPrimitiveDrawMode(drawMode: GLPrimitiveTopology): GLPrimitive;
3
+ export declare function getPrimitiveCount(options: {
4
+ drawMode: GLPrimitiveTopology;
5
+ vertexCount: number;
6
+ }): number;
7
+ export declare function getVertexCount(options: {
8
+ drawMode: GLPrimitiveTopology;
9
+ vertexCount: number;
10
+ }): number;
11
+ //# sourceMappingURL=webgl-topology-utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"webgl-topology-utils.d.ts","sourceRoot":"","sources":["../../../src/adapter/helpers/webgl-topology-utils.ts"],"names":[],"mappings":"AAGA,OAAO,EAAK,mBAAmB,EAAE,WAAW,EAAC,MAAM,oBAAoB,CAAC;AAGxE,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,mBAAmB,GAAG,WAAW,CAmB/E;AAGD,wBAAgB,iBAAiB,CAAC,OAAO,EAAE;IAAC,QAAQ,EAAE,mBAAmB,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAC,GAAG,MAAM,CAkBvG;AAGD,wBAAgB,cAAc,CAAC,OAAO,EAAE;IAAC,QAAQ,EAAE,mBAAmB,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAC,GAAG,MAAM,CAapG"}
@@ -1,27 +1,20 @@
1
- import GL from '@luma.gl/constants';
1
+ import { GL } from '@luma.gl/constants';
2
2
  export function getPrimitiveDrawMode(drawMode) {
3
3
  switch (drawMode) {
4
4
  case GL.POINTS:
5
5
  return GL.POINTS;
6
-
7
6
  case GL.LINES:
8
7
  return GL.LINES;
9
-
10
8
  case GL.LINE_STRIP:
11
9
  return GL.LINES;
12
-
13
10
  case GL.LINE_LOOP:
14
11
  return GL.LINES;
15
-
16
12
  case GL.TRIANGLES:
17
13
  return GL.TRIANGLES;
18
-
19
14
  case GL.TRIANGLE_STRIP:
20
15
  return GL.TRIANGLES;
21
-
22
16
  case GL.TRIANGLE_FAN:
23
17
  return GL.TRIANGLES;
24
-
25
18
  default:
26
19
  throw new Error('drawMode');
27
20
  }
@@ -31,25 +24,19 @@ export function getPrimitiveCount(options) {
31
24
  drawMode,
32
25
  vertexCount
33
26
  } = options;
34
-
35
27
  switch (drawMode) {
36
28
  case GL.POINTS:
37
29
  case GL.LINE_LOOP:
38
30
  return vertexCount;
39
-
40
31
  case GL.LINES:
41
32
  return vertexCount / 2;
42
-
43
33
  case GL.LINE_STRIP:
44
34
  return vertexCount - 1;
45
-
46
35
  case GL.TRIANGLES:
47
36
  return vertexCount / 3;
48
-
49
37
  case GL.TRIANGLE_STRIP:
50
38
  case GL.TRIANGLE_FAN:
51
39
  return vertexCount - 2;
52
-
53
40
  default:
54
41
  throw new Error('drawMode');
55
42
  }
@@ -63,19 +50,15 @@ export function getVertexCount(options) {
63
50
  drawMode,
64
51
  vertexCount
65
52
  });
66
-
67
53
  switch (getPrimitiveDrawMode(drawMode)) {
68
54
  case GL.POINTS:
69
55
  return primitiveCount;
70
-
71
56
  case GL.LINES:
72
57
  return primitiveCount * 2;
73
-
74
58
  case GL.TRIANGLES:
75
59
  return primitiveCount * 3;
76
-
77
60
  default:
78
61
  throw new Error('drawMode');
79
62
  }
80
63
  }
81
- //# sourceMappingURL=attribute-utils.js.map
64
+ //# sourceMappingURL=webgl-topology-utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"webgl-topology-utils.js","names":["GL","getPrimitiveDrawMode","drawMode","POINTS","LINES","LINE_STRIP","LINE_LOOP","TRIANGLES","TRIANGLE_STRIP","TRIANGLE_FAN","Error","getPrimitiveCount","options","vertexCount","getVertexCount","primitiveCount"],"sources":["../../../src/adapter/helpers/webgl-topology-utils.ts"],"sourcesContent":["// luma.gl, MIT license\n// Copyright (c) vis.gl contributors\n\nimport {GL, GLPrimitiveTopology, GLPrimitive} from '@luma.gl/constants';\n\n// Counts the number of complete primitives given a number of vertices and a drawMode\nexport function getPrimitiveDrawMode(drawMode: GLPrimitiveTopology): GLPrimitive {\n switch (drawMode) {\n case GL.POINTS:\n return GL.POINTS;\n case GL.LINES:\n return GL.LINES;\n case GL.LINE_STRIP:\n return GL.LINES;\n case GL.LINE_LOOP:\n return GL.LINES;\n case GL.TRIANGLES:\n return GL.TRIANGLES;\n case GL.TRIANGLE_STRIP:\n return GL.TRIANGLES;\n case GL.TRIANGLE_FAN:\n return GL.TRIANGLES;\n default:\n throw new Error('drawMode');\n }\n}\n\n// Counts the number of complete \"primitives\" given a number of vertices and a drawMode\nexport function getPrimitiveCount(options: {drawMode: GLPrimitiveTopology, vertexCount: number}): number {\n const {drawMode, vertexCount} = options;\n switch (drawMode) {\n case GL.POINTS:\n case GL.LINE_LOOP:\n return vertexCount;\n case GL.LINES:\n return vertexCount / 2;\n case GL.LINE_STRIP:\n return vertexCount - 1;\n case GL.TRIANGLES:\n return vertexCount / 3;\n case GL.TRIANGLE_STRIP:\n case GL.TRIANGLE_FAN:\n return vertexCount - 2;\n default:\n throw new Error('drawMode');\n }\n}\n\n// Counts the number of vertices after splitting the vertex stream into separate \"primitives\"\nexport function getVertexCount(options: {drawMode: GLPrimitiveTopology, vertexCount: number}): number {\n const {drawMode, vertexCount} = options;\n const primitiveCount = getPrimitiveCount({drawMode, vertexCount});\n switch (getPrimitiveDrawMode(drawMode)) {\n case GL.POINTS:\n return primitiveCount;\n case GL.LINES:\n return primitiveCount * 2;\n case GL.TRIANGLES:\n return primitiveCount * 3;\n default:\n throw new Error('drawMode');\n }\n}\n"],"mappings":"AAGA,SAAQA,EAAE,QAAyC,oBAAoB;AAGvE,OAAO,SAASC,oBAAoBA,CAACC,QAA6B,EAAe;EAC/E,QAAQA,QAAQ;IACd,KAAKF,EAAE,CAACG,MAAM;MACZ,OAAOH,EAAE,CAACG,MAAM;IAClB,KAAKH,EAAE,CAACI,KAAK;MACX,OAAOJ,EAAE,CAACI,KAAK;IACjB,KAAKJ,EAAE,CAACK,UAAU;MAChB,OAAOL,EAAE,CAACI,KAAK;IACjB,KAAKJ,EAAE,CAACM,SAAS;MACf,OAAON,EAAE,CAACI,KAAK;IACjB,KAAKJ,EAAE,CAACO,SAAS;MACf,OAAOP,EAAE,CAACO,SAAS;IACrB,KAAKP,EAAE,CAACQ,cAAc;MACpB,OAAOR,EAAE,CAACO,SAAS;IACrB,KAAKP,EAAE,CAACS,YAAY;MAClB,OAAOT,EAAE,CAACO,SAAS;IACrB;MACE,MAAM,IAAIG,KAAK,CAAC,UAAU,CAAC;EAC/B;AACF;AAGA,OAAO,SAASC,iBAAiBA,CAACC,OAA6D,EAAU;EACvG,MAAM;IAACV,QAAQ;IAAEW;EAAW,CAAC,GAAGD,OAAO;EACvC,QAAQV,QAAQ;IACd,KAAKF,EAAE,CAACG,MAAM;IACd,KAAKH,EAAE,CAACM,SAAS;MACf,OAAOO,WAAW;IACpB,KAAKb,EAAE,CAACI,KAAK;MACX,OAAOS,WAAW,GAAG,CAAC;IACxB,KAAKb,EAAE,CAACK,UAAU;MAChB,OAAOQ,WAAW,GAAG,CAAC;IACxB,KAAKb,EAAE,CAACO,SAAS;MACf,OAAOM,WAAW,GAAG,CAAC;IACxB,KAAKb,EAAE,CAACQ,cAAc;IACtB,KAAKR,EAAE,CAACS,YAAY;MAClB,OAAOI,WAAW,GAAG,CAAC;IACxB;MACE,MAAM,IAAIH,KAAK,CAAC,UAAU,CAAC;EAC/B;AACF;AAGA,OAAO,SAASI,cAAcA,CAACF,OAA6D,EAAU;EACpG,MAAM;IAACV,QAAQ;IAAEW;EAAW,CAAC,GAAGD,OAAO;EACvC,MAAMG,cAAc,GAAGJ,iBAAiB,CAAC;IAACT,QAAQ;IAAEW;EAAW,CAAC,CAAC;EACjE,QAAQZ,oBAAoB,CAACC,QAAQ,CAAC;IACpC,KAAKF,EAAE,CAACG,MAAM;MACZ,OAAOY,cAAc;IACvB,KAAKf,EAAE,CAACI,KAAK;MACX,OAAOW,cAAc,GAAG,CAAC;IAC3B,KAAKf,EAAE,CAACO,SAAS;MACf,OAAOQ,cAAc,GAAG,CAAC;IAC3B;MACE,MAAM,IAAIL,KAAK,CAAC,UAAU,CAAC;EAC/B;AACF"}
@@ -1,5 +1,3 @@
1
- import GL from '@luma.gl/constants';
1
+ import { GL } from '@luma.gl/constants';
2
2
  export declare function getKeyValue(gl: WebGLRenderingContext, name: string | GL): GL;
3
- export declare function getKey(gl: WebGLRenderingContext, value: any): string;
4
- export declare function getKeyType(gl: WebGLRenderingContext, value: any): string;
5
3
  //# sourceMappingURL=constants-to-keys.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants-to-keys.d.ts","sourceRoot":"","sources":["../../../src/adapter/objects/constants-to-keys.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAGpC,wBAAgB,WAAW,CAAC,EAAE,EAAE,qBAAqB,EAAE,IAAI,EAAE,MAAM,GAAG,EAAE,GAAG,EAAE,CAiB5E;AAED,wBAAgB,MAAM,CAAC,EAAE,EAAE,qBAAqB,EAAE,KAAK,EAAE,GAAG,GAAG,MAAM,CAUpE;AAED,wBAAgB,UAAU,CAAC,EAAE,EAAE,qBAAqB,EAAE,KAAK,EAAE,GAAG,GAAG,MAAM,CASxE"}
1
+ {"version":3,"file":"constants-to-keys.d.ts","sourceRoot":"","sources":["../../../src/adapter/objects/constants-to-keys.ts"],"names":[],"mappings":"AAIA,OAAO,EAAC,EAAE,EAAC,MAAM,oBAAoB,CAAC;AAGtC,wBAAgB,WAAW,CAAC,EAAE,EAAE,qBAAqB,EAAE,IAAI,EAAE,MAAM,GAAG,EAAE,GAAG,EAAE,CAkB5E"}
@@ -1,42 +1,15 @@
1
- import { assert } from '@luma.gl/api';
1
+ import { assert } from '@luma.gl/core';
2
2
  export function getKeyValue(gl, name) {
3
3
  if (typeof name !== 'string') {
4
4
  return name;
5
5
  }
6
-
7
6
  const number = Number(name);
8
-
9
7
  if (!isNaN(number)) {
10
8
  return number;
11
9
  }
12
-
13
10
  name = name.replace(/^.*\./, '');
14
11
  const value = gl[name];
15
- assert(value !== undefined, "Accessing undefined constant GL.".concat(name));
12
+ assert(value !== undefined, `Accessing undefined constant GL.${name}`);
16
13
  return value;
17
14
  }
18
- export function getKey(gl, value) {
19
- gl = gl.gl || gl;
20
- value = Number(value);
21
-
22
- for (const key in gl) {
23
- if (gl[key] === value) {
24
- return "GL.".concat(key);
25
- }
26
- }
27
-
28
- return String(value);
29
- }
30
- export function getKeyType(gl, value) {
31
- assert(value !== undefined, 'undefined key');
32
- value = Number(value);
33
-
34
- for (const key in gl) {
35
- if (gl[key] === value) {
36
- return "GL.".concat(key);
37
- }
38
- }
39
-
40
- return String(value);
41
- }
42
15
  //# sourceMappingURL=constants-to-keys.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/adapter/objects/constants-to-keys.ts"],"names":["assert","getKeyValue","gl","name","number","Number","isNaN","replace","value","undefined","getKey","key","String","getKeyType"],"mappings":"AAAA,SAAQA,MAAR,QAAqB,cAArB;AAIA,OAAO,SAASC,WAAT,CAAqBC,EAArB,EAAgDC,IAAhD,EAAuE;AAE5E,MAAI,OAAOA,IAAP,KAAgB,QAApB,EAA8B;AAC5B,WAAOA,IAAP;AACD;;AAGD,QAAMC,MAAM,GAAGC,MAAM,CAACF,IAAD,CAArB;;AACA,MAAI,CAACG,KAAK,CAACF,MAAD,CAAV,EAAoB;AAClB,WAAOA,MAAP;AACD;;AAGDD,EAAAA,IAAI,GAAGA,IAAI,CAACI,OAAL,CAAa,OAAb,EAAsB,EAAtB,CAAP;AACA,QAAMC,KAAK,GAAGN,EAAE,CAACC,IAAD,CAAhB;AACAH,EAAAA,MAAM,CAACQ,KAAK,KAAKC,SAAX,4CAAyDN,IAAzD,EAAN;AACA,SAAOK,KAAP;AACD;AAED,OAAO,SAASE,MAAT,CAAgBR,EAAhB,EAA2CM,KAA3C,EAA+D;AAEpEN,EAAAA,EAAE,GAAGA,EAAE,CAACA,EAAH,IAASA,EAAd;AACAM,EAAAA,KAAK,GAAGH,MAAM,CAACG,KAAD,CAAd;;AACA,OAAK,MAAMG,GAAX,IAAkBT,EAAlB,EAAsB;AACpB,QAAIA,EAAE,CAACS,GAAD,CAAF,KAAYH,KAAhB,EAAuB;AACrB,0BAAaG,GAAb;AACD;AACF;;AACD,SAAOC,MAAM,CAACJ,KAAD,CAAb;AACD;AAED,OAAO,SAASK,UAAT,CAAoBX,EAApB,EAA+CM,KAA/C,EAAmE;AACxER,EAAAA,MAAM,CAACQ,KAAK,KAAKC,SAAX,EAAsB,eAAtB,CAAN;AACAD,EAAAA,KAAK,GAAGH,MAAM,CAACG,KAAD,CAAd;;AACA,OAAK,MAAMG,GAAX,IAAkBT,EAAlB,EAAsB;AACpB,QAAIA,EAAE,CAACS,GAAD,CAAF,KAAYH,KAAhB,EAAuB;AACrB,0BAAaG,GAAb;AACD;AACF;;AACD,SAAOC,MAAM,CAACJ,KAAD,CAAb;AACD","sourcesContent":["import {assert} from '@luma.gl/api';\nimport GL from '@luma.gl/constants';\n\n// Resolve a WebGL enumeration name (returns itself if already a number)\nexport function getKeyValue(gl: WebGLRenderingContext, name: string | GL): GL {\n // If not a string, return (assume number)\n if (typeof name !== 'string') {\n return name;\n }\n\n // If string converts to number, return number\n const number = Number(name);\n if (!isNaN(number)) {\n return number;\n }\n\n // Look up string, after removing any 'GL.' or 'gl.' prefix\n name = name.replace(/^.*\\./, '');\n const value = gl[name];\n assert(value !== undefined, `Accessing undefined constant GL.${name}`);\n return value;\n}\n\nexport function getKey(gl: WebGLRenderingContext, value: any): string {\n // @ts-expect-error \n gl = gl.gl || gl;\n value = Number(value);\n for (const key in gl) {\n if (gl[key] === value) {\n return `GL.${key}`;\n }\n }\n return String(value);\n}\n\nexport function getKeyType(gl: WebGLRenderingContext, value: any): string {\n assert(value !== undefined, 'undefined key');\n value = Number(value);\n for (const key in gl) {\n if (gl[key] === value) {\n return `GL.${key}`;\n }\n }\n return String(value);\n}\n"],"file":"constants-to-keys.js"}
1
+ {"version":3,"file":"constants-to-keys.js","names":["assert","getKeyValue","gl","name","number","Number","isNaN","replace","value","undefined"],"sources":["../../../src/adapter/objects/constants-to-keys.ts"],"sourcesContent":["// luma.gl, MIT license\n// Copyright (c) vis.gl contributors\n\nimport {assert} from '@luma.gl/core';\nimport {GL} from '@luma.gl/constants';\n\n// Resolve a WebGL enumeration name (returns itself if already a number)\nexport function getKeyValue(gl: WebGLRenderingContext, name: string | GL): GL {\n // If not a string, return (assume number)\n if (typeof name !== 'string') {\n return name;\n }\n\n // If string converts to number, return number\n const number = Number(name);\n if (!isNaN(number)) {\n return number;\n }\n\n // Look up string, after removing any 'GL.' or 'gl.' prefix\n name = name.replace(/^.*\\./, '');\n // @ts-ignore expect-error depends on settings\n const value = gl[name];\n assert(value !== undefined, `Accessing undefined constant GL.${name}`);\n return value;\n}\n"],"mappings":"AAGA,SAAQA,MAAM,QAAO,eAAe;AAIpC,OAAO,SAASC,WAAWA,CAACC,EAAyB,EAAEC,IAAiB,EAAM;EAE5E,IAAI,OAAOA,IAAI,KAAK,QAAQ,EAAE;IAC5B,OAAOA,IAAI;EACb;EAGA,MAAMC,MAAM,GAAGC,MAAM,CAACF,IAAI,CAAC;EAC3B,IAAI,CAACG,KAAK,CAACF,MAAM,CAAC,EAAE;IAClB,OAAOA,MAAM;EACf;EAGAD,IAAI,GAAGA,IAAI,CAACI,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;EAEhC,MAAMC,KAAK,GAAGN,EAAE,CAACC,IAAI,CAAC;EACtBH,MAAM,CAACQ,KAAK,KAAKC,SAAS,EAAG,mCAAkCN,IAAK,EAAC,CAAC;EACtE,OAAOK,KAAK;AACd"}
@@ -1,8 +1,9 @@
1
- import { ResourceProps } from '@luma.gl/api';
2
- import WebGLDevice from '../webgl-device';
3
- import WebGLResource from './webgl-resource';
4
- export declare type RenderbufferProps = ResourceProps & {
5
- format: number;
1
+ import { ResourceProps, TextureFormat } from '@luma.gl/core';
2
+ import { GL } from '@luma.gl/constants';
3
+ import { WebGLDevice } from '../webgl-device';
4
+ import { WebGLResource } from './webgl-resource';
5
+ export type RenderbufferProps = ResourceProps & {
6
+ format: TextureFormat;
6
7
  width?: number;
7
8
  height?: number;
8
9
  samples?: number;
@@ -17,22 +18,24 @@ export declare type RenderbufferProps = ResourceProps & {
17
18
  * use Textures instead.
18
19
  * Renderbuffer objects also natively accommodate Multisampling (MSAA).
19
20
  */
20
- export default class WEBGLRenderbuffer extends WebGLResource<RenderbufferProps> {
21
+ export declare class WEBGLRenderbuffer extends WebGLResource<RenderbufferProps> {
22
+ static readonly defaultProps: Required<RenderbufferProps>;
21
23
  get [Symbol.toStringTag](): string;
22
24
  get width(): number;
23
25
  get height(): number;
24
- get format(): number;
26
+ get format(): TextureFormat;
25
27
  get samples(): number;
26
- static isSupported(gl: WebGLRenderingContext, options?: {
27
- format?: number;
28
- }): boolean;
28
+ get attachment(): void;
29
+ /** WebGL format constant */
30
+ glFormat: GL;
31
+ static isTextureFormatSupported(device: WebGLDevice, format: TextureFormat): boolean;
29
32
  constructor(device: WebGLDevice, props: RenderbufferProps);
30
33
  resize(size: {
31
34
  width: number;
32
35
  height: number;
33
- }): this;
36
+ }): void;
34
37
  /** Creates and initializes a renderbuffer object's data store */
35
- protected _initialize(props: Required<RenderbufferProps>): this;
38
+ protected _initialize(props: Required<RenderbufferProps>): void;
36
39
  _createHandle(): WebGLRenderbuffer;
37
40
  _deleteHandle(): void;
38
41
  _bindHandle(handle: WEBGLRenderbuffer): void;
@@ -1 +1 @@
1
- {"version":3,"file":"webgl-renderbuffer.d.ts","sourceRoot":"","sources":["../../../src/adapter/objects/webgl-renderbuffer.ts"],"names":[],"mappings":"AACA,OAAO,EAAS,aAAa,EAAC,MAAM,cAAc,CAAC;AAEnD,OAAO,WAAW,MAAM,iBAAiB,CAAC;AAC1C,OAAO,aAAa,MAAM,kBAAkB,CAAC;AAK7C,oBAAY,iBAAiB,GAAG,aAAa,GAAG;IAC9C,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAYF;;;;;;;;;GASG;AACH,MAAM,CAAC,OAAO,OAAO,iBAAkB,SAAQ,aAAa,CAAC,iBAAiB,CAAC;IAC7E,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,MAAM,CAA2B;IAE7D,IAAI,KAAK,IAAI,MAAM,CAA6B;IAChD,IAAI,MAAM,IAAI,MAAM,CAA8B;IAClD,IAAI,MAAM,IAAI,MAAM,CAA+B;IACnD,IAAI,OAAO,IAAI,MAAM,CAA+B;IAEpD,MAAM,CAAC,WAAW,CAAC,EAAE,EAAE,qBAAqB,EAAE,OAAO,CAAC,EAAE;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAC,GAAG,OAAO;gBAIvE,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,iBAAiB;IAKzD,MAAM,CAAC,IAAI,EAAE;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAC,GAAG,IAAI;IAWnD,iEAAiE;IACjE,SAAS,CAAC,WAAW,CAAC,KAAK,EAAE,QAAQ,CAAC,iBAAiB,CAAC;IA0BxD,aAAa;IAIb,aAAa,IAAI,IAAI;IAKrB,WAAW,CAAC,MAAM,EAAE,iBAAiB,GAAG,IAAI;CAG7C"}
1
+ {"version":3,"file":"webgl-renderbuffer.d.ts","sourceRoot":"","sources":["../../../src/adapter/objects/webgl-renderbuffer.ts"],"names":[],"mappings":"AAGA,OAAO,EAAS,aAAa,EAAE,aAAa,EAAC,MAAM,eAAe,CAAC;AACnE,OAAO,EAAC,EAAE,EAAC,MAAM,oBAAoB,CAAC;AACtC,OAAO,EAAC,WAAW,EAAC,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAC,aAAa,EAAC,MAAM,kBAAkB,CAAC;AAI/C,MAAM,MAAM,iBAAiB,GAAG,aAAa,GAAG;IAC9C,MAAM,EAAE,aAAa,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF;;;;;;;;;GASG;AACH,qBAAa,iBAAkB,SAAQ,aAAa,CAAC,iBAAiB,CAAC;IACrE,gBAAyB,YAAY,EAAE,QAAQ,CAAC,iBAAiB,CAAC,CAQhE;IAEF,IAAa,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,MAAM,CAA2B;IAEtE,IAAI,KAAK,IAAI,MAAM,CAA6B;IAChD,IAAI,MAAM,IAAI,MAAM,CAA8B;IAClD,IAAI,MAAM,IAAI,aAAa,CAA8B;IACzD,IAAI,OAAO,IAAI,MAAM,CAA+B;IACpD,IAAI,UAAU,SAAc;IAE5B,4BAA4B;IAC5B,QAAQ,EAAE,EAAE,CAAC;IAEb,MAAM,CAAC,wBAAwB,CAAC,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,aAAa,GAAG,OAAO;gBAIxE,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,iBAAiB;IAUzD,MAAM,CAAC,IAAI,EAAE;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAC,GAAG,IAAI;IAUnD,iEAAiE;IACjE,SAAS,CAAC,WAAW,CAAC,KAAK,EAAE,QAAQ,CAAC,iBAAiB,CAAC,GAAG,IAAI;IAuBtD,aAAa;IAIb,aAAa,IAAI,IAAI;IAKrB,WAAW,CAAC,MAAM,EAAE,iBAAiB,GAAG,IAAI;CAGtD"}
@@ -1,60 +1,51 @@
1
- import { assert } from '@luma.gl/api';
2
- import GL from '@luma.gl/constants';
3
- import WebGLResource from './webgl-resource';
4
- import { isRenderbufferFormatSupported, getRenderbufferFormatBytesPerPixel } from '../converters/renderbuffer-formats';
5
- const DEFAULT_RENDERBUFFER_PROPS = {
6
- id: undefined,
7
- handle: undefined,
8
- userData: undefined,
9
- format: 0,
10
- width: 1,
11
- height: 1,
12
- samples: 0
13
- };
14
- export default class WEBGLRenderbuffer extends WebGLResource {
15
- get [Symbol.toStringTag]() {
1
+ let _Symbol$toStringTag;
2
+ import { assert } from '@luma.gl/core';
3
+ import { GL } from '@luma.gl/constants';
4
+ import { WebGLResource } from "./webgl-resource.js";
5
+ import { isRenderbufferFormatSupported } from "../converters/texture-formats.js";
6
+ import { convertTextureFormatToGL, getTextureFormatBytesPerPixel } from "../converters/texture-formats.js";
7
+ _Symbol$toStringTag = Symbol.toStringTag;
8
+ export class WEBGLRenderbuffer extends WebGLResource {
9
+ get [_Symbol$toStringTag]() {
16
10
  return 'Renderbuffer';
17
11
  }
18
-
19
12
  get width() {
20
13
  return this.props.width;
21
14
  }
22
-
23
15
  get height() {
24
16
  return this.props.height;
25
17
  }
26
-
27
18
  get format() {
28
19
  return this.props.format;
29
20
  }
30
-
31
21
  get samples() {
32
22
  return this.props.samples;
33
23
  }
34
-
35
- static isSupported(gl, options) {
36
- return !options.format || isRenderbufferFormatSupported(gl, options.format);
24
+ get attachment() {
25
+ return;
26
+ }
27
+ static isTextureFormatSupported(device, format) {
28
+ return isRenderbufferFormatSupported(device.gl, format);
37
29
  }
38
-
39
30
  constructor(device, props) {
40
- super(device, props, DEFAULT_RENDERBUFFER_PROPS);
41
-
31
+ if (typeof props.format === 'number') {
32
+ throw new Error('Renderbuffer');
33
+ }
34
+ super(device, props, WEBGLRenderbuffer.defaultProps);
35
+ this.glFormat = void 0;
36
+ this.glFormat = convertTextureFormatToGL(this.props.format, device.isWebGL2);
42
37
  this._initialize(this.props);
43
38
  }
44
-
45
39
  resize(size) {
46
40
  if (size.width !== this.width || size.height !== this.height) {
47
- Object.assign(this.props, { ...size,
41
+ Object.assign(this.props, {
42
+ ...size,
48
43
  format: this.format,
49
44
  samples: this.samples
50
45
  });
51
-
52
46
  this._initialize(this.props);
53
47
  }
54
-
55
- return this;
56
48
  }
57
-
58
49
  _initialize(props) {
59
50
  const {
60
51
  format,
@@ -65,30 +56,32 @@ export default class WEBGLRenderbuffer extends WebGLResource {
65
56
  assert(format, 'Needs format');
66
57
  this.trackDeallocatedMemory();
67
58
  this.gl.bindRenderbuffer(GL.RENDERBUFFER, this.handle);
68
-
69
59
  if (samples !== 0 && this.device.isWebGL2) {
70
- this.gl.renderbufferStorageMultisample(GL.RENDERBUFFER, samples, format, width, height);
60
+ this.gl2.renderbufferStorageMultisample(GL.RENDERBUFFER, samples, this.glFormat, width, height);
71
61
  } else {
72
- this.gl.renderbufferStorage(GL.RENDERBUFFER, format, width, height);
62
+ this.gl.renderbufferStorage(GL.RENDERBUFFER, this.glFormat, width, height);
73
63
  }
74
-
75
64
  this.gl.bindRenderbuffer(GL.RENDERBUFFER, null);
76
- this.trackAllocatedMemory(width * height * (samples || 1) * getRenderbufferFormatBytesPerPixel(format));
77
- return this;
65
+ this.trackAllocatedMemory(width * height * (samples || 1) * getTextureFormatBytesPerPixel(this.glFormat, this.device.isWebGL2));
78
66
  }
79
-
80
67
  _createHandle() {
81
68
  return this.gl.createRenderbuffer();
82
69
  }
83
-
84
70
  _deleteHandle() {
85
71
  this.gl.deleteRenderbuffer(this.handle);
86
72
  this.trackDeallocatedMemory();
87
73
  }
88
-
89
74
  _bindHandle(handle) {
90
75
  this.gl.bindRenderbuffer(GL.RENDERBUFFER, handle);
91
76
  }
92
-
93
77
  }
78
+ WEBGLRenderbuffer.defaultProps = {
79
+ id: undefined,
80
+ handle: undefined,
81
+ userData: undefined,
82
+ format: undefined,
83
+ width: 1,
84
+ height: 1,
85
+ samples: 0
86
+ };
94
87
  //# sourceMappingURL=webgl-renderbuffer.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/adapter/objects/webgl-renderbuffer.ts"],"names":["assert","GL","WebGLResource","isRenderbufferFormatSupported","getRenderbufferFormatBytesPerPixel","DEFAULT_RENDERBUFFER_PROPS","id","undefined","handle","userData","format","width","height","samples","WEBGLRenderbuffer","Symbol","toStringTag","props","isSupported","gl","options","constructor","device","_initialize","resize","size","Object","assign","trackDeallocatedMemory","bindRenderbuffer","RENDERBUFFER","isWebGL2","renderbufferStorageMultisample","renderbufferStorage","trackAllocatedMemory","_createHandle","createRenderbuffer","_deleteHandle","deleteRenderbuffer","_bindHandle"],"mappings":"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","sourcesContent":["/* eslint-disable no-inline-comments */\nimport {assert, ResourceProps} from '@luma.gl/api';\nimport GL from '@luma.gl/constants';\nimport WebGLDevice from '../webgl-device';\nimport WebGLResource from './webgl-resource';\nimport {\n isRenderbufferFormatSupported, getRenderbufferFormatBytesPerPixel\n} from '../converters/renderbuffer-formats';\n\nexport type RenderbufferProps = ResourceProps & {\n format: number;\n width?: number;\n height?: number;\n samples?: number;\n};\n\nconst DEFAULT_RENDERBUFFER_PROPS: Required<RenderbufferProps> = {\n id: undefined,\n handle: undefined,\n userData: undefined,\n format: 0,\n width: 1, \n height: 1, \n samples: 0\n};\n\n/**\n * Renderbuffers are GPU objects that contain images.\n * In contrast to Textures they are optimized for use as render targets, with Framebuffers.\n * while Textures may not be, and are the logical choice when\n * you do not need to sample (i.e. in a post-pass shader)\n * from the produced image. If you need to resample\n * (such as when reading depth back in a second shader pass),\n * use Textures instead.\n * Renderbuffer objects also natively accommodate Multisampling (MSAA).\n */\nexport default class WEBGLRenderbuffer extends WebGLResource<RenderbufferProps> {\n get [Symbol.toStringTag](): string { return 'Renderbuffer'; }\n\n get width(): number { return this.props.width; }\n get height(): number { return this.props.height; }\n get format(): number { return this.props.format; }\n get samples(): number { return this.props.samples; }\n\n static isSupported(gl: WebGLRenderingContext, options?: {format?: number}): boolean {\n return !options.format || isRenderbufferFormatSupported(gl, options.format);\n }\n\n constructor(device: WebGLDevice, props: RenderbufferProps) {\n super(device, props, DEFAULT_RENDERBUFFER_PROPS);\n this._initialize(this.props);\n }\n\n resize(size: {width: number, height: number}): this {\n // Don't resize if width/height haven't changed\n if (size.width !== this.width || size.height !== this.height) {\n Object.assign(this.props, {...size, format: this.format, samples: this.samples});\n this._initialize(this.props);\n }\n return this;\n }\n\n // PRIVATE METHODS\n\n /** Creates and initializes a renderbuffer object's data store */\n protected _initialize(props: Required<RenderbufferProps>) {\n const {format, width, height, samples} = props;\n assert(format, 'Needs format');\n\n this.trackDeallocatedMemory();\n\n this.gl.bindRenderbuffer(GL.RENDERBUFFER, this.handle);\n\n if (samples !== 0 && this.device.isWebGL2) {\n // @ts-expect-error\n this.gl.renderbufferStorageMultisample(GL.RENDERBUFFER, samples, format, width, height);\n } else {\n this.gl.renderbufferStorage(GL.RENDERBUFFER, format, width, height);\n }\n\n this.gl.bindRenderbuffer(GL.RENDERBUFFER, null);\n\n this.trackAllocatedMemory(\n width * height * (samples || 1) * getRenderbufferFormatBytesPerPixel(format)\n );\n\n return this;\n }\n\n // RESOURCE IMPLEMENTATION\n\n _createHandle() {\n return this.gl.createRenderbuffer();\n }\n\n _deleteHandle(): void {\n this.gl.deleteRenderbuffer(this.handle);\n this.trackDeallocatedMemory();\n }\n\n _bindHandle(handle: WEBGLRenderbuffer): void {\n this.gl.bindRenderbuffer(GL.RENDERBUFFER, handle);\n }\n}\n"],"file":"webgl-renderbuffer.js"}
1
+ {"version":3,"file":"webgl-renderbuffer.js","names":["assert","GL","WebGLResource","isRenderbufferFormatSupported","convertTextureFormatToGL","getTextureFormatBytesPerPixel","_Symbol$toStringTag","Symbol","toStringTag","WEBGLRenderbuffer","width","props","height","format","samples","attachment","isTextureFormatSupported","device","gl","constructor","Error","defaultProps","glFormat","isWebGL2","_initialize","resize","size","Object","assign","trackDeallocatedMemory","bindRenderbuffer","RENDERBUFFER","handle","gl2","renderbufferStorageMultisample","renderbufferStorage","trackAllocatedMemory","_createHandle","createRenderbuffer","_deleteHandle","deleteRenderbuffer","_bindHandle","id","undefined","userData"],"sources":["../../../src/adapter/objects/webgl-renderbuffer.ts"],"sourcesContent":["// luma.gl, MIT license\n// Copyright (c) vis.gl contributors\n\nimport {assert, ResourceProps, TextureFormat} from '@luma.gl/core';\nimport {GL} from '@luma.gl/constants';\nimport {WebGLDevice} from '../webgl-device';\nimport {WebGLResource} from './webgl-resource';\nimport {isRenderbufferFormatSupported} from '../converters/texture-formats';\nimport {convertTextureFormatToGL, getTextureFormatBytesPerPixel} from '../converters/texture-formats';\n\nexport type RenderbufferProps = ResourceProps & {\n format: TextureFormat;\n width?: number;\n height?: number;\n samples?: number;\n};\n\n/**\n * Renderbuffers are GPU objects that contain images.\n * In contrast to Textures they are optimized for use as render targets, with Framebuffers.\n * while Textures may not be, and are the logical choice when\n * you do not need to sample (i.e. in a post-pass shader)\n * from the produced image. If you need to resample\n * (such as when reading depth back in a second shader pass),\n * use Textures instead.\n * Renderbuffer objects also natively accommodate Multisampling (MSAA).\n */\nexport class WEBGLRenderbuffer extends WebGLResource<RenderbufferProps> {\n static override readonly defaultProps: Required<RenderbufferProps> = {\n id: undefined,\n handle: undefined,\n userData: undefined,\n format: undefined, // 'depth16unorm'\n width: 1,\n height: 1, \n samples: 0\n }; \n\n override get [Symbol.toStringTag](): string { return 'Renderbuffer'; }\n\n get width(): number { return this.props.width; }\n get height(): number { return this.props.height; }\n get format(): TextureFormat { return this.props.format; }\n get samples(): number { return this.props.samples; }\n get attachment() { return }\n\n /** WebGL format constant */\n glFormat: GL;\n\n static isTextureFormatSupported(device: WebGLDevice, format: TextureFormat): boolean {\n return isRenderbufferFormatSupported(device.gl, format);\n }\n\n constructor(device: WebGLDevice, props: RenderbufferProps) {\n // TODO - remove temporary sanity check\n if (typeof props.format === 'number') {\n throw new Error('Renderbuffer');\n }\n super(device, props, WEBGLRenderbuffer.defaultProps);\n this.glFormat = convertTextureFormatToGL(this.props.format, device.isWebGL2);\n this._initialize(this.props);\n }\n\n resize(size: {width: number, height: number}): void {\n // Don't resize if width/height haven't changed\n if (size.width !== this.width || size.height !== this.height) {\n Object.assign(this.props, {...size, format: this.format, samples: this.samples});\n this._initialize(this.props);\n }\n }\n\n // PRIVATE METHODS\n\n /** Creates and initializes a renderbuffer object's data store */\n protected _initialize(props: Required<RenderbufferProps>): void {\n const {format, width, height, samples} = props;\n assert(format, 'Needs format');\n\n this.trackDeallocatedMemory();\n\n this.gl.bindRenderbuffer(GL.RENDERBUFFER, this.handle);\n\n if (samples !== 0 && this.device.isWebGL2) {\n this.gl2.renderbufferStorageMultisample(GL.RENDERBUFFER, samples, this.glFormat, width, height);\n } else {\n this.gl.renderbufferStorage(GL.RENDERBUFFER, this.glFormat, width, height);\n }\n\n this.gl.bindRenderbuffer(GL.RENDERBUFFER, null);\n\n this.trackAllocatedMemory(\n width * height * (samples || 1) * getTextureFormatBytesPerPixel(this.glFormat, this.device.isWebGL2)\n );\n }\n\n // RESOURCE IMPLEMENTATION\n\n override _createHandle() {\n return this.gl.createRenderbuffer();\n }\n\n override _deleteHandle(): void {\n this.gl.deleteRenderbuffer(this.handle);\n this.trackDeallocatedMemory();\n }\n\n override _bindHandle(handle: WEBGLRenderbuffer): void {\n this.gl.bindRenderbuffer(GL.RENDERBUFFER, handle);\n }\n}\n"],"mappings":"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"}
@@ -1,13 +1,11 @@
1
- import { Resource } from '@luma.gl/api';
2
- import type { Device, ResourceProps } from '@luma.gl/api';
3
- import GL from '@luma.gl/constants';
4
- import WebGLDevice from '../webgl-device';
1
+ import { Resource } from '@luma.gl/core';
2
+ import type { Device, ResourceProps } from '@luma.gl/core';
3
+ import { GL } from '@luma.gl/constants';
4
+ import { WebGLDevice } from '../webgl-device';
5
5
  /**
6
6
  * Base class for WebGL object wrappers
7
7
  */
8
- export default abstract class WebGLResource<Props> extends Resource<Props> {
9
- id: string;
10
- userData: any;
8
+ export declare abstract class WebGLResource<Props extends ResourceProps> extends Resource<Props> {
11
9
  readonly device: WebGLDevice;
12
10
  readonly gl: WebGLRenderingContext;
13
11
  readonly gl2: WebGL2RenderingContext;
@@ -17,7 +15,6 @@ export default abstract class WebGLResource<Props> extends Resource<Props> {
17
15
  constructor(device: Device, props: Props, defaultProps: Required<Props>);
18
16
  toString(): string;
19
17
  get handle(): any;
20
- destroy(): void;
21
18
  delete({ deleteChildren }?: {
22
19
  deleteChildren?: boolean;
23
20
  }): this;
@@ -29,7 +26,7 @@ export default abstract class WebGLResource<Props> extends Resource<Props> {
29
26
  * @param name
30
27
  * @return param
31
28
  */
32
- getParameter(pname: number, props?: {}): any;
29
+ getParameter(pname: number, props?: any): any;
33
30
  getParameters(options?: {
34
31
  parameters?: any;
35
32
  keys?: any;
@@ -1 +1 @@
1
- {"version":3,"file":"webgl-resource.d.ts","sourceRoot":"","sources":["../../../src/adapter/objects/webgl-resource.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,QAAQ,EAAkC,MAAM,cAAc,CAAC;AACvE,OAAO,KAAK,EAAC,MAAM,EAAE,aAAa,EAAC,MAAM,cAAc,CAAC;AACxD,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAEpC,OAAO,WAAW,MAAM,iBAAiB,CAAC;AAO1C;;GAEG;AACF,MAAM,CAAC,OAAO,CAAC,QAAQ,OAAO,aAAa,CAAC,KAAK,CAAE,SAAQ,QAAQ,CAAC,KAAK,CAAC;IACzE,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,GAAG,CAAC;IACd,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,QAAQ,CAAC,EAAE,EAAE,qBAAqB,CAAC;IACnC,QAAQ,CAAC,GAAG,EAAE,sBAAsB,CAAC;IACrC,OAAO,CAAC,OAAO,CAAM;IAErB,OAAO,CAAC,MAAM,CAAS;IAEvB,UAAU,SAAK;gBAEH,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,QAAQ,CAAC,KAAK,CAAC;IAgCvE,QAAQ,IAAI,MAAM;IAIlB,IAAI,MAAM,QAWT;IAED,OAAO,IAAI,IAAI;IAIf,MAAM,CAAC,EAAC,cAAsB,EAAC;;KAAK;IAmBpC,IAAI,CAAC,YAAY,MAAc;IAuB/B,MAAM;IAIN;;;;;OAKG;IACH,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,KAAK,GAAG,GAAG;IAiC5C,aAAa,CAAC,OAAO,GAAE;QAAC,UAAU,CAAC,MAAC;QAAC,IAAI,CAAC,MAAA;KAAM;IAoChD;;;;;;;;OAQG;IACH,YAAY,CAAC,KAAK,EAAE,EAAE,GAAG,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,IAAI;IAqClD,aAAa,CAAC,UAAU,EAAE,MAAM,CAAC,EAAE,EAAE,GAAG,CAAC;IAQzC,kBAAkB,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE;IAK5E,UAAU,CAAC,KAAK,EAAE,aAAa;IAG/B,aAAa;IAIb,aAAa;IAIb,WAAW,CAAC,MAAM,EAAE,GAAG;IAIvB,kBAAkB;IAIlB,aAAa,CAAC,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM;IAI5D,aAAa,CAAC,KAAK,EAAE,EAAE,GAAG,MAAM,EAAE,KAAK,EAAE,GAAG;CAuC7C"}
1
+ {"version":3,"file":"webgl-resource.d.ts","sourceRoot":"","sources":["../../../src/adapter/objects/webgl-resource.ts"],"names":[],"mappings":"AAGA,OAAO,EAAC,QAAQ,EAAkC,MAAM,eAAe,CAAC;AACxE,OAAO,KAAK,EAAC,MAAM,EAAE,aAAa,EAAC,MAAM,eAAe,CAAC;AACzD,OAAO,EAAC,EAAE,EAAC,MAAM,oBAAoB,CAAC;AAEtC,OAAO,EAAC,WAAW,EAAC,MAAM,iBAAiB,CAAC;AAO5C;;GAEG;AACH,8BAAsB,aAAa,CAAC,KAAK,SAAS,aAAa,CAAE,SAAQ,QAAQ,CAAC,KAAK,CAAC;IACtF,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,QAAQ,CAAC,EAAE,EAAE,qBAAqB,CAAC;IACnC,QAAQ,CAAC,GAAG,EAAE,sBAAsB,CAAC;IACrC,OAAO,CAAC,OAAO,CAAM;IAErB,OAAO,CAAC,MAAM,CAAS;IAEvB,UAAU,SAAK;gBAEH,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,QAAQ,CAAC,KAAK,CAAC;IA6B9D,QAAQ,IAAI,MAAM;IAI3B,IAAI,MAAM,QAWT;IAEQ,MAAM,CAAC,EAAC,cAAsB,EAAC;;KAAK;IAmB7C,IAAI,CAAC,YAAY,MAAc;IAuB/B,MAAM;IAIN;;;;;OAKG;IACH,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,GAAE,GAAQ,GAAG,GAAG;IAiCjD,aAAa,CAAC,OAAO,GAAE;QAAC,UAAU,CAAC,EAAE,GAAG,CAAC;QAAC,IAAI,CAAC,EAAE,GAAG,CAAA;KAAM;IAoC1D;;;;;;;;OAQG;IACH,YAAY,CAAC,KAAK,EAAE,EAAE,GAAG,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,IAAI;IAqClD,aAAa,CAAC,UAAU,EAAE,MAAM,CAAC,EAAE,EAAE,GAAG,CAAC;IAQzC,kBAAkB,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE;IAK5E,UAAU,CAAC,KAAK,EAAE,aAAa;IAG/B,aAAa;IAIb,aAAa;IAIb,WAAW,CAAC,MAAM,EAAE,GAAG;IAIvB,kBAAkB;IAIlB,aAAa,CAAC,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM;IAI5D,aAAa,CAAC,KAAK,EAAE,EAAE,GAAG,MAAM,EAAE,KAAK,EAAE,GAAG;CAuC7C"}