@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 +1 @@
1
- {"version":3,"file":"device-parameters.d.ts","sourceRoot":"","sources":["../../../src/adapter/converters/device-parameters.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,MAAM,EAAE,UAAU,EAAE,eAAe,EAAuC,MAAM,cAAc,CAAC;AACvG,OAAO,EAAE,MAAM,oBAAoB,CAAC;AACpC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAKtD;;;;;;;;GAQG;AACF,wBAAgB,gBAAgB,CAAC,CAAC,GAAG,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,MAAM,CAAC,EAAE,MAAM,KAAK,CAAC,GAAG,CAAC,CAgBxH;AAED;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAAC,CAAC,GAAG,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,MAAM,CAAC,EAAE,MAAM,KAAK,CAAC,GAAG,CAAC,CAgBzH;AAGD,kCAAkC;AAClC,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,QAoGzE;AAyBD,wBAAgB,sBAAsB,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,eAAe,GAAG,EAAE,CAWpF;AAED,wBAAgB,wBAAwB,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,GAAG,eAAe,CAWtF"}
1
+ {"version":3,"file":"device-parameters.d.ts","sourceRoot":"","sources":["../../../src/adapter/converters/device-parameters.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,MAAM,EAAE,UAAU,EAAE,eAAe,EAAuC,MAAM,cAAc,CAAC;AACvG,OAAO,EAAE,MAAM,oBAAoB,CAAC;AACpC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAOtD;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,GAAG,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,MAAM,CAAC,EAAE,MAAM,KAAK,CAAC,GAAG,CAAC,CAgBvH;AAED;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAAC,CAAC,GAAG,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,MAAM,CAAC,EAAE,MAAM,KAAK,CAAC,GAAG,CAAC,CAgBzH;AAGD,kCAAkC;AAClC,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,QAqGzE;AAyBD,wBAAgB,sBAAsB,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,eAAe,GAAG,EAAE,CAWpF;AAED,wBAAgB,wBAAwB,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,GAAG,eAAe,CAWtF"}
@@ -1,220 +1,137 @@
1
1
  import { log, isObjectEmpty } from '@luma.gl/api';
2
2
  import GL from '@luma.gl/constants';
3
- import { pushContextState, popContextState } from '../../context/state-tracker/track-context-state.js';
4
- import { setParameters } from '../../context/parameters/unified-parameter-api.js';
5
- import WebGLDevice from '../webgl-device.js';
6
- /**
7
- * Execute a function with a set of temporary WebGL parameter overrides
8
- * - Saves current "global" WebGL context settings
9
- * - Sets the supplies WebGL context parameters,
10
- * - Executes supplied function
11
- * - Restores parameters
12
- * - Returns the return value of the supplied function
13
- * @deprecated use withDeviceParameters instead
14
- */
3
+ import { pushContextState, popContextState } from "../../context/state-tracker/track-context-state.js";
4
+ import { setParameters } from "../../context/parameters/unified-parameter-api.js";
5
+ import WebGLDevice from "../webgl-device.js";
15
6
  export function withGLParameters(device, parameters, func) {
16
- if (isObjectEmpty(parameters)) {
17
- // Avoid setting state if no parameters provided. Just call and return
18
- return func(device);
19
- }
20
- // Wrap in a try-catch to ensure that parameters are restored on exceptions
21
- // @ts-expect-error
22
- pushContextState(device.gl);
23
- try {
24
- setParameters(device, parameters);
25
- return func(device);
26
- }
27
- finally {
28
- // @ts-expect-error
29
- popContextState(device.gl);
30
- }
7
+ if (isObjectEmpty(parameters)) {
8
+ return func(device);
9
+ }
10
+ pushContextState(device.gl);
11
+ try {
12
+ setParameters(device, parameters);
13
+ return func(device);
14
+ } finally {
15
+ popContextState(device.gl);
16
+ }
31
17
  }
32
- /**
33
- * Execute a function with a set of temporary WebGL parameter overrides
34
- * - Saves current "global" WebGL context settings
35
- * - Sets the supplies WebGL context parameters,
36
- * - Executes supplied function
37
- * - Restores parameters
38
- * - Returns the return value of the supplied function
39
- */
40
18
  export function withDeviceParameters(device, parameters, func) {
41
- if (isObjectEmpty(parameters)) {
42
- // Avoid setting state if no parameters provided. Just call and return
43
- return func(device);
44
- }
45
- // Wrap in a try-catch to ensure that parameters are restored on exceptions
46
- // @ts-expect-error
47
- pushContextState(device.gl);
48
- try {
49
- setDeviceParameters(device, parameters);
50
- return func(device);
51
- }
52
- finally {
53
- // @ts-expect-error
54
- popContextState(device.gl);
55
- }
19
+ if (isObjectEmpty(parameters)) {
20
+ return func(device);
21
+ }
22
+ pushContextState(device.gl);
23
+ try {
24
+ setDeviceParameters(device, parameters);
25
+ return func(device);
26
+ } finally {
27
+ popContextState(device.gl);
28
+ }
56
29
  }
57
- /** Set WebGPU Style Parameters */
58
30
  export function setDeviceParameters(device, parameters) {
59
- const webglDevice = WebGLDevice.attach(device);
60
- const { gl } = webglDevice;
61
- // RASTERIZATION SETTINGS
62
- if (parameters.cullMode) {
63
- switch (parameters.cullMode) {
64
- case 'none':
65
- gl.disable(GL.CULL_FACE);
66
- break;
67
- case 'front':
68
- gl.enable(GL.CULL_FACE);
69
- gl.cullFace(GL.FRONT);
70
- break;
71
- case 'back':
72
- gl.enable(GL.CULL_FACE);
73
- gl.cullFace(GL.BACK);
74
- break;
75
- }
76
- }
77
- if (parameters.frontFace) {
78
- gl.frontFace(map('frontFace', parameters.frontFace, {
79
- ccw: GL.CCW,
80
- cw: GL.CW
81
- }));
82
- }
83
- if (parameters.depthBias !== undefined) {
84
- gl.polygonOffset(parameters.depthBias, parameters.depthBiasSlopeScale || 0);
85
- }
86
- // depthBiasSlopeScale: {
87
- // // Handled by depthBias
88
- // },
89
- // DEPTH STENCIL
90
- if (parameters.depthWriteEnabled !== undefined) {
91
- gl.depthMask(mapBoolean('depthWriteEnabled', parameters.depthWriteEnabled));
92
- }
93
- if (parameters.depthCompare) {
94
- parameters.depthCompare !== 'always' ? gl.enable(GL.DEPTH_TEST) : gl.disable(GL.DEPTH_TEST);
95
- gl.depthFunc(convertCompareFunction('depthCompare', parameters.depthCompare));
96
- }
97
- if (parameters.stencilWriteMask) {
98
- const mask = parameters.stencilWriteMask;
99
- gl.stencilMaskSeparate(GL.FRONT, mask);
100
- gl.stencilMaskSeparate(GL.BACK, mask);
101
- }
102
- if (parameters.stencilReadMask) {
103
- // stencilReadMask is handle inside stencil***Compare.
104
- log.warn('stencilReadMask not supported under WebGL');
105
- }
106
- if (parameters.stencilCompare) {
107
- const mask = parameters.stencilReadMask || 0xffffffff;
108
- const glValue = convertCompareFunction('depthCompare', parameters.stencilCompare);
109
- // TODO - ensure back doesn't overwrite
110
- parameters.stencilCompare !== 'always' ? gl.enable(GL.STENCIL_TEST) : gl.disable(GL.STENCIL_TEST);
111
- gl.stencilFuncSeparate(GL.FRONT, glValue, 0, mask);
112
- gl.stencilFuncSeparate(GL.BACK, glValue, 0, mask);
113
- }
114
- if (parameters.stencilPassOperation && parameters.stencilFailOperation && parameters.stencilDepthFailOperation) {
115
- const dppass = convertStencilOperation('stencilPassOperation', parameters.stencilPassOperation);
116
- const sfail = convertStencilOperation('stencilFailOperation', parameters.stencilFailOperation);
117
- const dpfail = convertStencilOperation('stencilDepthFailOperation', parameters.stencilDepthFailOperation);
118
- gl.stencilOpSeparate(GL.FRONT, sfail, dpfail, dppass);
119
- gl.stencilOpSeparate(GL.BACK, sfail, dpfail, dppass);
120
- }
121
- // stencilDepthFailOperation() {
122
- // // handled by stencilPassOperation
123
- // },
124
- // stencilFailOperation() {
125
- // // handled by stencilPassOperation
126
- // },
127
- // COLOR STATE
128
- // if (parameters.blend) {
129
- // gl.enable(GL.BLEND);
130
- // const blend = parameters.blend;
131
- // let colorEquation = (blend && blend.color && blend.color.operation) || 'add';
132
- // let alphaEquation = (blend && blend.alpha && blend.alpha.operation) || 'add';
133
- // gl.blendEquationSeparate(colorEquation, alphaEquation);
134
- // let colorSrcFactor = (blend && blend.color && blend.color.srcFactor) || 'one';
135
- // let colorDstFactor = (blend && blend.color && blend.color.dstFactor) || 'zero';
136
- // let alphaSrcFactor = (blend && blend.alpha && blend.alpha.srcFactor) || 'one';
137
- // let alphaDstFactor = (blend && blend.alpha && blend.alpha.dstFactor) || 'zero';
138
- // gl.blendFuncSeparate(colorSrcFactor, colorDstFactor, alphaSrcFactor, alphaDstFactor);
139
- // }
31
+ const webglDevice = WebGLDevice.attach(device);
32
+ const {
33
+ gl
34
+ } = webglDevice;
35
+ if (parameters.cullMode) {
36
+ switch (parameters.cullMode) {
37
+ case 'none':
38
+ gl.disable(GL.CULL_FACE);
39
+ break;
40
+ case 'front':
41
+ gl.enable(GL.CULL_FACE);
42
+ gl.cullFace(GL.FRONT);
43
+ break;
44
+ case 'back':
45
+ gl.enable(GL.CULL_FACE);
46
+ gl.cullFace(GL.BACK);
47
+ break;
48
+ }
49
+ }
50
+ if (parameters.frontFace) {
51
+ gl.frontFace(map('frontFace', parameters.frontFace, {
52
+ ccw: GL.CCW,
53
+ cw: GL.CW
54
+ }));
55
+ }
56
+ if (parameters.depthBias !== undefined) {
57
+ gl.polygonOffset(parameters.depthBias, parameters.depthBiasSlopeScale || 0);
58
+ }
59
+ if (parameters.depthWriteEnabled !== undefined) {
60
+ gl.depthMask(mapBoolean('depthWriteEnabled', parameters.depthWriteEnabled));
61
+ }
62
+ if (parameters.depthCompare) {
63
+ parameters.depthCompare !== 'always' ? gl.enable(GL.DEPTH_TEST) : gl.disable(GL.DEPTH_TEST);
64
+ gl.depthFunc(convertCompareFunction('depthCompare', parameters.depthCompare));
65
+ }
66
+ if (parameters.stencilWriteMask) {
67
+ const mask = parameters.stencilWriteMask;
68
+ gl.stencilMaskSeparate(GL.FRONT, mask);
69
+ gl.stencilMaskSeparate(GL.BACK, mask);
70
+ }
71
+ if (parameters.stencilReadMask) {
72
+ log.warn('stencilReadMask not supported under WebGL');
73
+ }
74
+ if (parameters.stencilCompare) {
75
+ const mask = parameters.stencilReadMask || 0xffffffff;
76
+ const glValue = convertCompareFunction('depthCompare', parameters.stencilCompare);
77
+ parameters.stencilCompare !== 'always' ? gl.enable(GL.STENCIL_TEST) : gl.disable(GL.STENCIL_TEST);
78
+ gl.stencilFuncSeparate(GL.FRONT, glValue, 0, mask);
79
+ gl.stencilFuncSeparate(GL.BACK, glValue, 0, mask);
80
+ }
81
+ if (parameters.stencilPassOperation && parameters.stencilFailOperation && parameters.stencilDepthFailOperation) {
82
+ const dppass = convertStencilOperation('stencilPassOperation', parameters.stencilPassOperation);
83
+ const sfail = convertStencilOperation('stencilFailOperation', parameters.stencilFailOperation);
84
+ const dpfail = convertStencilOperation('stencilDepthFailOperation', parameters.stencilDepthFailOperation);
85
+ gl.stencilOpSeparate(GL.FRONT, sfail, dpfail, dppass);
86
+ gl.stencilOpSeparate(GL.BACK, sfail, dpfail, dppass);
87
+ }
140
88
  }
141
- /*
142
- rasterizationState: {
143
- cullMode: "back",
144
- },
145
-
146
- depthStencilState: {
147
- depthWriteEnabled: true,
148
- depthCompare: "less",
149
- format: "depth24plus-stencil8",
150
- },
151
-
152
- colorStates: [
153
- {
154
- format: "bgra8unorm",
155
- // colorBlend.srcFactor = wgpu::BlendFactor::SrcAlpha;
156
- // colorBlend.dstFactor = wgpu::BlendFactor::OneMinusSrcAlpha;
157
- // alphaBlend.srcFactor = wgpu::BlendFactor::SrcAlpha;
158
- // alphaBlend.dstFactor = wgpu::BlendFactor::OneMinusSrcAlpha;
159
- },
160
- ],
161
- });
162
- */
163
89
  export function convertCompareFunction(parameter, value) {
164
- return map(parameter, value, {
165
- 'never': GL.NEVER,
166
- 'less': GL.LESS,
167
- 'equal': GL.EQUAL,
168
- 'less-equal': GL.LEQUAL,
169
- 'greater': GL.GREATER,
170
- 'not-equal': GL.NOTEQUAL,
171
- 'greater-equal': GL.GEQUAL,
172
- 'always': GL.ALWAYS
173
- });
90
+ return map(parameter, value, {
91
+ 'never': GL.NEVER,
92
+ 'less': GL.LESS,
93
+ 'equal': GL.EQUAL,
94
+ 'less-equal': GL.LEQUAL,
95
+ 'greater': GL.GREATER,
96
+ 'not-equal': GL.NOTEQUAL,
97
+ 'greater-equal': GL.GEQUAL,
98
+ 'always': GL.ALWAYS
99
+ });
174
100
  }
175
101
  export function convertToCompareFunction(parameter, value) {
176
- return map(parameter, value, {
177
- [GL.NEVER]: 'never',
178
- [GL.LESS]: 'less',
179
- [GL.EQUAL]: 'equal',
180
- [GL.LEQUAL]: 'less-equal',
181
- [GL.GREATER]: 'greater',
182
- [GL.NOTEQUAL]: 'not-equal',
183
- [GL.GEQUAL]: 'greater-equal',
184
- [GL.ALWAYS]: 'always'
185
- });
102
+ return map(parameter, value, {
103
+ [GL.NEVER]: 'never',
104
+ [GL.LESS]: 'less',
105
+ [GL.EQUAL]: 'equal',
106
+ [GL.LEQUAL]: 'less-equal',
107
+ [GL.GREATER]: 'greater',
108
+ [GL.NOTEQUAL]: 'not-equal',
109
+ [GL.GEQUAL]: 'greater-equal',
110
+ [GL.ALWAYS]: 'always'
111
+ });
186
112
  }
187
113
  function convertStencilOperation(parameter, value) {
188
- return map(parameter, value, {
189
- 'keep': GL.KEEP,
190
- 'zero': GL.ZERO,
191
- 'replace': GL.REPLACE,
192
- 'invert': GL.INVERT,
193
- 'increment-clamp': GL.INCR,
194
- 'decrement-clamp': GL.DECR,
195
- 'increment-wrap': GL.INCR_WRAP,
196
- 'decrement-wrap': GL.DECR_WRAP
197
- });
114
+ return map(parameter, value, {
115
+ 'keep': GL.KEEP,
116
+ 'zero': GL.ZERO,
117
+ 'replace': GL.REPLACE,
118
+ 'invert': GL.INVERT,
119
+ 'increment-clamp': GL.INCR,
120
+ 'decrement-clamp': GL.DECR,
121
+ 'increment-wrap': GL.INCR_WRAP,
122
+ 'decrement-wrap': GL.DECR_WRAP
123
+ });
198
124
  }
199
- // function convertBlendOperationToEquation(parameter: string, value: string): number {
200
- // return map(parameter, value, {
201
- // 'add': GL.FUNC_ADD,
202
- // 'sub': GL.FUNC_SUBTRACT,
203
- // 'reverse-subtract': GL.FUNC_REVERSE_SUBTRACT,
204
- // // When using a WebGL 2 context, the following values are available additionally:
205
- // 'min': GL.MIN,
206
- // 'max': GL.MAX
207
- // });
208
- // }
209
125
  function message(parameter, value) {
210
- return `Illegal parameter ${value} for ${parameter}`;
126
+ return "Illegal parameter ".concat(value, " for ").concat(parameter);
211
127
  }
212
128
  function map(parameter, value, valueMap) {
213
- if (!(value in valueMap)) {
214
- throw new Error(message(parameter, value));
215
- }
216
- return valueMap[value];
129
+ if (!(value in valueMap)) {
130
+ throw new Error(message(parameter, value));
131
+ }
132
+ return valueMap[value];
217
133
  }
218
134
  function mapBoolean(parameter, value) {
219
- return value;
135
+ return value;
220
136
  }
137
+ //# sourceMappingURL=device-parameters.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"device-parameters.js","names":["log","isObjectEmpty","GL","pushContextState","popContextState","setParameters","WebGLDevice","withGLParameters","device","parameters","func","gl","withDeviceParameters","setDeviceParameters","webglDevice","attach","cullMode","disable","CULL_FACE","enable","cullFace","FRONT","BACK","frontFace","map","ccw","CCW","cw","CW","depthBias","undefined","polygonOffset","depthBiasSlopeScale","depthWriteEnabled","depthMask","mapBoolean","depthCompare","DEPTH_TEST","depthFunc","convertCompareFunction","stencilWriteMask","mask","stencilMaskSeparate","stencilReadMask","warn","stencilCompare","glValue","STENCIL_TEST","stencilFuncSeparate","stencilPassOperation","stencilFailOperation","stencilDepthFailOperation","dppass","convertStencilOperation","sfail","dpfail","stencilOpSeparate","parameter","value","NEVER","LESS","EQUAL","LEQUAL","GREATER","NOTEQUAL","GEQUAL","ALWAYS","convertToCompareFunction","KEEP","ZERO","REPLACE","INVERT","INCR","DECR","INCR_WRAP","DECR_WRAP","message","concat","valueMap","Error"],"sources":["../../../src/adapter/converters/device-parameters.ts"],"sourcesContent":["import {Device, Parameters, CompareFunction, StencilOperation, log, isObjectEmpty} from '@luma.gl/api';\nimport GL from '@luma.gl/constants';\nimport type { GLParameters } from '../../types/webgl';\nimport {pushContextState, popContextState} from '../../context/state-tracker/track-context-state';\nimport {setParameters} from '../../context/parameters/unified-parameter-api';\nimport WebGLDevice from '../webgl-device';\n\n/* eslint-disable no-unused-expressions */ // For expression ? gl.enable() : gl.disable()\n\n/**\n * Execute a function with a set of temporary WebGL parameter overrides\n * - Saves current \"global\" WebGL context settings\n * - Sets the supplies WebGL context parameters,\n * - Executes supplied function\n * - Restores parameters\n * - Returns the return value of the supplied function\n * @deprecated use withDeviceParameters instead\n */\nexport function withGLParameters<T = unknown>(device: Device, parameters: GLParameters, func: (device?: Device) => T): T {\n if (isObjectEmpty(parameters)) {\n // Avoid setting state if no parameters provided. Just call and return\n return func(device);\n }\n\n // Wrap in a try-catch to ensure that parameters are restored on exceptions\n // @ts-expect-error\n pushContextState(device.gl);\n try {\n setParameters(device, parameters);\n return func(device);\n } finally {\n // @ts-expect-error\n popContextState(device.gl);\n }\n}\n\n/**\n * Execute a function with a set of temporary WebGL parameter overrides\n * - Saves current \"global\" WebGL context settings\n * - Sets the supplies WebGL context parameters,\n * - Executes supplied function\n * - Restores parameters\n * - Returns the return value of the supplied function\n */\nexport function withDeviceParameters<T = unknown>(device: Device, parameters: Parameters, func: (device?: Device) => T): T {\n if (isObjectEmpty(parameters)) {\n // Avoid setting state if no parameters provided. Just call and return\n return func(device);\n }\n\n // Wrap in a try-catch to ensure that parameters are restored on exceptions\n // @ts-expect-error\n pushContextState(device.gl);\n try {\n setDeviceParameters(device, parameters);\n return func(device);\n } finally {\n // @ts-expect-error\n popContextState(device.gl);\n }\n}\n\n\n/** Set WebGPU Style Parameters */\nexport function setDeviceParameters(device: Device, parameters: Parameters) {\n const webglDevice = WebGLDevice.attach(device);\n const {gl} = webglDevice;\n\n // RASTERIZATION SETTINGS\n if (parameters.cullMode) {\n switch (parameters.cullMode) {\n case 'none':\n gl.disable(GL.CULL_FACE);\n break;\n case 'front':\n gl.enable(GL.CULL_FACE);\n gl.cullFace(GL.FRONT);\n break;\n case 'back':\n gl.enable(GL.CULL_FACE);\n gl.cullFace(GL.BACK);\n break;\n }\n }\n\n if (parameters.frontFace) {\n gl.frontFace(map('frontFace', parameters.frontFace, {\n ccw: GL.CCW,\n cw: GL.CW\n }));\n }\n\n if (parameters.depthBias !== undefined) {\n gl.polygonOffset(parameters.depthBias, parameters.depthBiasSlopeScale || 0);\n }\n\n // depthBiasSlopeScale: {\n // // Handled by depthBias\n // },\n\n // DEPTH STENCIL\n\n if (parameters.depthWriteEnabled !== undefined) {\n gl.depthMask(mapBoolean('depthWriteEnabled', parameters.depthWriteEnabled));\n }\n\n if (parameters.depthCompare) {\n\n parameters.depthCompare !== 'always' ? gl.enable(GL.DEPTH_TEST) : gl.disable(GL.DEPTH_TEST);\n gl.depthFunc(convertCompareFunction('depthCompare', parameters.depthCompare));\n }\n\n if (parameters.stencilWriteMask) {\n const mask = parameters.stencilWriteMask;\n gl.stencilMaskSeparate(GL.FRONT, mask);\n gl.stencilMaskSeparate(GL.BACK, mask);\n }\n\n if (parameters.stencilReadMask) {\n // stencilReadMask is handle inside stencil***Compare.\n log.warn('stencilReadMask not supported under WebGL');\n }\n\n if (parameters.stencilCompare) {\n const mask = parameters.stencilReadMask || 0xffffffff;\n const glValue = convertCompareFunction('depthCompare', parameters.stencilCompare);\n // TODO - ensure back doesn't overwrite\n parameters.stencilCompare !== 'always' ? gl.enable(GL.STENCIL_TEST) : gl.disable(GL.STENCIL_TEST);\n gl.stencilFuncSeparate(GL.FRONT, glValue, 0, mask);\n gl.stencilFuncSeparate(GL.BACK, glValue, 0, mask);\n }\n\n if (parameters.stencilPassOperation && parameters.stencilFailOperation && parameters.stencilDepthFailOperation) {\n const dppass = convertStencilOperation('stencilPassOperation', parameters.stencilPassOperation);\n const sfail = convertStencilOperation('stencilFailOperation', parameters.stencilFailOperation);\n const dpfail = convertStencilOperation('stencilDepthFailOperation', parameters.stencilDepthFailOperation);\n gl.stencilOpSeparate(GL.FRONT, sfail, dpfail, dppass);\n gl.stencilOpSeparate(GL.BACK, sfail, dpfail, dppass);\n }\n\n // stencilDepthFailOperation() {\n // // handled by stencilPassOperation\n // },\n\n // stencilFailOperation() {\n // // handled by stencilPassOperation\n // },\n\n // COLOR STATE\n\n // if (parameters.blend) {\n // gl.enable(GL.BLEND);\n\n // const blend = parameters.blend;\n\n // let colorEquation = (blend && blend.color && blend.color.operation) || 'add';\n // let alphaEquation = (blend && blend.alpha && blend.alpha.operation) || 'add';\n // gl.blendEquationSeparate(colorEquation, alphaEquation);\n\n // let colorSrcFactor = (blend && blend.color && blend.color.srcFactor) || 'one';\n // let colorDstFactor = (blend && blend.color && blend.color.dstFactor) || 'zero';\n // let alphaSrcFactor = (blend && blend.alpha && blend.alpha.srcFactor) || 'one';\n // let alphaDstFactor = (blend && blend.alpha && blend.alpha.dstFactor) || 'zero';\n // gl.blendFuncSeparate(colorSrcFactor, colorDstFactor, alphaSrcFactor, alphaDstFactor);\n // }\n}\n\n/*\n rasterizationState: {\n cullMode: \"back\",\n },\n\n depthStencilState: {\n depthWriteEnabled: true,\n depthCompare: \"less\",\n format: \"depth24plus-stencil8\",\n },\n\n colorStates: [\n {\n format: \"bgra8unorm\",\n // colorBlend.srcFactor = wgpu::BlendFactor::SrcAlpha;\n // colorBlend.dstFactor = wgpu::BlendFactor::OneMinusSrcAlpha;\n // alphaBlend.srcFactor = wgpu::BlendFactor::SrcAlpha;\n // alphaBlend.dstFactor = wgpu::BlendFactor::OneMinusSrcAlpha;\n },\n ],\n });\n*/\n\nexport function convertCompareFunction(parameter: string, value: CompareFunction): GL {\n return map(parameter, value, {\n 'never': GL.NEVER,\n 'less': GL.LESS,\n 'equal': GL.EQUAL,\n 'less-equal': GL.LEQUAL,\n 'greater': GL.GREATER,\n 'not-equal': GL.NOTEQUAL,\n 'greater-equal': GL.GEQUAL,\n 'always': GL.ALWAYS\n });\n}\n\nexport function convertToCompareFunction(parameter: string, value: GL): CompareFunction {\n return map(parameter, value, {\n [GL.NEVER]: 'never',\n [GL.LESS]: 'less',\n [GL.EQUAL]: 'equal',\n [GL.LEQUAL]: 'less-equal',\n [GL.GREATER]: 'greater',\n [GL.NOTEQUAL]: 'not-equal',\n [GL.GEQUAL]: 'greater-equal',\n [GL.ALWAYS]: 'always'\n });\n}\n\nfunction convertStencilOperation(parameter: string, value: StencilOperation): GL {\n return map(parameter, value, {\n 'keep': GL.KEEP,\n 'zero': GL.ZERO,\n 'replace': GL.REPLACE,\n 'invert': GL.INVERT,\n 'increment-clamp': GL.INCR,\n 'decrement-clamp': GL.DECR,\n 'increment-wrap': GL.INCR_WRAP,\n 'decrement-wrap': GL.DECR_WRAP\n });\n}\n\n// function convertBlendOperationToEquation(parameter: string, value: string): number {\n// return map(parameter, value, {\n// 'add': GL.FUNC_ADD,\n// 'sub': GL.FUNC_SUBTRACT,\n// 'reverse-subtract': GL.FUNC_REVERSE_SUBTRACT,\n// // When using a WebGL 2 context, the following values are available additionally:\n// 'min': GL.MIN,\n// 'max': GL.MAX\n// });\n// }\n\nfunction message(parameter: string, value: any): string {\n return `Illegal parameter ${value} for ${parameter}`;\n}\n\nfunction map(parameter: string, value: any, valueMap: Record<string, any>): any {\n if (!(value in valueMap)) {\n throw new Error(message(parameter, value));\n }\n return valueMap[value];\n}\n\nfunction mapBoolean(parameter: string, value: boolean): boolean {\n return value;\n}\n"],"mappings":"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"}
@@ -6,7 +6,7 @@ export declare function getRenderbufferFormatBytesPerPixel(format: GL): number;
6
6
  * @param gl2 requires WebGL2
7
7
  * @param ext requires extension
8
8
  */
9
- type RenderbufferFormat = {
9
+ declare type RenderbufferFormat = {
10
10
  bpp: number;
11
11
  gl2?: boolean;
12
12
  ext?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"renderbuffer-formats.d.ts","sourceRoot":"","sources":["../../../src/adapter/converters/renderbuffer-formats.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAGpC,wBAAgB,6BAA6B,CAAC,EAAE,EAAE,qBAAqB,EAAE,MAAM,EAAE,EAAE,GAAG,OAAO,CAa5F;AAED,wBAAgB,kCAAkC,CAAC,MAAM,EAAE,EAAE,GAAG,MAAM,CAErE;AAKD;;;;GAIG;AACH,KAAK,kBAAkB,GAAG;IACxB,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,QAAA,MAAM,oBAAoB,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAqD5D,CAAC;AAEF,eAAe,oBAAoB,CAAC"}
1
+ {"version":3,"file":"renderbuffer-formats.d.ts","sourceRoot":"","sources":["../../../src/adapter/converters/renderbuffer-formats.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAGpC,wBAAgB,6BAA6B,CAAC,EAAE,EAAE,qBAAqB,EAAE,MAAM,EAAE,EAAE,GAAG,OAAO,CAa5F;AAED,wBAAgB,kCAAkC,CAAC,MAAM,EAAE,EAAE,GAAG,MAAM,CAErE;AAKD;;;;GAIG;AACH,aAAK,kBAAkB,GAAG;IACxB,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,QAAA,MAAM,oBAAoB,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAqD5D,CAAC;AAEF,eAAe,oBAAoB,CAAC"}
@@ -1,71 +1,181 @@
1
1
  import GL from '@luma.gl/constants';
2
- import { isWebGL2 } from '../../context/context/webgl-checks.js';
2
+ import { isWebGL2 } from "../../context/context/webgl-checks.js";
3
3
  export function isRenderbufferFormatSupported(gl, format) {
4
- const info = RENDERBUFFER_FORMATS[format];
5
- // Unknown format
6
- if (!info) {
7
- return false;
8
- }
9
- if (info.ext) {
10
- return Boolean(gl.getExtension(info.ext));
11
- }
12
- if (info.gl2) {
13
- return isWebGL2(gl);
14
- }
15
- return true;
4
+ const info = RENDERBUFFER_FORMATS[format];
5
+ if (!info) {
6
+ return false;
7
+ }
8
+ if (info.ext) {
9
+ return Boolean(gl.getExtension(info.ext));
10
+ }
11
+ if (info.gl2) {
12
+ return isWebGL2(gl);
13
+ }
14
+ return true;
16
15
  }
17
16
  export function getRenderbufferFormatBytesPerPixel(format) {
18
- return RENDERBUFFER_FORMATS[format].bpp;
17
+ return RENDERBUFFER_FORMATS[format].bpp;
19
18
  }
20
- // Define local extension strings to optimize minification
21
19
  const EXT_FLOAT_WEBGL2 = 'EXT_color_buffer_float';
22
20
  const RENDERBUFFER_FORMATS = {
23
- [GL.DEPTH_COMPONENT16]: { bpp: 2 },
24
- [GL.DEPTH_COMPONENT24]: { gl2: true, bpp: 3 },
25
- [GL.DEPTH_COMPONENT32F]: { gl2: true, bpp: 4 },
26
- [GL.STENCIL_INDEX8]: { bpp: 1 },
27
- [GL.DEPTH_STENCIL]: { bpp: 4 },
28
- [GL.DEPTH24_STENCIL8]: { gl2: true, bpp: 4 },
29
- [GL.DEPTH32F_STENCIL8]: { gl2: true, bpp: 5 },
30
- // When using a WebGL 1 context, color renderbuffer formats are limited
31
- [GL.RGBA4]: { bpp: 2 },
32
- [GL.RGB565]: { bpp: 2 },
33
- [GL.RGB5_A1]: { bpp: 2 },
34
- // When using a WebGL 2 context, the following values are available additionally:
35
- [GL.R8]: { gl2: true, bpp: 1 },
36
- [GL.R8UI]: { gl2: true, bpp: 1 },
37
- [GL.R8I]: { gl2: true, bpp: 1 },
38
- [GL.R16UI]: { gl2: true, bpp: 2 },
39
- [GL.R16I]: { gl2: true, bpp: 2 },
40
- [GL.R32UI]: { gl2: true, bpp: 4 },
41
- [GL.R32I]: { gl2: true, bpp: 4 },
42
- [GL.RG8]: { gl2: true, bpp: 2 },
43
- [GL.RG8UI]: { gl2: true, bpp: 2 },
44
- [GL.RG8I]: { gl2: true, bpp: 2 },
45
- [GL.RG16UI]: { gl2: true, bpp: 4 },
46
- [GL.RG16I]: { gl2: true, bpp: 4 },
47
- [GL.RG32UI]: { gl2: true, bpp: 8 },
48
- [GL.RG32I]: { gl2: true, bpp: 8 },
49
- [GL.RGB8]: { gl2: true, bpp: 3 },
50
- [GL.RGBA8]: { gl2: true, bpp: 4 },
51
- // [GL.SRGB8_ALPHA8]: {gl2: true, gl1: SRGB}, // When using the EXT_sRGB WebGL1 extension
52
- [GL.RGB10_A2]: { gl2: true, bpp: 4 },
53
- [GL.RGBA8UI]: { gl2: true, bpp: 4 },
54
- [GL.RGBA8I]: { gl2: true, bpp: 4 },
55
- [GL.RGB10_A2UI]: { gl2: true, bpp: 4 },
56
- [GL.RGBA16UI]: { gl2: true, bpp: 8 },
57
- [GL.RGBA16I]: { gl2: true, bpp: 8 },
58
- [GL.RGBA32I]: { gl2: true, bpp: 16 },
59
- [GL.RGBA32UI]: { gl2: true, bpp: 16 },
60
- // When using a WebGL 2 context and the EXT_color_buffer_float WebGL2 extension
61
- [GL.R16F]: { ext: EXT_FLOAT_WEBGL2, bpp: 2 },
62
- [GL.RG16F]: { ext: EXT_FLOAT_WEBGL2, bpp: 4 },
63
- [GL.RGBA16F]: { ext: EXT_FLOAT_WEBGL2, bpp: 8 },
64
- [GL.R32F]: { ext: EXT_FLOAT_WEBGL2, bpp: 4 },
65
- [GL.RG32F]: { ext: EXT_FLOAT_WEBGL2, bpp: 8 },
66
- // TODO - can't get WEBGL_color_buffer_float to work on renderbuffers
67
- [GL.RGBA32F]: { ext: EXT_FLOAT_WEBGL2, bpp: 16 },
68
- // [GL.RGBA32F]: {ext: EXT_FLOAT_WEBGL2, gl1: EXT_FLOAT_WEBGL1},
69
- [GL.R11F_G11F_B10F]: { ext: EXT_FLOAT_WEBGL2, bpp: 4 }
21
+ [GL.DEPTH_COMPONENT16]: {
22
+ bpp: 2
23
+ },
24
+ [GL.DEPTH_COMPONENT24]: {
25
+ gl2: true,
26
+ bpp: 3
27
+ },
28
+ [GL.DEPTH_COMPONENT32F]: {
29
+ gl2: true,
30
+ bpp: 4
31
+ },
32
+ [GL.STENCIL_INDEX8]: {
33
+ bpp: 1
34
+ },
35
+ [GL.DEPTH_STENCIL]: {
36
+ bpp: 4
37
+ },
38
+ [GL.DEPTH24_STENCIL8]: {
39
+ gl2: true,
40
+ bpp: 4
41
+ },
42
+ [GL.DEPTH32F_STENCIL8]: {
43
+ gl2: true,
44
+ bpp: 5
45
+ },
46
+ [GL.RGBA4]: {
47
+ bpp: 2
48
+ },
49
+ [GL.RGB565]: {
50
+ bpp: 2
51
+ },
52
+ [GL.RGB5_A1]: {
53
+ bpp: 2
54
+ },
55
+ [GL.R8]: {
56
+ gl2: true,
57
+ bpp: 1
58
+ },
59
+ [GL.R8UI]: {
60
+ gl2: true,
61
+ bpp: 1
62
+ },
63
+ [GL.R8I]: {
64
+ gl2: true,
65
+ bpp: 1
66
+ },
67
+ [GL.R16UI]: {
68
+ gl2: true,
69
+ bpp: 2
70
+ },
71
+ [GL.R16I]: {
72
+ gl2: true,
73
+ bpp: 2
74
+ },
75
+ [GL.R32UI]: {
76
+ gl2: true,
77
+ bpp: 4
78
+ },
79
+ [GL.R32I]: {
80
+ gl2: true,
81
+ bpp: 4
82
+ },
83
+ [GL.RG8]: {
84
+ gl2: true,
85
+ bpp: 2
86
+ },
87
+ [GL.RG8UI]: {
88
+ gl2: true,
89
+ bpp: 2
90
+ },
91
+ [GL.RG8I]: {
92
+ gl2: true,
93
+ bpp: 2
94
+ },
95
+ [GL.RG16UI]: {
96
+ gl2: true,
97
+ bpp: 4
98
+ },
99
+ [GL.RG16I]: {
100
+ gl2: true,
101
+ bpp: 4
102
+ },
103
+ [GL.RG32UI]: {
104
+ gl2: true,
105
+ bpp: 8
106
+ },
107
+ [GL.RG32I]: {
108
+ gl2: true,
109
+ bpp: 8
110
+ },
111
+ [GL.RGB8]: {
112
+ gl2: true,
113
+ bpp: 3
114
+ },
115
+ [GL.RGBA8]: {
116
+ gl2: true,
117
+ bpp: 4
118
+ },
119
+ [GL.RGB10_A2]: {
120
+ gl2: true,
121
+ bpp: 4
122
+ },
123
+ [GL.RGBA8UI]: {
124
+ gl2: true,
125
+ bpp: 4
126
+ },
127
+ [GL.RGBA8I]: {
128
+ gl2: true,
129
+ bpp: 4
130
+ },
131
+ [GL.RGB10_A2UI]: {
132
+ gl2: true,
133
+ bpp: 4
134
+ },
135
+ [GL.RGBA16UI]: {
136
+ gl2: true,
137
+ bpp: 8
138
+ },
139
+ [GL.RGBA16I]: {
140
+ gl2: true,
141
+ bpp: 8
142
+ },
143
+ [GL.RGBA32I]: {
144
+ gl2: true,
145
+ bpp: 16
146
+ },
147
+ [GL.RGBA32UI]: {
148
+ gl2: true,
149
+ bpp: 16
150
+ },
151
+ [GL.R16F]: {
152
+ ext: EXT_FLOAT_WEBGL2,
153
+ bpp: 2
154
+ },
155
+ [GL.RG16F]: {
156
+ ext: EXT_FLOAT_WEBGL2,
157
+ bpp: 4
158
+ },
159
+ [GL.RGBA16F]: {
160
+ ext: EXT_FLOAT_WEBGL2,
161
+ bpp: 8
162
+ },
163
+ [GL.R32F]: {
164
+ ext: EXT_FLOAT_WEBGL2,
165
+ bpp: 4
166
+ },
167
+ [GL.RG32F]: {
168
+ ext: EXT_FLOAT_WEBGL2,
169
+ bpp: 8
170
+ },
171
+ [GL.RGBA32F]: {
172
+ ext: EXT_FLOAT_WEBGL2,
173
+ bpp: 16
174
+ },
175
+ [GL.R11F_G11F_B10F]: {
176
+ ext: EXT_FLOAT_WEBGL2,
177
+ bpp: 4
178
+ }
70
179
  };
71
180
  export default RENDERBUFFER_FORMATS;
181
+ //# sourceMappingURL=renderbuffer-formats.js.map