@luma.gl/webgl 9.0.0-alpha.15 → 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 (401) hide show
  1. package/dist/adapter/converters/device-parameters.d.ts.map +1 -1
  2. package/dist/adapter/converters/device-parameters.js +3 -23
  3. package/dist/adapter/converters/device-parameters.js.map +1 -1
  4. package/dist/adapter/converters/renderbuffer-formats.js +1 -5
  5. package/dist/adapter/converters/renderbuffer-formats.js.map +1 -1
  6. package/dist/adapter/converters/sampler-parameters.d.ts.map +1 -1
  7. package/dist/adapter/converters/sampler-parameters.js +3 -58
  8. package/dist/adapter/converters/sampler-parameters.js.map +1 -1
  9. package/dist/adapter/converters/texture-formats.d.ts.map +1 -1
  10. package/dist/adapter/converters/texture-formats.js +10 -54
  11. package/dist/adapter/converters/texture-formats.js.map +1 -1
  12. package/dist/adapter/converters/vertex-formats.js +0 -9
  13. package/dist/adapter/converters/vertex-formats.js.map +1 -1
  14. package/dist/adapter/device-helpers/device-features.js +5 -22
  15. package/dist/adapter/device-helpers/device-features.js.map +1 -1
  16. package/dist/adapter/device-helpers/device-limits.js +1 -4
  17. package/dist/adapter/device-helpers/device-limits.js.map +1 -1
  18. package/dist/adapter/device-helpers/get-device-info.js +6 -12
  19. package/dist/adapter/device-helpers/get-device-info.js.map +1 -1
  20. package/dist/adapter/device-helpers/is-old-ie.js +2 -1
  21. package/dist/adapter/device-helpers/is-old-ie.js.map +1 -1
  22. package/dist/adapter/helpers/attribute-utils.js +0 -17
  23. package/dist/adapter/helpers/attribute-utils.js.map +1 -1
  24. package/dist/adapter/helpers/get-shader-info.d.ts +9 -0
  25. package/dist/adapter/helpers/get-shader-info.d.ts.map +1 -0
  26. package/dist/adapter/helpers/get-shader-info.js +25 -0
  27. package/dist/adapter/helpers/get-shader-info.js.map +1 -0
  28. package/dist/adapter/helpers/get-shader-layout.js +9 -57
  29. package/dist/adapter/helpers/get-shader-layout.js.map +1 -1
  30. package/dist/adapter/helpers/parse-shader-compiler-log.d.ts +1 -1
  31. package/dist/adapter/helpers/parse-shader-compiler-log.d.ts.map +1 -1
  32. package/dist/adapter/helpers/parse-shader-compiler-log.js +0 -7
  33. package/dist/adapter/helpers/parse-shader-compiler-log.js.map +1 -1
  34. package/dist/adapter/helpers/set-uniform.d.ts.map +1 -1
  35. package/dist/adapter/helpers/set-uniform.js +0 -30
  36. package/dist/adapter/helpers/set-uniform.js.map +1 -1
  37. package/dist/adapter/helpers/uniforms.js +0 -10
  38. package/dist/adapter/helpers/uniforms.js.map +1 -1
  39. package/dist/adapter/objects/constants-to-keys.js +0 -7
  40. package/dist/adapter/objects/constants-to-keys.js.map +1 -1
  41. package/dist/adapter/objects/webgl-renderbuffer.d.ts.map +1 -1
  42. package/dist/adapter/objects/webgl-renderbuffer.js +4 -20
  43. package/dist/adapter/objects/webgl-renderbuffer.js.map +1 -1
  44. package/dist/adapter/objects/webgl-resource.d.ts.map +1 -1
  45. package/dist/adapter/objects/webgl-resource.js +13 -60
  46. package/dist/adapter/objects/webgl-resource.js.map +1 -1
  47. package/dist/adapter/objects/webgl-vertex-array-object.d.ts.map +1 -1
  48. package/dist/adapter/objects/webgl-vertex-array-object.js +6 -16
  49. package/dist/adapter/objects/webgl-vertex-array-object.js.map +1 -1
  50. package/dist/adapter/resources/webgl-buffer.d.ts.map +1 -1
  51. package/dist/adapter/resources/webgl-buffer.js +13 -42
  52. package/dist/adapter/resources/webgl-buffer.js.map +1 -1
  53. package/dist/adapter/resources/webgl-command-buffer.js +2 -17
  54. package/dist/adapter/resources/webgl-command-buffer.js.map +1 -1
  55. package/dist/adapter/resources/webgl-command-encoder.js +1 -14
  56. package/dist/adapter/resources/webgl-command-encoder.js.map +1 -1
  57. package/dist/adapter/resources/webgl-external-texture.js.map +1 -1
  58. package/dist/adapter/resources/webgl-framebuffer.d.ts.map +1 -1
  59. package/dist/adapter/resources/webgl-framebuffer.js +5 -65
  60. package/dist/adapter/resources/webgl-framebuffer.js.map +1 -1
  61. package/dist/adapter/resources/webgl-render-pass.d.ts +1 -1
  62. package/dist/adapter/resources/webgl-render-pass.d.ts.map +1 -1
  63. package/dist/adapter/resources/webgl-render-pass.js +1 -8
  64. package/dist/adapter/resources/webgl-render-pass.js.map +1 -1
  65. package/dist/adapter/resources/webgl-render-pipeline.d.ts.map +1 -1
  66. package/dist/adapter/resources/webgl-render-pipeline.js +9 -98
  67. package/dist/adapter/resources/webgl-render-pipeline.js.map +1 -1
  68. package/dist/adapter/resources/webgl-sampler.js +1 -13
  69. package/dist/adapter/resources/webgl-sampler.js.map +1 -1
  70. package/dist/adapter/resources/webgl-shader.d.ts +1 -2
  71. package/dist/adapter/resources/webgl-shader.d.ts.map +1 -1
  72. package/dist/adapter/resources/webgl-shader.js +3 -17
  73. package/dist/adapter/resources/webgl-shader.js.map +1 -1
  74. package/dist/adapter/resources/webgl-texture.d.ts +1 -1
  75. package/dist/adapter/resources/webgl-texture.d.ts.map +1 -1
  76. package/dist/adapter/resources/webgl-texture.js +44 -162
  77. package/dist/adapter/resources/webgl-texture.js.map +1 -1
  78. package/dist/adapter/webgl-canvas-context.d.ts.map +1 -1
  79. package/dist/adapter/webgl-canvas-context.js +2 -16
  80. package/dist/adapter/webgl-canvas-context.js.map +1 -1
  81. package/dist/adapter/webgl-device.d.ts +5 -0
  82. package/dist/adapter/webgl-device.d.ts.map +1 -1
  83. package/dist/adapter/webgl-device.js +40 -107
  84. package/dist/adapter/webgl-device.js.map +1 -1
  85. package/dist/classic/accessor.js +11 -35
  86. package/dist/classic/accessor.js.map +1 -1
  87. package/dist/classic/buffer.d.ts.map +1 -1
  88. package/dist/classic/buffer.js +20 -76
  89. package/dist/classic/buffer.js.map +1 -1
  90. package/dist/classic/typed-array-utils.d.ts.map +1 -1
  91. package/dist/classic/typed-array-utils.js +0 -20
  92. package/dist/classic/typed-array-utils.js.map +1 -1
  93. package/dist/context/context/create-browser-context.d.ts +1 -0
  94. package/dist/context/context/create-browser-context.d.ts.map +1 -1
  95. package/dist/context/context/create-browser-context.js +6 -14
  96. package/dist/context/context/create-browser-context.js.map +1 -1
  97. package/dist/context/context/create-headless-context.js +6 -7
  98. package/dist/context/context/create-headless-context.js.map +1 -1
  99. package/dist/context/context/webgl-checks.js +0 -3
  100. package/dist/context/context/webgl-checks.js.map +1 -1
  101. package/dist/context/debug/spector.d.ts +1 -0
  102. package/dist/context/debug/spector.d.ts.map +1 -1
  103. package/dist/context/debug/spector.js +6 -18
  104. package/dist/context/debug/spector.js.map +1 -1
  105. package/dist/context/debug/webgl-developer-tools.d.ts.map +1 -1
  106. package/dist/context/debug/webgl-developer-tools.js +4 -22
  107. package/dist/context/debug/webgl-developer-tools.js.map +1 -1
  108. package/dist/context/parameters/unified-parameter-api.js +4 -15
  109. package/dist/context/parameters/unified-parameter-api.js.map +1 -1
  110. package/dist/context/parameters/webgl-parameter-tables.js +1 -20
  111. package/dist/context/parameters/webgl-parameter-tables.js.map +1 -1
  112. package/dist/context/polyfill/context-data.js +0 -2
  113. package/dist/context/polyfill/context-data.js.map +1 -1
  114. package/dist/context/polyfill/get-parameter-polyfill.js +1 -6
  115. package/dist/context/polyfill/get-parameter-polyfill.js.map +1 -1
  116. package/dist/context/polyfill/polyfill-context.js +17 -24
  117. package/dist/context/polyfill/polyfill-context.js.map +1 -1
  118. package/dist/context/polyfill/polyfill-table.d.ts.map +1 -1
  119. package/dist/context/polyfill/polyfill-table.js +3 -26
  120. package/dist/context/polyfill/polyfill-table.js.map +1 -1
  121. package/dist/context/polyfill/polyfill-vertex-array-object.d.ts.map +1 -1
  122. package/dist/context/polyfill/polyfill-vertex-array-object.js +0 -70
  123. package/dist/context/polyfill/polyfill-vertex-array-object.js.map +1 -1
  124. package/dist/context/state-tracker/deep-array-equal.js +0 -4
  125. package/dist/context/state-tracker/deep-array-equal.js.map +1 -1
  126. package/dist/context/state-tracker/track-context-state.d.ts.map +1 -1
  127. package/dist/context/state-tracker/track-context-state.js +14 -48
  128. package/dist/context/state-tracker/track-context-state.js.map +1 -1
  129. package/dist/context/state-tracker/with-parameters.d.ts.map +1 -1
  130. package/dist/context/state-tracker/with-parameters.js +3 -9
  131. package/dist/context/state-tracker/with-parameters.js.map +1 -1
  132. package/dist/dist.dev.js +9205 -0
  133. package/dist/index.cjs +5948 -0
  134. package/dist/index.d.ts +0 -2
  135. package/dist/index.d.ts.map +1 -1
  136. package/dist/index.js +24 -26
  137. package/dist/index.js.map +1 -1
  138. package/dist/types/webgl.d.ts +4 -4
  139. package/dist/types/webgl.d.ts.map +1 -1
  140. package/dist/types/webgl.js.map +1 -1
  141. package/dist/types.js.map +1 -1
  142. package/dist.min.js +36 -0
  143. package/package.json +18 -9
  144. package/src/.DS_Store +0 -0
  145. package/src/adapter/.DS_Store +0 -0
  146. package/src/adapter/converters/device-parameters.ts +5 -2
  147. package/src/adapter/converters/sampler-parameters.ts +4 -2
  148. package/src/adapter/converters/texture-formats.ts +3 -1
  149. package/src/adapter/device-helpers/get-device-info.ts +8 -8
  150. package/src/adapter/helpers/get-shader-info.ts +37 -0
  151. package/src/adapter/helpers/get-shader-layout.ts +4 -4
  152. package/src/adapter/helpers/parse-shader-compiler-log.ts +2 -2
  153. package/src/adapter/helpers/set-uniform.ts +2 -0
  154. package/src/adapter/objects/webgl-renderbuffer.ts +1 -1
  155. package/src/adapter/objects/webgl-resource.ts +1 -1
  156. package/src/adapter/objects/webgl-vertex-array-object.ts +1 -1
  157. package/src/adapter/resources/webgl-buffer.ts +5 -5
  158. package/src/adapter/resources/webgl-command-encoder.ts +1 -1
  159. package/src/adapter/resources/webgl-framebuffer.ts +3 -4
  160. package/src/adapter/resources/webgl-render-pass.ts +1 -1
  161. package/src/adapter/resources/webgl-render-pipeline.ts +19 -20
  162. package/src/adapter/resources/webgl-shader.ts +3 -3
  163. package/src/adapter/resources/webgl-texture.ts +8 -9
  164. package/src/adapter/webgl-canvas-context.ts +2 -2
  165. package/src/adapter/webgl-device.ts +13 -3
  166. package/src/classic/accessor.ts +1 -1
  167. package/src/classic/buffer.ts +3 -3
  168. package/src/classic/typed-array-utils.ts +1 -1
  169. package/src/context/.DS_Store +0 -0
  170. package/src/context/context/create-browser-context.ts +4 -2
  171. package/src/context/context/create-headless-context.ts +2 -2
  172. package/src/context/debug/spector.ts +5 -4
  173. package/src/context/debug/webgl-developer-tools.ts +1 -1
  174. package/src/context/polyfill/polyfill-table.ts +1 -0
  175. package/src/context/polyfill/polyfill-vertex-array-object.ts +2 -0
  176. package/src/context/state-tracker/track-context-state.ts +6 -5
  177. package/src/context/state-tracker/with-parameters.ts +1 -1
  178. package/src/index.ts +1 -5
  179. package/src/types/webgl.ts +6 -4
  180. package/dist/bundle.d.ts +0 -2
  181. package/dist/bundle.d.ts.map +0 -1
  182. package/dist/bundle.js +0 -5
  183. package/dist/bundle.js.map +0 -1
  184. package/dist/es5/adapter/converters/device-parameters.js +0 -174
  185. package/dist/es5/adapter/converters/device-parameters.js.map +0 -1
  186. package/dist/es5/adapter/converters/renderbuffer-formats.js +0 -163
  187. package/dist/es5/adapter/converters/renderbuffer-formats.js.map +0 -1
  188. package/dist/es5/adapter/converters/sampler-parameters.js +0 -245
  189. package/dist/es5/adapter/converters/sampler-parameters.js.map +0 -1
  190. package/dist/es5/adapter/converters/texture-formats.js +0 -1022
  191. package/dist/es5/adapter/converters/texture-formats.js.map +0 -1
  192. package/dist/es5/adapter/converters/vertex-formats.js +0 -48
  193. package/dist/es5/adapter/converters/vertex-formats.js.map +0 -1
  194. package/dist/es5/adapter/device-helpers/device-features.js +0 -155
  195. package/dist/es5/adapter/device-helpers/device-features.js.map +0 -1
  196. package/dist/es5/adapter/device-helpers/device-limits.js +0 -64
  197. package/dist/es5/adapter/device-helpers/device-limits.js.map +0 -1
  198. package/dist/es5/adapter/device-helpers/get-device-info.js +0 -59
  199. package/dist/es5/adapter/device-helpers/get-device-info.js.map +0 -1
  200. package/dist/es5/adapter/device-helpers/is-old-ie.js +0 -16
  201. package/dist/es5/adapter/device-helpers/is-old-ie.js.map +0 -1
  202. package/dist/es5/adapter/helpers/attribute-utils.js +0 -91
  203. package/dist/es5/adapter/helpers/attribute-utils.js.map +0 -1
  204. package/dist/es5/adapter/helpers/get-shader-layout.js +0 -389
  205. package/dist/es5/adapter/helpers/get-shader-layout.js.map +0 -1
  206. package/dist/es5/adapter/helpers/parse-shader-compiler-log.js +0 -72
  207. package/dist/es5/adapter/helpers/parse-shader-compiler-log.js.map +0 -1
  208. package/dist/es5/adapter/helpers/set-uniform.js +0 -125
  209. package/dist/es5/adapter/helpers/set-uniform.js.map +0 -1
  210. package/dist/es5/adapter/helpers/uniforms.js +0 -112
  211. package/dist/es5/adapter/helpers/uniforms.js.map +0 -1
  212. package/dist/es5/adapter/objects/constants-to-keys.js +0 -54
  213. package/dist/es5/adapter/objects/constants-to-keys.js.map +0 -1
  214. package/dist/es5/adapter/objects/webgl-renderbuffer.js +0 -150
  215. package/dist/es5/adapter/objects/webgl-renderbuffer.js.map +0 -1
  216. package/dist/es5/adapter/objects/webgl-resource.js +0 -287
  217. package/dist/es5/adapter/objects/webgl-resource.js.map +0 -1
  218. package/dist/es5/adapter/objects/webgl-vertex-array-object.js +0 -137
  219. package/dist/es5/adapter/objects/webgl-vertex-array-object.js.map +0 -1
  220. package/dist/es5/adapter/resources/webgl-buffer.js +0 -242
  221. package/dist/es5/adapter/resources/webgl-buffer.js.map +0 -1
  222. package/dist/es5/adapter/resources/webgl-command-buffer.js +0 -96
  223. package/dist/es5/adapter/resources/webgl-command-buffer.js.map +0 -1
  224. package/dist/es5/adapter/resources/webgl-command-encoder.js +0 -98
  225. package/dist/es5/adapter/resources/webgl-command-encoder.js.map +0 -1
  226. package/dist/es5/adapter/resources/webgl-external-texture.js +0 -2
  227. package/dist/es5/adapter/resources/webgl-external-texture.js.map +0 -1
  228. package/dist/es5/adapter/resources/webgl-framebuffer.js +0 -347
  229. package/dist/es5/adapter/resources/webgl-framebuffer.js.map +0 -1
  230. package/dist/es5/adapter/resources/webgl-render-pass.js +0 -62
  231. package/dist/es5/adapter/resources/webgl-render-pass.js.map +0 -1
  232. package/dist/es5/adapter/resources/webgl-render-pipeline.js +0 -494
  233. package/dist/es5/adapter/resources/webgl-render-pipeline.js.map +0 -1
  234. package/dist/es5/adapter/resources/webgl-sampler.js +0 -101
  235. package/dist/es5/adapter/resources/webgl-sampler.js.map +0 -1
  236. package/dist/es5/adapter/resources/webgl-shader.js +0 -150
  237. package/dist/es5/adapter/resources/webgl-shader.js.map +0 -1
  238. package/dist/es5/adapter/resources/webgl-texture.js +0 -980
  239. package/dist/es5/adapter/resources/webgl-texture.js.map +0 -1
  240. package/dist/es5/adapter/webgl-canvas-context.js +0 -96
  241. package/dist/es5/adapter/webgl-canvas-context.js.map +0 -1
  242. package/dist/es5/adapter/webgl-device.js +0 -474
  243. package/dist/es5/adapter/webgl-device.js.map +0 -1
  244. package/dist/es5/bundle.js +0 -7
  245. package/dist/es5/bundle.js.map +0 -1
  246. package/dist/es5/classic/accessor.js +0 -181
  247. package/dist/es5/classic/accessor.js.map +0 -1
  248. package/dist/es5/classic/buffer.js +0 -468
  249. package/dist/es5/classic/buffer.js.map +0 -1
  250. package/dist/es5/classic/typed-array-utils.js +0 -126
  251. package/dist/es5/classic/typed-array-utils.js.map +0 -1
  252. package/dist/es5/context/context/create-browser-context.js +0 -83
  253. package/dist/es5/context/context/create-browser-context.js.map +0 -1
  254. package/dist/es5/context/context/create-headless-context.js +0 -60
  255. package/dist/es5/context/context/create-headless-context.js.map +0 -1
  256. package/dist/es5/context/context/webgl-checks.js +0 -54
  257. package/dist/es5/context/context/webgl-checks.js.map +0 -1
  258. package/dist/es5/context/debug/spector.js +0 -133
  259. package/dist/es5/context/debug/spector.js.map +0 -1
  260. package/dist/es5/context/debug/webgl-developer-tools.js +0 -192
  261. package/dist/es5/context/debug/webgl-developer-tools.js.map +0 -1
  262. package/dist/es5/context/parameters/unified-parameter-api.js +0 -101
  263. package/dist/es5/context/parameters/unified-parameter-api.js.map +0 -1
  264. package/dist/es5/context/parameters/webgl-parameter-tables.js +0 -393
  265. package/dist/es5/context/parameters/webgl-parameter-tables.js.map +0 -1
  266. package/dist/es5/context/polyfill/context-data.js +0 -21
  267. package/dist/es5/context/polyfill/context-data.js.map +0 -1
  268. package/dist/es5/context/polyfill/get-parameter-polyfill.js +0 -81
  269. package/dist/es5/context/polyfill/get-parameter-polyfill.js.map +0 -1
  270. package/dist/es5/context/polyfill/polyfill-context.js +0 -134
  271. package/dist/es5/context/polyfill/polyfill-context.js.map +0 -1
  272. package/dist/es5/context/polyfill/polyfill-table.js +0 -167
  273. package/dist/es5/context/polyfill/polyfill-table.js.map +0 -1
  274. package/dist/es5/context/polyfill/polyfill-vertex-array-object.js +0 -341
  275. package/dist/es5/context/polyfill/polyfill-vertex-array-object.js.map +0 -1
  276. package/dist/es5/context/state-tracker/deep-array-equal.js +0 -28
  277. package/dist/es5/context/state-tracker/deep-array-equal.js.map +0 -1
  278. package/dist/es5/context/state-tracker/track-context-state.js +0 -210
  279. package/dist/es5/context/state-tracker/track-context-state.js.map +0 -1
  280. package/dist/es5/context/state-tracker/with-parameters.js +0 -52
  281. package/dist/es5/context/state-tracker/with-parameters.js.map +0 -1
  282. package/dist/es5/index.js +0 -276
  283. package/dist/es5/index.js.map +0 -1
  284. package/dist/es5/init.js +0 -10
  285. package/dist/es5/init.js.map +0 -1
  286. package/dist/es5/types/webgl.js +0 -6
  287. package/dist/es5/types/webgl.js.map +0 -1
  288. package/dist/es5/types.js +0 -2
  289. package/dist/es5/types.js.map +0 -1
  290. package/dist/esm/adapter/converters/device-parameters.js +0 -157
  291. package/dist/esm/adapter/converters/device-parameters.js.map +0 -1
  292. package/dist/esm/adapter/converters/renderbuffer-formats.js +0 -185
  293. package/dist/esm/adapter/converters/renderbuffer-formats.js.map +0 -1
  294. package/dist/esm/adapter/converters/sampler-parameters.js +0 -227
  295. package/dist/esm/adapter/converters/sampler-parameters.js.map +0 -1
  296. package/dist/esm/adapter/converters/texture-formats.js +0 -945
  297. package/dist/esm/adapter/converters/texture-formats.js.map +0 -1
  298. package/dist/esm/adapter/converters/vertex-formats.js +0 -38
  299. package/dist/esm/adapter/converters/vertex-formats.js.map +0 -1
  300. package/dist/esm/adapter/device-helpers/device-features.js +0 -112
  301. package/dist/esm/adapter/device-helpers/device-features.js.map +0 -1
  302. package/dist/esm/adapter/device-helpers/device-limits.js +0 -91
  303. package/dist/esm/adapter/device-helpers/device-limits.js.map +0 -1
  304. package/dist/esm/adapter/device-helpers/get-device-info.js +0 -48
  305. package/dist/esm/adapter/device-helpers/get-device-info.js.map +0 -1
  306. package/dist/esm/adapter/device-helpers/is-old-ie.js +0 -8
  307. package/dist/esm/adapter/device-helpers/is-old-ie.js.map +0 -1
  308. package/dist/esm/adapter/helpers/attribute-utils.js +0 -81
  309. package/dist/esm/adapter/helpers/attribute-utils.js.map +0 -1
  310. package/dist/esm/adapter/helpers/get-shader-layout.js +0 -328
  311. package/dist/esm/adapter/helpers/get-shader-layout.js.map +0 -1
  312. package/dist/esm/adapter/helpers/parse-shader-compiler-log.js +0 -37
  313. package/dist/esm/adapter/helpers/parse-shader-compiler-log.js.map +0 -1
  314. package/dist/esm/adapter/helpers/set-uniform.js +0 -115
  315. package/dist/esm/adapter/helpers/set-uniform.js.map +0 -1
  316. package/dist/esm/adapter/helpers/uniforms.js +0 -99
  317. package/dist/esm/adapter/helpers/uniforms.js.map +0 -1
  318. package/dist/esm/adapter/objects/constants-to-keys.js +0 -42
  319. package/dist/esm/adapter/objects/constants-to-keys.js.map +0 -1
  320. package/dist/esm/adapter/objects/webgl-renderbuffer.js +0 -94
  321. package/dist/esm/adapter/objects/webgl-renderbuffer.js.map +0 -1
  322. package/dist/esm/adapter/objects/webgl-resource.js +0 -210
  323. package/dist/esm/adapter/objects/webgl-resource.js.map +0 -1
  324. package/dist/esm/adapter/objects/webgl-vertex-array-object.js +0 -84
  325. package/dist/esm/adapter/objects/webgl-vertex-array-object.js.map +0 -1
  326. package/dist/esm/adapter/resources/webgl-buffer.js +0 -162
  327. package/dist/esm/adapter/resources/webgl-buffer.js.map +0 -1
  328. package/dist/esm/adapter/resources/webgl-command-buffer.js +0 -65
  329. package/dist/esm/adapter/resources/webgl-command-buffer.js.map +0 -1
  330. package/dist/esm/adapter/resources/webgl-command-encoder.js +0 -53
  331. package/dist/esm/adapter/resources/webgl-command-encoder.js.map +0 -1
  332. package/dist/esm/adapter/resources/webgl-external-texture.js +0 -2
  333. package/dist/esm/adapter/resources/webgl-external-texture.js.map +0 -1
  334. package/dist/esm/adapter/resources/webgl-framebuffer.js +0 -267
  335. package/dist/esm/adapter/resources/webgl-framebuffer.js.map +0 -1
  336. package/dist/esm/adapter/resources/webgl-render-pass.js +0 -21
  337. package/dist/esm/adapter/resources/webgl-render-pass.js.map +0 -1
  338. package/dist/esm/adapter/resources/webgl-render-pipeline.js +0 -400
  339. package/dist/esm/adapter/resources/webgl-render-pipeline.js.map +0 -1
  340. package/dist/esm/adapter/resources/webgl-sampler.js +0 -54
  341. package/dist/esm/adapter/resources/webgl-sampler.js.map +0 -1
  342. package/dist/esm/adapter/resources/webgl-shader.js +0 -76
  343. package/dist/esm/adapter/resources/webgl-shader.js.map +0 -1
  344. package/dist/esm/adapter/resources/webgl-texture.js +0 -832
  345. package/dist/esm/adapter/resources/webgl-texture.js.map +0 -1
  346. package/dist/esm/adapter/webgl-canvas-context.js +0 -55
  347. package/dist/esm/adapter/webgl-canvas-context.js.map +0 -1
  348. package/dist/esm/adapter/webgl-device.js +0 -346
  349. package/dist/esm/adapter/webgl-device.js.map +0 -1
  350. package/dist/esm/bundle.js +0 -5
  351. package/dist/esm/bundle.js.map +0 -1
  352. package/dist/esm/classic/accessor.js +0 -144
  353. package/dist/esm/classic/accessor.js.map +0 -1
  354. package/dist/esm/classic/buffer.js +0 -383
  355. package/dist/esm/classic/buffer.js.map +0 -1
  356. package/dist/esm/classic/typed-array-utils.js +0 -112
  357. package/dist/esm/classic/typed-array-utils.js.map +0 -1
  358. package/dist/esm/context/context/create-browser-context.js +0 -61
  359. package/dist/esm/context/context/create-browser-context.js.map +0 -1
  360. package/dist/esm/context/context/create-headless-context.js +0 -43
  361. package/dist/esm/context/context/create-headless-context.js.map +0 -1
  362. package/dist/esm/context/context/webgl-checks.js +0 -34
  363. package/dist/esm/context/context/webgl-checks.js.map +0 -1
  364. package/dist/esm/context/debug/spector.js +0 -76
  365. package/dist/esm/context/debug/spector.js.map +0 -1
  366. package/dist/esm/context/debug/webgl-developer-tools.js +0 -115
  367. package/dist/esm/context/debug/webgl-developer-tools.js.map +0 -1
  368. package/dist/esm/context/parameters/unified-parameter-api.js +0 -66
  369. package/dist/esm/context/parameters/unified-parameter-api.js.map +0 -1
  370. package/dist/esm/context/parameters/webgl-parameter-tables.js +0 -446
  371. package/dist/esm/context/parameters/webgl-parameter-tables.js.map +0 -1
  372. package/dist/esm/context/polyfill/context-data.js +0 -14
  373. package/dist/esm/context/polyfill/context-data.js.map +0 -1
  374. package/dist/esm/context/polyfill/get-parameter-polyfill.js +0 -91
  375. package/dist/esm/context/polyfill/get-parameter-polyfill.js.map +0 -1
  376. package/dist/esm/context/polyfill/polyfill-context.js +0 -91
  377. package/dist/esm/context/polyfill/polyfill-context.js.map +0 -1
  378. package/dist/esm/context/polyfill/polyfill-table.js +0 -161
  379. package/dist/esm/context/polyfill/polyfill-table.js.map +0 -1
  380. package/dist/esm/context/polyfill/polyfill-vertex-array-object.js +0 -335
  381. package/dist/esm/context/polyfill/polyfill-vertex-array-object.js.map +0 -1
  382. package/dist/esm/context/state-tracker/deep-array-equal.js +0 -21
  383. package/dist/esm/context/state-tracker/deep-array-equal.js.map +0 -1
  384. package/dist/esm/context/state-tracker/track-context-state.js +0 -182
  385. package/dist/esm/context/state-tracker/track-context-state.js.map +0 -1
  386. package/dist/esm/context/state-tracker/with-parameters.js +0 -40
  387. package/dist/esm/context/state-tracker/with-parameters.js.map +0 -1
  388. package/dist/esm/index.js +0 -27
  389. package/dist/esm/index.js.map +0 -1
  390. package/dist/esm/init.js +0 -4
  391. package/dist/esm/init.js.map +0 -1
  392. package/dist/esm/types/webgl.js +0 -2
  393. package/dist/esm/types/webgl.js.map +0 -1
  394. package/dist/esm/types.js +0 -2
  395. package/dist/esm/types.js.map +0 -1
  396. package/dist/init.d.ts +0 -2
  397. package/dist/init.d.ts.map +0 -1
  398. package/dist/init.js +0 -4
  399. package/dist/init.js.map +0 -1
  400. package/src/bundle.ts +0 -4
  401. package/src/init.ts +0 -4
