@luma.gl/webgl 9.0.0-alpha.2 → 9.0.0-alpha.20

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 (454) hide show
  1. package/dist/adapter/converters/device-parameters.d.ts +11 -1
  2. package/dist/adapter/converters/device-parameters.d.ts.map +1 -1
  3. package/dist/adapter/converters/device-parameters.js +17 -35
  4. package/dist/adapter/converters/device-parameters.js.map +1 -1
  5. package/dist/adapter/converters/renderbuffer-formats.js +1 -5
  6. package/dist/adapter/converters/renderbuffer-formats.js.map +1 -1
  7. package/dist/adapter/converters/sampler-parameters.d.ts +4 -4
  8. package/dist/adapter/converters/sampler-parameters.d.ts.map +1 -1
  9. package/dist/adapter/converters/sampler-parameters.js +19 -55
  10. package/dist/adapter/converters/sampler-parameters.js.map +1 -1
  11. package/dist/adapter/converters/texture-formats.d.ts.map +1 -1
  12. package/dist/adapter/converters/texture-formats.js +13 -66
  13. package/dist/adapter/converters/texture-formats.js.map +1 -1
  14. package/dist/adapter/converters/vertex-formats.d.ts.map +1 -1
  15. package/dist/adapter/converters/vertex-formats.js +2 -8
  16. package/dist/adapter/converters/vertex-formats.js.map +1 -1
  17. package/dist/adapter/device-helpers/device-features.d.ts.map +1 -1
  18. package/dist/adapter/device-helpers/device-features.js +13 -20
  19. package/dist/adapter/device-helpers/device-features.js.map +1 -1
  20. package/dist/adapter/device-helpers/device-limits.js +1 -4
  21. package/dist/adapter/device-helpers/device-limits.js.map +1 -1
  22. package/dist/adapter/device-helpers/get-device-info.js +8 -10
  23. package/dist/adapter/device-helpers/get-device-info.js.map +1 -1
  24. package/dist/adapter/device-helpers/is-old-ie.js +2 -1
  25. package/dist/adapter/device-helpers/is-old-ie.js.map +1 -1
  26. package/dist/adapter/helpers/attribute-utils.js +0 -17
  27. package/dist/adapter/helpers/attribute-utils.js.map +1 -1
  28. package/dist/adapter/helpers/get-shader-info.d.ts +9 -0
  29. package/dist/adapter/helpers/get-shader-info.d.ts.map +1 -0
  30. package/dist/adapter/helpers/get-shader-info.js +25 -0
  31. package/dist/adapter/helpers/get-shader-info.js.map +1 -0
  32. package/dist/adapter/helpers/get-shader-layout.d.ts +1 -1
  33. package/dist/adapter/helpers/get-shader-layout.d.ts.map +1 -1
  34. package/dist/adapter/helpers/get-shader-layout.js +41 -67
  35. package/dist/adapter/helpers/get-shader-layout.js.map +1 -1
  36. package/dist/adapter/helpers/parse-shader-compiler-log.d.ts +1 -1
  37. package/dist/adapter/helpers/parse-shader-compiler-log.d.ts.map +1 -1
  38. package/dist/adapter/helpers/parse-shader-compiler-log.js +0 -7
  39. package/dist/adapter/helpers/parse-shader-compiler-log.js.map +1 -1
  40. package/dist/adapter/helpers/set-uniform.d.ts.map +1 -1
  41. package/dist/adapter/helpers/set-uniform.js +1 -31
  42. package/dist/adapter/helpers/set-uniform.js.map +1 -1
  43. package/dist/adapter/helpers/uniforms.d.ts +1 -1
  44. package/dist/adapter/helpers/uniforms.d.ts.map +1 -1
  45. package/dist/adapter/helpers/uniforms.js +4 -14
  46. package/dist/adapter/helpers/uniforms.js.map +1 -1
  47. package/dist/adapter/objects/constants-to-keys.d.ts.map +1 -1
  48. package/dist/adapter/objects/constants-to-keys.js +0 -7
  49. package/dist/adapter/objects/constants-to-keys.js.map +1 -1
  50. package/dist/adapter/objects/webgl-renderbuffer.d.ts.map +1 -1
  51. package/dist/adapter/objects/webgl-renderbuffer.js +5 -21
  52. package/dist/adapter/objects/webgl-renderbuffer.js.map +1 -1
  53. package/dist/adapter/objects/webgl-resource.d.ts +2 -4
  54. package/dist/adapter/objects/webgl-resource.d.ts.map +1 -1
  55. package/dist/adapter/objects/webgl-resource.js +14 -67
  56. package/dist/adapter/objects/webgl-resource.js.map +1 -1
  57. package/dist/adapter/objects/webgl-vertex-array-object.d.ts +1 -1
  58. package/dist/adapter/objects/webgl-vertex-array-object.d.ts.map +1 -1
  59. package/dist/adapter/objects/webgl-vertex-array-object.js +6 -16
  60. package/dist/adapter/objects/webgl-vertex-array-object.js.map +1 -1
  61. package/dist/adapter/resources/webgl-buffer.d.ts +1 -2
  62. package/dist/adapter/resources/webgl-buffer.d.ts.map +1 -1
  63. package/dist/adapter/resources/webgl-buffer.js +17 -48
  64. package/dist/adapter/resources/webgl-buffer.js.map +1 -1
  65. package/dist/adapter/resources/webgl-command-buffer.js +2 -17
  66. package/dist/adapter/resources/webgl-command-buffer.js.map +1 -1
  67. package/dist/adapter/resources/webgl-command-encoder.d.ts.map +1 -1
  68. package/dist/adapter/resources/webgl-command-encoder.js +1 -14
  69. package/dist/adapter/resources/webgl-command-encoder.js.map +1 -1
  70. package/dist/adapter/resources/webgl-external-texture.js.map +1 -1
  71. package/dist/adapter/resources/webgl-framebuffer.d.ts +1 -1
  72. package/dist/adapter/resources/webgl-framebuffer.d.ts.map +1 -1
  73. package/dist/adapter/resources/webgl-framebuffer.js +9 -67
  74. package/dist/adapter/resources/webgl-framebuffer.js.map +1 -1
  75. package/dist/adapter/resources/webgl-render-pass.d.ts +1 -1
  76. package/dist/adapter/resources/webgl-render-pass.d.ts.map +1 -1
  77. package/dist/adapter/resources/webgl-render-pass.js +2 -7
  78. package/dist/adapter/resources/webgl-render-pass.js.map +1 -1
  79. package/dist/adapter/resources/webgl-render-pipeline.d.ts +1 -1
  80. package/dist/adapter/resources/webgl-render-pipeline.d.ts.map +1 -1
  81. package/dist/adapter/resources/webgl-render-pipeline.js +50 -139
  82. package/dist/adapter/resources/webgl-render-pipeline.js.map +1 -1
  83. package/dist/adapter/resources/webgl-sampler.d.ts +3 -2
  84. package/dist/adapter/resources/webgl-sampler.d.ts.map +1 -1
  85. package/dist/adapter/resources/webgl-sampler.js +4 -12
  86. package/dist/adapter/resources/webgl-sampler.js.map +1 -1
  87. package/dist/adapter/resources/webgl-shader.d.ts +1 -2
  88. package/dist/adapter/resources/webgl-shader.d.ts.map +1 -1
  89. package/dist/adapter/resources/webgl-shader.js +7 -20
  90. package/dist/adapter/resources/webgl-shader.js.map +1 -1
  91. package/dist/adapter/resources/webgl-texture.d.ts +23 -23
  92. package/dist/adapter/resources/webgl-texture.d.ts.map +1 -1
  93. package/dist/adapter/resources/webgl-texture.js +65 -182
  94. package/dist/adapter/resources/webgl-texture.js.map +1 -1
  95. package/dist/adapter/webgl-canvas-context.d.ts.map +1 -1
  96. package/dist/adapter/webgl-canvas-context.js +5 -18
  97. package/dist/adapter/webgl-canvas-context.js.map +1 -1
  98. package/dist/adapter/webgl-device.d.ts +45 -29
  99. package/dist/adapter/webgl-device.d.ts.map +1 -1
  100. package/dist/adapter/webgl-device.js +107 -108
  101. package/dist/adapter/webgl-device.js.map +1 -1
  102. package/dist/classic/accessor.d.ts.map +1 -1
  103. package/dist/classic/accessor.js +11 -35
  104. package/dist/classic/accessor.js.map +1 -1
  105. package/dist/classic/buffer.d.ts +0 -1
  106. package/dist/classic/buffer.d.ts.map +1 -1
  107. package/dist/classic/buffer.js +29 -86
  108. package/dist/classic/buffer.js.map +1 -1
  109. package/dist/classic/typed-array-utils.d.ts +1 -1
  110. package/dist/classic/typed-array-utils.d.ts.map +1 -1
  111. package/dist/classic/typed-array-utils.js +0 -20
  112. package/dist/classic/typed-array-utils.js.map +1 -1
  113. package/dist/context/context/{create-context.d.ts → create-browser-context.d.ts} +2 -1
  114. package/dist/context/context/create-browser-context.d.ts.map +1 -0
  115. package/dist/context/context/{create-context.js → create-browser-context.js} +19 -15
  116. package/dist/context/context/create-browser-context.js.map +1 -0
  117. package/dist/context/context/create-headless-context.d.ts +9 -0
  118. package/dist/context/context/create-headless-context.d.ts.map +1 -0
  119. package/dist/context/context/create-headless-context.js +42 -0
  120. package/dist/context/context/create-headless-context.js.map +1 -0
  121. package/dist/context/context/webgl-checks.js +0 -3
  122. package/dist/context/context/webgl-checks.js.map +1 -1
  123. package/dist/context/debug/spector.d.ts +1 -0
  124. package/dist/context/debug/spector.d.ts.map +1 -1
  125. package/dist/context/debug/spector.js +7 -19
  126. package/dist/context/debug/spector.js.map +1 -1
  127. package/dist/context/debug/webgl-developer-tools.d.ts +1 -1
  128. package/dist/context/debug/webgl-developer-tools.d.ts.map +1 -1
  129. package/dist/context/debug/webgl-developer-tools.js +8 -32
  130. package/dist/context/debug/webgl-developer-tools.js.map +1 -1
  131. package/dist/context/parameters/unified-parameter-api.d.ts +6 -5
  132. package/dist/context/parameters/unified-parameter-api.d.ts.map +1 -1
  133. package/dist/context/parameters/unified-parameter-api.js +8 -18
  134. package/dist/context/parameters/unified-parameter-api.js.map +1 -1
  135. package/dist/context/parameters/webgl-parameter-tables.d.ts +103 -103
  136. package/dist/context/parameters/webgl-parameter-tables.d.ts.map +1 -1
  137. package/dist/context/parameters/webgl-parameter-tables.js +16 -34
  138. package/dist/context/parameters/webgl-parameter-tables.js.map +1 -1
  139. package/dist/context/polyfill/context-data.d.ts +13 -0
  140. package/dist/context/polyfill/context-data.d.ts.map +1 -0
  141. package/dist/context/polyfill/context-data.js +12 -0
  142. package/dist/context/polyfill/context-data.js.map +1 -0
  143. package/dist/context/polyfill/get-parameter-polyfill.d.ts +1 -1
  144. package/dist/context/polyfill/get-parameter-polyfill.d.ts.map +1 -1
  145. package/dist/context/polyfill/get-parameter-polyfill.js +1 -6
  146. package/dist/context/polyfill/get-parameter-polyfill.js.map +1 -1
  147. package/dist/context/polyfill/polyfill-context.js +20 -28
  148. package/dist/context/polyfill/polyfill-context.js.map +1 -1
  149. package/dist/context/polyfill/polyfill-table.d.ts +8 -8
  150. package/dist/context/polyfill/polyfill-table.d.ts.map +1 -1
  151. package/dist/context/polyfill/polyfill-table.js +8 -30
  152. package/dist/context/polyfill/polyfill-table.js.map +1 -1
  153. package/dist/context/polyfill/polyfill-vertex-array-object.d.ts.map +1 -1
  154. package/dist/context/polyfill/polyfill-vertex-array-object.js +0 -70
  155. package/dist/context/polyfill/polyfill-vertex-array-object.js.map +1 -1
  156. package/dist/context/state-tracker/deep-array-equal.js +0 -4
  157. package/dist/context/state-tracker/deep-array-equal.js.map +1 -1
  158. package/dist/context/state-tracker/track-context-state.d.ts.map +1 -1
  159. package/dist/context/state-tracker/track-context-state.js +15 -50
  160. package/dist/context/state-tracker/track-context-state.js.map +1 -1
  161. package/dist/context/state-tracker/with-parameters.d.ts +2 -1
  162. package/dist/context/state-tracker/with-parameters.d.ts.map +1 -1
  163. package/dist/context/state-tracker/with-parameters.js +7 -9
  164. package/dist/context/state-tracker/with-parameters.js.map +1 -1
  165. package/dist/dist.dev.js +9205 -0
  166. package/dist/index.cjs +5948 -0
  167. package/dist/index.d.ts +6 -6
  168. package/dist/index.d.ts.map +1 -1
  169. package/dist/index.js +24 -26
  170. package/dist/index.js.map +1 -1
  171. package/dist/types/webgl.d.ts +8 -7
  172. package/dist/types/webgl.d.ts.map +1 -1
  173. package/dist/types/webgl.js.map +1 -1
  174. package/dist/types.js.map +1 -1
  175. package/dist.min.js +36 -0
  176. package/package.json +18 -9
  177. package/src/adapter/converters/device-parameters.ts +44 -15
  178. package/src/adapter/converters/sampler-parameters.ts +18 -7
  179. package/src/adapter/converters/texture-formats.ts +18 -16
  180. package/src/adapter/converters/vertex-formats.ts +1 -0
  181. package/src/adapter/device-helpers/device-features.ts +9 -2
  182. package/src/adapter/device-helpers/device-limits.ts +1 -1
  183. package/src/adapter/device-helpers/get-device-info.ts +12 -8
  184. package/src/adapter/helpers/get-shader-info.ts +37 -0
  185. package/src/adapter/helpers/get-shader-layout.ts +58 -36
  186. package/src/adapter/helpers/parse-shader-compiler-log.ts +2 -2
  187. package/src/adapter/helpers/set-uniform.ts +3 -1
  188. package/src/adapter/helpers/uniforms.ts +21 -10
  189. package/src/adapter/objects/constants-to-keys.ts +4 -1
  190. package/src/adapter/objects/webgl-renderbuffer.ts +5 -5
  191. package/src/adapter/objects/webgl-resource.ts +7 -12
  192. package/src/adapter/objects/webgl-vertex-array-object.ts +5 -5
  193. package/src/adapter/resources/webgl-buffer.ts +14 -14
  194. package/src/adapter/resources/webgl-command-encoder.ts +5 -5
  195. package/src/adapter/resources/webgl-framebuffer.ts +14 -11
  196. package/src/adapter/resources/webgl-render-pass.ts +2 -1
  197. package/src/adapter/resources/webgl-render-pipeline.ts +83 -71
  198. package/src/adapter/resources/webgl-sampler.ts +10 -4
  199. package/src/adapter/resources/webgl-shader.ts +9 -8
  200. package/src/adapter/resources/webgl-texture.ts +51 -41
  201. package/src/adapter/webgl-canvas-context.ts +5 -6
  202. package/src/adapter/webgl-device.ts +144 -60
  203. package/src/classic/accessor.ts +1 -14
  204. package/src/classic/buffer.ts +14 -21
  205. package/src/classic/typed-array-utils.ts +4 -2
  206. package/src/context/context/{create-context.ts → create-browser-context.ts} +17 -7
  207. package/src/context/context/create-headless-context.ts +48 -0
  208. package/src/context/debug/spector.ts +6 -5
  209. package/src/context/debug/webgl-developer-tools.ts +13 -13
  210. package/src/context/parameters/unified-parameter-api.ts +17 -11
  211. package/src/context/parameters/webgl-parameter-tables.ts +113 -94
  212. package/src/context/polyfill/context-data.ts +27 -0
  213. package/src/context/polyfill/get-parameter-polyfill.ts +7 -6
  214. package/src/context/polyfill/polyfill-context.ts +6 -8
  215. package/src/context/polyfill/polyfill-table.ts +16 -14
  216. package/src/context/polyfill/polyfill-vertex-array-object.ts +2 -0
  217. package/src/context/state-tracker/track-context-state.ts +13 -12
  218. package/src/context/state-tracker/with-parameters.ts +8 -2
  219. package/src/index.ts +14 -12
  220. package/src/types/webgl.ts +10 -7
  221. package/dist/bundle.d.ts +0 -2
  222. package/dist/bundle.d.ts.map +0 -1
  223. package/dist/bundle.js +0 -5
  224. package/dist/bundle.js.map +0 -1
  225. package/dist/context/context/context-state.d.ts +0 -18
  226. package/dist/context/context/context-state.d.ts.map +0 -1
  227. package/dist/context/context/context-state.js +0 -26
  228. package/dist/context/context/context-state.js.map +0 -1
  229. package/dist/context/context/create-context.d.ts.map +0 -1
  230. package/dist/context/context/create-context.js.map +0 -1
  231. package/dist/context/context/device-pixels.d.ts +0 -25
  232. package/dist/context/context/device-pixels.d.ts.map +0 -1
  233. package/dist/context/context/device-pixels.js +0 -98
  234. package/dist/context/context/device-pixels.js.map +0 -1
  235. package/dist/es5/adapter/converters/device-parameters.js +0 -170
  236. package/dist/es5/adapter/converters/device-parameters.js.map +0 -1
  237. package/dist/es5/adapter/converters/renderbuffer-formats.js +0 -163
  238. package/dist/es5/adapter/converters/renderbuffer-formats.js.map +0 -1
  239. package/dist/es5/adapter/converters/sampler-parameters.js +0 -226
  240. package/dist/es5/adapter/converters/sampler-parameters.js.map +0 -1
  241. package/dist/es5/adapter/converters/texture-formats.js +0 -1031
  242. package/dist/es5/adapter/converters/texture-formats.js.map +0 -1
  243. package/dist/es5/adapter/converters/vertex-formats.js +0 -45
  244. package/dist/es5/adapter/converters/vertex-formats.js.map +0 -1
  245. package/dist/es5/adapter/device-helpers/device-features.js +0 -144
  246. package/dist/es5/adapter/device-helpers/device-features.js.map +0 -1
  247. package/dist/es5/adapter/device-helpers/device-limits.js +0 -64
  248. package/dist/es5/adapter/device-helpers/device-limits.js.map +0 -1
  249. package/dist/es5/adapter/device-helpers/get-device-info.js +0 -55
  250. package/dist/es5/adapter/device-helpers/get-device-info.js.map +0 -1
  251. package/dist/es5/adapter/device-helpers/is-old-ie.js +0 -16
  252. package/dist/es5/adapter/device-helpers/is-old-ie.js.map +0 -1
  253. package/dist/es5/adapter/helpers/attribute-utils.js +0 -91
  254. package/dist/es5/adapter/helpers/attribute-utils.js.map +0 -1
  255. package/dist/es5/adapter/helpers/get-shader-layout.js +0 -371
  256. package/dist/es5/adapter/helpers/get-shader-layout.js.map +0 -1
  257. package/dist/es5/adapter/helpers/parse-shader-compiler-log.js +0 -72
  258. package/dist/es5/adapter/helpers/parse-shader-compiler-log.js.map +0 -1
  259. package/dist/es5/adapter/helpers/set-uniform.js +0 -125
  260. package/dist/es5/adapter/helpers/set-uniform.js.map +0 -1
  261. package/dist/es5/adapter/helpers/uniforms.js +0 -112
  262. package/dist/es5/adapter/helpers/uniforms.js.map +0 -1
  263. package/dist/es5/adapter/objects/constants-to-keys.js +0 -54
  264. package/dist/es5/adapter/objects/constants-to-keys.js.map +0 -1
  265. package/dist/es5/adapter/objects/webgl-renderbuffer.js +0 -150
  266. package/dist/es5/adapter/objects/webgl-renderbuffer.js.map +0 -1
  267. package/dist/es5/adapter/objects/webgl-resource.js +0 -292
  268. package/dist/es5/adapter/objects/webgl-resource.js.map +0 -1
  269. package/dist/es5/adapter/objects/webgl-vertex-array-object.js +0 -137
  270. package/dist/es5/adapter/objects/webgl-vertex-array-object.js.map +0 -1
  271. package/dist/es5/adapter/resources/webgl-buffer.js +0 -243
  272. package/dist/es5/adapter/resources/webgl-buffer.js.map +0 -1
  273. package/dist/es5/adapter/resources/webgl-command-buffer.js +0 -96
  274. package/dist/es5/adapter/resources/webgl-command-buffer.js.map +0 -1
  275. package/dist/es5/adapter/resources/webgl-command-encoder.js +0 -98
  276. package/dist/es5/adapter/resources/webgl-command-encoder.js.map +0 -1
  277. package/dist/es5/adapter/resources/webgl-external-texture.js +0 -2
  278. package/dist/es5/adapter/resources/webgl-external-texture.js.map +0 -1
  279. package/dist/es5/adapter/resources/webgl-framebuffer.js +0 -345
  280. package/dist/es5/adapter/resources/webgl-framebuffer.js.map +0 -1
  281. package/dist/es5/adapter/resources/webgl-render-pass.js +0 -61
  282. package/dist/es5/adapter/resources/webgl-render-pass.js.map +0 -1
  283. package/dist/es5/adapter/resources/webgl-render-pipeline.js +0 -505
  284. package/dist/es5/adapter/resources/webgl-render-pipeline.js.map +0 -1
  285. package/dist/es5/adapter/resources/webgl-sampler.js +0 -96
  286. package/dist/es5/adapter/resources/webgl-sampler.js.map +0 -1
  287. package/dist/es5/adapter/resources/webgl-shader.js +0 -149
  288. package/dist/es5/adapter/resources/webgl-shader.js.map +0 -1
  289. package/dist/es5/adapter/resources/webgl-texture.js +0 -986
  290. package/dist/es5/adapter/resources/webgl-texture.js.map +0 -1
  291. package/dist/es5/adapter/webgl-canvas-context.js +0 -97
  292. package/dist/es5/adapter/webgl-canvas-context.js.map +0 -1
  293. package/dist/es5/adapter/webgl-device.js +0 -399
  294. package/dist/es5/adapter/webgl-device.js.map +0 -1
  295. package/dist/es5/bundle.js +0 -7
  296. package/dist/es5/bundle.js.map +0 -1
  297. package/dist/es5/classic/accessor.js +0 -181
  298. package/dist/es5/classic/accessor.js.map +0 -1
  299. package/dist/es5/classic/buffer.js +0 -470
  300. package/dist/es5/classic/buffer.js.map +0 -1
  301. package/dist/es5/classic/typed-array-utils.js +0 -126
  302. package/dist/es5/classic/typed-array-utils.js.map +0 -1
  303. package/dist/es5/context/context/context-state.js +0 -31
  304. package/dist/es5/context/context/context-state.js.map +0 -1
  305. package/dist/es5/context/context/create-context.js +0 -69
  306. package/dist/es5/context/context/create-context.js.map +0 -1
  307. package/dist/es5/context/context/device-pixels.js +0 -115
  308. package/dist/es5/context/context/device-pixels.js.map +0 -1
  309. package/dist/es5/context/context/webgl-checks.js +0 -54
  310. package/dist/es5/context/context/webgl-checks.js.map +0 -1
  311. package/dist/es5/context/debug/spector.js +0 -133
  312. package/dist/es5/context/debug/spector.js.map +0 -1
  313. package/dist/es5/context/debug/webgl-developer-tools.js +0 -198
  314. package/dist/es5/context/debug/webgl-developer-tools.js.map +0 -1
  315. package/dist/es5/context/parameters/unified-parameter-api.js +0 -97
  316. package/dist/es5/context/parameters/unified-parameter-api.js.map +0 -1
  317. package/dist/es5/context/parameters/webgl-parameter-tables.js +0 -392
  318. package/dist/es5/context/parameters/webgl-parameter-tables.js.map +0 -1
  319. package/dist/es5/context/polyfill/get-parameter-polyfill.js +0 -81
  320. package/dist/es5/context/polyfill/get-parameter-polyfill.js.map +0 -1
  321. package/dist/es5/context/polyfill/polyfill-context.js +0 -135
  322. package/dist/es5/context/polyfill/polyfill-context.js.map +0 -1
  323. package/dist/es5/context/polyfill/polyfill-table.js +0 -166
  324. package/dist/es5/context/polyfill/polyfill-table.js.map +0 -1
  325. package/dist/es5/context/polyfill/polyfill-vertex-array-object.js +0 -341
  326. package/dist/es5/context/polyfill/polyfill-vertex-array-object.js.map +0 -1
  327. package/dist/es5/context/state-tracker/deep-array-equal.js +0 -28
  328. package/dist/es5/context/state-tracker/deep-array-equal.js.map +0 -1
  329. package/dist/es5/context/state-tracker/track-context-state.js +0 -211
  330. package/dist/es5/context/state-tracker/track-context-state.js.map +0 -1
  331. package/dist/es5/context/state-tracker/with-parameters.js +0 -44
  332. package/dist/es5/context/state-tracker/with-parameters.js.map +0 -1
  333. package/dist/es5/index.js +0 -276
  334. package/dist/es5/index.js.map +0 -1
  335. package/dist/es5/init.js +0 -10
  336. package/dist/es5/init.js.map +0 -1
  337. package/dist/es5/types/webgl.js +0 -6
  338. package/dist/es5/types/webgl.js.map +0 -1
  339. package/dist/es5/types.js +0 -2
  340. package/dist/es5/types.js.map +0 -1
  341. package/dist/esm/adapter/converters/device-parameters.js +0 -155
  342. package/dist/esm/adapter/converters/device-parameters.js.map +0 -1
  343. package/dist/esm/adapter/converters/renderbuffer-formats.js +0 -185
  344. package/dist/esm/adapter/converters/renderbuffer-formats.js.map +0 -1
  345. package/dist/esm/adapter/converters/sampler-parameters.js +0 -208
  346. package/dist/esm/adapter/converters/sampler-parameters.js.map +0 -1
  347. package/dist/esm/adapter/converters/texture-formats.js +0 -954
  348. package/dist/esm/adapter/converters/texture-formats.js.map +0 -1
  349. package/dist/esm/adapter/converters/vertex-formats.js +0 -35
  350. package/dist/esm/adapter/converters/vertex-formats.js.map +0 -1
  351. package/dist/esm/adapter/device-helpers/device-features.js +0 -102
  352. package/dist/esm/adapter/device-helpers/device-features.js.map +0 -1
  353. package/dist/esm/adapter/device-helpers/device-limits.js +0 -91
  354. package/dist/esm/adapter/device-helpers/device-limits.js.map +0 -1
  355. package/dist/esm/adapter/device-helpers/get-device-info.js +0 -44
  356. package/dist/esm/adapter/device-helpers/get-device-info.js.map +0 -1
  357. package/dist/esm/adapter/device-helpers/is-old-ie.js +0 -8
  358. package/dist/esm/adapter/device-helpers/is-old-ie.js.map +0 -1
  359. package/dist/esm/adapter/helpers/attribute-utils.js +0 -81
  360. package/dist/esm/adapter/helpers/attribute-utils.js.map +0 -1
  361. package/dist/esm/adapter/helpers/get-shader-layout.js +0 -306
  362. package/dist/esm/adapter/helpers/get-shader-layout.js.map +0 -1
  363. package/dist/esm/adapter/helpers/parse-shader-compiler-log.js +0 -37
  364. package/dist/esm/adapter/helpers/parse-shader-compiler-log.js.map +0 -1
  365. package/dist/esm/adapter/helpers/set-uniform.js +0 -115
  366. package/dist/esm/adapter/helpers/set-uniform.js.map +0 -1
  367. package/dist/esm/adapter/helpers/uniforms.js +0 -99
  368. package/dist/esm/adapter/helpers/uniforms.js.map +0 -1
  369. package/dist/esm/adapter/objects/constants-to-keys.js +0 -42
  370. package/dist/esm/adapter/objects/constants-to-keys.js.map +0 -1
  371. package/dist/esm/adapter/objects/webgl-renderbuffer.js +0 -94
  372. package/dist/esm/adapter/objects/webgl-renderbuffer.js.map +0 -1
  373. package/dist/esm/adapter/objects/webgl-resource.js +0 -216
  374. package/dist/esm/adapter/objects/webgl-resource.js.map +0 -1
  375. package/dist/esm/adapter/objects/webgl-vertex-array-object.js +0 -84
  376. package/dist/esm/adapter/objects/webgl-vertex-array-object.js.map +0 -1
  377. package/dist/esm/adapter/resources/webgl-buffer.js +0 -164
  378. package/dist/esm/adapter/resources/webgl-buffer.js.map +0 -1
  379. package/dist/esm/adapter/resources/webgl-command-buffer.js +0 -65
  380. package/dist/esm/adapter/resources/webgl-command-buffer.js.map +0 -1
  381. package/dist/esm/adapter/resources/webgl-command-encoder.js +0 -53
  382. package/dist/esm/adapter/resources/webgl-command-encoder.js.map +0 -1
  383. package/dist/esm/adapter/resources/webgl-external-texture.js +0 -2
  384. package/dist/esm/adapter/resources/webgl-external-texture.js.map +0 -1
  385. package/dist/esm/adapter/resources/webgl-framebuffer.js +0 -265
  386. package/dist/esm/adapter/resources/webgl-framebuffer.js.map +0 -1
  387. package/dist/esm/adapter/resources/webgl-render-pass.js +0 -19
  388. package/dist/esm/adapter/resources/webgl-render-pass.js.map +0 -1
  389. package/dist/esm/adapter/resources/webgl-render-pipeline.js +0 -400
  390. package/dist/esm/adapter/resources/webgl-render-pipeline.js.map +0 -1
  391. package/dist/esm/adapter/resources/webgl-sampler.js +0 -50
  392. package/dist/esm/adapter/resources/webgl-sampler.js.map +0 -1
  393. package/dist/esm/adapter/resources/webgl-shader.js +0 -75
  394. package/dist/esm/adapter/resources/webgl-shader.js.map +0 -1
  395. package/dist/esm/adapter/resources/webgl-texture.js +0 -831
  396. package/dist/esm/adapter/resources/webgl-texture.js.map +0 -1
  397. package/dist/esm/adapter/webgl-canvas-context.js +0 -54
  398. package/dist/esm/adapter/webgl-canvas-context.js.map +0 -1
  399. package/dist/esm/adapter/webgl-device.js +0 -280
  400. package/dist/esm/adapter/webgl-device.js.map +0 -1
  401. package/dist/esm/bundle.js +0 -5
  402. package/dist/esm/bundle.js.map +0 -1
  403. package/dist/esm/classic/accessor.js +0 -144
  404. package/dist/esm/classic/accessor.js.map +0 -1
  405. package/dist/esm/classic/buffer.js +0 -384
  406. package/dist/esm/classic/buffer.js.map +0 -1
  407. package/dist/esm/classic/typed-array-utils.js +0 -112
  408. package/dist/esm/classic/typed-array-utils.js.map +0 -1
  409. package/dist/esm/context/context/context-state.js +0 -26
  410. package/dist/esm/context/context/context-state.js.map +0 -1
  411. package/dist/esm/context/context/create-context.js +0 -49
  412. package/dist/esm/context/context/create-context.js.map +0 -1
  413. package/dist/esm/context/context/device-pixels.js +0 -98
  414. package/dist/esm/context/context/device-pixels.js.map +0 -1
  415. package/dist/esm/context/context/webgl-checks.js +0 -34
  416. package/dist/esm/context/context/webgl-checks.js.map +0 -1
  417. package/dist/esm/context/debug/spector.js +0 -76
  418. package/dist/esm/context/debug/spector.js.map +0 -1
  419. package/dist/esm/context/debug/webgl-developer-tools.js +0 -121
  420. package/dist/esm/context/debug/webgl-developer-tools.js.map +0 -1
  421. package/dist/esm/context/parameters/unified-parameter-api.js +0 -65
  422. package/dist/esm/context/parameters/unified-parameter-api.js.map +0 -1
  423. package/dist/esm/context/parameters/webgl-parameter-tables.js +0 -445
  424. package/dist/esm/context/parameters/webgl-parameter-tables.js.map +0 -1
  425. package/dist/esm/context/polyfill/get-parameter-polyfill.js +0 -91
  426. package/dist/esm/context/polyfill/get-parameter-polyfill.js.map +0 -1
  427. package/dist/esm/context/polyfill/polyfill-context.js +0 -92
  428. package/dist/esm/context/polyfill/polyfill-context.js.map +0 -1
  429. package/dist/esm/context/polyfill/polyfill-table.js +0 -160
  430. package/dist/esm/context/polyfill/polyfill-table.js.map +0 -1
  431. package/dist/esm/context/polyfill/polyfill-vertex-array-object.js +0 -335
  432. package/dist/esm/context/polyfill/polyfill-vertex-array-object.js.map +0 -1
  433. package/dist/esm/context/state-tracker/deep-array-equal.js +0 -21
  434. package/dist/esm/context/state-tracker/deep-array-equal.js.map +0 -1
  435. package/dist/esm/context/state-tracker/track-context-state.js +0 -183
  436. package/dist/esm/context/state-tracker/track-context-state.js.map +0 -1
  437. package/dist/esm/context/state-tracker/with-parameters.js +0 -36
  438. package/dist/esm/context/state-tracker/with-parameters.js.map +0 -1
  439. package/dist/esm/index.js +0 -27
  440. package/dist/esm/index.js.map +0 -1
  441. package/dist/esm/init.js +0 -4
  442. package/dist/esm/init.js.map +0 -1
  443. package/dist/esm/types/webgl.js +0 -2
  444. package/dist/esm/types/webgl.js.map +0 -1
  445. package/dist/esm/types.js +0 -2
  446. package/dist/esm/types.js.map +0 -1
  447. package/dist/init.d.ts +0 -2
  448. package/dist/init.d.ts.map +0 -1
  449. package/dist/init.js +0 -4
  450. package/dist/init.js.map +0 -1
  451. package/src/bundle.ts +0 -4
  452. package/src/context/context/context-state.ts +0 -41
  453. package/src/context/context/device-pixels.ts +0 -152
  454. package/src/init.ts +0 -4
