@luma.gl/webgl 9.0.0-alpha.16 → 9.0.0-alpha.17

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 (420) hide show
  1. package/dist/adapter/converters/device-parameters.d.ts.map +1 -1
  2. package/dist/adapter/converters/device-parameters.js +117 -200
  3. package/dist/adapter/converters/device-parameters.js.map +1 -0
  4. package/dist/adapter/converters/renderbuffer-formats.d.ts +1 -1
  5. package/dist/adapter/converters/renderbuffer-formats.d.ts.map +1 -1
  6. package/dist/adapter/converters/renderbuffer-formats.js +172 -62
  7. package/dist/adapter/converters/renderbuffer-formats.js.map +1 -0
  8. package/dist/adapter/converters/sampler-parameters.d.ts.map +1 -1
  9. package/dist/adapter/converters/sampler-parameters.js +151 -149
  10. package/dist/adapter/converters/sampler-parameters.js.map +1 -0
  11. package/dist/adapter/converters/texture-formats.d.ts +2 -2
  12. package/dist/adapter/converters/texture-formats.d.ts.map +1 -1
  13. package/dist/adapter/converters/texture-formats.js +847 -438
  14. package/dist/adapter/converters/texture-formats.js.map +1 -0
  15. package/dist/adapter/converters/vertex-formats.js +24 -15
  16. package/dist/adapter/converters/vertex-formats.js.map +1 -0
  17. package/dist/adapter/device-helpers/device-features.js +84 -120
  18. package/dist/adapter/device-helpers/device-features.js.map +1 -0
  19. package/dist/adapter/device-helpers/device-limits.d.ts +1 -1
  20. package/dist/adapter/device-helpers/device-limits.d.ts.map +1 -1
  21. package/dist/adapter/device-helpers/device-limits.js +83 -88
  22. package/dist/adapter/device-helpers/device-limits.js.map +1 -0
  23. package/dist/adapter/device-helpers/get-device-info.js +37 -42
  24. package/dist/adapter/device-helpers/get-device-info.js.map +1 -0
  25. package/dist/adapter/device-helpers/is-old-ie.js +8 -10
  26. package/dist/adapter/device-helpers/is-old-ie.js.map +1 -0
  27. package/dist/adapter/helpers/attribute-utils.js +57 -50
  28. package/dist/adapter/helpers/attribute-utils.js.map +1 -0
  29. package/dist/adapter/helpers/get-shader-info.d.ts +1 -1
  30. package/dist/adapter/helpers/get-shader-info.d.ts.map +1 -1
  31. package/dist/adapter/helpers/get-shader-info.js +19 -21
  32. package/dist/adapter/helpers/get-shader-info.js.map +1 -0
  33. package/dist/adapter/helpers/get-shader-layout.js +251 -310
  34. package/dist/adapter/helpers/get-shader-layout.js.map +1 -0
  35. package/dist/adapter/helpers/parse-shader-compiler-log.js +26 -32
  36. package/dist/adapter/helpers/parse-shader-compiler-log.js.map +1 -0
  37. package/dist/adapter/helpers/set-uniform.d.ts.map +1 -1
  38. package/dist/adapter/helpers/set-uniform.js +80 -67
  39. package/dist/adapter/helpers/set-uniform.js.map +1 -0
  40. package/dist/adapter/helpers/uniforms.js +75 -80
  41. package/dist/adapter/helpers/uniforms.js.map +1 -0
  42. package/dist/adapter/objects/constants-to-keys.js +26 -33
  43. package/dist/adapter/objects/constants-to-keys.js.map +1 -0
  44. package/dist/adapter/objects/webgl-renderbuffer.d.ts +1 -1
  45. package/dist/adapter/objects/webgl-renderbuffer.d.ts.map +1 -1
  46. package/dist/adapter/objects/webgl-renderbuffer.js +70 -67
  47. package/dist/adapter/objects/webgl-renderbuffer.js.map +1 -0
  48. package/dist/adapter/objects/webgl-resource.d.ts.map +1 -1
  49. package/dist/adapter/objects/webgl-resource.js +158 -213
  50. package/dist/adapter/objects/webgl-resource.js.map +1 -0
  51. package/dist/adapter/objects/webgl-vertex-array-object.d.ts +1 -1
  52. package/dist/adapter/objects/webgl-vertex-array-object.d.ts.map +1 -1
  53. package/dist/adapter/objects/webgl-vertex-array-object.js +66 -74
  54. package/dist/adapter/objects/webgl-vertex-array-object.js.map +1 -0
  55. package/dist/adapter/resources/webgl-buffer.d.ts.map +1 -1
  56. package/dist/adapter/resources/webgl-buffer.js +118 -150
  57. package/dist/adapter/resources/webgl-buffer.js.map +1 -0
  58. package/dist/adapter/resources/webgl-command-buffer.d.ts +5 -5
  59. package/dist/adapter/resources/webgl-command-buffer.d.ts.map +1 -1
  60. package/dist/adapter/resources/webgl-command-buffer.js +41 -40
  61. package/dist/adapter/resources/webgl-command-buffer.js.map +1 -0
  62. package/dist/adapter/resources/webgl-command-encoder.js +37 -26
  63. package/dist/adapter/resources/webgl-command-encoder.js.map +1 -0
  64. package/dist/adapter/resources/webgl-external-texture.js +1 -91
  65. package/dist/adapter/resources/webgl-external-texture.js.map +1 -0
  66. package/dist/adapter/resources/webgl-framebuffer.d.ts +2 -2
  67. package/dist/adapter/resources/webgl-framebuffer.d.ts.map +1 -1
  68. package/dist/adapter/resources/webgl-framebuffer.js +198 -231
  69. package/dist/adapter/resources/webgl-framebuffer.js.map +1 -0
  70. package/dist/adapter/resources/webgl-render-pass.js +11 -8
  71. package/dist/adapter/resources/webgl-render-pass.js.map +1 -0
  72. package/dist/adapter/resources/webgl-render-pipeline.d.ts.map +1 -1
  73. package/dist/adapter/resources/webgl-render-pipeline.js +289 -316
  74. package/dist/adapter/resources/webgl-render-pipeline.js.map +1 -0
  75. package/dist/adapter/resources/webgl-sampler.js +35 -42
  76. package/dist/adapter/resources/webgl-sampler.js.map +1 -0
  77. package/dist/adapter/resources/webgl-shader.d.ts.map +1 -1
  78. package/dist/adapter/resources/webgl-shader.js +53 -57
  79. package/dist/adapter/resources/webgl-shader.js.map +1 -0
  80. package/dist/adapter/resources/webgl-texture.d.ts +4 -4
  81. package/dist/adapter/resources/webgl-texture.d.ts.map +1 -1
  82. package/dist/adapter/resources/webgl-texture.js +697 -661
  83. package/dist/adapter/resources/webgl-texture.js.map +1 -0
  84. package/dist/adapter/webgl-canvas-context.d.ts.map +1 -1
  85. package/dist/adapter/webgl-canvas-context.js +35 -55
  86. package/dist/adapter/webgl-canvas-context.js.map +1 -0
  87. package/dist/adapter/webgl-device.d.ts +5 -0
  88. package/dist/adapter/webgl-device.d.ts.map +1 -1
  89. package/dist/adapter/webgl-device.js +270 -287
  90. package/dist/adapter/webgl-device.js.map +1 -0
  91. package/dist/classic/accessor.js +103 -120
  92. package/dist/classic/accessor.js.map +1 -0
  93. package/dist/classic/buffer.d.ts +1 -1
  94. package/dist/classic/buffer.d.ts.map +1 -1
  95. package/dist/classic/buffer.js +300 -325
  96. package/dist/classic/buffer.js.map +1 -0
  97. package/dist/classic/typed-array-utils.d.ts +1 -1
  98. package/dist/classic/typed-array-utils.d.ts.map +1 -1
  99. package/dist/classic/typed-array-utils.js +81 -91
  100. package/dist/classic/typed-array-utils.js.map +1 -0
  101. package/dist/context/context/create-browser-context.d.ts +3 -1
  102. package/dist/context/context/create-browser-context.d.ts.map +1 -1
  103. package/dist/context/context/create-browser-context.js +49 -66
  104. package/dist/context/context/create-browser-context.js.map +1 -0
  105. package/dist/context/context/create-headless-context.d.ts +1 -1
  106. package/dist/context/context/create-headless-context.d.ts.map +1 -1
  107. package/dist/context/context/create-headless-context.js +30 -24
  108. package/dist/context/context/create-headless-context.js.map +1 -0
  109. package/dist/context/context/webgl-checks.js +17 -25
  110. package/dist/context/context/webgl-checks.js.map +1 -0
  111. package/dist/context/debug/spector.d.ts +3 -1
  112. package/dist/context/debug/spector.d.ts.map +1 -1
  113. package/dist/context/debug/spector.js +50 -53
  114. package/dist/context/debug/spector.js.map +1 -0
  115. package/dist/context/debug/webgl-developer-tools.d.ts +1 -1
  116. package/dist/context/debug/webgl-developer-tools.d.ts.map +1 -1
  117. package/dist/context/debug/webgl-developer-tools.js +76 -107
  118. package/dist/context/debug/webgl-developer-tools.js.map +1 -0
  119. package/dist/context/parameters/unified-parameter-api.js +46 -93
  120. package/dist/context/parameters/unified-parameter-api.js.map +1 -0
  121. package/dist/context/parameters/webgl-parameter-tables.d.ts +1 -1
  122. package/dist/context/parameters/webgl-parameter-tables.d.ts.map +1 -1
  123. package/dist/context/parameters/webgl-parameter-tables.js +404 -462
  124. package/dist/context/parameters/webgl-parameter-tables.js.map +1 -0
  125. package/dist/context/polyfill/context-data.js +10 -16
  126. package/dist/context/polyfill/context-data.js.map +1 -0
  127. package/dist/context/polyfill/get-parameter-polyfill.js +71 -91
  128. package/dist/context/polyfill/get-parameter-polyfill.js.map +1 -0
  129. package/dist/context/polyfill/polyfill-context.js +73 -75
  130. package/dist/context/polyfill/polyfill-context.js.map +1 -0
  131. package/dist/context/polyfill/polyfill-table.d.ts.map +1 -1
  132. package/dist/context/polyfill/polyfill-table.js +116 -133
  133. package/dist/context/polyfill/polyfill-table.js.map +1 -0
  134. package/dist/context/polyfill/polyfill-vertex-array-object.d.ts.map +1 -1
  135. package/dist/context/polyfill/polyfill-vertex-array-object.js +227 -255
  136. package/dist/context/polyfill/polyfill-vertex-array-object.js.map +1 -0
  137. package/dist/context/state-tracker/deep-array-equal.js +14 -16
  138. package/dist/context/state-tracker/deep-array-equal.js.map +1 -0
  139. package/dist/context/state-tracker/track-context-state.d.ts.map +1 -1
  140. package/dist/context/state-tracker/track-context-state.js +127 -183
  141. package/dist/context/state-tracker/track-context-state.js.map +1 -0
  142. package/dist/context/state-tracker/with-parameters.d.ts.map +1 -1
  143. package/dist/context/state-tracker/with-parameters.js +29 -43
  144. package/dist/context/state-tracker/with-parameters.js.map +1 -0
  145. package/dist/dist.dev.js +9205 -0
  146. package/dist/index.cjs +5948 -0
  147. package/dist/index.d.ts +0 -2
  148. package/dist/index.d.ts.map +1 -1
  149. package/dist/index.js +25 -41
  150. package/dist/index.js.map +1 -0
  151. package/dist/types/webgl.d.ts +16 -16
  152. package/dist/types/webgl.d.ts.map +1 -1
  153. package/dist/types/webgl.js +1 -0
  154. package/dist/types/webgl.js.map +1 -0
  155. package/dist/types.d.ts +1 -1
  156. package/dist/types.d.ts.map +1 -1
  157. package/dist/types.js +1 -0
  158. package/dist/types.js.map +1 -0
  159. package/dist.min.js +36 -0
  160. package/package.json +18 -9
  161. package/src/.DS_Store +0 -0
  162. package/src/adapter/.DS_Store +0 -0
  163. package/src/adapter/converters/device-parameters.ts +5 -2
  164. package/src/adapter/converters/sampler-parameters.ts +4 -2
  165. package/src/adapter/converters/texture-formats.ts +3 -1
  166. package/src/adapter/device-helpers/get-device-info.ts +8 -8
  167. package/src/adapter/helpers/get-shader-info.ts +1 -1
  168. package/src/adapter/helpers/get-shader-layout.ts +4 -4
  169. package/src/adapter/helpers/parse-shader-compiler-log.ts +1 -1
  170. package/src/adapter/helpers/set-uniform.ts +2 -0
  171. package/src/adapter/objects/webgl-renderbuffer.ts +1 -1
  172. package/src/adapter/objects/webgl-resource.ts +1 -1
  173. package/src/adapter/objects/webgl-vertex-array-object.ts +1 -1
  174. package/src/adapter/resources/webgl-buffer.ts +5 -5
  175. package/src/adapter/resources/webgl-command-encoder.ts +1 -1
  176. package/src/adapter/resources/webgl-framebuffer.ts +3 -4
  177. package/src/adapter/resources/webgl-render-pipeline.ts +19 -20
  178. package/src/adapter/resources/webgl-shader.ts +1 -1
  179. package/src/adapter/resources/webgl-texture.ts +8 -9
  180. package/src/adapter/webgl-canvas-context.ts +2 -2
  181. package/src/adapter/webgl-device.ts +12 -2
  182. package/src/classic/accessor.ts +1 -1
  183. package/src/classic/buffer.ts +3 -3
  184. package/src/classic/typed-array-utils.ts +1 -1
  185. package/src/context/.DS_Store +0 -0
  186. package/src/context/context/create-browser-context.ts +4 -2
  187. package/src/context/context/create-headless-context.ts +2 -2
  188. package/src/context/debug/spector.ts +5 -4
  189. package/src/context/debug/webgl-developer-tools.ts +1 -0
  190. package/src/context/polyfill/polyfill-table.ts +1 -0
  191. package/src/context/polyfill/polyfill-vertex-array-object.ts +2 -0
  192. package/src/context/state-tracker/track-context-state.ts +6 -5
  193. package/src/context/state-tracker/with-parameters.ts +1 -1
  194. package/src/index.ts +1 -5
  195. package/src/types/webgl.ts +2 -0
  196. package/dist/bundle.d.ts +0 -2
  197. package/dist/bundle.d.ts.map +0 -1
  198. package/dist/bundle.js +0 -4
  199. package/dist/dist.min.js +0 -1
  200. package/dist/es5/adapter/converters/device-parameters.js +0 -139
  201. package/dist/es5/adapter/converters/device-parameters.js.map +0 -1
  202. package/dist/es5/adapter/converters/renderbuffer-formats.js +0 -151
  203. package/dist/es5/adapter/converters/renderbuffer-formats.js.map +0 -1
  204. package/dist/es5/adapter/converters/sampler-parameters.js +0 -182
  205. package/dist/es5/adapter/converters/sampler-parameters.js.map +0 -1
  206. package/dist/es5/adapter/converters/texture-formats.js +0 -950
  207. package/dist/es5/adapter/converters/texture-formats.js.map +0 -1
  208. package/dist/es5/adapter/converters/vertex-formats.js +0 -36
  209. package/dist/es5/adapter/converters/vertex-formats.js.map +0 -1
  210. package/dist/es5/adapter/device-helpers/device-features.js +0 -121
  211. package/dist/es5/adapter/device-helpers/device-features.js.map +0 -1
  212. package/dist/es5/adapter/device-helpers/device-limits.js +0 -54
  213. package/dist/es5/adapter/device-helpers/device-limits.js.map +0 -1
  214. package/dist/es5/adapter/device-helpers/get-device-info.js +0 -49
  215. package/dist/es5/adapter/device-helpers/get-device-info.js.map +0 -1
  216. package/dist/es5/adapter/device-helpers/is-old-ie.js +0 -15
  217. package/dist/es5/adapter/device-helpers/is-old-ie.js.map +0 -1
  218. package/dist/es5/adapter/helpers/attribute-utils.js +0 -69
  219. package/dist/es5/adapter/helpers/attribute-utils.js.map +0 -1
  220. package/dist/es5/adapter/helpers/get-shader-info.js +0 -31
  221. package/dist/es5/adapter/helpers/get-shader-info.js.map +0 -1
  222. package/dist/es5/adapter/helpers/get-shader-layout.js +0 -311
  223. package/dist/es5/adapter/helpers/get-shader-layout.js.map +0 -1
  224. package/dist/es5/adapter/helpers/parse-shader-compiler-log.js +0 -54
  225. package/dist/es5/adapter/helpers/parse-shader-compiler-log.js.map +0 -1
  226. package/dist/es5/adapter/helpers/set-uniform.js +0 -92
  227. package/dist/es5/adapter/helpers/set-uniform.js.map +0 -1
  228. package/dist/es5/adapter/helpers/uniforms.js +0 -88
  229. package/dist/es5/adapter/helpers/uniforms.js.map +0 -1
  230. package/dist/es5/adapter/objects/constants-to-keys.js +0 -43
  231. package/dist/es5/adapter/objects/constants-to-keys.js.map +0 -1
  232. package/dist/es5/adapter/objects/webgl-renderbuffer.js +0 -122
  233. package/dist/es5/adapter/objects/webgl-renderbuffer.js.map +0 -1
  234. package/dist/es5/adapter/objects/webgl-resource.js +0 -233
  235. package/dist/es5/adapter/objects/webgl-resource.js.map +0 -1
  236. package/dist/es5/adapter/objects/webgl-vertex-array-object.js +0 -109
  237. package/dist/es5/adapter/objects/webgl-vertex-array-object.js.map +0 -1
  238. package/dist/es5/adapter/resources/webgl-buffer.js +0 -196
  239. package/dist/es5/adapter/resources/webgl-buffer.js.map +0 -1
  240. package/dist/es5/adapter/resources/webgl-command-buffer.js +0 -70
  241. package/dist/es5/adapter/resources/webgl-command-buffer.js.map +0 -1
  242. package/dist/es5/adapter/resources/webgl-command-encoder.js +0 -80
  243. package/dist/es5/adapter/resources/webgl-command-encoder.js.map +0 -1
  244. package/dist/es5/adapter/resources/webgl-external-texture.js +0 -2
  245. package/dist/es5/adapter/resources/webgl-external-texture.js.map +0 -1
  246. package/dist/es5/adapter/resources/webgl-framebuffer.js +0 -275
  247. package/dist/es5/adapter/resources/webgl-framebuffer.js.map +0 -1
  248. package/dist/es5/adapter/resources/webgl-render-pass.js +0 -45
  249. package/dist/es5/adapter/resources/webgl-render-pass.js.map +0 -1
  250. package/dist/es5/adapter/resources/webgl-render-pipeline.js +0 -385
  251. package/dist/es5/adapter/resources/webgl-render-pipeline.js.map +0 -1
  252. package/dist/es5/adapter/resources/webgl-sampler.js +0 -75
  253. package/dist/es5/adapter/resources/webgl-sampler.js.map +0 -1
  254. package/dist/es5/adapter/resources/webgl-shader.js +0 -111
  255. package/dist/es5/adapter/resources/webgl-shader.js.map +0 -1
  256. package/dist/es5/adapter/resources/webgl-texture.js +0 -826
  257. package/dist/es5/adapter/resources/webgl-texture.js.map +0 -1
  258. package/dist/es5/adapter/webgl-canvas-context.js +0 -72
  259. package/dist/es5/adapter/webgl-canvas-context.js.map +0 -1
  260. package/dist/es5/adapter/webgl-device.js +0 -387
  261. package/dist/es5/adapter/webgl-device.js.map +0 -1
  262. package/dist/es5/bundle.js +0 -6
  263. package/dist/es5/bundle.js.map +0 -1
  264. package/dist/es5/classic/accessor.js +0 -151
  265. package/dist/es5/classic/accessor.js.map +0 -1
  266. package/dist/es5/classic/buffer.js +0 -398
  267. package/dist/es5/classic/buffer.js.map +0 -1
  268. package/dist/es5/classic/typed-array-utils.js +0 -99
  269. package/dist/es5/classic/typed-array-utils.js.map +0 -1
  270. package/dist/es5/context/context/create-browser-context.js +0 -66
  271. package/dist/es5/context/context/create-browser-context.js.map +0 -1
  272. package/dist/es5/context/context/create-headless-context.js +0 -47
  273. package/dist/es5/context/context/create-headless-context.js.map +0 -1
  274. package/dist/es5/context/context/webgl-checks.js +0 -44
  275. package/dist/es5/context/context/webgl-checks.js.map +0 -1
  276. package/dist/es5/context/debug/spector.js +0 -99
  277. package/dist/es5/context/debug/spector.js.map +0 -1
  278. package/dist/es5/context/debug/webgl-developer-tools.js +0 -146
  279. package/dist/es5/context/debug/webgl-developer-tools.js.map +0 -1
  280. package/dist/es5/context/parameters/unified-parameter-api.js +0 -76
  281. package/dist/es5/context/parameters/unified-parameter-api.js.map +0 -1
  282. package/dist/es5/context/parameters/webgl-parameter-tables.js +0 -346
  283. package/dist/es5/context/parameters/webgl-parameter-tables.js.map +0 -1
  284. package/dist/es5/context/polyfill/context-data.js +0 -18
  285. package/dist/es5/context/polyfill/context-data.js.map +0 -1
  286. package/dist/es5/context/polyfill/get-parameter-polyfill.js +0 -69
  287. package/dist/es5/context/polyfill/get-parameter-polyfill.js.map +0 -1
  288. package/dist/es5/context/polyfill/polyfill-context.js +0 -109
  289. package/dist/es5/context/polyfill/polyfill-context.js.map +0 -1
  290. package/dist/es5/context/polyfill/polyfill-table.js +0 -143
  291. package/dist/es5/context/polyfill/polyfill-table.js.map +0 -1
  292. package/dist/es5/context/polyfill/polyfill-vertex-array-object.js +0 -271
  293. package/dist/es5/context/polyfill/polyfill-vertex-array-object.js.map +0 -1
  294. package/dist/es5/context/state-tracker/deep-array-equal.js +0 -23
  295. package/dist/es5/context/state-tracker/deep-array-equal.js.map +0 -1
  296. package/dist/es5/context/state-tracker/track-context-state.js +0 -167
  297. package/dist/es5/context/state-tracker/track-context-state.js.map +0 -1
  298. package/dist/es5/context/state-tracker/with-parameters.js +0 -40
  299. package/dist/es5/context/state-tracker/with-parameters.js.map +0 -1
  300. package/dist/es5/index.js +0 -249
  301. package/dist/es5/index.js.map +0 -1
  302. package/dist/es5/init.js +0 -7
  303. package/dist/es5/init.js.map +0 -1
  304. package/dist/es5/types/webgl.js +0 -5
  305. package/dist/es5/types/webgl.js.map +0 -1
  306. package/dist/es5/types.js +0 -2
  307. package/dist/es5/types.js.map +0 -1
  308. package/dist/esm/adapter/converters/device-parameters.js +0 -137
  309. package/dist/esm/adapter/converters/device-parameters.js.map +0 -1
  310. package/dist/esm/adapter/converters/renderbuffer-formats.js +0 -181
  311. package/dist/esm/adapter/converters/renderbuffer-formats.js.map +0 -1
  312. package/dist/esm/adapter/converters/sampler-parameters.js +0 -172
  313. package/dist/esm/adapter/converters/sampler-parameters.js.map +0 -1
  314. package/dist/esm/adapter/converters/texture-formats.js +0 -901
  315. package/dist/esm/adapter/converters/texture-formats.js.map +0 -1
  316. package/dist/esm/adapter/converters/vertex-formats.js +0 -29
  317. package/dist/esm/adapter/converters/vertex-formats.js.map +0 -1
  318. package/dist/esm/adapter/device-helpers/device-features.js +0 -95
  319. package/dist/esm/adapter/device-helpers/device-features.js.map +0 -1
  320. package/dist/esm/adapter/device-helpers/device-limits.js +0 -88
  321. package/dist/esm/adapter/device-helpers/device-limits.js.map +0 -1
  322. package/dist/esm/adapter/device-helpers/get-device-info.js +0 -42
  323. package/dist/esm/adapter/device-helpers/get-device-info.js.map +0 -1
  324. package/dist/esm/adapter/device-helpers/is-old-ie.js +0 -9
  325. package/dist/esm/adapter/device-helpers/is-old-ie.js.map +0 -1
  326. package/dist/esm/adapter/helpers/attribute-utils.js +0 -64
  327. package/dist/esm/adapter/helpers/attribute-utils.js.map +0 -1
  328. package/dist/esm/adapter/helpers/get-shader-info.js +0 -25
  329. package/dist/esm/adapter/helpers/get-shader-info.js.map +0 -1
  330. package/dist/esm/adapter/helpers/get-shader-layout.js +0 -282
  331. package/dist/esm/adapter/helpers/get-shader-layout.js.map +0 -1
  332. package/dist/esm/adapter/helpers/parse-shader-compiler-log.js +0 -30
  333. package/dist/esm/adapter/helpers/parse-shader-compiler-log.js.map +0 -1
  334. package/dist/esm/adapter/helpers/set-uniform.js +0 -85
  335. package/dist/esm/adapter/helpers/set-uniform.js.map +0 -1
  336. package/dist/esm/adapter/helpers/uniforms.js +0 -89
  337. package/dist/esm/adapter/helpers/uniforms.js.map +0 -1
  338. package/dist/esm/adapter/objects/constants-to-keys.js +0 -35
  339. package/dist/esm/adapter/objects/constants-to-keys.js.map +0 -1
  340. package/dist/esm/adapter/objects/webgl-renderbuffer.js +0 -78
  341. package/dist/esm/adapter/objects/webgl-renderbuffer.js.map +0 -1
  342. package/dist/esm/adapter/objects/webgl-resource.js +0 -163
  343. package/dist/esm/adapter/objects/webgl-resource.js.map +0 -1
  344. package/dist/esm/adapter/objects/webgl-vertex-array-object.js +0 -74
  345. package/dist/esm/adapter/objects/webgl-vertex-array-object.js.map +0 -1
  346. package/dist/esm/adapter/resources/webgl-buffer.js +0 -134
  347. package/dist/esm/adapter/resources/webgl-buffer.js.map +0 -1
  348. package/dist/esm/adapter/resources/webgl-command-buffer.js +0 -50
  349. package/dist/esm/adapter/resources/webgl-command-buffer.js.map +0 -1
  350. package/dist/esm/adapter/resources/webgl-command-encoder.js +0 -41
  351. package/dist/esm/adapter/resources/webgl-command-encoder.js.map +0 -1
  352. package/dist/esm/adapter/resources/webgl-external-texture.js +0 -2
  353. package/dist/esm/adapter/resources/webgl-external-texture.js.map +0 -1
  354. package/dist/esm/adapter/resources/webgl-framebuffer.js +0 -207
  355. package/dist/esm/adapter/resources/webgl-framebuffer.js.map +0 -1
  356. package/dist/esm/adapter/resources/webgl-render-pass.js +0 -14
  357. package/dist/esm/adapter/resources/webgl-render-pass.js.map +0 -1
  358. package/dist/esm/adapter/resources/webgl-render-pipeline.js +0 -311
  359. package/dist/esm/adapter/resources/webgl-render-pipeline.js.map +0 -1
  360. package/dist/esm/adapter/resources/webgl-sampler.js +0 -42
  361. package/dist/esm/adapter/resources/webgl-sampler.js.map +0 -1
  362. package/dist/esm/adapter/resources/webgl-shader.js +0 -62
  363. package/dist/esm/adapter/resources/webgl-shader.js.map +0 -1
  364. package/dist/esm/adapter/resources/webgl-texture.js +0 -714
  365. package/dist/esm/adapter/resources/webgl-texture.js.map +0 -1
  366. package/dist/esm/adapter/webgl-canvas-context.js +0 -41
  367. package/dist/esm/adapter/webgl-canvas-context.js.map +0 -1
  368. package/dist/esm/adapter/webgl-device.js +0 -276
  369. package/dist/esm/adapter/webgl-device.js.map +0 -1
  370. package/dist/esm/bundle.js +0 -4
  371. package/dist/esm/bundle.js.map +0 -1
  372. package/dist/esm/classic/accessor.js +0 -120
  373. package/dist/esm/classic/accessor.js.map +0 -1
  374. package/dist/esm/classic/buffer.js +0 -327
  375. package/dist/esm/classic/buffer.js.map +0 -1
  376. package/dist/esm/classic/typed-array-utils.js +0 -92
  377. package/dist/esm/classic/typed-array-utils.js.map +0 -1
  378. package/dist/esm/context/context/create-browser-context.js +0 -53
  379. package/dist/esm/context/context/create-browser-context.js.map +0 -1
  380. package/dist/esm/context/context/create-headless-context.js +0 -39
  381. package/dist/esm/context/context/create-headless-context.js.map +0 -1
  382. package/dist/esm/context/context/webgl-checks.js +0 -31
  383. package/dist/esm/context/context/webgl-checks.js.map +0 -1
  384. package/dist/esm/context/debug/spector.js +0 -64
  385. package/dist/esm/context/debug/spector.js.map +0 -1
  386. package/dist/esm/context/debug/webgl-developer-tools.js +0 -97
  387. package/dist/esm/context/debug/webgl-developer-tools.js.map +0 -1
  388. package/dist/esm/context/parameters/unified-parameter-api.js +0 -55
  389. package/dist/esm/context/parameters/unified-parameter-api.js.map +0 -1
  390. package/dist/esm/context/parameters/webgl-parameter-tables.js +0 -427
  391. package/dist/esm/context/parameters/webgl-parameter-tables.js.map +0 -1
  392. package/dist/esm/context/polyfill/context-data.js +0 -12
  393. package/dist/esm/context/polyfill/context-data.js.map +0 -1
  394. package/dist/esm/context/polyfill/get-parameter-polyfill.js +0 -86
  395. package/dist/esm/context/polyfill/get-parameter-polyfill.js.map +0 -1
  396. package/dist/esm/context/polyfill/polyfill-context.js +0 -84
  397. package/dist/esm/context/polyfill/polyfill-context.js.map +0 -1
  398. package/dist/esm/context/polyfill/polyfill-table.js +0 -138
  399. package/dist/esm/context/polyfill/polyfill-table.js.map +0 -1
  400. package/dist/esm/context/polyfill/polyfill-vertex-array-object.js +0 -265
  401. package/dist/esm/context/polyfill/polyfill-vertex-array-object.js.map +0 -1
  402. package/dist/esm/context/state-tracker/deep-array-equal.js +0 -17
  403. package/dist/esm/context/state-tracker/deep-array-equal.js.map +0 -1
  404. package/dist/esm/context/state-tracker/track-context-state.js +0 -148
  405. package/dist/esm/context/state-tracker/track-context-state.js.map +0 -1
  406. package/dist/esm/context/state-tracker/with-parameters.js +0 -34
  407. package/dist/esm/context/state-tracker/with-parameters.js.map +0 -1
  408. package/dist/esm/index.js +0 -27
  409. package/dist/esm/index.js.map +0 -1
  410. package/dist/esm/init.js +0 -4
  411. package/dist/esm/init.js.map +0 -1
  412. package/dist/esm/types/webgl.js +0 -2
  413. package/dist/esm/types/webgl.js.map +0 -1
  414. package/dist/esm/types.js +0 -2
  415. package/dist/esm/types.js.map +0 -1
  416. package/dist/init.d.ts +0 -2
  417. package/dist/init.d.ts.map +0 -1
  418. package/dist/init.js +0 -3
  419. package/src/bundle.ts +0 -4
  420. package/src/init.ts +0 -4