@@ -1,52 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- exports.withParameters = withParameters;
9
-
10
- var _webglDevice = _interopRequireDefault(require("../../adapter/webgl-device"));
11
-
12
- var _unifiedParameterApi = require("../parameters/unified-parameter-api");
13
-
14
- var _trackContextState = require("./track-context-state");
15
-
16
- function withParameters(device, parameters, func) {
17
- var webglDevice = _webglDevice.default.attach(device);
18
-
19
- var gl = webglDevice.gl;
20
-
21
- if (isObjectEmpty(parameters)) {
22
- return func(device);
23
- }
24
-
25
- var _parameters$nocatch = parameters.nocatch,
26
- nocatch = _parameters$nocatch === void 0 ? true : _parameters$nocatch;
27
- (0, _trackContextState.pushContextState)(gl);
28
- (0, _unifiedParameterApi.setParameters)(gl, parameters);
29
- var value;
30
-
31
- if (nocatch) {
32
- value = func(gl);
33
- (0, _trackContextState.popContextState)(gl);
34
- } else {
35
- try {
36
- value = func(gl);
37
- } finally {
38
- (0, _trackContextState.popContextState)(gl);
39
- }
40
- }
41
-
42
- return value;
43
- }
44
-
45
- function isObjectEmpty(object) {
46
- for (var key in object) {
47
- return false;
48
- }
49
-
50
- return true;
51
- }
52
- //# sourceMappingURL=with-parameters.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../src/context/state-tracker/with-parameters.ts"],"names":["withParameters","device","parameters","func","webglDevice","WebGLDevice","attach","gl","isObjectEmpty","nocatch","value","object","key"],"mappings":";;;;;;;;;AACA;;AACA;;AACA;;AAUQ,SAASA,cAAT,CAAwBC,MAAxB,EAAgEC,UAAhE,EAAgHC,IAAhH,EAAgI;AACtI,MAAMC,WAAW,GAAGC,qBAAYC,MAAZ,CAAmBL,MAAnB,CAApB;;AACA,MAAMM,EAAE,GAAGH,WAAW,CAACG,EAAvB;;AAEA,MAAIC,aAAa,CAACN,UAAD,CAAjB,EAA+B;AAE7B,WAAOC,IAAI,CAACF,MAAD,CAAX;AACD;;AAED,4BAAyBC,UAAzB,CAAOO,OAAP;AAAA,MAAOA,OAAP,oCAAiB,IAAjB;AAEA,2CAAiBF,EAAjB;AACA,0CAAcA,EAAd,EAAkBL,UAAlB;AAGA,MAAIQ,KAAJ;;AAEA,MAAID,OAAJ,EAAa;AAEXC,IAAAA,KAAK,GAAGP,IAAI,CAACI,EAAD,CAAZ;AACA,4CAAgBA,EAAhB;AACD,GAJD,MAIO;AAEL,QAAI;AACFG,MAAAA,KAAK,GAAGP,IAAI,CAACI,EAAD,CAAZ;AACD,KAFD,SAEU;AACR,8CAAgBA,EAAhB;AACD;AACF;;AAED,SAAOG,KAAP;AACD;;AAKD,SAASF,aAAT,CAAuBG,MAAvB,EAA+B;AAE7B,OAAK,IAAMC,GAAX,IAAkBD,MAAlB,EAA0B;AACxB,WAAO,KAAP;AACD;;AACD,SAAO,IAAP;AACD","sourcesContent":["import type {Device} from '@luma.gl/api';\nimport {default as WebGLDevice} from '../../adapter/webgl-device';\nimport {GLParameters, setParameters} from '../parameters/unified-parameter-api';\nimport {pushContextState, popContextState} from './track-context-state';\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 */\n export function withParameters(device: Device | WebGLRenderingContext, parameters: GLParameters & {nocatch?: boolean}, func: any): any {\n const webglDevice = WebGLDevice.attach(device);\n const gl = webglDevice.gl;\n\n if (isObjectEmpty(parameters)) {\n // Avoid setting state if no parameters provided. Just call and return\n return func(device);\n }\n\n const {nocatch = true} = parameters;\n\n pushContextState(gl);\n setParameters(gl, parameters);\n\n // Setup is done, call the function\n let value;\n\n if (nocatch) {\n // Avoid try catch to minimize stack size impact for safe execution paths\n value = func(gl);\n popContextState(gl);\n } else {\n // Wrap in a try-catch to ensure that parameters are restored on exceptions\n try {\n value = func(gl);\n } finally {\n popContextState(gl);\n }\n }\n\n return value;\n}\n\n// Helpers\n\n// Returns true if given object is empty, false otherwise.\nfunction isObjectEmpty(object) {\n // @ts-ignore - dummy key variable\n for (const key in object) {\n return false;\n }\n return true;\n}\n"],"file":"with-parameters.js"}
package/dist/es5/index.js DELETED
@@ -1,276 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- Object.defineProperty(exports, "registerHeadlessGL", {
9
- enumerable: true,
10
- get: function get() {
11
- return _createHeadlessContext.registerHeadlessGL;
12
- }
13
- });
14
- Object.defineProperty(exports, "WebGLDevice", {
15
- enumerable: true,
16
- get: function get() {
17
- return _webglDevice.default;
18
- }
19
- });
20
- Object.defineProperty(exports, "WebGLCanvasContext", {
21
- enumerable: true,
22
- get: function get() {
23
- return _webglCanvasContext.default;
24
- }
25
- });
26
- Object.defineProperty(exports, "WEBGLResource", {
27
- enumerable: true,
28
- get: function get() {
29
- return _webglResource.default;
30
- }
31
- });
32
- Object.defineProperty(exports, "WebGLResource", {
33
- enumerable: true,
34
- get: function get() {
35
- return _webglResource.default;
36
- }
37
- });
38
- Object.defineProperty(exports, "WEBGLBuffer", {
39
- enumerable: true,
40
- get: function get() {
41
- return _webglBuffer.default;
42
- }
43
- });
44
- Object.defineProperty(exports, "WEBGLTexture", {
45
- enumerable: true,
46
- get: function get() {
47
- return _webglTexture.default;
48
- }
49
- });
50
- Object.defineProperty(exports, "WEBGLShader", {
51
- enumerable: true,
52
- get: function get() {
53
- return _webglShader.default;
54
- }
55
- });
56
- Object.defineProperty(exports, "WEBGLSampler", {
57
- enumerable: true,
58
- get: function get() {
59
- return _webglSampler.default;
60
- }
61
- });
62
- Object.defineProperty(exports, "WEBGLFramebuffer", {
63
- enumerable: true,
64
- get: function get() {
65
- return _webglFramebuffer.default;
66
- }
67
- });
68
- Object.defineProperty(exports, "WEBGLRenderPipeline", {
69
- enumerable: true,
70
- get: function get() {
71
- return _webglRenderPipeline.default;
72
- }
73
- });
74
- Object.defineProperty(exports, "WEBGLCommandEncoder", {
75
- enumerable: true,
76
- get: function get() {
77
- return _webglCommandEncoder.default;
78
- }
79
- });
80
- Object.defineProperty(exports, "WEBGLRenderPass", {
81
- enumerable: true,
82
- get: function get() {
83
- return _webglRenderPass.default;
84
- }
85
- });
86
- Object.defineProperty(exports, "WEBGLRenderbuffer", {
87
- enumerable: true,
88
- get: function get() {
89
- return _webglRenderbuffer.default;
90
- }
91
- });
92
- Object.defineProperty(exports, "WEBGLVertexArrayObject", {
93
- enumerable: true,
94
- get: function get() {
95
- return _webglVertexArrayObject.default;
96
- }
97
- });
98
- Object.defineProperty(exports, "Accessor", {
99
- enumerable: true,
100
- get: function get() {
101
- return _accessor.default;
102
- }
103
- });
104
- Object.defineProperty(exports, "ClassicBuffer", {
105
- enumerable: true,
106
- get: function get() {
107
- return _buffer.default;
108
- }
109
- });
110
- Object.defineProperty(exports, "Buffer", {
111
- enumerable: true,
112
- get: function get() {
113
- return _buffer.default;
114
- }
115
- });
116
- Object.defineProperty(exports, "isWebGL", {
117
- enumerable: true,
118
- get: function get() {
119
- return _webglChecks.isWebGL;
120
- }
121
- });
122
- Object.defineProperty(exports, "isWebGL2", {
123
- enumerable: true,
124
- get: function get() {
125
- return _webglChecks.isWebGL2;
126
- }
127
- });
128
- Object.defineProperty(exports, "getWebGL2Context", {
129
- enumerable: true,
130
- get: function get() {
131
- return _webglChecks.getWebGL2Context;
132
- }
133
- });
134
- Object.defineProperty(exports, "assertWebGLContext", {
135
- enumerable: true,
136
- get: function get() {
137
- return _webglChecks.assertWebGLContext;
138
- }
139
- });
140
- Object.defineProperty(exports, "assertWebGL2Context", {
141
- enumerable: true,
142
- get: function get() {
143
- return _webglChecks.assertWebGL2Context;
144
- }
145
- });
146
- Object.defineProperty(exports, "setDeviceParameters", {
147
- enumerable: true,
148
- get: function get() {
149
- return _deviceParameters.setDeviceParameters;
150
- }
151
- });
152
- Object.defineProperty(exports, "withDeviceParameters", {
153
- enumerable: true,
154
- get: function get() {
155
- return _deviceParameters.withDeviceParameters;
156
- }
157
- });
158
- Object.defineProperty(exports, "getParameters", {
159
- enumerable: true,
160
- get: function get() {
161
- return _unifiedParameterApi.getParameters;
162
- }
163
- });
164
- Object.defineProperty(exports, "setParameters", {
165
- enumerable: true,
166
- get: function get() {
167
- return _unifiedParameterApi.setParameters;
168
- }
169
- });
170
- Object.defineProperty(exports, "resetParameters", {
171
- enumerable: true,
172
- get: function get() {
173
- return _unifiedParameterApi.resetParameters;
174
- }
175
- });
176
- Object.defineProperty(exports, "withParameters", {
177
- enumerable: true,
178
- get: function get() {
179
- return _withParameters.withParameters;
180
- }
181
- });
182
- Object.defineProperty(exports, "trackContextState", {
183
- enumerable: true,
184
- get: function get() {
185
- return _trackContextState.trackContextState;
186
- }
187
- });
188
- Object.defineProperty(exports, "pushContextState", {
189
- enumerable: true,
190
- get: function get() {
191
- return _trackContextState.pushContextState;
192
- }
193
- });
194
- Object.defineProperty(exports, "popContextState", {
195
- enumerable: true,
196
- get: function get() {
197
- return _trackContextState.popContextState;
198
- }
199
- });
200
- Object.defineProperty(exports, "polyfillContext", {
201
- enumerable: true,
202
- get: function get() {
203
- return _polyfillContext.polyfillContext;
204
- }
205
- });
206
- Object.defineProperty(exports, "getShaderLayout", {
207
- enumerable: true,
208
- get: function get() {
209
- return _getShaderLayout.getShaderLayout;
210
- }
211
- });
212
- Object.defineProperty(exports, "getProgramBindings", {
213
- enumerable: true,
214
- get: function get() {
215
- return _getShaderLayout.getProgramBindings;
216
- }
217
- });
218
- Object.defineProperty(exports, "_checkFloat32ColorAttachment", {
219
- enumerable: true,
220
- get: function get() {
221
- return _textureFormats._checkFloat32ColorAttachment;
222
- }
223
- });
224
-
225
- require("@luma.gl/api");
226
-
227
- require("./init");
228
-
229
- var _createHeadlessContext = require("./context/context/create-headless-context");
230
-
231
- var _webglDevice = _interopRequireDefault(require("./adapter/webgl-device"));
232
-
233
- var _webglCanvasContext = _interopRequireDefault(require("./adapter/webgl-canvas-context"));
234
-
235
- var _webglResource = _interopRequireDefault(require("./adapter/objects/webgl-resource"));
236
-
237
- var _webglBuffer = _interopRequireDefault(require("./adapter/resources/webgl-buffer"));
238
-
239
- var _webglTexture = _interopRequireDefault(require("./adapter/resources/webgl-texture"));
240
-
241
- var _webglShader = _interopRequireDefault(require("./adapter/resources/webgl-shader"));
242
-
243
- var _webglSampler = _interopRequireDefault(require("./adapter/resources/webgl-sampler"));
244
-
245
- var _webglFramebuffer = _interopRequireDefault(require("./adapter/resources/webgl-framebuffer"));
246
-
247
- var _webglRenderPipeline = _interopRequireDefault(require("./adapter/resources/webgl-render-pipeline"));
248
-
249
- var _webglCommandEncoder = _interopRequireDefault(require("./adapter/resources/webgl-command-encoder"));
250
-
251
- var _webglRenderPass = _interopRequireDefault(require("./adapter/resources/webgl-render-pass"));
252
-
253
- var _webglRenderbuffer = _interopRequireDefault(require("./adapter/objects/webgl-renderbuffer"));
254
-
255
- var _webglVertexArrayObject = _interopRequireDefault(require("./adapter/objects/webgl-vertex-array-object"));
256
-
257
- var _accessor = _interopRequireDefault(require("./classic/accessor"));
258
-
259
- var _buffer = _interopRequireDefault(require("./classic/buffer"));
260
-
261
- var _webglChecks = require("./context/context/webgl-checks");
262
-
263
- var _deviceParameters = require("./adapter/converters/device-parameters");
264
-
265
- var _unifiedParameterApi = require("./context/parameters/unified-parameter-api");
266
-
267
- var _withParameters = require("./context/state-tracker/with-parameters");
268
-
269
- var _trackContextState = require("./context/state-tracker/track-context-state");
270
-
271
- var _polyfillContext = require("./context/polyfill/polyfill-context");
272
-
273
- var _getShaderLayout = require("./adapter/helpers/get-shader-layout");
274
-
275
- var _textureFormats = require("./adapter/converters/texture-formats");
276
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAOA;;AACA;;AAKA;;AAGA;;AACA;;AAGA;;AACA;;AACA;;AAEA;;AACA;;AACA;;AAEA;;AAEA;;AACA;;AAKA;;AACA;;AAGA;;AAGA;;AAEA;;AAUA;;AAGA;;AAMA;;AAKA;;AAOA;;AAGA;;AACA","sourcesContent":["// luma.gl Base WebGL wrapper library\n// Provides simple class/function wrappers around the low level webgl objects\n// These classes are intentionally close to the WebGL API\n// but make it easier to use.\n// Higher level abstractions can be built on these classes\n\n// Initialize any global state\nimport '@luma.gl/api';\nimport './init'\n\n// Types\nexport type {WebGLLimits} from './adapter/device-helpers/device-limits';\n\nexport {registerHeadlessGL} from './context/context/create-headless-context';\n\n// WebGL adapter classes\nexport {default as WebGLDevice} from './adapter/webgl-device';\nexport {default as WebGLCanvasContext} from './adapter/webgl-canvas-context';\n\n// WebGL Resource classes\nexport {default as WEBGLResource, default as WebGLResource} from './adapter/objects/webgl-resource';\nexport {default as WEBGLBuffer} from './adapter/resources/webgl-buffer';\nexport {default as WEBGLTexture} from './adapter/resources/webgl-texture';\n// export {default as WEBGLExternalTexture} from './adapter/resources/webgl-external-texture';\nexport {default as WEBGLShader} from './adapter/resources/webgl-shader';\nexport {default as WEBGLSampler} from './adapter/resources/webgl-sampler';\nexport {default as WEBGLFramebuffer} from './adapter/resources/webgl-framebuffer';\n\nexport {default as WEBGLRenderPipeline} from './adapter/resources/webgl-render-pipeline';\n// export {default as WEBGLComputePipeline} from './adapter/resources/webgl-compute-pipeline';\nexport {default as WEBGLCommandEncoder} from './adapter/resources/webgl-command-encoder';\nexport {default as WEBGLRenderPass} from './adapter/resources/webgl-render-pass';\n//export {default as WEBGLComputePass} from './adapter/resources/webgl-compute-pass';\n\n// non-api resources\nexport type {RenderbufferProps} from './adapter/objects/webgl-renderbuffer';\nexport {default as WEBGLRenderbuffer} from './adapter/objects/webgl-renderbuffer';\nexport {default as WEBGLVertexArrayObject} from './adapter/objects/webgl-vertex-array-object';\n\n// WebGL adapter classes (Legacy, will be moved to gltools)\nexport {default as Accessor} from './classic/accessor';\nexport type {AccessorObject} from './types';\nexport type {ClassicBufferProps, ClassicBufferProps as BufferProps} from './classic/buffer';\nexport {default as ClassicBuffer, default as Buffer} from './classic/buffer';\n\nexport {\n isWebGL,\n isWebGL2,\n getWebGL2Context,\n assertWebGLContext,\n assertWebGL2Context\n} from './context/context/webgl-checks';\n\n// Unified parameter API\n\nexport {setDeviceParameters, withDeviceParameters} from './adapter/converters/device-parameters';\n\nexport type {GLParameters} from './types/webgl';\nexport {\n getParameters,\n setParameters,\n resetParameters\n} from './context/parameters/unified-parameter-api';\n\nexport {\n withParameters\n} from './context/state-tracker/with-parameters';\n\n// State tracking\nexport {\n trackContextState,\n pushContextState,\n popContextState\n} from './context/state-tracker/track-context-state';\n\n// Polyfills (supports a subset of WebGL2 APIs on WebGL1 contexts)\nexport {polyfillContext} from './context/polyfill/polyfill-context';\n\n// HELPERS - EXPERIMENTAL\nexport {getShaderLayout, getProgramBindings} from './adapter/helpers/get-shader-layout';\nexport {_checkFloat32ColorAttachment} from './adapter/converters/texture-formats';\n"],"file":"index.js"}
package/dist/es5/init.js DELETED
@@ -1,10 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- var _api = require("@luma.gl/api");
6
-
7
- var _webglDevice = _interopRequireDefault(require("./adapter/webgl-device"));
8
-
9
- _api.luma.registerDevices([_webglDevice.default]);
10
- //# sourceMappingURL=init.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/init.ts"],"names":["luma","registerDevices","WebGLDevice"],"mappings":";;;;AAAA;;AACA;;AAEAA,UAAKC,eAAL,CAAqB,CAACC,oBAAD,CAArB","sourcesContent":["import {luma} from '@luma.gl/api';\nimport WebGLDevice from './adapter/webgl-device';\n\nluma.registerDevices([WebGLDevice]);\n"],"file":"init.js"}
@@ -1,6 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- var _constants = _interopRequireDefault(require("@luma.gl/constants"));
6
- //# sourceMappingURL=webgl.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/types/webgl.ts"],"names":[],"mappings":";;;;AACA","sourcesContent":["import type {NumberArray} from '@luma.gl/api';\nimport GL from '@luma.gl/constants';\n\ntype Framebuffer = any;\n\nexport type GLDrawMode =\n | GL.POINTS\n | GL.LINES\n | GL.LINE_STRIP\n | GL.LINE_LOOP\n | GL.TRIANGLES\n | GL.TRIANGLE_STRIP\n | GL.TRIANGLE_FAN;\n\nexport type GLPrimitive = GL.POINTS | GL.LINES | GL.TRIANGLES;\n\nexport type GLType =\n | GL.FLOAT\n | GL.UNSIGNED_SHORT\n | GL.UNSIGNED_INT\n | GL.UNSIGNED_BYTE\n | GL.BYTE\n | GL.SHORT\n | GL.INT;\n\nexport type GLPackedType =\n | GL.UNSIGNED_SHORT_5_6_5\n | GL.UNSIGNED_SHORT_4_4_4_4\n | GL.UNSIGNED_SHORT_5_5_5_1;\n\nexport type GLUniformType = GLSamplerType | GLCompositeType;\n\nexport type GLSamplerType =\n | GL.SAMPLER_2D\n | GL.SAMPLER_CUBE\n | GL.SAMPLER_3D\n | GL.SAMPLER_2D_SHADOW\n | GL.SAMPLER_2D_ARRAY\n | GL.SAMPLER_2D_ARRAY_SHADOW\n | GL.SAMPLER_CUBE_SHADOW\n | GL.INT_SAMPLER_2D\n | GL.INT_SAMPLER_3D\n | GL.INT_SAMPLER_CUBE\n | GL.INT_SAMPLER_2D_ARRAY\n | GL.UNSIGNED_INT_SAMPLER_2D\n | GL.UNSIGNED_INT_SAMPLER_3D\n | GL.UNSIGNED_INT_SAMPLER_CUBE\n | GL.UNSIGNED_INT_SAMPLER_2D_ARRAY;\n\n// Composite types table\nexport type GLCompositeType =\n | GL.FLOAT\n | GL.FLOAT_VEC2\n | GL.FLOAT_VEC3\n | GL.FLOAT_VEC4\n | GL.INT\n | GL.INT_VEC2\n | GL.INT_VEC3\n | GL.INT_VEC4\n | GL.UNSIGNED_INT\n | GL.UNSIGNED_INT_VEC2\n | GL.UNSIGNED_INT_VEC3\n | GL.UNSIGNED_INT_VEC4\n | GL.BOOL\n | GL.BOOL_VEC2\n | GL.BOOL_VEC3\n | GL.BOOL_VEC4\n | GL.FLOAT_MAT2\n | GL.FLOAT_MAT2x3\n | GL.FLOAT_MAT2x4\n | GL.FLOAT_MAT3x2\n | GL.FLOAT_MAT3\n | GL.FLOAT_MAT3x4\n | GL.FLOAT_MAT4x2\n | GL.FLOAT_MAT4x3\n | GL.FLOAT_MAT4;\n\nexport type GLFunction =\n | GL.NEVER\n | GL.LESS\n | GL.EQUAL\n | GL.LEQUAL\n | GL.GREATER\n | GL.NOTEQUAL\n | GL.GEQUAL\n | GL.ALWAYS;\n\nexport type GLBlendEquation =\n | GL.FUNC_ADD\n | GL.FUNC_SUBTRACT\n | GL.FUNC_REVERSE_SUBTRACT\n | GL.MIN_EXT\n | GL.MAX_EXT;\n\nexport type GLBlendFunction =\n | GL.ZERO\n | GL.ONE\n | GL.SRC_COLOR\n | GL.ONE_MINUS_SRC_COLOR\n | GL.DST_COLOR\n | GL.ONE_MINUS_DST_COLOR\n | GL.SRC_ALPHA\n | GL.ONE_MINUS_SRC_ALPHA\n | GL.DST_ALPHA\n | GL.ONE_MINUS_DST_ALPHA\n | GL.CONSTANT_COLOR\n | GL.ONE_MINUS_CONSTANT_COLOR\n | GL.CONSTANT_ALPHA\n | GL.ONE_MINUS_CONSTANT_ALPHA\n | GL.SRC_ALPHA_SATURATE;\n\nexport type GLStencilOp =\n | GL.KEEP\n | GL.ZERO\n | GL.REPLACE\n | GL.INCR\n | GL.INCR_WRAP\n | GL.DECR\n | GL.DECR_WRAP\n | GL.INVERT;\n\n/** Parameters for textures and samplers */\nexport type GLSamplerParameters = {\n [GL.TEXTURE_WRAP_S]?: GL.CLAMP_TO_EDGE | GL.REPEAT | GL.MIRRORED_REPEAT;\n [GL.TEXTURE_WRAP_T]?: GL.CLAMP_TO_EDGE | GL.REPEAT | GL.MIRRORED_REPEAT;\n [GL.TEXTURE_WRAP_R]?: GL.CLAMP_TO_EDGE | GL.REPEAT | GL.MIRRORED_REPEAT;\n [GL.TEXTURE_MAG_FILTER]?: GL.NEAREST | GL.LINEAR;\n [GL.TEXTURE_MIN_FILTER]?:\n | GL.NEAREST\n | GL.LINEAR\n | GL.NEAREST_MIPMAP_NEAREST\n | GL.NEAREST_MIPMAP_LINEAR\n | GL.LINEAR_MIPMAP_NEAREST\n | GL.LINEAR_MIPMAP_LINEAR;\n [GL.TEXTURE_MIN_LOD]?: number;\n [GL.TEXTURE_MAX_LOD]?: number;\n [GL.TEXTURE_COMPARE_FUNC]?: number; // COMPARE_FUNC);\n [GL.TEXTURE_COMPARE_MODE]?: GL.COMPARE_REF_TO_TEXTURE;\n [GL.TEXTURE_MAX_ANISOTROPY_EXT]?: number; //\n};\n\n/**\n * All global WebGL values set by a variety of setter gl.enable ...\n */\nexport type GLValueParameters = {\n [GL.BLEND]?: boolean;\n [GL.BLEND_COLOR]?: [number, number, number, number] | NumberArray;\n [GL.BLEND_EQUATION_RGB]?: GLBlendEquation;\n [GL.BLEND_EQUATION_ALPHA]?: GLBlendEquation;\n [GL.BLEND_SRC_RGB]?: GLBlendFunction;\n [GL.BLEND_DST_RGB]?: GLBlendFunction;\n [GL.BLEND_SRC_ALPHA]?: GLBlendFunction;\n [GL.BLEND_DST_ALPHA]?: GLBlendFunction;\n [GL.COLOR_CLEAR_VALUE]?: [number, number, number, number] | NumberArray;\n [GL.COLOR_WRITEMASK]?: [boolean, boolean, boolean, boolean] | boolean[];\n [GL.CULL_FACE]?: boolean;\n [GL.CULL_FACE_MODE]?: GL.FRONT | GL.BACK | GL.FRONT_AND_BACK;\n [GL.DEPTH_TEST]?: boolean;\n [GL.DEPTH_CLEAR_VALUE]?: number;\n [GL.DEPTH_FUNC]?: GLFunction;\n [GL.DEPTH_RANGE]?: [number, number] | NumberArray;\n [GL.DEPTH_WRITEMASK]?: boolean;\n [GL.DITHER]?: boolean;\n [GL.FRAGMENT_SHADER_DERIVATIVE_HINT]?: GL.FASTEST | GL.NICEST | GL.DONT_CARE;\n [GL.CURRENT_PROGRAM]?: WebGLProgram | null;\n [GL.FRAMEBUFFER_BINDING]?: WebGLFramebuffer | null;\n [GL.RENDERBUFFER_BINDING]?: WebGLRenderbuffer | null;\n [GL.TRANSFORM_FEEDBACK_BINDING]?: WebGLTransformFeedback | null;\n [GL.VERTEX_ARRAY_BINDING]?: WebGLVertexArrayObject | null;\n [GL.ARRAY_BUFFER_BINDING]?: WebGLBuffer | null;\n [GL.COPY_READ_BUFFER_BINDING]?: WebGLBuffer | null;\n [GL.COPY_WRITE_BUFFER_BINDING]?: WebGLBuffer | null;\n [GL.PIXEL_PACK_BUFFER_BINDING]?: WebGLBuffer | null;\n [GL.PIXEL_UNPACK_BUFFER_BINDING]?: WebGLBuffer | null;\n [GL.TEXTURE_BINDING_2D]?: WebGLTexture | null;\n [GL.TEXTURE_BINDING_2D_ARRAY]?: WebGLTexture | null;\n [GL.TEXTURE_BINDING_3D]?: WebGLTexture | null;\n [GL.TEXTURE_BINDING_CUBE_MAP]?: WebGLTexture | null;\n [GL.FRONT_FACE]?: GL.CW | GL.CCW;\n [GL.GENERATE_MIPMAP_HINT]?: GL.FASTEST | GL.NICEST | GL.DONT_CARE;\n [GL.LINE_WIDTH]?: number;\n [GL.POLYGON_OFFSET_FILL]?: boolean;\n [GL.POLYGON_OFFSET_FACTOR]?: number;\n [GL.POLYGON_OFFSET_UNITS]?: number;\n [GL.SAMPLE_ALPHA_TO_COVERAGE]?: boolean;\n [GL.SAMPLE_COVERAGE]?: boolean;\n [GL.RASTERIZER_DISCARD]?: boolean;\n [GL.SAMPLE_COVERAGE_VALUE]?: number;\n [GL.SAMPLE_COVERAGE_INVERT]?: boolean;\n [GL.SCISSOR_TEST]?: boolean;\n [GL.SCISSOR_BOX]?: [number, number, number, number] | NumberArray;\n [GL.STENCIL_TEST]?: boolean;\n [GL.STENCIL_CLEAR_VALUE]?: number;\n [GL.STENCIL_WRITEMASK]?: number;\n [GL.STENCIL_BACK_WRITEMASK]?: number;\n [GL.STENCIL_FUNC]?: GLFunction;\n [GL.STENCIL_REF]?: GLFunction;\n [GL.STENCIL_VALUE_MASK]?: GLFunction;\n [GL.STENCIL_BACK_FUNC]?: GLFunction;\n [GL.STENCIL_BACK_REF]?: GLFunction;\n [GL.STENCIL_BACK_VALUE_MASK]?: GLFunction;\n [GL.STENCIL_FAIL]?: GLStencilOp;\n [GL.STENCIL_PASS_DEPTH_FAIL]?: GLStencilOp;\n [GL.STENCIL_PASS_DEPTH_PASS]?: GLStencilOp;\n [GL.STENCIL_BACK_FAIL]?: GLStencilOp;\n [GL.STENCIL_BACK_PASS_DEPTH_FAIL]?: GLStencilOp;\n [GL.STENCIL_BACK_PASS_DEPTH_PASS]?: GLStencilOp;\n [GL.VIEWPORT]?: [number, number, number, number] | NumberArray;\n\n // WEBGL1 PIXEL PACK/UNPACK MODES\n [GL.PACK_ALIGNMENT]?: number;\n [GL.UNPACK_ALIGNMENT]?: number;\n [GL.UNPACK_FLIP_Y_WEBGL]?: boolean;\n [GL.UNPACK_PREMULTIPLY_ALPHA_WEBGL]?: boolean;\n [GL.UNPACK_COLORSPACE_CONVERSION_WEBGL]?: GL.NONE | GL.BROWSER_DEFAULT_WEBGL;\n\n // WEBGL2 PIXEL PACK/UNPACK MODES\n // RASTERIZER_DISCARD ...\n [GL.PACK_ROW_LENGTH]?: number;\n [GL.PACK_SKIP_PIXELS]?: number;\n [GL.PACK_SKIP_ROWS]?: number;\n [GL.READ_FRAMEBUFFER_BINDING]?: Framebuffer | null;\n [GL.UNPACK_ROW_LENGTH]?: number;\n [GL.UNPACK_IMAGE_HEIGHT]?: number;\n [GL.UNPACK_SKIP_PIXELS]?: number;\n [GL.UNPACK_SKIP_ROWS]?: number;\n [GL.UNPACK_SKIP_IMAGES]?: number;\n};\n\nexport type GLFunctionParameters = {\n // Function-style setters\n framebuffer?: Framebuffer | null;\n blend?: boolean;\n blendColor?: [number, number, number, number] | NumberArray;\n blendEquation?: GLBlendEquation | [GLBlendEquation, GLBlendEquation];\n blendFunc?:\n | [GLBlendFunction, GLBlendFunction]\n | [GLBlendFunction, GLBlendFunction, GLBlendFunction, GLBlendFunction];\n\n clearColor?: [number, number, number, number] | NumberArray;\n clearDepth?: number;\n clearStencil?: number;\n\n colorMask?: [boolean, boolean, boolean, boolean] | boolean[];\n\n cull?: boolean;\n cullFace?: GL.FRONT | GL.BACK | GL.FRONT_AND_BACK;\n\n depthTest?: boolean;\n depthFunc?: GLFunction;\n depthMask?: boolean;\n depthRange?: [number, number] | NumberArray;\n\n dither?: boolean;\n\n derivativeHint?: GL.FASTEST | GL.NICEST | GL.DONT_CARE;\n\n frontFace?: GL.CW | GL.CCW;\n\n mipmapHint?: GL.FASTEST | GL.NICEST | GL.DONT_CARE;\n\n lineWidth?: number;\n\n polygonOffsetFill?: boolean;\n polygonOffset?: [number, number];\n\n sampleCoverage?: [number, boolean];\n\n scissorTest?: boolean;\n scissor?: [number, number, number, number] | NumberArray;\n\n stencilTest?: boolean;\n stencilMask?: number | [number, number];\n stencilFunc?:\n | [GLFunction, number, number]\n | [GLFunction, number, number, GLFunction, number, number];\n stencilOp?:\n | [GLStencilOp, GLStencilOp, GLStencilOp]\n | [GLStencilOp, GLStencilOp, GLStencilOp, GLStencilOp, GLStencilOp, GLStencilOp];\n viewport?: [number, number, number, number] | NumberArray;\n};\n\n/** WebGL style parameters object (with both GL constants and function style fields) */\nexport type GLParameters = GLValueParameters & GLFunctionParameters;\n"],"file":"webgl.js"}
package/dist/es5/types.js DELETED
@@ -1,2 +0,0 @@
1
- "use strict";
2
- //# sourceMappingURL=types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":[],"names":[],"mappings":"","sourcesContent":[],"file":"types.js"}
@@ -1,157 +0,0 @@
1
- import { log, isObjectEmpty } from '@luma.gl/api';
2
- import GL from '@luma.gl/constants';
3
- import { pushContextState, popContextState } from '../../context/state-tracker/track-context-state';
4
- import { setParameters } from '../../context/parameters/unified-parameter-api';
5
- import WebGLDevice from '../webgl-device';
6
- export function withGLParameters(device, parameters, func) {
7
- if (isObjectEmpty(parameters)) {
8
- return func(device);
9
- }
10
-
11
- pushContextState(device.gl);
12
-
13
- try {
14
- setParameters(device, parameters);
15
- return func(device);
16
- } finally {
17
- popContextState(device.gl);
18
- }
19
- }
20
- export function withDeviceParameters(device, parameters, func) {
21
- if (isObjectEmpty(parameters)) {
22
- return func(device);
23
- }
24
-
25
- pushContextState(device.gl);
26
-
27
- try {
28
- setDeviceParameters(device, parameters);
29
- return func(device);
30
- } finally {
31
- popContextState(device.gl);
32
- }
33
- }
34
- export function setDeviceParameters(device, parameters) {
35
- const webglDevice = WebGLDevice.attach(device);
36
- const {
37
- gl
38
- } = webglDevice;
39
-
40
- if (parameters.cullMode) {
41
- switch (parameters.cullMode) {
42
- case 'none':
43
- gl.disable(GL.CULL_FACE);
44
- break;
45
-
46
- case 'front':
47
- gl.enable(GL.CULL_FACE);
48
- gl.cullFace(GL.FRONT);
49
- break;
50
-
51
- case 'back':
52
- gl.enable(GL.CULL_FACE);
53
- gl.cullFace(GL.BACK);
54
- break;
55
- }
56
- }
57
-
58
- if (parameters.frontFace) {
59
- gl.frontFace(map('frontFace', parameters.frontFace, {
60
- ccw: GL.CCW,
61
- cw: GL.CW
62
- }));
63
- }
64
-
65
- if (parameters.depthBias !== undefined) {
66
- gl.polygonOffset(parameters.depthBias, parameters.depthBiasSlopeScale || 0);
67
- }
68
-
69
- if (parameters.depthWriteEnabled !== undefined) {
70
- gl.depthMask(mapBoolean('depthWriteEnabled', parameters.depthWriteEnabled));
71
- }
72
-
73
- if (parameters.depthCompare) {
74
- parameters.depthCompare !== 'always' ? gl.enable(GL.DEPTH_TEST) : gl.disable(GL.DEPTH_TEST);
75
- gl.depthFunc(convertCompareFunction('depthCompare', parameters.depthCompare));
76
- }
77
-
78
- if (parameters.stencilWriteMask) {
79
- const mask = parameters.stencilWriteMask;
80
- gl.stencilMaskSeparate(GL.FRONT, mask);
81
- gl.stencilMaskSeparate(GL.BACK, mask);
82
- }
83
-
84
- if (parameters.stencilReadMask) {
85
- log.warn('stencilReadMask not supported under WebGL');
86
- }
87
-
88
- if (parameters.stencilCompare) {
89
- const mask = parameters.stencilReadMask || 0xffffffff;
90
- const glValue = convertCompareFunction('depthCompare', parameters.stencilCompare);
91
- parameters.stencilCompare !== 'always' ? gl.enable(GL.STENCIL_TEST) : gl.disable(GL.STENCIL_TEST);
92
- gl.stencilFuncSeparate(GL.FRONT, glValue, 0, mask);
93
- gl.stencilFuncSeparate(GL.BACK, glValue, 0, mask);
94
- }
95
-
96
- if (parameters.stencilPassOperation && parameters.stencilFailOperation && parameters.stencilDepthFailOperation) {
97
- const dppass = convertStencilOperation('stencilPassOperation', parameters.stencilPassOperation);
98
- const sfail = convertStencilOperation('stencilFailOperation', parameters.stencilFailOperation);
99
- const dpfail = convertStencilOperation('stencilDepthFailOperation', parameters.stencilDepthFailOperation);
100
- gl.stencilOpSeparate(GL.FRONT, sfail, dpfail, dppass);
101
- gl.stencilOpSeparate(GL.BACK, sfail, dpfail, dppass);
102
- }
103
- }
104
- export function convertCompareFunction(parameter, value) {
105
- return map(parameter, value, {
106
- 'never': GL.NEVER,
107
- 'less': GL.LESS,
108
- 'equal': GL.EQUAL,
109
- 'less-equal': GL.LEQUAL,
110
- 'greater': GL.GREATER,
111
- 'not-equal': GL.NOTEQUAL,
112
- 'greater-equal': GL.GEQUAL,
113
- 'always': GL.ALWAYS
114
- });
115
- }
116
- export function convertToCompareFunction(parameter, value) {
117
- return map(parameter, value, {
118
- [GL.NEVER]: 'never',
119
- [GL.LESS]: 'less',
120
- [GL.EQUAL]: 'equal',
121
- [GL.LEQUAL]: 'less-equal',
122
- [GL.GREATER]: 'greater',
123
- [GL.NOTEQUAL]: 'not-equal',
124
- [GL.GEQUAL]: 'greater-equal',
125
- [GL.ALWAYS]: 'always'
126
- });
127
- }
128
-
129
- function convertStencilOperation(parameter, value) {
130
- return map(parameter, value, {
131
- 'keep': GL.KEEP,
132
- 'zero': GL.ZERO,
133
- 'replace': GL.REPLACE,
134
- 'invert': GL.INVERT,
135
- 'increment-clamp': GL.INCR,
136
- 'decrement-clamp': GL.DECR,
137
- 'increment-wrap': GL.INCR_WRAP,
138
- 'decrement-wrap': GL.DECR_WRAP
139
- });
140
- }
141
-
142
- function message(parameter, value) {
143
- return "Illegal parameter ".concat(value, " for ").concat(parameter);
144
- }
145
-
146
- function map(parameter, value, valueMap) {
147
- if (!(value in valueMap)) {
148
- throw new Error(message(parameter, value));
149
- }
150
-
151
- return valueMap[value];
152
- }
153
-
154
- function mapBoolean(parameter, value) {
155
- return value;
156
- }
157
- //# sourceMappingURL=device-parameters.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../src/adapter/converters/device-parameters.ts"],"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","valueMap","Error"],"mappings":"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","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/**\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 */\n export 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 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"],"file":"device-parameters.js"}