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

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 (417) 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/adapter/converters/device-parameters.ts +5 -2
  162. package/src/adapter/converters/sampler-parameters.ts +4 -2
  163. package/src/adapter/converters/texture-formats.ts +3 -1
  164. package/src/adapter/device-helpers/get-device-info.ts +8 -8
  165. package/src/adapter/helpers/get-shader-info.ts +1 -1
  166. package/src/adapter/helpers/get-shader-layout.ts +4 -4
  167. package/src/adapter/helpers/parse-shader-compiler-log.ts +1 -1
  168. package/src/adapter/helpers/set-uniform.ts +2 -0
  169. package/src/adapter/objects/webgl-renderbuffer.ts +1 -1
  170. package/src/adapter/objects/webgl-resource.ts +1 -1
  171. package/src/adapter/objects/webgl-vertex-array-object.ts +1 -1
  172. package/src/adapter/resources/webgl-buffer.ts +6 -6
  173. package/src/adapter/resources/webgl-command-encoder.ts +1 -1
  174. package/src/adapter/resources/webgl-framebuffer.ts +3 -4
  175. package/src/adapter/resources/webgl-render-pipeline.ts +19 -20
  176. package/src/adapter/resources/webgl-shader.ts +1 -1
  177. package/src/adapter/resources/webgl-texture.ts +8 -9
  178. package/src/adapter/webgl-canvas-context.ts +2 -2
  179. package/src/adapter/webgl-device.ts +12 -2
  180. package/src/classic/accessor.ts +1 -1
  181. package/src/classic/buffer.ts +3 -3
  182. package/src/classic/typed-array-utils.ts +1 -1
  183. package/src/context/context/create-browser-context.ts +4 -2
  184. package/src/context/context/create-headless-context.ts +2 -2
  185. package/src/context/debug/spector.ts +5 -4
  186. package/src/context/debug/webgl-developer-tools.ts +1 -0
  187. package/src/context/polyfill/polyfill-table.ts +1 -0
  188. package/src/context/polyfill/polyfill-vertex-array-object.ts +2 -0
  189. package/src/context/state-tracker/track-context-state.ts +6 -5
  190. package/src/context/state-tracker/with-parameters.ts +1 -1
  191. package/src/index.ts +1 -5
  192. package/src/types/webgl.ts +2 -0
  193. package/dist/bundle.d.ts +0 -2
  194. package/dist/bundle.d.ts.map +0 -1
  195. package/dist/bundle.js +0 -4
  196. package/dist/dist.min.js +0 -1
  197. package/dist/es5/adapter/converters/device-parameters.js +0 -139
  198. package/dist/es5/adapter/converters/device-parameters.js.map +0 -1
  199. package/dist/es5/adapter/converters/renderbuffer-formats.js +0 -151
  200. package/dist/es5/adapter/converters/renderbuffer-formats.js.map +0 -1
  201. package/dist/es5/adapter/converters/sampler-parameters.js +0 -182
  202. package/dist/es5/adapter/converters/sampler-parameters.js.map +0 -1
  203. package/dist/es5/adapter/converters/texture-formats.js +0 -950
  204. package/dist/es5/adapter/converters/texture-formats.js.map +0 -1
  205. package/dist/es5/adapter/converters/vertex-formats.js +0 -36
  206. package/dist/es5/adapter/converters/vertex-formats.js.map +0 -1
  207. package/dist/es5/adapter/device-helpers/device-features.js +0 -121
  208. package/dist/es5/adapter/device-helpers/device-features.js.map +0 -1
  209. package/dist/es5/adapter/device-helpers/device-limits.js +0 -54
  210. package/dist/es5/adapter/device-helpers/device-limits.js.map +0 -1
  211. package/dist/es5/adapter/device-helpers/get-device-info.js +0 -49
  212. package/dist/es5/adapter/device-helpers/get-device-info.js.map +0 -1
  213. package/dist/es5/adapter/device-helpers/is-old-ie.js +0 -15
  214. package/dist/es5/adapter/device-helpers/is-old-ie.js.map +0 -1
  215. package/dist/es5/adapter/helpers/attribute-utils.js +0 -69
  216. package/dist/es5/adapter/helpers/attribute-utils.js.map +0 -1
  217. package/dist/es5/adapter/helpers/get-shader-info.js +0 -31
  218. package/dist/es5/adapter/helpers/get-shader-info.js.map +0 -1
  219. package/dist/es5/adapter/helpers/get-shader-layout.js +0 -311
  220. package/dist/es5/adapter/helpers/get-shader-layout.js.map +0 -1
  221. package/dist/es5/adapter/helpers/parse-shader-compiler-log.js +0 -54
  222. package/dist/es5/adapter/helpers/parse-shader-compiler-log.js.map +0 -1
  223. package/dist/es5/adapter/helpers/set-uniform.js +0 -92
  224. package/dist/es5/adapter/helpers/set-uniform.js.map +0 -1
  225. package/dist/es5/adapter/helpers/uniforms.js +0 -88
  226. package/dist/es5/adapter/helpers/uniforms.js.map +0 -1
  227. package/dist/es5/adapter/objects/constants-to-keys.js +0 -43
  228. package/dist/es5/adapter/objects/constants-to-keys.js.map +0 -1
  229. package/dist/es5/adapter/objects/webgl-renderbuffer.js +0 -122
  230. package/dist/es5/adapter/objects/webgl-renderbuffer.js.map +0 -1
  231. package/dist/es5/adapter/objects/webgl-resource.js +0 -233
  232. package/dist/es5/adapter/objects/webgl-resource.js.map +0 -1
  233. package/dist/es5/adapter/objects/webgl-vertex-array-object.js +0 -109
  234. package/dist/es5/adapter/objects/webgl-vertex-array-object.js.map +0 -1
  235. package/dist/es5/adapter/resources/webgl-buffer.js +0 -196
  236. package/dist/es5/adapter/resources/webgl-buffer.js.map +0 -1
  237. package/dist/es5/adapter/resources/webgl-command-buffer.js +0 -70
  238. package/dist/es5/adapter/resources/webgl-command-buffer.js.map +0 -1
  239. package/dist/es5/adapter/resources/webgl-command-encoder.js +0 -80
  240. package/dist/es5/adapter/resources/webgl-command-encoder.js.map +0 -1
  241. package/dist/es5/adapter/resources/webgl-external-texture.js +0 -2
  242. package/dist/es5/adapter/resources/webgl-external-texture.js.map +0 -1
  243. package/dist/es5/adapter/resources/webgl-framebuffer.js +0 -275
  244. package/dist/es5/adapter/resources/webgl-framebuffer.js.map +0 -1
  245. package/dist/es5/adapter/resources/webgl-render-pass.js +0 -45
  246. package/dist/es5/adapter/resources/webgl-render-pass.js.map +0 -1
  247. package/dist/es5/adapter/resources/webgl-render-pipeline.js +0 -385
  248. package/dist/es5/adapter/resources/webgl-render-pipeline.js.map +0 -1
  249. package/dist/es5/adapter/resources/webgl-sampler.js +0 -75
  250. package/dist/es5/adapter/resources/webgl-sampler.js.map +0 -1
  251. package/dist/es5/adapter/resources/webgl-shader.js +0 -111
  252. package/dist/es5/adapter/resources/webgl-shader.js.map +0 -1
  253. package/dist/es5/adapter/resources/webgl-texture.js +0 -826
  254. package/dist/es5/adapter/resources/webgl-texture.js.map +0 -1
  255. package/dist/es5/adapter/webgl-canvas-context.js +0 -72
  256. package/dist/es5/adapter/webgl-canvas-context.js.map +0 -1
  257. package/dist/es5/adapter/webgl-device.js +0 -387
  258. package/dist/es5/adapter/webgl-device.js.map +0 -1
  259. package/dist/es5/bundle.js +0 -6
  260. package/dist/es5/bundle.js.map +0 -1
  261. package/dist/es5/classic/accessor.js +0 -151
  262. package/dist/es5/classic/accessor.js.map +0 -1
  263. package/dist/es5/classic/buffer.js +0 -398
  264. package/dist/es5/classic/buffer.js.map +0 -1
  265. package/dist/es5/classic/typed-array-utils.js +0 -99
  266. package/dist/es5/classic/typed-array-utils.js.map +0 -1
  267. package/dist/es5/context/context/create-browser-context.js +0 -66
  268. package/dist/es5/context/context/create-browser-context.js.map +0 -1
  269. package/dist/es5/context/context/create-headless-context.js +0 -47
  270. package/dist/es5/context/context/create-headless-context.js.map +0 -1
  271. package/dist/es5/context/context/webgl-checks.js +0 -44
  272. package/dist/es5/context/context/webgl-checks.js.map +0 -1
  273. package/dist/es5/context/debug/spector.js +0 -99
  274. package/dist/es5/context/debug/spector.js.map +0 -1
  275. package/dist/es5/context/debug/webgl-developer-tools.js +0 -146
  276. package/dist/es5/context/debug/webgl-developer-tools.js.map +0 -1
  277. package/dist/es5/context/parameters/unified-parameter-api.js +0 -76
  278. package/dist/es5/context/parameters/unified-parameter-api.js.map +0 -1
  279. package/dist/es5/context/parameters/webgl-parameter-tables.js +0 -346
  280. package/dist/es5/context/parameters/webgl-parameter-tables.js.map +0 -1
  281. package/dist/es5/context/polyfill/context-data.js +0 -18
  282. package/dist/es5/context/polyfill/context-data.js.map +0 -1
  283. package/dist/es5/context/polyfill/get-parameter-polyfill.js +0 -69
  284. package/dist/es5/context/polyfill/get-parameter-polyfill.js.map +0 -1
  285. package/dist/es5/context/polyfill/polyfill-context.js +0 -109
  286. package/dist/es5/context/polyfill/polyfill-context.js.map +0 -1
  287. package/dist/es5/context/polyfill/polyfill-table.js +0 -143
  288. package/dist/es5/context/polyfill/polyfill-table.js.map +0 -1
  289. package/dist/es5/context/polyfill/polyfill-vertex-array-object.js +0 -271
  290. package/dist/es5/context/polyfill/polyfill-vertex-array-object.js.map +0 -1
  291. package/dist/es5/context/state-tracker/deep-array-equal.js +0 -23
  292. package/dist/es5/context/state-tracker/deep-array-equal.js.map +0 -1
  293. package/dist/es5/context/state-tracker/track-context-state.js +0 -167
  294. package/dist/es5/context/state-tracker/track-context-state.js.map +0 -1
  295. package/dist/es5/context/state-tracker/with-parameters.js +0 -40
  296. package/dist/es5/context/state-tracker/with-parameters.js.map +0 -1
  297. package/dist/es5/index.js +0 -249
  298. package/dist/es5/index.js.map +0 -1
  299. package/dist/es5/init.js +0 -7
  300. package/dist/es5/init.js.map +0 -1
  301. package/dist/es5/types/webgl.js +0 -5
  302. package/dist/es5/types/webgl.js.map +0 -1
  303. package/dist/es5/types.js +0 -2
  304. package/dist/es5/types.js.map +0 -1
  305. package/dist/esm/adapter/converters/device-parameters.js +0 -137
  306. package/dist/esm/adapter/converters/device-parameters.js.map +0 -1
  307. package/dist/esm/adapter/converters/renderbuffer-formats.js +0 -181
  308. package/dist/esm/adapter/converters/renderbuffer-formats.js.map +0 -1
  309. package/dist/esm/adapter/converters/sampler-parameters.js +0 -172
  310. package/dist/esm/adapter/converters/sampler-parameters.js.map +0 -1
  311. package/dist/esm/adapter/converters/texture-formats.js +0 -901
  312. package/dist/esm/adapter/converters/texture-formats.js.map +0 -1
  313. package/dist/esm/adapter/converters/vertex-formats.js +0 -29
  314. package/dist/esm/adapter/converters/vertex-formats.js.map +0 -1
  315. package/dist/esm/adapter/device-helpers/device-features.js +0 -95
  316. package/dist/esm/adapter/device-helpers/device-features.js.map +0 -1
  317. package/dist/esm/adapter/device-helpers/device-limits.js +0 -88
  318. package/dist/esm/adapter/device-helpers/device-limits.js.map +0 -1
  319. package/dist/esm/adapter/device-helpers/get-device-info.js +0 -42
  320. package/dist/esm/adapter/device-helpers/get-device-info.js.map +0 -1
  321. package/dist/esm/adapter/device-helpers/is-old-ie.js +0 -9
  322. package/dist/esm/adapter/device-helpers/is-old-ie.js.map +0 -1
  323. package/dist/esm/adapter/helpers/attribute-utils.js +0 -64
  324. package/dist/esm/adapter/helpers/attribute-utils.js.map +0 -1
  325. package/dist/esm/adapter/helpers/get-shader-info.js +0 -25
  326. package/dist/esm/adapter/helpers/get-shader-info.js.map +0 -1
  327. package/dist/esm/adapter/helpers/get-shader-layout.js +0 -282
  328. package/dist/esm/adapter/helpers/get-shader-layout.js.map +0 -1
  329. package/dist/esm/adapter/helpers/parse-shader-compiler-log.js +0 -30
  330. package/dist/esm/adapter/helpers/parse-shader-compiler-log.js.map +0 -1
  331. package/dist/esm/adapter/helpers/set-uniform.js +0 -85
  332. package/dist/esm/adapter/helpers/set-uniform.js.map +0 -1
  333. package/dist/esm/adapter/helpers/uniforms.js +0 -89
  334. package/dist/esm/adapter/helpers/uniforms.js.map +0 -1
  335. package/dist/esm/adapter/objects/constants-to-keys.js +0 -35
  336. package/dist/esm/adapter/objects/constants-to-keys.js.map +0 -1
  337. package/dist/esm/adapter/objects/webgl-renderbuffer.js +0 -78
  338. package/dist/esm/adapter/objects/webgl-renderbuffer.js.map +0 -1
  339. package/dist/esm/adapter/objects/webgl-resource.js +0 -163
  340. package/dist/esm/adapter/objects/webgl-resource.js.map +0 -1
  341. package/dist/esm/adapter/objects/webgl-vertex-array-object.js +0 -74
  342. package/dist/esm/adapter/objects/webgl-vertex-array-object.js.map +0 -1
  343. package/dist/esm/adapter/resources/webgl-buffer.js +0 -134
  344. package/dist/esm/adapter/resources/webgl-buffer.js.map +0 -1
  345. package/dist/esm/adapter/resources/webgl-command-buffer.js +0 -50
  346. package/dist/esm/adapter/resources/webgl-command-buffer.js.map +0 -1
  347. package/dist/esm/adapter/resources/webgl-command-encoder.js +0 -41
  348. package/dist/esm/adapter/resources/webgl-command-encoder.js.map +0 -1
  349. package/dist/esm/adapter/resources/webgl-external-texture.js +0 -2
  350. package/dist/esm/adapter/resources/webgl-external-texture.js.map +0 -1
  351. package/dist/esm/adapter/resources/webgl-framebuffer.js +0 -207
  352. package/dist/esm/adapter/resources/webgl-framebuffer.js.map +0 -1
  353. package/dist/esm/adapter/resources/webgl-render-pass.js +0 -14
  354. package/dist/esm/adapter/resources/webgl-render-pass.js.map +0 -1
  355. package/dist/esm/adapter/resources/webgl-render-pipeline.js +0 -311
  356. package/dist/esm/adapter/resources/webgl-render-pipeline.js.map +0 -1
  357. package/dist/esm/adapter/resources/webgl-sampler.js +0 -42
  358. package/dist/esm/adapter/resources/webgl-sampler.js.map +0 -1
  359. package/dist/esm/adapter/resources/webgl-shader.js +0 -62
  360. package/dist/esm/adapter/resources/webgl-shader.js.map +0 -1
  361. package/dist/esm/adapter/resources/webgl-texture.js +0 -714
  362. package/dist/esm/adapter/resources/webgl-texture.js.map +0 -1
  363. package/dist/esm/adapter/webgl-canvas-context.js +0 -41
  364. package/dist/esm/adapter/webgl-canvas-context.js.map +0 -1
  365. package/dist/esm/adapter/webgl-device.js +0 -276
  366. package/dist/esm/adapter/webgl-device.js.map +0 -1
  367. package/dist/esm/bundle.js +0 -4
  368. package/dist/esm/bundle.js.map +0 -1
  369. package/dist/esm/classic/accessor.js +0 -120
  370. package/dist/esm/classic/accessor.js.map +0 -1
  371. package/dist/esm/classic/buffer.js +0 -327
  372. package/dist/esm/classic/buffer.js.map +0 -1
  373. package/dist/esm/classic/typed-array-utils.js +0 -92
  374. package/dist/esm/classic/typed-array-utils.js.map +0 -1
  375. package/dist/esm/context/context/create-browser-context.js +0 -53
  376. package/dist/esm/context/context/create-browser-context.js.map +0 -1
  377. package/dist/esm/context/context/create-headless-context.js +0 -39
  378. package/dist/esm/context/context/create-headless-context.js.map +0 -1
  379. package/dist/esm/context/context/webgl-checks.js +0 -31
  380. package/dist/esm/context/context/webgl-checks.js.map +0 -1
  381. package/dist/esm/context/debug/spector.js +0 -64
  382. package/dist/esm/context/debug/spector.js.map +0 -1
  383. package/dist/esm/context/debug/webgl-developer-tools.js +0 -97
  384. package/dist/esm/context/debug/webgl-developer-tools.js.map +0 -1
  385. package/dist/esm/context/parameters/unified-parameter-api.js +0 -55
  386. package/dist/esm/context/parameters/unified-parameter-api.js.map +0 -1
  387. package/dist/esm/context/parameters/webgl-parameter-tables.js +0 -427
  388. package/dist/esm/context/parameters/webgl-parameter-tables.js.map +0 -1
  389. package/dist/esm/context/polyfill/context-data.js +0 -12
  390. package/dist/esm/context/polyfill/context-data.js.map +0 -1
  391. package/dist/esm/context/polyfill/get-parameter-polyfill.js +0 -86
  392. package/dist/esm/context/polyfill/get-parameter-polyfill.js.map +0 -1
  393. package/dist/esm/context/polyfill/polyfill-context.js +0 -84
  394. package/dist/esm/context/polyfill/polyfill-context.js.map +0 -1
  395. package/dist/esm/context/polyfill/polyfill-table.js +0 -138
  396. package/dist/esm/context/polyfill/polyfill-table.js.map +0 -1
  397. package/dist/esm/context/polyfill/polyfill-vertex-array-object.js +0 -265
  398. package/dist/esm/context/polyfill/polyfill-vertex-array-object.js.map +0 -1
  399. package/dist/esm/context/state-tracker/deep-array-equal.js +0 -17
  400. package/dist/esm/context/state-tracker/deep-array-equal.js.map +0 -1
  401. package/dist/esm/context/state-tracker/track-context-state.js +0 -148
  402. package/dist/esm/context/state-tracker/track-context-state.js.map +0 -1
  403. package/dist/esm/context/state-tracker/with-parameters.js +0 -34
  404. package/dist/esm/context/state-tracker/with-parameters.js.map +0 -1
  405. package/dist/esm/index.js +0 -27
  406. package/dist/esm/index.js.map +0 -1
  407. package/dist/esm/init.js +0 -4
  408. package/dist/esm/init.js.map +0 -1
  409. package/dist/esm/types/webgl.js +0 -2
  410. package/dist/esm/types/webgl.js.map +0 -1
  411. package/dist/esm/types.js +0 -2
  412. package/dist/esm/types.js.map +0 -1
  413. package/dist/init.d.ts +0 -2
  414. package/dist/init.d.ts.map +0 -1
  415. package/dist/init.js +0 -3
  416. package/src/bundle.ts +0 -4
  417. package/src/init.ts +0 -4