@@ -1,44 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.withParameters = withParameters;
7
-
8
- var _unifiedParameterApi = require("../parameters/unified-parameter-api");
9
-
10
- var _trackContextState = require("./track-context-state");
11
-
12
- function withParameters(gl, parameters, func) {
13
- if (isObjectEmpty(parameters)) {
14
- return func(gl);
15
- }
16
-
17
- var _parameters$nocatch = parameters.nocatch,
18
- nocatch = _parameters$nocatch === void 0 ? true : _parameters$nocatch;
19
- (0, _trackContextState.pushContextState)(gl);
20
- (0, _unifiedParameterApi.setParameters)(gl, parameters);
21
- var value;
22
-
23
- if (nocatch) {
24
- value = func(gl);
25
- (0, _trackContextState.popContextState)(gl);
26
- } else {
27
- try {
28
- value = func(gl);
29
- } finally {
30
- (0, _trackContextState.popContextState)(gl);
31
- }
32
- }
33
-
34
- return value;
35
- }
36
-
37
- function isObjectEmpty(object) {
38
- for (var key in object) {
39
- return false;
40
- }
41
-
42
- return true;
43
- }
44
- //# sourceMappingURL=with-parameters.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../src/context/state-tracker/with-parameters.ts"],"names":["withParameters","gl","parameters","func","isObjectEmpty","nocatch","value","object","key"],"mappings":";;;;;;;AAAA;;AACA;;AAUQ,SAASA,cAAT,CAAwBC,EAAxB,EAAmDC,UAAnD,EAAmGC,IAAnG,EAAmH;AACzH,MAAIC,aAAa,CAACF,UAAD,CAAjB,EAA+B;AAE7B,WAAOC,IAAI,CAACF,EAAD,CAAX;AACD;;AAED,4BAAyBC,UAAzB,CAAOG,OAAP;AAAA,MAAOA,OAAP,oCAAiB,IAAjB;AAEA,2CAAiBJ,EAAjB;AACA,0CAAcA,EAAd,EAAkBC,UAAlB;AAGA,MAAII,KAAJ;;AAEA,MAAID,OAAJ,EAAa;AAEXC,IAAAA,KAAK,GAAGH,IAAI,CAACF,EAAD,CAAZ;AACA,4CAAgBA,EAAhB;AACD,GAJD,MAIO;AAEL,QAAI;AACFK,MAAAA,KAAK,GAAGH,IAAI,CAACF,EAAD,CAAZ;AACD,KAFD,SAEU;AACR,8CAAgBA,EAAhB;AACD;AACF;;AAED,SAAOK,KAAP;AACD;;AAKD,SAASF,aAAT,CAAuBG,MAAvB,EAA+B;AAC7B,OAAK,IAAMC,GAAX,IAAkBD,MAAlB,EAA0B;AACxB,WAAO,KAAP;AACD;;AACD,SAAO,IAAP;AACD","sourcesContent":["import {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(gl: WebGLRenderingContext, parameters: GLParameters & {nocatch?: boolean}, func: any): any {\n if (isObjectEmpty(parameters)) {\n // Avoid setting state if no parameters provided. Just call and return\n return func(gl);\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 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, "WebGLDevice", {
9
- enumerable: true,
10
- get: function get() {
11
- return _webglDevice.default;
12
- }
13
- });
14
- Object.defineProperty(exports, "WebGLCanvasContext", {
15
- enumerable: true,
16
- get: function get() {
17
- return _webglCanvasContext.default;
18
- }
19
- });
20
- Object.defineProperty(exports, "Accessor", {
21
- enumerable: true,
22
- get: function get() {
23
- return _accessor.default;
24
- }
25
- });
26
- Object.defineProperty(exports, "Buffer", {
27
- enumerable: true,
28
- get: function get() {
29
- return _buffer.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, "WebGLResource", {
39
- enumerable: true,
40
- get: function get() {
41
- return _webglResource.default;
42
- }
43
- });
44
- Object.defineProperty(exports, "WEBGLBuffer", {
45
- enumerable: true,
46
- get: function get() {
47
- return _webglBuffer.default;
48
- }
49
- });
50
- Object.defineProperty(exports, "WEBGLTexture", {
51
- enumerable: true,
52
- get: function get() {
53
- return _webglTexture.default;
54
- }
55
- });
56
- Object.defineProperty(exports, "WEBGLShader", {
57
- enumerable: true,
58
- get: function get() {
59
- return _webglShader.default;
60
- }
61
- });
62
- Object.defineProperty(exports, "WEBGLSampler", {
63
- enumerable: true,
64
- get: function get() {
65
- return _webglSampler.default;
66
- }
67
- });
68
- Object.defineProperty(exports, "WEBGLFramebuffer", {
69
- enumerable: true,
70
- get: function get() {
71
- return _webglFramebuffer.default;
72
- }
73
- });
74
- Object.defineProperty(exports, "WEBGLRenderPipeline", {
75
- enumerable: true,
76
- get: function get() {
77
- return _webglRenderPipeline.default;
78
- }
79
- });
80
- Object.defineProperty(exports, "WEBGLCommandEncoder", {
81
- enumerable: true,
82
- get: function get() {
83
- return _webglCommandEncoder.default;
84
- }
85
- });
86
- Object.defineProperty(exports, "WEBGLRenderPass", {
87
- enumerable: true,
88
- get: function get() {
89
- return _webglRenderPass.default;
90
- }
91
- });
92
- Object.defineProperty(exports, "WEBGLRenderbuffer", {
93
- enumerable: true,
94
- get: function get() {
95
- return _webglRenderbuffer.default;
96
- }
97
- });
98
- Object.defineProperty(exports, "WEBGLVertexArrayObject", {
99
- enumerable: true,
100
- get: function get() {
101
- return _webglVertexArrayObject.default;
102
- }
103
- });
104
- Object.defineProperty(exports, "isWebGL", {
105
- enumerable: true,
106
- get: function get() {
107
- return _webglChecks.isWebGL;
108
- }
109
- });
110
- Object.defineProperty(exports, "isWebGL2", {
111
- enumerable: true,
112
- get: function get() {
113
- return _webglChecks.isWebGL2;
114
- }
115
- });
116
- Object.defineProperty(exports, "getWebGL2Context", {
117
- enumerable: true,
118
- get: function get() {
119
- return _webglChecks.getWebGL2Context;
120
- }
121
- });
122
- Object.defineProperty(exports, "assertWebGLContext", {
123
- enumerable: true,
124
- get: function get() {
125
- return _webglChecks.assertWebGLContext;
126
- }
127
- });
128
- Object.defineProperty(exports, "assertWebGL2Context", {
129
- enumerable: true,
130
- get: function get() {
131
- return _webglChecks.assertWebGL2Context;
132
- }
133
- });
134
- Object.defineProperty(exports, "cssToDeviceRatio", {
135
- enumerable: true,
136
- get: function get() {
137
- return _devicePixels.cssToDeviceRatio;
138
- }
139
- });
140
- Object.defineProperty(exports, "cssToDevicePixels", {
141
- enumerable: true,
142
- get: function get() {
143
- return _devicePixels.cssToDevicePixels;
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 _webglDevice = _interopRequireDefault(require("./adapter/webgl-device"));
230
-
231
- var _webglCanvasContext = _interopRequireDefault(require("./adapter/webgl-canvas-context"));
232
-
233
- var _accessor = _interopRequireDefault(require("./classic/accessor"));
234
-
235
- var _buffer = _interopRequireDefault(require("./classic/buffer"));
236
-
237
- var _webglResource = _interopRequireDefault(require("./adapter/objects/webgl-resource"));
238
-
239
- var _webglBuffer = _interopRequireDefault(require("./adapter/resources/webgl-buffer"));
240
-
241
- var _webglTexture = _interopRequireDefault(require("./adapter/resources/webgl-texture"));
242
-
243
- var _webglShader = _interopRequireDefault(require("./adapter/resources/webgl-shader"));
244
-
245
- var _webglSampler = _interopRequireDefault(require("./adapter/resources/webgl-sampler"));
246
-
247
- var _webglFramebuffer = _interopRequireDefault(require("./adapter/resources/webgl-framebuffer"));
248
-
249
- var _webglRenderPipeline = _interopRequireDefault(require("./adapter/resources/webgl-render-pipeline"));
250
-
251
- var _webglCommandEncoder = _interopRequireDefault(require("./adapter/resources/webgl-command-encoder"));
252
-
253
- var _webglRenderPass = _interopRequireDefault(require("./adapter/resources/webgl-render-pass"));
254
-
255
- var _webglRenderbuffer = _interopRequireDefault(require("./adapter/objects/webgl-renderbuffer"));
256
-
257
- var _webglVertexArrayObject = _interopRequireDefault(require("./adapter/objects/webgl-vertex-array-object"));
258
-
259
- var _webglChecks = require("./context/context/webgl-checks");
260
-
261
- var _devicePixels = require("./context/context/device-pixels");
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;;AAEA;;AACA;;AAGA;;AAEA;;AACA;;AACA;;AACA;;AAEA;;AACA;;AACA;;AAEA;;AAGA;;AACA;;AAIA;;AACA;;AAEA;;AASA;;AAIA;;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\nexport {default as WebGLDevice} from './adapter/webgl-device';\nexport {default as WebGLCanvasContext} from './adapter/webgl-canvas-context';\n\n// Legacy WebGL Classes - will be moved to gltools\nexport {default as Accessor} from './classic/accessor';\nexport type {ClassicBufferProps as BufferProps} from './classic/buffer';\nexport {default as Buffer} from './classic/buffer';\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\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\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\nexport {\n isWebGL,\n isWebGL2,\n getWebGL2Context,\n assertWebGLContext,\n assertWebGL2Context\n} from './context/context/webgl-checks';\n\n// Device ratio\nexport {cssToDeviceRatio, cssToDevicePixels} from './context/context/device-pixels';\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 WebGLSamplerParameters = {\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_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];\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,155 +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 withDeviceParameters(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
- setDeviceParameters(device, parameters);
16
- return func(device);
17
- } finally {
18
- popContextState(device.gl);
19
- }
20
- }
21
- export function setDeviceParameters(device, parameters) {
22
- const webglDevice = WebGLDevice.attach(device);
23
- const {
24
- gl,
25
- gl2
26
- } = webglDevice;
27
-
28
- if (parameters.cullMode) {
29
- switch (parameters.cullMode) {
30
- case 'none':
31
- gl.disable(GL.CULL_FACE);
32
- break;
33
-
34
- case 'front':
35
- gl.enable(GL.CULL_FACE);
36
- gl.cullFace(GL.FRONT);
37
- break;
38
-
39
- case 'back':
40
- gl.enable(GL.CULL_FACE);
41
- gl.cullFace(GL.BACK);
42
- break;
43
- }
44
- }
45
-
46
- if (parameters.frontFace) {
47
- gl.frontFace(map('frontFace', parameters.frontFace, {
48
- ccw: GL.CCW,
49
- cw: GL.CW
50
- }));
51
- }
52
-
53
- if (parameters.depthBias !== undefined) {
54
- gl.polygonOffset(parameters.depthBias, parameters.depthBiasSlopeScale || 0);
55
- }
56
-
57
- if (parameters.depthWriteEnabled !== undefined) {
58
- gl.depthMask(mapBoolean('depthWriteEnabled', parameters.depthWriteEnabled));
59
- }
60
-
61
- if (parameters.depthCompare) {
62
- parameters.depthCompare !== 'always' ? gl.enable(GL.DEPTH_TEST) : gl.disable(GL.DEPTH_TEST);
63
- gl.depthFunc(convertCompareFunction('depthCompare', parameters.depthCompare));
64
- }
65
-
66
- if (parameters.stencilWriteMask) {
67
- const mask = parameters.stencilWriteMask;
68
- gl.stencilMaskSeparate(GL.FRONT, mask);
69
- gl.stencilMaskSeparate(GL.BACK, mask);
70
- }
71
-
72
- if (parameters.stencilReadMask) {
73
- log.warn('stencilReadMask not supported under WebGL');
74
- }
75
-
76
- if (parameters.stencilCompare) {
77
- const mask = parameters.stencilReadMask || 0xffffffff;
78
- const glValue = convertCompareFunction('depthCompare', parameters.stencilCompare);
79
- parameters.stencilCompare !== 'always' ? gl.enable(GL.STENCIL_TEST) : gl.disable(GL.STENCIL_TEST);
80
- gl.stencilFuncSeparate(GL.FRONT, glValue, 0, mask);
81
- gl.stencilFuncSeparate(GL.BACK, glValue, 0, mask);
82
- }
83
-
84
- if (parameters.stencilPassOperation) {
85
- const dppass = convertStencilOperation('stencilPassOperation', parameters.stencilPassOperation);
86
- const sfail = convertStencilOperation('stencilFailOperation', parameters.stencilFailOperation);
87
- const dpfail = convertStencilOperation('stencilDepthFailOperation', parameters.stencilDepthFailOperation);
88
- gl.stencilOpSeparate(GL.FRONT, sfail, dpfail, dppass);
89
- gl.stencilOpSeparate(GL.BACK, sfail, dpfail, dppass);
90
- }
91
- }
92
- export function convertCompareFunction(parameter, value) {
93
- return map(parameter, value, {
94
- 'never': GL.NEVER,
95
- 'less': GL.LESS,
96
- 'equal': GL.EQUAL,
97
- 'less-equal': GL.LEQUAL,
98
- 'greater': GL.GREATER,
99
- 'not-equal': GL.NOTEQUAL,
100
- 'greater-equal': GL.GEQUAL,
101
- 'always': GL.ALWAYS
102
- });
103
- }
104
- export function convertToCompareFunction(parameter, value) {
105
- return map(parameter, value, {
106
- [GL.NEVER]: 'never',
107
- [GL.LESS]: 'less',
108
- [GL.EQUAL]: 'equal',
109
- [GL.LEQUAL]: 'less-equal',
110
- [GL.GREATER]: 'greater',
111
- [GL.NOTEQUAL]: 'not-equal',
112
- [GL.GEQUAL]: 'greater-equal',
113
- [GL.ALWAYS]: 'always'
114
- });
115
- }
116
-
117
- function convertStencilOperation(parameter, value) {
118
- return map(parameter, value, {
119
- 'keep': GL.KEEP,
120
- 'zero': GL.ZERO,
121
- 'replace': GL.REPLACE,
122
- 'invert': GL.INVERT,
123
- 'increment-clamp': GL.INCR,
124
- 'decrement-clamp': GL.DECR,
125
- 'increment-wrap': GL.INCR_WRAP,
126
- 'decrement-wrap': GL.DECR_WRAP
127
- });
128
- }
129
-
130
- function convertBlendOperationToEquation(parameter, value) {
131
- return map(parameter, value, {
132
- 'add': GL.FUNC_ADD,
133
- 'sub': GL.FUNC_SUBTRACT,
134
- 'reverse-subtract': GL.FUNC_REVERSE_SUBTRACT,
135
- 'min': GL.MIN,
136
- 'max': GL.MAX
137
- });
138
- }
139
-
140
- function message(parameter, value) {
141
- return "Illegal parameter ".concat(value, " for ").concat(parameter);
142
- }
143
-
144
- function map(parameter, value, valueMap) {
145
- if (!(value in valueMap)) {
146
- throw new Error(message(parameter, value));
147
- }
148
-
149
- return valueMap[value];
150
- }
151
-
152
- function mapBoolean(parameter, value) {
153
- return value;
154
- }
155
- //# 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","withDeviceParameters","device","parameters","func","gl","setDeviceParameters","webglDevice","attach","gl2","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","dppass","convertStencilOperation","sfail","stencilFailOperation","dpfail","stencilDepthFailOperation","stencilOpSeparate","parameter","value","NEVER","LESS","EQUAL","LEQUAL","GREATER","NOTEQUAL","GEQUAL","ALWAYS","convertToCompareFunction","KEEP","ZERO","REPLACE","INVERT","INCR","DECR","INCR_WRAP","DECR_WRAP","convertBlendOperationToEquation","FUNC_ADD","FUNC_SUBTRACT","FUNC_REVERSE_SUBTRACT","MIN","MAX","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 */\nexport function withDeviceParameters<T = unknown>(device: Device, parameters: 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 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, gl2} = 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) {\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\nfunction convertBlendOperationToEquation(parameter, value): 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, value) {\n return value;\n}\n"],"file":"device-parameters.js"}