@@ -1,88 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- exports.decodeAttributeType = decodeAttributeType;
8
- exports.decodeUniformType = decodeUniformType;
9
- exports.decomposeCompositeGLType = decomposeCompositeGLType;
10
- exports.getCompositeGLType = getCompositeGLType;
11
- exports.isSamplerUniform = isSamplerUniform;
12
- var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
13
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
14
- var _constants = _interopRequireDefault(require("@luma.gl/constants"));
15
- var _COMPOSITE_GL_TYPES;
16
- function isSamplerUniform(type) {
17
- return SAMPLER_TYPES.includes(type);
18
- }
19
- var SAMPLER_TYPES = [_constants.default.SAMPLER_2D, _constants.default.SAMPLER_CUBE, _constants.default.SAMPLER_3D, _constants.default.SAMPLER_2D_SHADOW, _constants.default.SAMPLER_2D_ARRAY, _constants.default.SAMPLER_2D_ARRAY_SHADOW, _constants.default.SAMPLER_CUBE_SHADOW, _constants.default.INT_SAMPLER_2D, _constants.default.INT_SAMPLER_3D, _constants.default.INT_SAMPLER_CUBE, _constants.default.INT_SAMPLER_2D_ARRAY, _constants.default.UNSIGNED_INT_SAMPLER_2D, _constants.default.UNSIGNED_INT_SAMPLER_3D, _constants.default.UNSIGNED_INT_SAMPLER_CUBE, _constants.default.UNSIGNED_INT_SAMPLER_2D_ARRAY];
20
- var COMPOSITE_GL_TYPES = (_COMPOSITE_GL_TYPES = {}, (0, _defineProperty2.default)(_COMPOSITE_GL_TYPES, _constants.default.FLOAT, [_constants.default.FLOAT, 1, 'float', 'f32', 'float32']), (0, _defineProperty2.default)(_COMPOSITE_GL_TYPES, _constants.default.FLOAT_VEC2, [_constants.default.FLOAT, 2, 'vec2', 'vec2<f32>', 'float32x2']), (0, _defineProperty2.default)(_COMPOSITE_GL_TYPES, _constants.default.FLOAT_VEC3, [_constants.default.FLOAT, 3, 'vec3', 'vec3<f32>', 'float32x3']), (0, _defineProperty2.default)(_COMPOSITE_GL_TYPES, _constants.default.FLOAT_VEC4, [_constants.default.FLOAT, 4, 'vec4', 'vec4<f32>', 'float32x4']), (0, _defineProperty2.default)(_COMPOSITE_GL_TYPES, _constants.default.INT, [_constants.default.INT, 1, 'int', 'i32', 'sint32']), (0, _defineProperty2.default)(_COMPOSITE_GL_TYPES, _constants.default.INT_VEC2, [_constants.default.INT, 2, 'ivec2', 'vec2<i32>', 'sint32x2']), (0, _defineProperty2.default)(_COMPOSITE_GL_TYPES, _constants.default.INT_VEC3, [_constants.default.INT, 3, 'ivec3', 'vec3<i32>', 'sint32x3']), (0, _defineProperty2.default)(_COMPOSITE_GL_TYPES, _constants.default.INT_VEC4, [_constants.default.INT, 4, 'ivec4', 'vec4<i32>', 'sint32x4']), (0, _defineProperty2.default)(_COMPOSITE_GL_TYPES, _constants.default.UNSIGNED_INT, [_constants.default.UNSIGNED_INT, 1, 'uint', 'u32', 'uint32']), (0, _defineProperty2.default)(_COMPOSITE_GL_TYPES, _constants.default.UNSIGNED_INT_VEC2, [_constants.default.UNSIGNED_INT, 2, 'uvec2', 'vec2<u32>', 'uint32x2']), (0, _defineProperty2.default)(_COMPOSITE_GL_TYPES, _constants.default.UNSIGNED_INT_VEC3, [_constants.default.UNSIGNED_INT, 3, 'uvec3', 'vec3<u32>', 'uint32x3']), (0, _defineProperty2.default)(_COMPOSITE_GL_TYPES, _constants.default.UNSIGNED_INT_VEC4, [_constants.default.UNSIGNED_INT, 4, 'uvec4', 'vec4<u32>', 'uint32x4']), (0, _defineProperty2.default)(_COMPOSITE_GL_TYPES, _constants.default.BOOL, [_constants.default.FLOAT, 1, 'bool', 'f32', 'float32x2']), (0, _defineProperty2.default)(_COMPOSITE_GL_TYPES, _constants.default.BOOL_VEC2, [_constants.default.FLOAT, 2, 'bvec2', 'vec2<f32>']), (0, _defineProperty2.default)(_COMPOSITE_GL_TYPES, _constants.default.BOOL_VEC3, [_constants.default.FLOAT, 3, 'bvec3', 'vec3<f32>']), (0, _defineProperty2.default)(_COMPOSITE_GL_TYPES, _constants.default.BOOL_VEC4, [_constants.default.FLOAT, 4, 'bvec4', 'vec4<f32>']), (0, _defineProperty2.default)(_COMPOSITE_GL_TYPES, _constants.default.FLOAT_MAT2, [_constants.default.FLOAT, 8, 'mat2', 'mat2x2<f32>']), (0, _defineProperty2.default)(_COMPOSITE_GL_TYPES, _constants.default.FLOAT_MAT2x3, [_constants.default.FLOAT, 8, 'mat2x3', 'mat2x3<f32>']), (0, _defineProperty2.default)(_COMPOSITE_GL_TYPES, _constants.default.FLOAT_MAT2x4, [_constants.default.FLOAT, 8, 'mat2x4', 'mat2x4<f32>']), (0, _defineProperty2.default)(_COMPOSITE_GL_TYPES, _constants.default.FLOAT_MAT3x2, [_constants.default.FLOAT, 12, 'mat3x2', 'mat3x2<f32>']), (0, _defineProperty2.default)(_COMPOSITE_GL_TYPES, _constants.default.FLOAT_MAT3, [_constants.default.FLOAT, 12, 'mat3', 'mat3x3<f32>']), (0, _defineProperty2.default)(_COMPOSITE_GL_TYPES, _constants.default.FLOAT_MAT3x4, [_constants.default.FLOAT, 12, 'mat3x4', 'mat3x4<f32>']), (0, _defineProperty2.default)(_COMPOSITE_GL_TYPES, _constants.default.FLOAT_MAT4x2, [_constants.default.FLOAT, 16, 'mat4x2', 'mat4x2<f32>']), (0, _defineProperty2.default)(_COMPOSITE_GL_TYPES, _constants.default.FLOAT_MAT4x3, [_constants.default.FLOAT, 16, 'mat4x3', 'mat4x3<f32>']), (0, _defineProperty2.default)(_COMPOSITE_GL_TYPES, _constants.default.FLOAT_MAT4, [_constants.default.FLOAT, 16, 'mat4', 'mat4x4<f32>']), _COMPOSITE_GL_TYPES);
21
- function decodeUniformType(uniformType) {
22
- var typeAndSize = COMPOSITE_GL_TYPES[uniformType];
23
- if (!typeAndSize) {
24
- throw new Error('uniform');
25
- }
26
- var _typeAndSize = (0, _slicedToArray2.default)(typeAndSize, 4),
27
- glType = _typeAndSize[0],
28
- components = _typeAndSize[1],
29
- format = _typeAndSize[3];
30
- return {
31
- format: format,
32
- components: components,
33
- glType: glType
34
- };
35
- }
36
- function decodeAttributeType(attributeType) {
37
- var typeAndSize = COMPOSITE_GL_TYPES[attributeType];
38
- if (!typeAndSize) {
39
- throw new Error('attribute');
40
- }
41
- var _typeAndSize2 = (0, _slicedToArray2.default)(typeAndSize, 5),
42
- glType = _typeAndSize2[0],
43
- components = _typeAndSize2[1],
44
- format = _typeAndSize2[4];
45
- return {
46
- format: format,
47
- components: components,
48
- glType: glType
49
- };
50
- }
51
- function decomposeCompositeGLType(compositeGLType) {
52
- var typeAndSize = COMPOSITE_GL_TYPES[compositeGLType];
53
- if (!typeAndSize) {
54
- return null;
55
- }
56
- var _typeAndSize3 = (0, _slicedToArray2.default)(typeAndSize, 2),
57
- type = _typeAndSize3[0],
58
- components = _typeAndSize3[1];
59
- return {
60
- type: type,
61
- components: components
62
- };
63
- }
64
- function getCompositeGLType(type, components) {
65
- switch (type) {
66
- case _constants.default.BYTE:
67
- case _constants.default.UNSIGNED_BYTE:
68
- case _constants.default.SHORT:
69
- case _constants.default.UNSIGNED_SHORT:
70
- type = _constants.default.FLOAT;
71
- break;
72
- default:
73
- }
74
- for (var glType in COMPOSITE_GL_TYPES) {
75
- var _COMPOSITE_GL_TYPES$g = (0, _slicedToArray2.default)(COMPOSITE_GL_TYPES[glType], 3),
76
- compType = _COMPOSITE_GL_TYPES$g[0],
77
- compComponents = _COMPOSITE_GL_TYPES$g[1],
78
- name = _COMPOSITE_GL_TYPES$g[2];
79
- if (compType === type && compComponents === components) {
80
- return {
81
- glType: Number(glType),
82
- name: name
83
- };
84
- }
85
- }
86
- return null;
87
- }
88
- //# sourceMappingURL=uniforms.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"uniforms.js","names":["_constants","_interopRequireDefault","require","_COMPOSITE_GL_TYPES","isSamplerUniform","type","SAMPLER_TYPES","includes","GL","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","COMPOSITE_GL_TYPES","_defineProperty2","default","FLOAT","FLOAT_VEC2","FLOAT_VEC3","FLOAT_VEC4","INT","INT_VEC2","INT_VEC3","INT_VEC4","UNSIGNED_INT","UNSIGNED_INT_VEC2","UNSIGNED_INT_VEC3","UNSIGNED_INT_VEC4","BOOL","BOOL_VEC2","BOOL_VEC3","BOOL_VEC4","FLOAT_MAT2","FLOAT_MAT2x3","FLOAT_MAT2x4","FLOAT_MAT3x2","FLOAT_MAT3","FLOAT_MAT3x4","FLOAT_MAT4x2","FLOAT_MAT4x3","FLOAT_MAT4","decodeUniformType","uniformType","typeAndSize","Error","_typeAndSize","_slicedToArray2","glType","components","format","decodeAttributeType","attributeType","_typeAndSize2","decomposeCompositeGLType","compositeGLType","_typeAndSize3","getCompositeGLType","BYTE","UNSIGNED_BYTE","SHORT","UNSIGNED_SHORT","_COMPOSITE_GL_TYPES$g","compType","compComponents","name","Number"],"sources":["../../../../src/adapter/helpers/uniforms.ts"],"sourcesContent":["import {UniformFormat, VertexFormat} from '@luma.gl/api';\nimport GL from '@luma.gl/constants';\nimport {GLUniformType, GLSamplerType, GLCompositeType, GLType} from '../../types/webgl';\n\n/** Check is uniform is of sampler type */\nexport function isSamplerUniform(type: GLUniformType): boolean {\n return SAMPLER_TYPES.includes(type as GLSamplerType);\n}\n\nconst SAMPLER_TYPES: GLSamplerType[] = [\n GL.SAMPLER_2D,\n GL.SAMPLER_CUBE,\n GL.SAMPLER_3D,\n GL.SAMPLER_2D_SHADOW,\n GL.SAMPLER_2D_ARRAY,\n GL.SAMPLER_2D_ARRAY_SHADOW,\n GL.SAMPLER_CUBE_SHADOW,\n GL.INT_SAMPLER_2D,\n GL.INT_SAMPLER_3D,\n GL.INT_SAMPLER_CUBE,\n GL.INT_SAMPLER_2D_ARRAY,\n GL.UNSIGNED_INT_SAMPLER_2D,\n GL.UNSIGNED_INT_SAMPLER_3D,\n GL.UNSIGNED_INT_SAMPLER_CUBE,\n GL.UNSIGNED_INT_SAMPLER_2D_ARRAY\n];\n\n// Composite types table\nconst COMPOSITE_GL_TYPES: Record<\n GLCompositeType,\n [GLType, number, string, UniformFormat, VertexFormat?]\n> = {\n [GL.FLOAT]: [GL.FLOAT, 1, 'float', 'f32', 'float32'],\n [GL.FLOAT_VEC2]: [GL.FLOAT, 2, 'vec2', 'vec2<f32>', 'float32x2'],\n [GL.FLOAT_VEC3]: [GL.FLOAT, 3, 'vec3', 'vec3<f32>', 'float32x3'],\n [GL.FLOAT_VEC4]: [GL.FLOAT, 4, 'vec4', 'vec4<f32>', 'float32x4'],\n\n [GL.INT]: [GL.INT, 1, 'int', 'i32', 'sint32'],\n [GL.INT_VEC2]: [GL.INT, 2, 'ivec2', 'vec2<i32>', 'sint32x2'],\n [GL.INT_VEC3]: [GL.INT, 3, 'ivec3', 'vec3<i32>', 'sint32x3'],\n [GL.INT_VEC4]: [GL.INT, 4, 'ivec4', 'vec4<i32>', 'sint32x4'],\n\n [GL.UNSIGNED_INT]: [GL.UNSIGNED_INT, 1, 'uint', 'u32', 'uint32'],\n [GL.UNSIGNED_INT_VEC2]: [GL.UNSIGNED_INT, 2, 'uvec2', 'vec2<u32>', 'uint32x2'],\n [GL.UNSIGNED_INT_VEC3]: [GL.UNSIGNED_INT, 3, 'uvec3', 'vec3<u32>', 'uint32x3'],\n [GL.UNSIGNED_INT_VEC4]: [GL.UNSIGNED_INT, 4, 'uvec4', 'vec4<u32>', 'uint32x4'],\n\n [GL.BOOL]: [GL.FLOAT, 1, 'bool', 'f32', 'float32x2'],\n [GL.BOOL_VEC2]: [GL.FLOAT, 2, 'bvec2', 'vec2<f32>'],\n [GL.BOOL_VEC3]: [GL.FLOAT, 3, 'bvec3', 'vec3<f32>'],\n [GL.BOOL_VEC4]: [GL.FLOAT, 4, 'bvec4', 'vec4<f32>'],\n\n [GL.FLOAT_MAT2]: [GL.FLOAT, 8, 'mat2', 'mat2x2<f32>'], // 4\n [GL.FLOAT_MAT2x3]: [GL.FLOAT, 8, 'mat2x3', 'mat2x3<f32>'], // 6\n [GL.FLOAT_MAT2x4]: [GL.FLOAT, 8, 'mat2x4', 'mat2x4<f32>'], // 8\n\n [GL.FLOAT_MAT3x2]: [GL.FLOAT, 12, 'mat3x2', 'mat3x2<f32>'], // 6\n [GL.FLOAT_MAT3]: [GL.FLOAT, 12, 'mat3', 'mat3x3<f32>'], // 9\n [GL.FLOAT_MAT3x4]: [GL.FLOAT, 12, 'mat3x4', 'mat3x4<f32>'], // 12\n\n [GL.FLOAT_MAT4x2]: [GL.FLOAT, 16, 'mat4x2', 'mat4x2<f32>'], // 8\n [GL.FLOAT_MAT4x3]: [GL.FLOAT, 16, 'mat4x3', 'mat4x3<f32>'], // 12\n [GL.FLOAT_MAT4]: [GL.FLOAT, 16, 'mat4', 'mat4x4<f32>'] // 16\n};\n\n/** Decomposes a composite type GL.VEC3 into a basic type (GL.FLOAT) and components (3) */\nexport function decodeUniformType(\n uniformType: GL\n): {format: UniformFormat; components: number; glType: GLType} {\n const typeAndSize = COMPOSITE_GL_TYPES[uniformType];\n if (!typeAndSize) {\n throw new Error('uniform');\n }\n const [glType, components, , format] = typeAndSize;\n return {format, components, glType};\n}\n\nexport function decodeAttributeType(attributeType: GL): {\n format: VertexFormat;\n components: number;\n glType: GLType;\n} {\n const typeAndSize = COMPOSITE_GL_TYPES[attributeType];\n if (!typeAndSize) {\n throw new Error('attribute')\n }\n const [glType, components, , , format] = typeAndSize;\n return {format, components, glType};\n}\n\n/** Decomposes a composite type GL.VEC3 into a basic type (GL.FLOAT) and components (3) */\nexport function decomposeCompositeGLType(\n compositeGLType: GLCompositeType\n): {type: GLType; components: number} | null {\n const typeAndSize = COMPOSITE_GL_TYPES[compositeGLType];\n if (!typeAndSize) {\n return null;\n }\n const [type, components] = typeAndSize;\n return {type, components};\n}\n\nexport function getCompositeGLType(type: GL, components): {glType: GLType; name: string} | null {\n switch (type) {\n case GL.BYTE:\n case GL.UNSIGNED_BYTE:\n case GL.SHORT:\n case GL.UNSIGNED_SHORT:\n type = GL.FLOAT;\n break;\n default:\n }\n\n for (const glType in COMPOSITE_GL_TYPES) {\n const [compType, compComponents, name] = COMPOSITE_GL_TYPES[glType];\n if (compType === type && compComponents === components) {\n return {glType: Number(glType), name};\n }\n }\n return null;\n}\n"],"mappings":"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"}
@@ -1,43 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.getKey = getKey;
7
- exports.getKeyType = getKeyType;
8
- exports.getKeyValue = getKeyValue;
9
- var _api = require("@luma.gl/api");
10
- function getKeyValue(gl, name) {
11
- if (typeof name !== 'string') {
12
- return name;
13
- }
14
- var number = Number(name);
15
- if (!isNaN(number)) {
16
- return number;
17
- }
18
- name = name.replace(/^.*\./, '');
19
- var value = gl[name];
20
- (0, _api.assert)(value !== undefined, "Accessing undefined constant GL.".concat(name));
21
- return value;
22
- }
23
- function getKey(gl, value) {
24
- gl = gl.gl || gl;
25
- value = Number(value);
26
- for (var key in gl) {
27
- if (gl[key] === value) {
28
- return "GL.".concat(key);
29
- }
30
- }
31
- return String(value);
32
- }
33
- function getKeyType(gl, value) {
34
- (0, _api.assert)(value !== undefined, 'undefined key');
35
- value = Number(value);
36
- for (var key in gl) {
37
- if (gl[key] === value) {
38
- return "GL.".concat(key);
39
- }
40
- }
41
- return String(value);
42
- }
43
- //# sourceMappingURL=constants-to-keys.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"constants-to-keys.js","names":["_api","require","getKeyValue","gl","name","number","Number","isNaN","replace","value","assert","undefined","concat","getKey","key","String","getKeyType"],"sources":["../../../../src/adapter/objects/constants-to-keys.ts"],"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 // @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\nexport function getKey(gl: WebGLRenderingContext, value: any): string {\n // @ts-ignore expect-error depends on settings \n gl = gl.gl || gl;\n value = Number(value);\n for (const key in gl) {\n // @ts-ignore expect-error depends on settings\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 // @ts-ignore expect-error depends on settings\n if (gl[key] === value) {\n return `GL.${key}`;\n }\n }\n return String(value);\n}\n"],"mappings":";;;;;;;;AAAA,IAAAA,IAAA,GAAAC,OAAA;AAIO,SAASC,WAAWA,CAACC,EAAyB,EAAEC,IAAiB,EAAM;EAE5E,IAAI,OAAOA,IAAI,KAAK,QAAQ,EAAE;IAC5B,OAAOA,IAAI;EACb;EAGA,IAAMC,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,IAAMC,KAAK,GAAGN,EAAE,CAACC,IAAI,CAAC;EACtB,IAAAM,WAAM,EAACD,KAAK,KAAKE,SAAS,qCAAAC,MAAA,CAAqCR,IAAI,EAAG;EACtE,OAAOK,KAAK;AACd;AAEO,SAASI,MAAMA,CAACV,EAAyB,EAAEM,KAAU,EAAU;EAEpEN,EAAE,GAAGA,EAAE,CAACA,EAAE,IAAIA,EAAE;EAChBM,KAAK,GAAGH,MAAM,CAACG,KAAK,CAAC;EACrB,KAAK,IAAMK,GAAG,IAAIX,EAAE,EAAE;IAEpB,IAAIA,EAAE,CAACW,GAAG,CAAC,KAAKL,KAAK,EAAE;MACrB,aAAAG,MAAA,CAAaE,GAAG;IAClB;EACF;EACA,OAAOC,MAAM,CAACN,KAAK,CAAC;AACtB;AAEO,SAASO,UAAUA,CAACb,EAAyB,EAAEM,KAAU,EAAU;EACxE,IAAAC,WAAM,EAACD,KAAK,KAAKE,SAAS,EAAE,eAAe,CAAC;EAC5CF,KAAK,GAAGH,MAAM,CAACG,KAAK,CAAC;EACrB,KAAK,IAAMK,GAAG,IAAIX,EAAE,EAAE;IAEpB,IAAIA,EAAE,CAACW,GAAG,CAAC,KAAKL,KAAK,EAAE;MACrB,aAAAG,MAAA,CAAaE,GAAG;IAClB;EACF;EACA,OAAOC,MAAM,CAACN,KAAK,CAAC;AACtB"}
@@ -1,122 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- exports.default = void 0;
8
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
9
- var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
10
- var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
11
- var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
12
- var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
13
- var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
14
- var _api = require("@luma.gl/api");
15
- var _constants = _interopRequireDefault(require("@luma.gl/constants"));
16
- var _webglResource = _interopRequireDefault(require("./webgl-resource"));
17
- var _renderbufferFormats = require("../converters/renderbuffer-formats");
18
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
19
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
20
- function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
21
- function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
22
- var DEFAULT_RENDERBUFFER_PROPS = {
23
- id: undefined,
24
- handle: undefined,
25
- userData: undefined,
26
- format: 0,
27
- width: 1,
28
- height: 1,
29
- samples: 0
30
- };
31
- var WEBGLRenderbuffer = function (_WebGLResource, _Symbol$toStringTag) {
32
- (0, _inherits2.default)(WEBGLRenderbuffer, _WebGLResource);
33
- var _super = _createSuper(WEBGLRenderbuffer);
34
- function WEBGLRenderbuffer(device, props) {
35
- var _this;
36
- (0, _classCallCheck2.default)(this, WEBGLRenderbuffer);
37
- _this = _super.call(this, device, props, DEFAULT_RENDERBUFFER_PROPS);
38
- _this._initialize(_this.props);
39
- return _this;
40
- }
41
- (0, _createClass2.default)(WEBGLRenderbuffer, [{
42
- key: _Symbol$toStringTag,
43
- get: function get() {
44
- return 'Renderbuffer';
45
- }
46
- }, {
47
- key: "width",
48
- get: function get() {
49
- return this.props.width;
50
- }
51
- }, {
52
- key: "height",
53
- get: function get() {
54
- return this.props.height;
55
- }
56
- }, {
57
- key: "format",
58
- get: function get() {
59
- return this.props.format;
60
- }
61
- }, {
62
- key: "samples",
63
- get: function get() {
64
- return this.props.samples;
65
- }
66
- }, {
67
- key: "resize",
68
- value: function resize(size) {
69
- if (size.width !== this.width || size.height !== this.height) {
70
- Object.assign(this.props, _objectSpread(_objectSpread({}, size), {}, {
71
- format: this.format,
72
- samples: this.samples
73
- }));
74
- this._initialize(this.props);
75
- }
76
- return this;
77
- }
78
- }, {
79
- key: "_initialize",
80
- value: function _initialize(props) {
81
- var format = props.format,
82
- width = props.width,
83
- height = props.height,
84
- samples = props.samples;
85
- (0, _api.assert)(format, 'Needs format');
86
- this.trackDeallocatedMemory();
87
- this.gl.bindRenderbuffer(_constants.default.RENDERBUFFER, this.handle);
88
- if (samples !== 0 && this.device.isWebGL2) {
89
- this.gl.renderbufferStorageMultisample(_constants.default.RENDERBUFFER, samples, format, width, height);
90
- } else {
91
- this.gl.renderbufferStorage(_constants.default.RENDERBUFFER, format, width, height);
92
- }
93
- this.gl.bindRenderbuffer(_constants.default.RENDERBUFFER, null);
94
- this.trackAllocatedMemory(width * height * (samples || 1) * (0, _renderbufferFormats.getRenderbufferFormatBytesPerPixel)(format));
95
- return this;
96
- }
97
- }, {
98
- key: "_createHandle",
99
- value: function _createHandle() {
100
- return this.gl.createRenderbuffer();
101
- }
102
- }, {
103
- key: "_deleteHandle",
104
- value: function _deleteHandle() {
105
- this.gl.deleteRenderbuffer(this.handle);
106
- this.trackDeallocatedMemory();
107
- }
108
- }, {
109
- key: "_bindHandle",
110
- value: function _bindHandle(handle) {
111
- this.gl.bindRenderbuffer(_constants.default.RENDERBUFFER, handle);
112
- }
113
- }], [{
114
- key: "isSupported",
115
- value: function isSupported(gl, options) {
116
- return !(options !== null && options !== void 0 && options.format) || (0, _renderbufferFormats.isRenderbufferFormatSupported)(gl, options.format);
117
- }
118
- }]);
119
- return WEBGLRenderbuffer;
120
- }(_webglResource.default, Symbol.toStringTag);
121
- exports.default = WEBGLRenderbuffer;
122
- //# sourceMappingURL=webgl-renderbuffer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"webgl-renderbuffer.js","names":["_api","require","_constants","_interopRequireDefault","_webglResource","_renderbufferFormats","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty2","default","getOwnPropertyDescriptors","defineProperties","defineProperty","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","result","NewTarget","constructor","Reflect","construct","_possibleConstructorReturn2","sham","Proxy","Boolean","prototype","valueOf","call","e","DEFAULT_RENDERBUFFER_PROPS","id","undefined","handle","userData","format","width","height","samples","WEBGLRenderbuffer","_WebGLResource","_Symbol$toStringTag","_inherits2","_super","device","props","_this","_classCallCheck2","_initialize","_createClass2","get","value","resize","size","assign","assert","trackDeallocatedMemory","gl","bindRenderbuffer","GL","RENDERBUFFER","isWebGL2","renderbufferStorageMultisample","renderbufferStorage","trackAllocatedMemory","getRenderbufferFormatBytesPerPixel","_createHandle","createRenderbuffer","_deleteHandle","deleteRenderbuffer","_bindHandle","isSupported","options","isRenderbufferFormatSupported","WebGLResource","Symbol","toStringTag","exports"],"sources":["../../../../src/adapter/objects/webgl-renderbuffer.ts"],"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 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(): 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 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,233 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- exports.default = void 0;
8
- var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
9
- var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
10
- var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
11
- var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
12
- var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
13
- var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
14
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
15
- var _api = require("@luma.gl/api");
16
- var _webglChecks = require("../../context/context/webgl-checks");
17
- var _webglDevice = _interopRequireDefault(require("../webgl-device"));
18
- var _constantsToKeys = require("./constants-to-keys");
19
- function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
20
- function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
21
- function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
22
- function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
23
- function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
24
- var ERR_RESOURCE_METHOD_UNDEFINED = 'Resource subclass must define virtual methods';
25
- var WebGLResource = function (_Resource) {
26
- (0, _inherits2.default)(WebGLResource, _Resource);
27
- var _super = _createSuper(WebGLResource);
28
- function WebGLResource(device, props, defaultProps) {
29
- var _this;
30
- (0, _classCallCheck2.default)(this, WebGLResource);
31
- _this = _super.call(this, device, props, defaultProps);
32
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "device", void 0);
33
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "gl", void 0);
34
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "gl2", void 0);
35
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "_handle", void 0);
36
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "_bound", false);
37
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "byteLength", 0);
38
- _this.device = _webglDevice.default.attach(device);
39
- var gl = _this.device.gl;
40
- (0, _webglChecks.assertWebGLContext)(gl);
41
- var _ref = props || {},
42
- id = _ref.id;
43
- _this.gl = gl;
44
- _this.gl2 = gl;
45
- _this.id = id || (0, _api.uid)(_this.constructor.name);
46
- _this._handle = props === null || props === void 0 ? void 0 : props.handle;
47
- if (_this._handle === undefined) {
48
- _this._handle = _this._createHandle();
49
- }
50
- _this.byteLength = 0;
51
- return _this;
52
- }
53
- (0, _createClass2.default)(WebGLResource, [{
54
- key: "toString",
55
- value: function toString() {
56
- return "".concat(this.constructor.name, "(").concat(this.id, ")");
57
- }
58
- }, {
59
- key: "handle",
60
- get: function get() {
61
- return this._handle;
62
- }
63
- }, {
64
- key: "destroy",
65
- value: function destroy() {
66
- this.delete();
67
- }
68
- }, {
69
- key: "delete",
70
- value: function _delete() {
71
- var _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
72
- _ref2$deleteChildren = _ref2.deleteChildren,
73
- deleteChildren = _ref2$deleteChildren === void 0 ? false : _ref2$deleteChildren;
74
- var children = this._handle && this._deleteHandle(this._handle);
75
- if (this._handle) {
76
- this.removeStats();
77
- }
78
- this._handle = null;
79
- if (children && deleteChildren) {
80
- children.filter(Boolean).forEach(function (child) {
81
- return child.delete();
82
- });
83
- }
84
- return this;
85
- }
86
- }, {
87
- key: "bind",
88
- value: function bind() {
89
- var funcOrHandle = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.handle;
90
- if (typeof funcOrHandle !== 'function') {
91
- this._bindHandle(funcOrHandle);
92
- return this;
93
- }
94
- var value;
95
- if (!this._bound) {
96
- this._bindHandle(this.handle);
97
- this._bound = true;
98
- value = funcOrHandle();
99
- this._bound = false;
100
- this._bindHandle(null);
101
- } else {
102
- value = funcOrHandle();
103
- }
104
- return value;
105
- }
106
- }, {
107
- key: "unbind",
108
- value: function unbind() {
109
- this.bind(null);
110
- }
111
- }, {
112
- key: "getParameter",
113
- value: function getParameter(pname) {
114
- var props = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
115
- pname = (0, _constantsToKeys.getKeyValue)(this.gl, pname);
116
- (0, _api.assert)(pname);
117
- var parameters = this.constructor.PARAMETERS || {};
118
- var parameter = parameters[pname];
119
- if (parameter) {
120
- var isWebgl2 = (0, _webglChecks.isWebGL2)(this.gl);
121
- var parameterAvailable = (!('webgl2' in parameter) || isWebgl2) && (!('extension' in parameter) || this.gl.getExtension(parameter.extension));
122
- if (!parameterAvailable) {
123
- var webgl1Default = parameter.webgl1;
124
- var webgl2Default = 'webgl2' in parameter ? parameter.webgl2 : parameter.webgl1;
125
- var defaultValue = isWebgl2 ? webgl2Default : webgl1Default;
126
- return defaultValue;
127
- }
128
- }
129
- return this._getParameter(pname, props);
130
- }
131
- }, {
132
- key: "getParameters",
133
- value: function getParameters() {
134
- var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
135
- var parameters = options.parameters,
136
- keys = options.keys;
137
- var PARAMETERS = this.constructor.PARAMETERS || {};
138
- var isWebgl2 = (0, _webglChecks.isWebGL2)(this.gl);
139
- var values = {};
140
- var parameterKeys = parameters || Object.keys(PARAMETERS);
141
- var _iterator = _createForOfIteratorHelper(parameterKeys),
142
- _step;
143
- try {
144
- for (_iterator.s(); !(_step = _iterator.n()).done;) {
145
- var pname = _step.value;
146
- var parameter = PARAMETERS[pname];
147
- var parameterAvailable = parameter && (!('webgl2' in parameter) || isWebgl2) && (!('extension' in parameter) || this.gl.getExtension(parameter.extension));
148
- if (parameterAvailable) {
149
- var key = keys ? (0, _constantsToKeys.getKey)(this.gl, pname) : pname;
150
- values[key] = this.getParameter(pname, options);
151
- if (keys && parameter.type === 'GLenum') {
152
- values[key] = (0, _constantsToKeys.getKey)(this.gl, values[key]);
153
- }
154
- }
155
- }
156
- } catch (err) {
157
- _iterator.e(err);
158
- } finally {
159
- _iterator.f();
160
- }
161
- return values;
162
- }
163
- }, {
164
- key: "setParameter",
165
- value: function setParameter(pname, value) {
166
- pname = (0, _constantsToKeys.getKeyValue)(this.gl, pname);
167
- (0, _api.assert)(pname);
168
- var parameters = this.constructor.PARAMETERS || {};
169
- var parameter = parameters[pname];
170
- if (parameter) {
171
- var isWebgl2 = (0, _webglChecks.isWebGL2)(this.gl);
172
- var parameterAvailable = (!('webgl2' in parameter) || isWebgl2) && (!('extension' in parameter) || this.gl.getExtension(parameter.extension));
173
- if (!parameterAvailable) {
174
- throw new Error('Parameter not available on this platform');
175
- }
176
- if (parameter.type === 'GLenum') {
177
- value = (0, _constantsToKeys.getKeyValue)(value);
178
- }
179
- }
180
- this._setParameter(pname, value);
181
- return this;
182
- }
183
- }, {
184
- key: "setParameters",
185
- value: function setParameters(parameters) {
186
- for (var pname in parameters) {
187
- this.setParameter(pname, parameters[pname]);
188
- }
189
- return this;
190
- }
191
- }, {
192
- key: "stubRemovedMethods",
193
- value: function stubRemovedMethods(className, version, methodNames) {
194
- return (0, _api.stubRemovedMethods)(this, className, version, methodNames);
195
- }
196
- }, {
197
- key: "initialize",
198
- value: function initialize(props) {}
199
- }, {
200
- key: "_createHandle",
201
- value: function _createHandle() {
202
- throw new Error(ERR_RESOURCE_METHOD_UNDEFINED);
203
- }
204
- }, {
205
- key: "_deleteHandle",
206
- value: function _deleteHandle() {
207
- throw new Error(ERR_RESOURCE_METHOD_UNDEFINED);
208
- }
209
- }, {
210
- key: "_bindHandle",
211
- value: function _bindHandle(handle) {
212
- throw new Error(ERR_RESOURCE_METHOD_UNDEFINED);
213
- }
214
- }, {
215
- key: "_getOptsFromHandle",
216
- value: function _getOptsFromHandle() {
217
- throw new Error(ERR_RESOURCE_METHOD_UNDEFINED);
218
- }
219
- }, {
220
- key: "_getParameter",
221
- value: function _getParameter(pname, props) {
222
- throw new Error(ERR_RESOURCE_METHOD_UNDEFINED);
223
- }
224
- }, {
225
- key: "_setParameter",
226
- value: function _setParameter(pname, value) {
227
- throw new Error(ERR_RESOURCE_METHOD_UNDEFINED);
228
- }
229
- }]);
230
- return WebGLResource;
231
- }(_api.Resource);
232
- exports.default = WebGLResource;
233
- //# sourceMappingURL=webgl-resource.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"webgl-resource.js","names":["_api","require","_webglChecks","_webglDevice","_interopRequireDefault","_constantsToKeys","_createForOfIteratorHelper","o","allowArrayLike","it","Symbol","iterator","Array","isArray","_unsupportedIterableToArray","length","i","F","s","n","done","value","e","_e","f","TypeError","normalCompletion","didErr","err","call","step","next","_e2","return","minLen","_arrayLikeToArray","Object","prototype","toString","slice","constructor","name","from","test","arr","len","arr2","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","default","result","NewTarget","Reflect","construct","arguments","apply","_possibleConstructorReturn2","sham","Proxy","Boolean","valueOf","ERR_RESOURCE_METHOD_UNDEFINED","WebGLResource","_Resource","_inherits2","_super","device","props","defaultProps","_this","_classCallCheck2","_defineProperty2","_assertThisInitialized2","WebGLDevice","attach","gl","assertWebGLContext","_ref","id","gl2","uid","_handle","handle","undefined","_createHandle","byteLength","_createClass2","key","concat","get","destroy","delete","_delete","_ref2","_ref2$deleteChildren","deleteChildren","children","_deleteHandle","removeStats","filter","forEach","child","bind","funcOrHandle","_bindHandle","_bound","unbind","getParameter","pname","getKeyValue","assert","parameters","PARAMETERS","parameter","isWebgl2","isWebGL2","parameterAvailable","getExtension","extension","webgl1Default","webgl1","webgl2Default","webgl2","defaultValue","_getParameter","getParameters","options","keys","values","parameterKeys","_iterator","_step","getKey","type","setParameter","Error","_setParameter","setParameters","stubRemovedMethods","className","version","methodNames","initialize","_getOptsFromHandle","Resource","exports"],"sources":["../../../../src/adapter/objects/webgl-resource.ts"],"sourcesContent":["// luma.gl, MIT license\nimport {Resource, assert, uid, stubRemovedMethods} from '@luma.gl/api';\nimport type {Device, ResourceProps} from '@luma.gl/api';\nimport GL from '@luma.gl/constants';\nimport {isWebGL2, assertWebGLContext} from '../../context/context/webgl-checks';\nimport WebGLDevice from '../webgl-device';\n\n// Requires full GL enum to be bundled... Make these bindings dependent on dynamic import (debug)?\nimport {getKey, getKeyValue} from './constants-to-keys';\n\nconst ERR_RESOURCE_METHOD_UNDEFINED = 'Resource subclass must define virtual methods';\n\n/**\n * Base class for WebGL object wrappers\n */\n export default abstract class WebGLResource<Props extends ResourceProps> extends Resource<Props> {\n readonly device: WebGLDevice;\n readonly gl: WebGLRenderingContext;\n readonly gl2: WebGL2RenderingContext;\n private _handle: any;\n\n private _bound = false;\n // Only meaningful for resources that allocate GPU memory\n byteLength = 0;\n\n constructor(device: Device, props: Props, defaultProps: Required<Props>) {\n super(device, props, defaultProps);\n\n this.device = WebGLDevice.attach(device);\n const gl = this.device.gl;\n\n assertWebGLContext(gl);\n\n // extends \n const {id} = props || {};\n this.gl = gl;\n this.gl2 = gl as WebGL2RenderingContext;\n this.id = id || uid(this.constructor.name);\n\n // Set the handle\n // If handle was provided, use it, otherwise create a new handle\n\n // TODO - Stores the handle with context loss information\n // this.glCount = glGetContextLossCount(this.gl);\n\n // Default VertexArray needs to be created with null handle, so compare against undefined\n this._handle = props?.handle;\n if (this._handle === undefined) {\n this._handle = this._createHandle();\n }\n\n this.byteLength = 0;\n }\n\n override toString(): string {\n return `${this.constructor.name}(${this.id})`;\n }\n\n get handle() {\n // TODO - Add context loss handling\n // Will regenerate and reinitialize the handle if necessary\n // const glCount = glGetContextLossCount(this.gl);\n // if (this.glCount !== glCount) {\n // this._handle = this._createHandle(this.props);\n // this._glCount = glCount;\n // // Reinitialize object\n // this.initialize(this.props);\n // }\n return this._handle;\n }\n\n override destroy(): void {\n this.delete();\n }\n\n override delete({deleteChildren = false} = {}) {\n // Delete this object, and get refs to any children\n // @ts-expect-error\n const children = this._handle && this._deleteHandle(this._handle);\n if (this._handle) {\n this.removeStats();\n }\n this._handle = null;\n\n // Optionally, recursively delete the children\n // @ts-expect-error\n if (children && deleteChildren) {\n // @ts-expect-error\n children.filter(Boolean).forEach((child) => child.delete());\n }\n\n return this;\n }\n\n bind(funcOrHandle = this.handle) {\n if (typeof funcOrHandle !== 'function') {\n this._bindHandle(funcOrHandle);\n return this;\n }\n\n let value;\n\n if (!this._bound) {\n this._bindHandle(this.handle);\n this._bound = true;\n\n value = funcOrHandle();\n\n this._bound = false;\n this._bindHandle(null);\n } else {\n value = funcOrHandle();\n }\n\n return value;\n }\n\n unbind() {\n this.bind(null);\n }\n\n /**\n * Query a Resource parameter\n *\n * @param name\n * @return param\n */\n getParameter(pname: number, props: any = {}): any {\n pname = getKeyValue(this.gl, pname);\n assert(pname);\n\n // @ts-expect-error\n const parameters = this.constructor.PARAMETERS || {};\n\n // Use parameter definitions to handle unsupported parameters\n const parameter = parameters[pname];\n if (parameter) {\n const isWebgl2 = isWebGL2(this.gl);\n\n // Check if we can query for this parameter\n const parameterAvailable =\n (!('webgl2' in parameter) || isWebgl2) &&\n (!('extension' in parameter) || this.gl.getExtension(parameter.extension));\n\n if (!parameterAvailable) {\n const webgl1Default = parameter.webgl1;\n const webgl2Default = 'webgl2' in parameter ? parameter.webgl2 : parameter.webgl1;\n const defaultValue = isWebgl2 ? webgl2Default : webgl1Default;\n return defaultValue;\n }\n }\n\n // If unknown parameter - Could be a valid parameter not covered by PARAMS\n // Attempt to query for it and let WebGL report errors\n return this._getParameter(pname, props);\n }\n\n // Many resources support a getParameter call -\n // getParameters will get all parameters - slow but useful for debugging\n // eslint-disable-next-line complexity\n getParameters(options: {parameters?: any, keys?: any} = {}) {\n const {parameters, keys} = options;\n\n // Get parameter definitions for this Resource\n // @ts-expect-error\n const PARAMETERS = this.constructor.PARAMETERS || {};\n\n const isWebgl2 = isWebGL2(this.gl);\n\n const values: Record<string, any> = {};\n\n // Query all parameters if no list provided\n const parameterKeys = parameters || Object.keys(PARAMETERS);\n\n // WEBGL limits\n for (const pname of parameterKeys) {\n const parameter = PARAMETERS[pname];\n\n // Check if this parameter is available on this platform\n const parameterAvailable =\n parameter &&\n (!('webgl2' in parameter) || isWebgl2) &&\n (!('extension' in parameter) || this.gl.getExtension(parameter.extension));\n\n if (parameterAvailable) {\n const key = keys ? getKey(this.gl, pname) : pname;\n values[key] = this.getParameter(pname, options);\n if (keys && parameter.type === 'GLenum') {\n values[key] = getKey(this.gl, values[key]);\n }\n }\n }\n\n return values;\n }\n\n /**\n * Update a Resource setting\n *\n * @todo - cache parameter to avoid issuing WebGL calls?\n *\n * @param pname - parameter (GL constant, value or key)\n * @param value {GLint|GLfloat|GLenum} \n * @return returns self to enable chaining\n */\n setParameter(pname: GL | string, value: any): this {\n pname = getKeyValue(this.gl, pname);\n assert(pname);\n\n // @ts-expect-error\n const parameters = this.constructor.PARAMETERS || {};\n\n const parameter = parameters[pname];\n if (parameter) {\n const isWebgl2 = isWebGL2(this.gl);\n\n // Check if this parameter is available on this platform\n const parameterAvailable =\n (!('webgl2' in parameter) || isWebgl2) &&\n (!('extension' in parameter) || this.gl.getExtension(parameter.extension));\n\n if (!parameterAvailable) {\n throw new Error('Parameter not available on this platform');\n }\n\n // Handle string keys\n if (parameter.type === 'GLenum') {\n // @ts-expect-error\n value = getKeyValue(value);\n }\n }\n\n // If unknown parameter - Could be a valid parameter not covered by PARAMS\n // attempt to set it and let WebGL report errors\n this._setParameter(pname, value);\n return this;\n }\n\n /*\n * Batch update resource parameters\n * Assumes the subclass supports a setParameter call\n */\n setParameters(parameters: Record<GL, any>) {\n for (const pname in parameters) {\n this.setParameter(pname, parameters[pname]);\n }\n return this;\n }\n\n // Install stubs for removed methods\n stubRemovedMethods(className: string, version: string, methodNames: string[]) {\n return stubRemovedMethods(this, className, version, methodNames);\n }\n\n // PUBLIC VIRTUAL METHODS\n initialize(props: ResourceProps) {}\n\n // PROTECTED METHODS - These must be overridden by subclass\n _createHandle() {\n throw new Error(ERR_RESOURCE_METHOD_UNDEFINED);\n }\n\n _deleteHandle() {\n throw new Error(ERR_RESOURCE_METHOD_UNDEFINED);\n }\n\n _bindHandle(handle: any) {\n throw new Error(ERR_RESOURCE_METHOD_UNDEFINED);\n }\n\n _getOptsFromHandle() {\n throw new Error(ERR_RESOURCE_METHOD_UNDEFINED);\n }\n\n _getParameter(pname: GL, props: Record<string, any>): number {\n throw new Error(ERR_RESOURCE_METHOD_UNDEFINED);\n }\n\n _setParameter(pname: GL | string, value: any) {\n throw new Error(ERR_RESOURCE_METHOD_UNDEFINED);\n }\n\n // PRIVATE METHODS\n\n /*\n _addStats() {\n const name = this.constructor.name;\n const stats = lumaStats.get('Resource Counts');\n\n stats.get('Resources Created').incrementCount();\n stats.get(`${name}s Created`).incrementCount();\n stats.get(`${name}s Active`).incrementCount();\n }\n\n _removeStats() {\n const name = this.constructor.name;\n const stats = lumaStats.get('Resource Counts');\n\n stats.get(`${name}s Active`).decrementCount();\n }\n\n trackAllocatedMemory(bytes, name = this.constructor.name) {\n const stats = lumaStats.get('Memory Usage');\n\n stats.get('GPU Memory').addCount(bytes);\n stats.get(`${name} Memory`).addCount(bytes);\n this.byteLength = bytes;\n }\n\n trackDeallocatedMemory(name = this.constructor.name) {\n const stats = lumaStats.get('Memory Usage');\n\n stats.get('GPU Memory').subtractCount(this.byteLength);\n stats.get(`${name} Memory`).subtractCount(this.byteLength);\n this.byteLength = 0;\n }\n */\n}\n"],"mappings":"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"}