@@ -1 +0,0 @@
1
- {"version":3,"file":"attribute-utils.js","names":["_constants","_interopRequireDefault","require","getPrimitiveDrawMode","drawMode","GL","POINTS","LINES","LINE_STRIP","LINE_LOOP","TRIANGLES","TRIANGLE_STRIP","TRIANGLE_FAN","Error","getPrimitiveCount","options","vertexCount","getVertexCount","primitiveCount"],"sources":["../../../../src/adapter/helpers/attribute-utils.ts"],"sourcesContent":["import GL from '@luma.gl/constants';\nimport {GLDrawMode, GLPrimitive} from '../../types/webgl';\n\n// Counts the number of complete primitives given a number of vertices and a drawMode\nexport function getPrimitiveDrawMode(drawMode: GLDrawMode): 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: GLDrawMode, 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: GLDrawMode, 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":";;;;;;;;;AAAA,IAAAA,UAAA,GAAAC,sBAAA,CAAAC,OAAA;AAIO,SAASC,oBAAoBA,CAACC,QAAoB,EAAe;EACtE,QAAQA,QAAQ;IACd,KAAKC,kBAAE,CAACC,MAAM;MACZ,OAAOD,kBAAE,CAACC,MAAM;IAClB,KAAKD,kBAAE,CAACE,KAAK;MACX,OAAOF,kBAAE,CAACE,KAAK;IACjB,KAAKF,kBAAE,CAACG,UAAU;MAChB,OAAOH,kBAAE,CAACE,KAAK;IACjB,KAAKF,kBAAE,CAACI,SAAS;MACf,OAAOJ,kBAAE,CAACE,KAAK;IACjB,KAAKF,kBAAE,CAACK,SAAS;MACf,OAAOL,kBAAE,CAACK,SAAS;IACrB,KAAKL,kBAAE,CAACM,cAAc;MACpB,OAAON,kBAAE,CAACK,SAAS;IACrB,KAAKL,kBAAE,CAACO,YAAY;MAClB,OAAOP,kBAAE,CAACK,SAAS;IACrB;MACE,MAAM,IAAIG,KAAK,CAAC,UAAU,CAAC;EAAC;AAElC;AAGO,SAASC,iBAAiBA,CAACC,OAAoD,EAAU;EAC9F,IAAOX,QAAQ,GAAiBW,OAAO,CAAhCX,QAAQ;IAAEY,WAAW,GAAID,OAAO,CAAtBC,WAAW;EAC5B,QAAQZ,QAAQ;IACd,KAAKC,kBAAE,CAACC,MAAM;IACd,KAAKD,kBAAE,CAACI,SAAS;MACf,OAAOO,WAAW;IACpB,KAAKX,kBAAE,CAACE,KAAK;MACX,OAAOS,WAAW,GAAG,CAAC;IACxB,KAAKX,kBAAE,CAACG,UAAU;MAChB,OAAOQ,WAAW,GAAG,CAAC;IACxB,KAAKX,kBAAE,CAACK,SAAS;MACf,OAAOM,WAAW,GAAG,CAAC;IACxB,KAAKX,kBAAE,CAACM,cAAc;IACtB,KAAKN,kBAAE,CAACO,YAAY;MAClB,OAAOI,WAAW,GAAG,CAAC;IACxB;MACE,MAAM,IAAIH,KAAK,CAAC,UAAU,CAAC;EAAC;AAElC;AAGO,SAASI,cAAcA,CAACF,OAAoD,EAAU;EAC3F,IAAOX,QAAQ,GAAiBW,OAAO,CAAhCX,QAAQ;IAAEY,WAAW,GAAID,OAAO,CAAtBC,WAAW;EAC5B,IAAME,cAAc,GAAGJ,iBAAiB,CAAC;IAACV,QAAQ,EAARA,QAAQ;IAAEY,WAAW,EAAXA;EAAW,CAAC,CAAC;EACjE,QAAQb,oBAAoB,CAACC,QAAQ,CAAC;IACpC,KAAKC,kBAAE,CAACC,MAAM;MACZ,OAAOY,cAAc;IACvB,KAAKb,kBAAE,CAACE,KAAK;MACX,OAAOW,cAAc,GAAG,CAAC;IAC3B,KAAKb,kBAAE,CAACK,SAAS;MACf,OAAOQ,cAAc,GAAG,CAAC;IAC3B;MACE,MAAM,IAAIL,KAAK,CAAC,UAAU,CAAC;EAAC;AAElC"}
@@ -1,31 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.getShaderInfo = getShaderInfo;
7
- function getShaderInfo(source, defaultName) {
8
- return {
9
- name: getShaderName(source, defaultName),
10
- language: 'glsl',
11
- version: getShaderVersion(source)
12
- };
13
- }
14
- function getShaderName(shader) {
15
- var defaultName = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'unnamed';
16
- var SHADER_NAME_REGEXP = /#define[\s*]SHADER_NAME[\s*]([A-Za-z0-9_-]+)[\s*]/;
17
- var match = shader.match(SHADER_NAME_REGEXP);
18
- return match ? match[1] : defaultName;
19
- }
20
- function getShaderVersion(source) {
21
- var version = 100;
22
- var words = source.match(/[^\s]+/g);
23
- if (words && words.length >= 2 && words[0] === '#version') {
24
- var v = parseInt(words[1], 10);
25
- if (Number.isFinite(v)) {
26
- version = v;
27
- }
28
- }
29
- return version;
30
- }
31
- //# sourceMappingURL=get-shader-info.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"get-shader-info.js","names":["getShaderInfo","source","defaultName","name","getShaderName","language","version","getShaderVersion","shader","arguments","length","undefined","SHADER_NAME_REGEXP","match","words","v","parseInt","Number","isFinite"],"sources":["../../../../src/adapter/helpers/get-shader-info.ts"],"sourcesContent":["// luma.gl, MIT license\n\n/** Information extracted from shader source code */\nexport type ShaderInfo = {\n name: string;\n language: 'glsl' | 'wgsl';\n version: number;\n};\n\n/** Extracts information from shader source code */\nexport function getShaderInfo(source: string, defaultName?: string): ShaderInfo {\n return {\n name: getShaderName(source, defaultName),\n language: 'glsl',\n version: getShaderVersion(source)\n };\n}\n\n/** Extracts GLSLIFY style naming of shaders: `#define SHADER_NAME ...` */\nfunction getShaderName(shader: string, defaultName: string = 'unnamed'): string {\n const SHADER_NAME_REGEXP = /#define[\\s*]SHADER_NAME[\\s*]([A-Za-z0-9_-]+)[\\s*]/;\n const match = shader.match(SHADER_NAME_REGEXP);\n return match ? match[1] : defaultName;\n}\n\n/** returns GLSL shader version of given shader string */\nfunction getShaderVersion(source: string): number {\n let version = 100;\n const words = source.match(/[^\\s]+/g);\n if (words && words.length >= 2 && words[0] === '#version') {\n const v = parseInt(words[1], 10);\n if (Number.isFinite(v)) {\n version = v;\n }\n }\n return version;\n}\n"],"mappings":";;;;;;AAUO,SAASA,aAAaA,CAACC,MAAc,EAAEC,WAAoB,EAAc;EAC9E,OAAO;IACLC,IAAI,EAAEC,aAAa,CAACH,MAAM,EAAEC,WAAW,CAAC;IACxCG,QAAQ,EAAE,MAAM;IAChBC,OAAO,EAAEC,gBAAgB,CAACN,MAAM;EAClC,CAAC;AACH;AAGA,SAASG,aAAaA,CAACI,MAAc,EAA2C;EAAA,IAAzCN,WAAmB,GAAAO,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,SAAS;EACpE,IAAMG,kBAAkB,GAAG,mDAAmD;EAC9E,IAAMC,KAAK,GAAGL,MAAM,CAACK,KAAK,CAACD,kBAAkB,CAAC;EAC9C,OAAOC,KAAK,GAAGA,KAAK,CAAC,CAAC,CAAC,GAAGX,WAAW;AACvC;AAGA,SAASK,gBAAgBA,CAACN,MAAc,EAAU;EAChD,IAAIK,OAAO,GAAG,GAAG;EACjB,IAAMQ,KAAK,GAAGb,MAAM,CAACY,KAAK,CAAC,SAAS,CAAC;EACrC,IAAIC,KAAK,IAAIA,KAAK,CAACJ,MAAM,IAAI,CAAC,IAAII,KAAK,CAAC,CAAC,CAAC,KAAK,UAAU,EAAE;IACzD,IAAMC,CAAC,GAAGC,QAAQ,CAACF,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;IAChC,IAAIG,MAAM,CAACC,QAAQ,CAACH,CAAC,CAAC,EAAE;MACtBT,OAAO,GAAGS,CAAC;IACb;EACF;EACA,OAAOT,OAAO;AAChB"}
@@ -1,311 +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.getProgramBindings = getProgramBindings;
8
- exports.getShaderLayout = getShaderLayout;
9
- var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
10
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
- var _constants = _interopRequireDefault(require("@luma.gl/constants"));
12
- var _webglChecks = require("../../context/context/webgl-checks");
13
- var _accessor = _interopRequireDefault(require("../../classic/accessor"));
14
- var _uniforms2 = require("./uniforms");
15
- var _vertexFormats = require("../converters/vertex-formats");
16
- var _SAMPLER_UNIFORMS_GL_;
17
- 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; }
18
- 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; }
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 getShaderLayout(gl, program) {
23
- var _programBindings$unif, _programBindings$vary;
24
- var programBindings = getProgramBindings(gl, program);
25
- var shaderLayout = {
26
- attributes: [],
27
- bindings: []
28
- };
29
- var _iterator = _createForOfIteratorHelper(programBindings.attributes),
30
- _step;
31
- try {
32
- for (_iterator.s(); !(_step = _iterator.n()).done;) {
33
- var attribute = _step.value;
34
- var size = Math.min(attribute.accessor.size, 4);
35
- var format = (0, _vertexFormats.getVertexFormat)(attribute.accessor.type || _constants.default.FLOAT, size);
36
- shaderLayout.attributes.push({
37
- name: attribute.name,
38
- location: attribute.location,
39
- format: format,
40
- stepMode: attribute.accessor.divisor === 1 ? 'instance' : 'vertex'
41
- });
42
- }
43
- } catch (err) {
44
- _iterator.e(err);
45
- } finally {
46
- _iterator.f();
47
- }
48
- var _iterator2 = _createForOfIteratorHelper(programBindings.uniformBlocks),
49
- _step2;
50
- try {
51
- for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
52
- var uniformBlock = _step2.value;
53
- var _uniforms = uniformBlock.uniforms.map(function (uniform) {
54
- return {
55
- name: uniform.name,
56
- format: uniform.format,
57
- byteOffset: uniform.byteOffset,
58
- byteStride: uniform.byteStride,
59
- arrayLength: uniform.arrayLength
60
- };
61
- });
62
- shaderLayout.bindings.push({
63
- type: 'uniform',
64
- name: uniformBlock.name,
65
- location: uniformBlock.location,
66
- visibility: (uniformBlock.vertex ? 0x1 : 0) & (uniformBlock.fragment ? 0x2 : 0),
67
- minBindingSize: uniformBlock.byteLength,
68
- uniforms: _uniforms
69
- });
70
- }
71
- } catch (err) {
72
- _iterator2.e(err);
73
- } finally {
74
- _iterator2.f();
75
- }
76
- var textureUnit = 0;
77
- var _iterator3 = _createForOfIteratorHelper(programBindings.uniforms),
78
- _step3;
79
- try {
80
- for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
81
- var uniform = _step3.value;
82
- if ((0, _uniforms2.isSamplerUniform)(uniform.type)) {
83
- var _getSamplerInfo = getSamplerInfo(uniform.type),
84
- viewDimension = _getSamplerInfo.viewDimension,
85
- sampleType = _getSamplerInfo.sampleType;
86
- shaderLayout.bindings.push({
87
- type: 'texture',
88
- name: uniform.name,
89
- location: textureUnit,
90
- viewDimension: viewDimension,
91
- sampleType: sampleType
92
- });
93
- uniform.textureUnit = textureUnit;
94
- textureUnit += 1;
95
- }
96
- }
97
- } catch (err) {
98
- _iterator3.e(err);
99
- } finally {
100
- _iterator3.f();
101
- }
102
- var uniforms = ((_programBindings$unif = programBindings.uniforms) === null || _programBindings$unif === void 0 ? void 0 : _programBindings$unif.filter(function (uniform) {
103
- return uniform.location !== null;
104
- })) || [];
105
- if (uniforms.length) {
106
- shaderLayout.uniforms = uniforms;
107
- }
108
- if ((_programBindings$vary = programBindings.varyings) !== null && _programBindings$vary !== void 0 && _programBindings$vary.length) {
109
- shaderLayout.varyings = programBindings.varyings;
110
- }
111
- return shaderLayout;
112
- }
113
- function getProgramBindings(gl, program) {
114
- var config = {
115
- attributes: readAttributeBindings(gl, program),
116
- uniforms: readUniformBindings(gl, program),
117
- uniformBlocks: readUniformBlocks(gl, program),
118
- varyings: readVaryings(gl, program)
119
- };
120
- Object.seal(config);
121
- return config;
122
- }
123
- function readAttributeBindings(gl, program) {
124
- var attributes = [];
125
- var count = gl.getProgramParameter(program, gl.ACTIVE_ATTRIBUTES);
126
- for (var index = 0; index < count; index++) {
127
- var activeInfo = gl.getActiveAttrib(program, index);
128
- if (!activeInfo) {
129
- throw new Error('activeInfo');
130
- }
131
- var name = activeInfo.name,
132
- compositeType = activeInfo.type,
133
- size = activeInfo.size;
134
- var location = gl.getAttribLocation(program, name);
135
- if (location >= 0) {
136
- var _decodeAttributeType = (0, _uniforms2.decodeAttributeType)(compositeType),
137
- glType = _decodeAttributeType.glType,
138
- components = _decodeAttributeType.components;
139
- ;
140
- var accessor = {
141
- type: glType,
142
- size: size * components
143
- };
144
- if (/instance/i.test(name)) {
145
- accessor.divisor = 1;
146
- }
147
- var attributeInfo = {
148
- location: location,
149
- name: name,
150
- accessor: new _accessor.default(accessor)
151
- };
152
- attributes.push(attributeInfo);
153
- }
154
- }
155
- attributes.sort(function (a, b) {
156
- return a.location - b.location;
157
- });
158
- return attributes;
159
- }
160
- function readVaryings(gl, program) {
161
- if (!(0, _webglChecks.isWebGL2)(gl)) {
162
- return [];
163
- }
164
- var gl2 = gl;
165
- var varyings = [];
166
- var count = gl.getProgramParameter(program, _constants.default.TRANSFORM_FEEDBACK_VARYINGS);
167
- for (var location = 0; location < count; location++) {
168
- var activeInfo = gl2.getTransformFeedbackVarying(program, location);
169
- if (!activeInfo) {
170
- throw new Error('activeInfo');
171
- }
172
- var name = activeInfo.name,
173
- compositeType = activeInfo.type,
174
- size = activeInfo.size;
175
- var _decodeUniformType = (0, _uniforms2.decodeUniformType)(compositeType),
176
- glType = _decodeUniformType.glType,
177
- components = _decodeUniformType.components;
178
- ;
179
- var accessor = new _accessor.default({
180
- type: glType,
181
- size: size * components
182
- });
183
- var varying = {
184
- location: location,
185
- name: name,
186
- accessor: accessor
187
- };
188
- varyings.push(varying);
189
- }
190
- varyings.sort(function (a, b) {
191
- return a.location - b.location;
192
- });
193
- return varyings;
194
- }
195
- function readUniformBindings(gl, program) {
196
- var uniforms = [];
197
- var uniformCount = gl.getProgramParameter(program, _constants.default.ACTIVE_UNIFORMS);
198
- for (var i = 0; i < uniformCount; i++) {
199
- var activeInfo = gl.getActiveUniform(program, i);
200
- if (!activeInfo) {
201
- throw new Error('activeInfo');
202
- }
203
- var rawName = activeInfo.name,
204
- size = activeInfo.size,
205
- type = activeInfo.type;
206
- var _parseUniformName = parseUniformName(rawName),
207
- name = _parseUniformName.name,
208
- isArray = _parseUniformName.isArray;
209
- var webglLocation = gl.getUniformLocation(program, name);
210
- var uniformInfo = {
211
- location: webglLocation,
212
- name: name,
213
- size: size,
214
- type: type,
215
- isArray: isArray
216
- };
217
- uniforms.push(uniformInfo);
218
- if (uniformInfo.size > 1) {
219
- for (var j = 0; j < uniformInfo.size; j++) {
220
- var elementName = "".concat(name, "[").concat(j, "]");
221
- webglLocation = gl.getUniformLocation(program, elementName);
222
- var arrayElementUniformInfo = _objectSpread(_objectSpread({}, uniformInfo), {}, {
223
- name: elementName,
224
- location: webglLocation
225
- });
226
- uniforms.push(arrayElementUniformInfo);
227
- }
228
- }
229
- }
230
- return uniforms;
231
- }
232
- function readUniformBlocks(gl, program) {
233
- if (!(0, _webglChecks.isWebGL2)(gl)) {
234
- return [];
235
- }
236
- var gl2 = gl;
237
- var getBlockParameter = function getBlockParameter(blockIndex, pname) {
238
- return gl2.getActiveUniformBlockParameter(program, blockIndex, pname);
239
- };
240
- var uniformBlocks = [];
241
- var blockCount = gl2.getProgramParameter(program, _constants.default.ACTIVE_UNIFORM_BLOCKS);
242
- for (var blockIndex = 0; blockIndex < blockCount; blockIndex++) {
243
- var blockInfo = {
244
- name: gl2.getActiveUniformBlockName(program, blockIndex) || '',
245
- location: getBlockParameter(blockIndex, _constants.default.UNIFORM_BLOCK_BINDING),
246
- byteLength: getBlockParameter(blockIndex, _constants.default.UNIFORM_BLOCK_DATA_SIZE),
247
- vertex: getBlockParameter(blockIndex, _constants.default.UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER),
248
- fragment: getBlockParameter(blockIndex, _constants.default.UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER),
249
- uniformCount: getBlockParameter(blockIndex, _constants.default.UNIFORM_BLOCK_ACTIVE_UNIFORMS),
250
- uniforms: []
251
- };
252
- var uniformIndices = getBlockParameter(blockIndex, _constants.default.UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES) || [];
253
- var uniformType = gl2.getActiveUniforms(program, uniformIndices, _constants.default.UNIFORM_TYPE);
254
- var uniformArrayLength = gl2.getActiveUniforms(program, uniformIndices, _constants.default.UNIFORM_SIZE);
255
- var uniformOffset = gl2.getActiveUniforms(program, uniformIndices, _constants.default.UNIFORM_OFFSET);
256
- var uniformStride = gl2.getActiveUniforms(program, uniformIndices, _constants.default.UNIFORM_ARRAY_STRIDE);
257
- for (var i = 0; i < blockInfo.uniformCount; ++i) {
258
- var activeInfo = gl2.getActiveUniform(program, uniformIndices[i]);
259
- if (!activeInfo) {
260
- throw new Error('activeInfo');
261
- }
262
- blockInfo.uniforms.push({
263
- name: activeInfo.name,
264
- format: (0, _uniforms2.decodeUniformType)(uniformType[i]).format,
265
- type: uniformType[i],
266
- arrayLength: uniformArrayLength[i],
267
- byteOffset: uniformOffset[i],
268
- byteStride: uniformStride[i]
269
- });
270
- }
271
- uniformBlocks.push(blockInfo);
272
- }
273
- uniformBlocks.sort(function (a, b) {
274
- return a.location - b.location;
275
- });
276
- return uniformBlocks;
277
- }
278
- var SAMPLER_UNIFORMS_GL_TO_GPU = (_SAMPLER_UNIFORMS_GL_ = {}, (0, _defineProperty2.default)(_SAMPLER_UNIFORMS_GL_, _constants.default.SAMPLER_2D, ['2d', 'float']), (0, _defineProperty2.default)(_SAMPLER_UNIFORMS_GL_, _constants.default.SAMPLER_CUBE, ['cube', 'float']), (0, _defineProperty2.default)(_SAMPLER_UNIFORMS_GL_, _constants.default.SAMPLER_3D, ['3d', 'float']), (0, _defineProperty2.default)(_SAMPLER_UNIFORMS_GL_, _constants.default.SAMPLER_2D_SHADOW, ['3d', 'depth']), (0, _defineProperty2.default)(_SAMPLER_UNIFORMS_GL_, _constants.default.SAMPLER_2D_ARRAY, ['2d-array', 'float']), (0, _defineProperty2.default)(_SAMPLER_UNIFORMS_GL_, _constants.default.SAMPLER_2D_ARRAY_SHADOW, ['2d-array', 'depth']), (0, _defineProperty2.default)(_SAMPLER_UNIFORMS_GL_, _constants.default.SAMPLER_CUBE_SHADOW, ['cube', 'float']), (0, _defineProperty2.default)(_SAMPLER_UNIFORMS_GL_, _constants.default.INT_SAMPLER_2D, ['2d', 'sint']), (0, _defineProperty2.default)(_SAMPLER_UNIFORMS_GL_, _constants.default.INT_SAMPLER_3D, ['3d', 'sint']), (0, _defineProperty2.default)(_SAMPLER_UNIFORMS_GL_, _constants.default.INT_SAMPLER_CUBE, ['cube', 'sint']), (0, _defineProperty2.default)(_SAMPLER_UNIFORMS_GL_, _constants.default.INT_SAMPLER_2D_ARRAY, ['2d-array', 'uint']), (0, _defineProperty2.default)(_SAMPLER_UNIFORMS_GL_, _constants.default.UNSIGNED_INT_SAMPLER_2D, ['2d', 'uint']), (0, _defineProperty2.default)(_SAMPLER_UNIFORMS_GL_, _constants.default.UNSIGNED_INT_SAMPLER_3D, ['3d', 'uint']), (0, _defineProperty2.default)(_SAMPLER_UNIFORMS_GL_, _constants.default.UNSIGNED_INT_SAMPLER_CUBE, ['cube', 'uint']), (0, _defineProperty2.default)(_SAMPLER_UNIFORMS_GL_, _constants.default.UNSIGNED_INT_SAMPLER_2D_ARRAY, ['2d-array', 'uint']), _SAMPLER_UNIFORMS_GL_);
279
- function getSamplerInfo(type) {
280
- var sampler = SAMPLER_UNIFORMS_GL_TO_GPU[type];
281
- if (!sampler) {
282
- throw new Error('sampler');
283
- }
284
- var _sampler = (0, _slicedToArray2.default)(sampler, 2),
285
- viewDimension = _sampler[0],
286
- sampleType = _sampler[1];
287
- return {
288
- viewDimension: viewDimension,
289
- sampleType: sampleType
290
- };
291
- }
292
- function parseUniformName(name) {
293
- if (name[name.length - 1] !== ']') {
294
- return {
295
- name: name,
296
- length: 1,
297
- isArray: false
298
- };
299
- }
300
- var UNIFORM_NAME_REGEXP = /([^[]*)(\[[0-9]+\])?/;
301
- var matches = name.match(UNIFORM_NAME_REGEXP);
302
- if (!matches || matches.length < 2) {
303
- throw new Error("Failed to parse GLSL uniform name ".concat(name));
304
- }
305
- return {
306
- name: matches[1],
307
- length: matches[2] ? 1 : 0,
308
- isArray: Boolean(matches[2])
309
- };
310
- }
311
- //# sourceMappingURL=get-shader-layout.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"get-shader-layout.js","names":["_constants","_interopRequireDefault","require","_webglChecks","_accessor","_uniforms2","_vertexFormats","_SAMPLER_UNIFORMS_GL_","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","_createForOfIteratorHelper","o","allowArrayLike","it","Symbol","iterator","Array","isArray","_unsupportedIterableToArray","F","s","n","done","value","e","_e","f","TypeError","normalCompletion","didErr","err","call","step","next","_e2","return","minLen","_arrayLikeToArray","prototype","toString","slice","constructor","name","from","test","arr","len","arr2","getShaderLayout","gl","program","_programBindings$unif","_programBindings$vary","programBindings","getProgramBindings","shaderLayout","attributes","bindings","_iterator","_step","attribute","size","Math","min","accessor","format","getVertexFormat","type","GL","FLOAT","location","stepMode","divisor","_iterator2","uniformBlocks","_step2","uniformBlock","uniforms","map","uniform","byteOffset","byteStride","arrayLength","visibility","vertex","fragment","minBindingSize","byteLength","textureUnit","_iterator3","_step3","isSamplerUniform","_getSamplerInfo","getSamplerInfo","viewDimension","sampleType","varyings","config","readAttributeBindings","readUniformBindings","readUniformBlocks","readVaryings","seal","count","getProgramParameter","ACTIVE_ATTRIBUTES","index","activeInfo","getActiveAttrib","Error","compositeType","getAttribLocation","_decodeAttributeType","decodeAttributeType","glType","components","attributeInfo","Accessor","sort","a","b","isWebGL2","gl2","TRANSFORM_FEEDBACK_VARYINGS","getTransformFeedbackVarying","_decodeUniformType","decodeUniformType","varying","uniformCount","ACTIVE_UNIFORMS","getActiveUniform","rawName","_parseUniformName","parseUniformName","webglLocation","getUniformLocation","uniformInfo","j","elementName","concat","arrayElementUniformInfo","getBlockParameter","blockIndex","pname","getActiveUniformBlockParameter","blockCount","ACTIVE_UNIFORM_BLOCKS","blockInfo","getActiveUniformBlockName","UNIFORM_BLOCK_BINDING","UNIFORM_BLOCK_DATA_SIZE","UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER","UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER","UNIFORM_BLOCK_ACTIVE_UNIFORMS","uniformIndices","UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES","uniformType","getActiveUniforms","UNIFORM_TYPE","uniformArrayLength","UNIFORM_SIZE","uniformOffset","UNIFORM_OFFSET","uniformStride","UNIFORM_ARRAY_STRIDE","SAMPLER_UNIFORMS_GL_TO_GPU","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","sampler","_sampler","_slicedToArray2","UNIFORM_NAME_REGEXP","matches","match","Boolean"],"sources":["../../../../src/adapter/helpers/get-shader-layout.ts"],"sourcesContent":["// luma.gl, MIT license\n\nimport {\n ShaderLayout,\n // BindingLayout,\n UniformBinding,\n UniformBlockBinding,\n ProgramBindings,\n AttributeBinding,\n VaryingBinding,\n // AttributeLayout,\n AccessorObject\n} from '@luma.gl/api';\nimport GL from '@luma.gl/constants';\nimport {isWebGL2} from '../../context/context/webgl-checks';\nimport Accessor from '../../classic/accessor'; // TODO - should NOT depend on classic API\nimport {decodeUniformType, decodeAttributeType} from './uniforms';\nimport {getVertexFormat} from '../converters/vertex-formats';\nimport {isSamplerUniform} from './uniforms';\n\n/**\n * Extract metadata describing binding information for a program's shaders\n * Note: `linkProgram()` needs to have been called\n * (although linking does not need to have been successful).\n */\nexport function getShaderLayout(gl: WebGLRenderingContext, program: WebGLProgram): ShaderLayout {\n const programBindings = getProgramBindings(gl, program);\n\n const shaderLayout: ShaderLayout = {\n attributes: [],\n bindings: []\n };\n\n for (const attribute of programBindings.attributes) {\n // TODO - multicolumn attributes like a matrix4 can be up to 16 elts...\n const size = Math.min(attribute.accessor.size, 4);\n const format =\n // attribute.accessor.format ||\n getVertexFormat(attribute.accessor.type || GL.FLOAT, size);\n shaderLayout.attributes.push({\n name: attribute.name,\n location: attribute.location,\n format,\n stepMode: attribute.accessor.divisor === 1 ? 'instance' : 'vertex'\n });\n }\n\n // Uniform blocks\n for (const uniformBlock of programBindings.uniformBlocks) {\n const uniforms = uniformBlock.uniforms.map((uniform) => ({\n name: uniform.name,\n format: uniform.format,\n byteOffset: uniform.byteOffset,\n byteStride: uniform.byteStride,\n arrayLength: uniform.arrayLength\n }));\n shaderLayout.bindings.push({\n type: 'uniform',\n name: uniformBlock.name,\n location: uniformBlock.location,\n visibility: (uniformBlock.vertex ? 0x1 : 0) & (uniformBlock.fragment ? 0x2 : 0),\n minBindingSize: uniformBlock.byteLength,\n uniforms\n });\n }\n\n let textureUnit = 0;\n for (const uniform of programBindings.uniforms) {\n if (isSamplerUniform(uniform.type)) {\n const {viewDimension, sampleType} = getSamplerInfo(uniform.type);\n shaderLayout.bindings.push({\n type: 'texture',\n name: uniform.name,\n location: textureUnit,\n viewDimension,\n sampleType\n });\n\n // @ts-expect-error\n uniform.textureUnit = textureUnit;\n textureUnit += 1;\n }\n }\n\n const uniforms = programBindings.uniforms?.filter((uniform) => uniform.location !== null) || [];\n if (uniforms.length) {\n shaderLayout.uniforms = uniforms;\n }\n if (programBindings.varyings?.length) {\n shaderLayout.varyings = programBindings.varyings;\n }\n\n return shaderLayout;\n}\n\n/**\n * Extract metadata describing binding information for a program's shaders\n * Note: `linkProgram()` needs to have been called\n * (although linking does not need to have been successful).\n */\nexport function getProgramBindings(\n gl: WebGLRenderingContext,\n program: WebGLProgram\n): ProgramBindings {\n const config: ProgramBindings = {\n attributes: readAttributeBindings(gl, program),\n uniforms: readUniformBindings(gl, program),\n uniformBlocks: readUniformBlocks(gl, program),\n varyings: readVaryings(gl, program)\n };\n\n Object.seal(config);\n return config;\n // generateWebGPUStyleBindings(bindings);\n}\n\n/**\n * Extract info about all transform feedback varyings\n *\n * linkProgram needs to have been called, although linking does not need to have been successful\n */\nfunction readAttributeBindings(\n gl: WebGLRenderingContext,\n program: WebGLProgram\n): AttributeBinding[] {\n const attributes: AttributeBinding[] = [];\n\n const count = gl.getProgramParameter(program, gl.ACTIVE_ATTRIBUTES);\n\n for (let index = 0; index < count; index++) {\n const activeInfo = gl.getActiveAttrib(program, index);\n if (!activeInfo) {\n throw new Error('activeInfo');\n }\n const {name, type: compositeType, size} = activeInfo;\n const location = gl.getAttribLocation(program, name);\n // Add only user provided attributes, for built-in attributes like\n // `gl_InstanceID` locaiton will be < 0\n if (location >= 0) {\n const {glType, components} = decodeAttributeType(compositeType);;\n const accessor: AccessorObject = {type: glType, size: size * components};\n // Any attribute name containing the word \"instance\" will be assumed to be instanced\n if (/instance/i.test(name)) {\n accessor.divisor = 1;\n }\n const attributeInfo = {location, name, accessor: new Accessor(accessor)}; // Base values\n attributes.push(attributeInfo);\n }\n }\n\n attributes.sort((a: AttributeBinding, b: AttributeBinding) => a.location - b.location);\n return attributes;\n}\n\n/**\n * Extract info about all transform feedback varyings\n *\n * linkProgram needs to have been called, although linking does not need to have been successful\n */\nfunction readVaryings(gl: WebGLRenderingContext, program: WebGLProgram): VaryingBinding[] {\n if (!isWebGL2(gl)) {\n return [];\n }\n const gl2 = gl as WebGL2RenderingContext;\n\n const varyings: VaryingBinding[] = [];\n\n const count = gl.getProgramParameter(program, GL.TRANSFORM_FEEDBACK_VARYINGS);\n for (let location = 0; location < count; location++) {\n const activeInfo = gl2.getTransformFeedbackVarying(program, location);\n if (!activeInfo) {\n throw new Error('activeInfo');\n }\n const {name, type: compositeType, size} = activeInfo;\n const {glType, components} = decodeUniformType(compositeType);;\n const accessor = new Accessor({type: glType, size: size * components});\n const varying = {location, name, accessor}; // Base values\n varyings.push(varying);\n }\n\n varyings.sort((a, b) => a.location - b.location);\n return varyings;\n}\n\n/**\n * Extract info about all uniforms\n *\n * Query uniform locations and build name to setter map.\n */\nfunction readUniformBindings(gl: WebGLRenderingContext, program: WebGLProgram): UniformBinding[] {\n const uniforms: UniformBinding[] = [];\n\n const uniformCount = gl.getProgramParameter(program, GL.ACTIVE_UNIFORMS);\n for (let i = 0; i < uniformCount; i++) {\n const activeInfo = gl.getActiveUniform(program, i);\n if (!activeInfo) {\n throw new Error('activeInfo');\n }\n const {name: rawName, size, type} = activeInfo;\n const {name, isArray} = parseUniformName(rawName);\n let webglLocation = gl.getUniformLocation(program, name);\n const uniformInfo = {\n // WebGL locations are uniquely typed but just numbers\n location: webglLocation as number,\n name,\n size,\n type,\n isArray\n };\n uniforms.push(uniformInfo);\n\n // Array (e.g. matrix) uniforms can occupy several 4x4 byte banks\n if (uniformInfo.size > 1) {\n for (let j = 0; j < uniformInfo.size; j++) {\n const elementName = `${name}[${j}]`;\n\n webglLocation = gl.getUniformLocation(program, elementName);\n\n const arrayElementUniformInfo = {\n ...uniformInfo,\n name: elementName,\n location: webglLocation as number\n };\n\n uniforms.push(arrayElementUniformInfo);\n }\n }\n }\n return uniforms;\n}\n\n/**\n * Extract info about all \"active\" uniform blocks\n *\n * (\"Active\" just means that unused (aka inactive) blocks may have been\n * optimized away during linking)\n */\nfunction readUniformBlocks(\n gl: WebGLRenderingContext,\n program: WebGLProgram\n): UniformBlockBinding[] {\n if (!isWebGL2(gl)) {\n return [];\n }\n const gl2 = gl as WebGL2RenderingContext;\n\n const getBlockParameter = (blockIndex: number, pname: GL): any =>\n gl2.getActiveUniformBlockParameter(program, blockIndex, pname);\n\n const uniformBlocks: UniformBlockBinding[] = [];\n\n const blockCount = gl2.getProgramParameter(program, GL.ACTIVE_UNIFORM_BLOCKS);\n for (let blockIndex = 0; blockIndex < blockCount; blockIndex++) {\n const blockInfo: UniformBlockBinding = {\n name: gl2.getActiveUniformBlockName(program, blockIndex) || '',\n location: getBlockParameter(blockIndex, GL.UNIFORM_BLOCK_BINDING),\n byteLength: getBlockParameter(blockIndex, GL.UNIFORM_BLOCK_DATA_SIZE),\n vertex: getBlockParameter(blockIndex, GL.UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER),\n fragment: getBlockParameter(blockIndex, GL.UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER),\n uniformCount: getBlockParameter(blockIndex, GL.UNIFORM_BLOCK_ACTIVE_UNIFORMS),\n uniforms: [] as any[]\n };\n\n const uniformIndices = getBlockParameter(blockIndex, GL.UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES) as number[] || [];\n\n const uniformType = gl2.getActiveUniforms(program, uniformIndices, GL.UNIFORM_TYPE); // Array of GLenum indicating the types of the uniforms.\n const uniformArrayLength = gl2.getActiveUniforms(program, uniformIndices, GL.UNIFORM_SIZE); // Array of GLuint indicating the sizes of the uniforms.\n // const uniformBlockIndex = gl2.getActiveUniforms(\n // program,\n // uniformIndices,\n // GL.UNIFORM_BLOCK_INDEX\n // ); // Array of GLint indicating the block indices of the uniforms.\n const uniformOffset = gl2.getActiveUniforms(program, uniformIndices, GL.UNIFORM_OFFSET); // Array of GLint indicating the uniform buffer offsets.\n const uniformStride = gl2.getActiveUniforms(program, uniformIndices, GL.UNIFORM_ARRAY_STRIDE); // Array of GLint indicating the strides between the elements.\n // const uniformMatrixStride = gl2.getActiveUniforms(\n // program,\n // uniformIndices,\n // GL.UNIFORM_MATRIX_STRIDE\n // ); // Array of GLint indicating the strides between columns of a column-major matrix or a row-major matrix.\n // const uniformRowMajor = gl2.getActiveUniforms(program, uniformIndices, GL.UNIFORM_IS_ROW_MAJOR);\n for (let i = 0; i < blockInfo.uniformCount; ++i) {\n const activeInfo = gl2.getActiveUniform(program, uniformIndices[i]);\n if (!activeInfo) {\n throw new Error('activeInfo');\n }\n \n blockInfo.uniforms.push({\n name: activeInfo.name,\n format: decodeUniformType(uniformType[i]).format,\n type: uniformType[i],\n arrayLength: uniformArrayLength[i],\n byteOffset: uniformOffset[i],\n byteStride: uniformStride[i],\n // matrixStride: uniformStride[i],\n // rowMajor: uniformRowMajor[i]\n });\n }\n\n uniformBlocks.push(blockInfo);\n }\n\n uniformBlocks.sort((a, b) => a.location - b.location);\n return uniformBlocks;\n}\n\nconst SAMPLER_UNIFORMS_GL_TO_GPU: Record<\n number,\n [\n '1d' | '2d' | '2d-array' | 'cube' | 'cube-array' | '3d',\n 'float' | 'unfilterable-float' | 'depth' | 'sint' | 'uint'\n ]\n> = {\n [GL.SAMPLER_2D]: ['2d', 'float'],\n [GL.SAMPLER_CUBE]: ['cube', 'float'],\n [GL.SAMPLER_3D]: ['3d', 'float'],\n [GL.SAMPLER_2D_SHADOW]: ['3d', 'depth'],\n [GL.SAMPLER_2D_ARRAY]: ['2d-array', 'float'],\n [GL.SAMPLER_2D_ARRAY_SHADOW]: ['2d-array', 'depth'],\n [GL.SAMPLER_CUBE_SHADOW]: ['cube', 'float'],\n [GL.INT_SAMPLER_2D]: ['2d', 'sint'],\n [GL.INT_SAMPLER_3D]: ['3d', 'sint'],\n [GL.INT_SAMPLER_CUBE]: ['cube', 'sint'],\n [GL.INT_SAMPLER_2D_ARRAY]: ['2d-array', 'uint'],\n [GL.UNSIGNED_INT_SAMPLER_2D]: ['2d', 'uint'],\n [GL.UNSIGNED_INT_SAMPLER_3D]: ['3d', 'uint'],\n [GL.UNSIGNED_INT_SAMPLER_CUBE]: ['cube', 'uint'],\n [GL.UNSIGNED_INT_SAMPLER_2D_ARRAY]: ['2d-array', 'uint']\n};\n\ntype SamplerInfo = | {\n viewDimension: '1d' | '2d' | '2d-array' | 'cube' | 'cube-array' | '3d';\n sampleType: 'float' | 'unfilterable-float' | 'depth' | 'sint' | 'uint';\n};\n\nfunction getSamplerInfo(type: GL): SamplerInfo {\n let sampler = SAMPLER_UNIFORMS_GL_TO_GPU[type];\n if (!sampler) {\n throw new Error('sampler');\n }\n const [viewDimension, sampleType] = sampler;\n return {viewDimension, sampleType};\n}\n\n// HELPERS\n\nfunction parseUniformName(name: string): {name: string; length: number; isArray: boolean} {\n // Shortcut to avoid redundant or bad matches\n if (name[name.length - 1] !== ']') {\n return {\n name,\n length: 1,\n isArray: false\n };\n }\n\n // if array name then clean the array brackets\n const UNIFORM_NAME_REGEXP = /([^[]*)(\\[[0-9]+\\])?/;\n const matches = name.match(UNIFORM_NAME_REGEXP);\n if (!matches || matches.length < 2) {\n throw new Error(`Failed to parse GLSL uniform name ${name}`);\n }\n\n return {\n name: matches[1],\n length: matches[2] ? 1 : 0,\n isArray: Boolean(matches[2])\n };\n}\n\n/**\n * TODO - verify this is a copy of above and delete\n * import type {TextureFormat} from '@luma.gl/api';\n* Extract info about all \"active\" uniform blocks\n * (\"Active\" just means that unused (inactive) blocks may have been optimized away during linking)\n *\n function getUniformBlockBindings(gl: WebGLRenderingContext, program): Binding[] {\n if (!isWebGL2(gl)) {\n return;\n }\n const bindings: Binding[] = [];\n const count = gl.getProgramParameter(program, gl.ACTIVE_UNIFORM_BLOCKS);\n for (let blockIndex = 0; blockIndex < count; blockIndex++) {\n const vertex = gl.getActiveUniformBlockParameter(program, blockIndex, gl.UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER),\n const fragment = gl.getActiveUniformBlockParameter(program, blockIndex, gl.UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER),\n const visibility = (vertex) + (fragment);\n const binding: BufferBinding = {\n location: gl.getActiveUniformBlockParameter(program, blockIndex, gl.UNIFORM_BLOCK_BINDING),\n // name: gl.getActiveUniformBlockName(program, blockIndex),\n type: 'uniform',\n visibility,\n minBindingSize: gl.getActiveUniformBlockParameter(program, blockIndex, gl.UNIFORM_BLOCK_DATA_SIZE),\n // uniformCount: gl.getActiveUniformBlockParameter(program, blockIndex, gl.UNIFORM_BLOCK_ACTIVE_UNIFORMS),\n // uniformIndices: gl.getActiveUniformBlockParameter(program, blockIndex, gl.UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES),\n }\n bindings.push(binding);\n }\n return bindings;\n}\n\nfunction setBindings(gl2: WebGL2RenderingContext, program: WebGLProgram, bindings: Binding[][]): void {\n for (const bindGroup of bindings) {\n for (const binding of bindGroup) {\n\n }\n }\n\n // Set up indirection table\n // this.gl2.uniformBlockBinding(this.handle, blockIndex, blockBinding);\n}\n */\n"],"mappings":"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"}
@@ -1,54 +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.parseShaderCompilerLog = parseShaderCompilerLog;
8
- var _toArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toArray"));
9
- 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; } } }; }
10
- 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); }
11
- 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; }
12
- var MESSAGE_TYPES = ['warning', 'error', 'info'];
13
- function parseShaderCompilerLog(errLog) {
14
- var lines = errLog.split(/\r?\n/);
15
- var messages = [];
16
- var _iterator = _createForOfIteratorHelper(lines),
17
- _step;
18
- try {
19
- for (_iterator.s(); !(_step = _iterator.n()).done;) {
20
- var line = _step.value;
21
- if (line.length <= 1) {
22
- continue;
23
- }
24
- var segments = line.split(':');
25
- var _segments = (0, _toArray2.default)(segments),
26
- messageType = _segments[0],
27
- linePosition = _segments[1],
28
- lineNumber = _segments[2],
29
- rest = _segments.slice(3);
30
- var lineNum = parseInt(lineNumber, 10);
31
- if (isNaN(lineNum)) {
32
- lineNum = 0;
33
- }
34
- var linePos = parseInt(linePosition, 10);
35
- if (isNaN(linePos)) {
36
- linePos = 0;
37
- }
38
- var lowerCaseType = messageType.toLowerCase();
39
- var type = MESSAGE_TYPES.includes(lowerCaseType) ? lowerCaseType : 'info';
40
- messages.push({
41
- message: rest.join(':').trim(),
42
- type: type,
43
- lineNum: lineNum,
44
- linePos: linePos
45
- });
46
- }
47
- } catch (err) {
48
- _iterator.e(err);
49
- } finally {
50
- _iterator.f();
51
- }
52
- return messages;
53
- }
54
- //# sourceMappingURL=parse-shader-compiler-log.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"parse-shader-compiler-log.js","names":["MESSAGE_TYPES","parseShaderCompilerLog","errLog","lines","split","messages","_iterator","_createForOfIteratorHelper","_step","s","n","done","line","value","length","segments","_segments","_toArray2","default","messageType","linePosition","lineNumber","rest","slice","lineNum","parseInt","isNaN","linePos","lowerCaseType","toLowerCase","type","includes","push","message","join","trim","err","e","f"],"sources":["../../../../src/adapter/helpers/parse-shader-compiler-log.ts"],"sourcesContent":["// luma.gl, MIT license\nimport type {CompilerMessage} from '@luma.gl/api';\n\nconst MESSAGE_TYPES = ['warning', 'error', 'info'];\n\n/**\n * Parse a WebGL-format GLSL compilation log into an array of WebGPU style message records.\n * This follows documented WebGL conventions for compilation logs.\n * Based on https://github.com/wwwtyro/gl-format-compiler-error (public domain)\n */\nexport function parseShaderCompilerLog(errLog: string) : readonly CompilerMessage[] {\n // Parse the error - note: browser and driver dependent\n const lines = errLog.split(/\\r?\\n/);\n\n const messages: CompilerMessage[] = [];\n\n for (const line of lines) {\n if (line.length <= 1) {\n continue;\n }\n\n const segments: string[] = line.split(':');\n const [messageType, linePosition, lineNumber, ...rest] = segments;\n\n let lineNum = parseInt(lineNumber, 10);\n if (isNaN(lineNum)) {\n lineNum = 0;\n }\n\n let linePos = parseInt(linePosition, 10);\n if (isNaN(linePos)) {\n linePos = 0;\n }\n\n // Ensure supported type\n const lowerCaseType = messageType.toLowerCase();\n const type = (MESSAGE_TYPES.includes(lowerCaseType) ? lowerCaseType : 'info') as 'warning' | 'error' | 'info';\n\n messages.push({\n message: rest.join(':').trim(),\n type,\n lineNum,\n linePos // TODO\n })\n }\n\n return messages;\n}\n"],"mappings":";;;;;;;;;;;AAGA,IAAMA,aAAa,GAAG,CAAC,SAAS,EAAE,OAAO,EAAE,MAAM,CAAC;AAO3C,SAASC,sBAAsBA,CAACC,MAAc,EAA+B;EAElF,IAAMC,KAAK,GAAGD,MAAM,CAACE,KAAK,CAAC,OAAO,CAAC;EAEnC,IAAMC,QAA2B,GAAG,EAAE;EAAC,IAAAC,SAAA,GAAAC,0BAAA,CAEpBJ,KAAK;IAAAK,KAAA;EAAA;IAAxB,KAAAF,SAAA,CAAAG,CAAA,MAAAD,KAAA,GAAAF,SAAA,CAAAI,CAAA,IAAAC,IAAA,GAA0B;MAAA,IAAfC,IAAI,GAAAJ,KAAA,CAAAK,KAAA;MACb,IAAID,IAAI,CAACE,MAAM,IAAI,CAAC,EAAE;QACpB;MACF;MAEA,IAAMC,QAAkB,GAAGH,IAAI,CAACR,KAAK,CAAC,GAAG,CAAC;MAC1C,IAAAY,SAAA,OAAAC,SAAA,CAAAC,OAAA,EAAyDH,QAAQ;QAA1DI,WAAW,GAAAH,SAAA;QAAEI,YAAY,GAAAJ,SAAA;QAAEK,UAAU,GAAAL,SAAA;QAAKM,IAAI,GAAAN,SAAA,CAAAO,KAAA;MAErD,IAAIC,OAAO,GAAGC,QAAQ,CAACJ,UAAU,EAAE,EAAE,CAAC;MACtC,IAAIK,KAAK,CAACF,OAAO,CAAC,EAAE;QAClBA,OAAO,GAAG,CAAC;MACb;MAEA,IAAIG,OAAO,GAAGF,QAAQ,CAACL,YAAY,EAAE,EAAE,CAAC;MACxC,IAAIM,KAAK,CAACC,OAAO,CAAC,EAAE;QAClBA,OAAO,GAAG,CAAC;MACb;MAGA,IAAMC,aAAa,GAAGT,WAAW,CAACU,WAAW,EAAE;MAC/C,IAAMC,IAAI,GAAI9B,aAAa,CAAC+B,QAAQ,CAACH,aAAa,CAAC,GAAGA,aAAa,GAAG,MAAuC;MAE7GvB,QAAQ,CAAC2B,IAAI,CAAC;QACZC,OAAO,EAAEX,IAAI,CAACY,IAAI,CAAC,GAAG,CAAC,CAACC,IAAI,EAAE;QAC9BL,IAAI,EAAJA,IAAI;QACJN,OAAO,EAAPA,OAAO;QACPG,OAAO,EAAPA;MACF,CAAC,CAAC;IACJ;EAAC,SAAAS,GAAA;IAAA9B,SAAA,CAAA+B,CAAA,CAAAD,GAAA;EAAA;IAAA9B,SAAA,CAAAgC,CAAA;EAAA;EAED,OAAOjC,QAAQ;AACjB"}
@@ -1,92 +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.setUniform = setUniform;
8
- var _constants = _interopRequireDefault(require("@luma.gl/constants"));
9
- function setUniform(gl, location, type, value) {
10
- var gl2 = gl;
11
- if (typeof value === 'number') {
12
- switch (type) {
13
- case _constants.default.SAMPLER_2D:
14
- case _constants.default.SAMPLER_CUBE:
15
- case _constants.default.SAMPLER_3D:
16
- case _constants.default.SAMPLER_2D_SHADOW:
17
- case _constants.default.SAMPLER_2D_ARRAY:
18
- case _constants.default.SAMPLER_2D_ARRAY_SHADOW:
19
- case _constants.default.SAMPLER_CUBE_SHADOW:
20
- case _constants.default.INT_SAMPLER_2D:
21
- case _constants.default.INT_SAMPLER_3D:
22
- case _constants.default.INT_SAMPLER_CUBE:
23
- case _constants.default.INT_SAMPLER_2D_ARRAY:
24
- case _constants.default.UNSIGNED_INT_SAMPLER_2D:
25
- case _constants.default.UNSIGNED_INT_SAMPLER_3D:
26
- case _constants.default.UNSIGNED_INT_SAMPLER_CUBE:
27
- case _constants.default.UNSIGNED_INT_SAMPLER_2D_ARRAY:
28
- return gl.uniform1i(location, value);
29
- }
30
- }
31
- if (value === true) {
32
- value = 1;
33
- }
34
- if (value === false) {
35
- value = 1;
36
- }
37
- var arrayValue = typeof value === 'number' ? [value] : value;
38
- switch (type) {
39
- case _constants.default.FLOAT:
40
- return gl.uniform1fv(location, arrayValue);
41
- case _constants.default.FLOAT_VEC2:
42
- return gl.uniform2fv(location, arrayValue);
43
- case _constants.default.FLOAT_VEC3:
44
- return gl.uniform3fv(location, arrayValue);
45
- case _constants.default.FLOAT_VEC4:
46
- return gl.uniform4fv(location, arrayValue);
47
- case _constants.default.INT:
48
- return gl.uniform1iv(location, arrayValue);
49
- case _constants.default.INT_VEC2:
50
- return gl.uniform2iv(location, arrayValue);
51
- case _constants.default.INT_VEC3:
52
- return gl.uniform3iv(location, arrayValue);
53
- case _constants.default.INT_VEC4:
54
- return gl.uniform4iv(location, arrayValue);
55
- case _constants.default.BOOL:
56
- return gl.uniform1iv(location, arrayValue);
57
- case _constants.default.BOOL_VEC2:
58
- return gl.uniform2iv(location, arrayValue);
59
- case _constants.default.BOOL_VEC3:
60
- return gl.uniform3iv(location, arrayValue);
61
- case _constants.default.BOOL_VEC4:
62
- return gl.uniform4iv(location, arrayValue);
63
- case _constants.default.UNSIGNED_INT:
64
- return gl2.uniform1uiv(location, arrayValue, 1);
65
- case _constants.default.UNSIGNED_INT_VEC2:
66
- return gl2.uniform2uiv(location, arrayValue, 2);
67
- case _constants.default.UNSIGNED_INT_VEC3:
68
- return gl2.uniform3uiv(location, arrayValue, 3);
69
- case _constants.default.UNSIGNED_INT_VEC4:
70
- return gl2.uniform4uiv(location, arrayValue, 4);
71
- case _constants.default.FLOAT_MAT2:
72
- return gl.uniformMatrix2fv(location, false, arrayValue);
73
- case _constants.default.FLOAT_MAT3:
74
- return gl.uniformMatrix3fv(location, false, arrayValue);
75
- case _constants.default.FLOAT_MAT4:
76
- return gl.uniformMatrix4fv(location, false, arrayValue);
77
- case _constants.default.FLOAT_MAT2x3:
78
- return gl2.uniformMatrix2x3fv(location, false, arrayValue);
79
- case _constants.default.FLOAT_MAT2x4:
80
- return gl2.uniformMatrix2x4fv(location, false, arrayValue);
81
- case _constants.default.FLOAT_MAT3x2:
82
- return gl2.uniformMatrix3x2fv(location, false, arrayValue);
83
- case _constants.default.FLOAT_MAT3x4:
84
- return gl2.uniformMatrix3x4fv(location, false, arrayValue);
85
- case _constants.default.FLOAT_MAT4x2:
86
- return gl2.uniformMatrix4x2fv(location, false, arrayValue);
87
- case _constants.default.FLOAT_MAT4x3:
88
- return gl2.uniformMatrix4x3fv(location, false, arrayValue);
89
- }
90
- throw new Error('Illegal uniform');
91
- }
92
- //# sourceMappingURL=set-uniform.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"set-uniform.js","names":["_constants","_interopRequireDefault","require","setUniform","gl","location","type","value","gl2","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","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"],"sources":["../../../../src/adapter/helpers/set-uniform.ts"],"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: 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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"}