@luma.gl/webgl 9.0.0-alpha.5 → 9.0.0-alpha.51

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 (527) hide show
  1. package/LICENSE +3 -1
  2. package/dist/adapter/converters/device-parameters.d.ts +23 -4
  3. package/dist/adapter/converters/device-parameters.d.ts.map +1 -1
  4. package/dist/adapter/converters/device-parameters.js +101 -73
  5. package/dist/adapter/converters/device-parameters.js.map +1 -1
  6. package/dist/adapter/converters/sampler-parameters.d.ts +6 -6
  7. package/dist/adapter/converters/sampler-parameters.d.ts.map +1 -1
  8. package/dist/adapter/converters/sampler-parameters.js +74 -111
  9. package/dist/adapter/converters/sampler-parameters.js.map +1 -1
  10. package/dist/adapter/converters/shader-formats.d.ts +9 -0
  11. package/dist/adapter/converters/shader-formats.d.ts.map +1 -0
  12. package/dist/adapter/converters/shader-formats.js +52 -0
  13. package/dist/adapter/converters/shader-formats.js.map +1 -0
  14. package/dist/adapter/converters/texture-formats.d.ts +32 -44
  15. package/dist/adapter/converters/texture-formats.d.ts.map +1 -1
  16. package/dist/adapter/converters/texture-formats.js +309 -346
  17. package/dist/adapter/converters/texture-formats.js.map +1 -1
  18. package/dist/adapter/converters/vertex-formats.d.ts +9 -3
  19. package/dist/adapter/converters/vertex-formats.d.ts.map +1 -1
  20. package/dist/adapter/converters/vertex-formats.js +53 -22
  21. package/dist/adapter/converters/vertex-formats.js.map +1 -1
  22. package/dist/adapter/device-helpers/device-features.d.ts +1 -1
  23. package/dist/adapter/device-helpers/device-features.d.ts.map +1 -1
  24. package/dist/adapter/device-helpers/device-features.js +17 -23
  25. package/dist/adapter/device-helpers/device-features.js.map +1 -1
  26. package/dist/adapter/device-helpers/device-limits.d.ts +3 -3
  27. package/dist/adapter/device-helpers/device-limits.d.ts.map +1 -1
  28. package/dist/adapter/device-helpers/device-limits.js +54 -58
  29. package/dist/adapter/device-helpers/device-limits.js.map +1 -1
  30. package/dist/adapter/device-helpers/get-device-info.d.ts +1 -1
  31. package/dist/adapter/device-helpers/get-device-info.d.ts.map +1 -1
  32. package/dist/adapter/device-helpers/get-device-info.js +31 -22
  33. package/dist/adapter/device-helpers/get-device-info.js.map +1 -1
  34. package/dist/adapter/device-helpers/is-old-ie.d.ts.map +1 -1
  35. package/dist/adapter/device-helpers/is-old-ie.js +2 -1
  36. package/dist/adapter/device-helpers/is-old-ie.js.map +1 -1
  37. package/dist/adapter/helpers/decode-webgl-types.d.ts +26 -0
  38. package/dist/adapter/helpers/decode-webgl-types.d.ts.map +1 -0
  39. package/dist/adapter/helpers/decode-webgl-types.js +89 -0
  40. package/dist/adapter/helpers/decode-webgl-types.js.map +1 -0
  41. package/dist/adapter/helpers/get-shader-layout.d.ts +1 -48
  42. package/dist/adapter/helpers/get-shader-layout.d.ts.map +1 -1
  43. package/dist/adapter/helpers/get-shader-layout.js +87 -143
  44. package/dist/adapter/helpers/get-shader-layout.js.map +1 -1
  45. package/dist/adapter/helpers/parse-shader-compiler-log.d.ts +1 -1
  46. package/dist/adapter/helpers/parse-shader-compiler-log.d.ts.map +1 -1
  47. package/dist/adapter/helpers/parse-shader-compiler-log.js +16 -11
  48. package/dist/adapter/helpers/parse-shader-compiler-log.js.map +1 -1
  49. package/dist/adapter/helpers/set-uniform.d.ts +3 -2
  50. package/dist/adapter/helpers/set-uniform.d.ts.map +1 -1
  51. package/dist/adapter/helpers/set-uniform.js +51 -82
  52. package/dist/adapter/helpers/set-uniform.js.map +1 -1
  53. package/dist/adapter/helpers/webgl-topology-utils.d.ts +16 -0
  54. package/dist/adapter/helpers/webgl-topology-utils.d.ts.map +1 -0
  55. package/dist/adapter/helpers/webgl-topology-utils.js +103 -0
  56. package/dist/adapter/helpers/webgl-topology-utils.js.map +1 -0
  57. package/dist/adapter/objects/constants-to-keys.d.ts +1 -3
  58. package/dist/adapter/objects/constants-to-keys.d.ts.map +1 -1
  59. package/dist/adapter/objects/constants-to-keys.js +2 -29
  60. package/dist/adapter/objects/constants-to-keys.js.map +1 -1
  61. package/dist/adapter/objects/webgl-renderbuffer.d.ts +15 -12
  62. package/dist/adapter/objects/webgl-renderbuffer.d.ts.map +1 -1
  63. package/dist/adapter/objects/webgl-renderbuffer.js +36 -44
  64. package/dist/adapter/objects/webgl-renderbuffer.js.map +1 -1
  65. package/dist/adapter/objects/webgl-resource.d.ts +6 -9
  66. package/dist/adapter/objects/webgl-resource.d.ts.map +1 -1
  67. package/dist/adapter/objects/webgl-resource.js +26 -83
  68. package/dist/adapter/objects/webgl-resource.js.map +1 -1
  69. package/dist/adapter/resources/webgl-buffer.d.ts +19 -11
  70. package/dist/adapter/resources/webgl-buffer.d.ts.map +1 -1
  71. package/dist/adapter/resources/webgl-buffer.js +60 -88
  72. package/dist/adapter/resources/webgl-buffer.js.map +1 -1
  73. package/dist/adapter/resources/webgl-command-buffer.d.ts +15 -9
  74. package/dist/adapter/resources/webgl-command-buffer.d.ts.map +1 -1
  75. package/dist/adapter/resources/webgl-command-buffer.js +175 -48
  76. package/dist/adapter/resources/webgl-command-buffer.js.map +1 -1
  77. package/dist/adapter/resources/webgl-command-encoder.d.ts +7 -6
  78. package/dist/adapter/resources/webgl-command-encoder.d.ts.map +1 -1
  79. package/dist/adapter/resources/webgl-command-encoder.js +10 -20
  80. package/dist/adapter/resources/webgl-command-encoder.js.map +1 -1
  81. package/dist/adapter/resources/webgl-external-texture.js.map +1 -1
  82. package/dist/adapter/resources/webgl-framebuffer.d.ts +21 -24
  83. package/dist/adapter/resources/webgl-framebuffer.d.ts.map +1 -1
  84. package/dist/adapter/resources/webgl-framebuffer.js +63 -173
  85. package/dist/adapter/resources/webgl-framebuffer.js.map +1 -1
  86. package/dist/adapter/resources/webgl-render-pass.d.ts +19 -4
  87. package/dist/adapter/resources/webgl-render-pass.d.ts.map +1 -1
  88. package/dist/adapter/resources/webgl-render-pass.js +99 -11
  89. package/dist/adapter/resources/webgl-render-pass.js.map +1 -1
  90. package/dist/adapter/resources/webgl-render-pipeline.d.ts +55 -21
  91. package/dist/adapter/resources/webgl-render-pipeline.d.ts.map +1 -1
  92. package/dist/adapter/resources/webgl-render-pipeline.js +108 -270
  93. package/dist/adapter/resources/webgl-render-pipeline.js.map +1 -1
  94. package/dist/adapter/resources/webgl-sampler.d.ts +6 -5
  95. package/dist/adapter/resources/webgl-sampler.d.ts.map +1 -1
  96. package/dist/adapter/resources/webgl-sampler.js +11 -21
  97. package/dist/adapter/resources/webgl-sampler.js.map +1 -1
  98. package/dist/adapter/resources/webgl-shader.d.ts +5 -5
  99. package/dist/adapter/resources/webgl-shader.d.ts.map +1 -1
  100. package/dist/adapter/resources/webgl-shader.js +18 -43
  101. package/dist/adapter/resources/webgl-shader.js.map +1 -1
  102. package/dist/adapter/resources/webgl-texture.d.ts +62 -42
  103. package/dist/adapter/resources/webgl-texture.d.ts.map +1 -1
  104. package/dist/adapter/resources/webgl-texture.js +137 -256
  105. package/dist/adapter/resources/webgl-texture.js.map +1 -1
  106. package/dist/adapter/resources/webgl-transform-feedback.d.ts +47 -0
  107. package/dist/adapter/resources/webgl-transform-feedback.d.ts.map +1 -0
  108. package/dist/adapter/resources/webgl-transform-feedback.js +164 -0
  109. package/dist/adapter/resources/webgl-transform-feedback.js.map +1 -0
  110. package/dist/adapter/resources/webgl-vertex-array.d.ts +67 -0
  111. package/dist/adapter/resources/webgl-vertex-array.d.ts.map +1 -0
  112. package/dist/adapter/resources/webgl-vertex-array.js +167 -0
  113. package/dist/adapter/resources/webgl-vertex-array.js.map +1 -0
  114. package/dist/adapter/webgl-canvas-context.d.ts +6 -7
  115. package/dist/adapter/webgl-canvas-context.d.ts.map +1 -1
  116. package/dist/adapter/webgl-canvas-context.js +10 -23
  117. package/dist/adapter/webgl-canvas-context.js.map +1 -1
  118. package/dist/adapter/webgl-device.d.ts +76 -41
  119. package/dist/adapter/webgl-device.d.ts.map +1 -1
  120. package/dist/adapter/webgl-device.js +219 -129
  121. package/dist/adapter/webgl-device.js.map +1 -1
  122. package/dist/classic/accessor.d.ts +3 -3
  123. package/dist/classic/accessor.d.ts.map +1 -1
  124. package/dist/classic/accessor.js +26 -52
  125. package/dist/classic/accessor.js.map +1 -1
  126. package/dist/classic/clear.d.ts +22 -0
  127. package/dist/classic/clear.d.ts.map +1 -0
  128. package/dist/classic/clear.js +88 -0
  129. package/dist/classic/clear.js.map +1 -0
  130. package/dist/classic/copy-and-blit.d.ts +62 -0
  131. package/dist/classic/copy-and-blit.d.ts.map +1 -0
  132. package/dist/classic/copy-and-blit.js +191 -0
  133. package/dist/classic/copy-and-blit.js.map +1 -0
  134. package/dist/classic/format-utils.d.ts +3 -0
  135. package/dist/classic/format-utils.d.ts.map +1 -0
  136. package/dist/classic/format-utils.js +37 -0
  137. package/dist/classic/format-utils.js.map +1 -0
  138. package/dist/classic/typed-array-utils.d.ts +17 -17
  139. package/dist/classic/typed-array-utils.d.ts.map +1 -1
  140. package/dist/classic/typed-array-utils.js +18 -39
  141. package/dist/classic/typed-array-utils.js.map +1 -1
  142. package/dist/context/context/create-browser-context.d.ts +40 -0
  143. package/dist/context/context/create-browser-context.d.ts.map +1 -0
  144. package/dist/context/context/create-browser-context.js +53 -0
  145. package/dist/context/context/create-browser-context.js.map +1 -0
  146. package/dist/context/context/create-headless-context.d.ts +9 -0
  147. package/dist/context/context/create-headless-context.d.ts.map +1 -0
  148. package/dist/context/context/create-headless-context.js +42 -0
  149. package/dist/context/context/create-headless-context.js.map +1 -0
  150. package/dist/context/context/webgl-checks.d.ts.map +1 -1
  151. package/dist/context/context/webgl-checks.js +1 -4
  152. package/dist/context/context/webgl-checks.js.map +1 -1
  153. package/dist/context/debug/spector.d.ts +1 -2
  154. package/dist/context/debug/spector.d.ts.map +1 -1
  155. package/dist/context/debug/spector.js +8 -20
  156. package/dist/context/debug/spector.js.map +1 -1
  157. package/dist/context/debug/webgl-developer-tools.d.ts +2 -2
  158. package/dist/context/debug/webgl-developer-tools.d.ts.map +1 -1
  159. package/dist/context/debug/webgl-developer-tools.js +15 -39
  160. package/dist/context/debug/webgl-developer-tools.js.map +1 -1
  161. package/dist/context/parameters/unified-parameter-api.d.ts +9 -8
  162. package/dist/context/parameters/unified-parameter-api.d.ts.map +1 -1
  163. package/dist/context/parameters/unified-parameter-api.js +9 -19
  164. package/dist/context/parameters/unified-parameter-api.js.map +1 -1
  165. package/dist/context/parameters/webgl-parameter-tables.d.ts +105 -106
  166. package/dist/context/parameters/webgl-parameter-tables.d.ts.map +1 -1
  167. package/dist/context/parameters/webgl-parameter-tables.js +267 -286
  168. package/dist/context/parameters/webgl-parameter-tables.js.map +1 -1
  169. package/dist/context/polyfill/context-data.d.ts +13 -0
  170. package/dist/context/polyfill/context-data.d.ts.map +1 -0
  171. package/dist/context/polyfill/context-data.js +12 -0
  172. package/dist/context/polyfill/context-data.js.map +1 -0
  173. package/dist/context/polyfill/get-parameter-polyfill.d.ts +1 -1
  174. package/dist/context/polyfill/get-parameter-polyfill.d.ts.map +1 -1
  175. package/dist/context/polyfill/get-parameter-polyfill.js +37 -43
  176. package/dist/context/polyfill/get-parameter-polyfill.js.map +1 -1
  177. package/dist/context/polyfill/polyfill-context.d.ts.map +1 -1
  178. package/dist/context/polyfill/polyfill-context.js +22 -30
  179. package/dist/context/polyfill/polyfill-context.js.map +1 -1
  180. package/dist/context/polyfill/polyfill-table.d.ts +8 -8
  181. package/dist/context/polyfill/polyfill-table.d.ts.map +1 -1
  182. package/dist/context/polyfill/polyfill-table.js +18 -41
  183. package/dist/context/polyfill/polyfill-table.js.map +1 -1
  184. package/dist/context/polyfill/polyfill-vertex-array-object.d.ts.map +1 -1
  185. package/dist/context/polyfill/polyfill-vertex-array-object.js +17 -87
  186. package/dist/context/polyfill/polyfill-vertex-array-object.js.map +1 -1
  187. package/dist/context/state-tracker/deep-array-equal.d.ts.map +1 -1
  188. package/dist/context/state-tracker/deep-array-equal.js +0 -4
  189. package/dist/context/state-tracker/deep-array-equal.js.map +1 -1
  190. package/dist/context/state-tracker/track-context-state.d.ts.map +1 -1
  191. package/dist/context/state-tracker/track-context-state.js +26 -62
  192. package/dist/context/state-tracker/track-context-state.js.map +1 -1
  193. package/dist/context/state-tracker/with-parameters.d.ts +2 -1
  194. package/dist/context/state-tracker/with-parameters.d.ts.map +1 -1
  195. package/dist/context/state-tracker/with-parameters.js +8 -10
  196. package/dist/context/state-tracker/with-parameters.js.map +1 -1
  197. package/dist/dist.dev.js +8624 -0
  198. package/dist/index.cjs +6570 -0
  199. package/dist/index.d.ts +26 -24
  200. package/dist/index.d.ts.map +1 -1
  201. package/dist/index.js +27 -26
  202. package/dist/index.js.map +1 -1
  203. package/dist/types.d.ts +3 -1
  204. package/dist/types.d.ts.map +1 -1
  205. package/dist/types.js.map +1 -1
  206. package/dist.min.js +52 -0
  207. package/package.json +21 -9
  208. package/src/adapter/converters/device-parameters.ts +144 -41
  209. package/src/adapter/converters/sampler-parameters.ts +103 -41
  210. package/src/adapter/converters/shader-formats.ts +44 -0
  211. package/src/adapter/converters/texture-formats.ts +268 -195
  212. package/src/adapter/converters/vertex-formats.ts +71 -10
  213. package/src/adapter/device-helpers/device-features.ts +14 -3
  214. package/src/adapter/device-helpers/device-limits.ts +5 -3
  215. package/src/adapter/device-helpers/get-device-info.ts +53 -18
  216. package/src/adapter/device-helpers/is-old-ie.ts +3 -0
  217. package/src/adapter/helpers/{uniforms.ts → decode-webgl-types.ts} +39 -21
  218. package/src/adapter/helpers/get-shader-layout.ts +121 -146
  219. package/src/adapter/helpers/parse-shader-compiler-log.ts +24 -8
  220. package/src/adapter/helpers/set-uniform.ts +39 -35
  221. package/src/adapter/helpers/webgl-topology-utils.ts +103 -0
  222. package/src/adapter/objects/constants-to-keys.ts +6 -25
  223. package/src/adapter/objects/webgl-renderbuffer.ts +43 -37
  224. package/src/adapter/objects/webgl-resource.ts +16 -23
  225. package/src/adapter/resources/.webgl-render-pipeline.ts.swp +0 -0
  226. package/src/adapter/resources/webgl-buffer.ts +67 -62
  227. package/src/adapter/resources/webgl-command-buffer.ts +327 -25
  228. package/src/adapter/resources/webgl-command-encoder.ts +20 -12
  229. package/src/adapter/resources/webgl-external-texture.ts +5 -2
  230. package/src/adapter/resources/webgl-framebuffer.ts +90 -134
  231. package/src/adapter/resources/webgl-render-pass.ts +166 -4
  232. package/src/adapter/resources/webgl-render-pipeline.ts +256 -192
  233. package/src/adapter/resources/webgl-sampler.ts +16 -10
  234. package/src/adapter/resources/webgl-shader.ts +33 -27
  235. package/src/adapter/resources/webgl-texture.ts +138 -99
  236. package/src/adapter/resources/webgl-transform-feedback.ts +202 -0
  237. package/src/adapter/resources/webgl-vertex-array.ts +283 -0
  238. package/src/adapter/webgl-canvas-context.ts +16 -14
  239. package/src/adapter/webgl-device.ts +328 -79
  240. package/src/classic/accessor.ts +8 -18
  241. package/src/classic/clear.ts +113 -0
  242. package/src/classic/copy-and-blit.ts +311 -0
  243. package/src/classic/format-utils.ts +46 -0
  244. package/src/classic/typed-array-utils.ts +21 -27
  245. package/src/context/context/create-browser-context.ts +140 -0
  246. package/src/context/context/create-headless-context.ts +51 -0
  247. package/src/context/context/webgl-checks.ts +3 -1
  248. package/src/context/debug/spector.ts +9 -6
  249. package/src/context/debug/webgl-developer-tools.ts +23 -15
  250. package/src/context/parameters/unified-parameter-api.ts +23 -14
  251. package/src/context/parameters/webgl-parameter-tables.ts +120 -98
  252. package/src/context/polyfill/context-data.ts +30 -0
  253. package/src/context/polyfill/get-parameter-polyfill.ts +11 -7
  254. package/src/context/polyfill/polyfill-context.ts +10 -9
  255. package/src/context/polyfill/polyfill-table.ts +21 -16
  256. package/src/context/polyfill/polyfill-vertex-array-object.ts +5 -0
  257. package/src/context/state-tracker/deep-array-equal.ts +2 -0
  258. package/src/context/state-tracker/track-context-state.ts +14 -11
  259. package/src/context/state-tracker/with-parameters.ts +13 -4
  260. package/src/index.ts +70 -35
  261. package/src/types.ts +5 -0
  262. package/dist/adapter/converters/renderbuffer-formats.d.ts +0 -16
  263. package/dist/adapter/converters/renderbuffer-formats.d.ts.map +0 -1
  264. package/dist/adapter/converters/renderbuffer-formats.js +0 -185
  265. package/dist/adapter/converters/renderbuffer-formats.js.map +0 -1
  266. package/dist/adapter/helpers/attribute-utils.d.ts +0 -11
  267. package/dist/adapter/helpers/attribute-utils.d.ts.map +0 -1
  268. package/dist/adapter/helpers/attribute-utils.js +0 -81
  269. package/dist/adapter/helpers/attribute-utils.js.map +0 -1
  270. package/dist/adapter/helpers/uniforms.d.ts +0 -26
  271. package/dist/adapter/helpers/uniforms.d.ts.map +0 -1
  272. package/dist/adapter/helpers/uniforms.js +0 -99
  273. package/dist/adapter/helpers/uniforms.js.map +0 -1
  274. package/dist/adapter/objects/webgl-vertex-array-object.d.ts +0 -27
  275. package/dist/adapter/objects/webgl-vertex-array-object.d.ts.map +0 -1
  276. package/dist/adapter/objects/webgl-vertex-array-object.js +0 -84
  277. package/dist/adapter/objects/webgl-vertex-array-object.js.map +0 -1
  278. package/dist/bundle.d.ts +0 -2
  279. package/dist/bundle.d.ts.map +0 -1
  280. package/dist/bundle.js +0 -5
  281. package/dist/bundle.js.map +0 -1
  282. package/dist/classic/buffer.d.ts +0 -95
  283. package/dist/classic/buffer.d.ts.map +0 -1
  284. package/dist/classic/buffer.js +0 -384
  285. package/dist/classic/buffer.js.map +0 -1
  286. package/dist/context/context/context-state.d.ts +0 -18
  287. package/dist/context/context/context-state.d.ts.map +0 -1
  288. package/dist/context/context/context-state.js +0 -26
  289. package/dist/context/context/context-state.js.map +0 -1
  290. package/dist/context/context/create-context.d.ts +0 -41
  291. package/dist/context/context/create-context.d.ts.map +0 -1
  292. package/dist/context/context/create-context.js +0 -49
  293. package/dist/context/context/create-context.js.map +0 -1
  294. package/dist/context/context/device-pixels.d.ts +0 -25
  295. package/dist/context/context/device-pixels.d.ts.map +0 -1
  296. package/dist/context/context/device-pixels.js +0 -98
  297. package/dist/context/context/device-pixels.js.map +0 -1
  298. package/dist/es5/adapter/converters/device-parameters.js +0 -170
  299. package/dist/es5/adapter/converters/device-parameters.js.map +0 -1
  300. package/dist/es5/adapter/converters/renderbuffer-formats.js +0 -163
  301. package/dist/es5/adapter/converters/renderbuffer-formats.js.map +0 -1
  302. package/dist/es5/adapter/converters/sampler-parameters.js +0 -226
  303. package/dist/es5/adapter/converters/sampler-parameters.js.map +0 -1
  304. package/dist/es5/adapter/converters/texture-formats.js +0 -1031
  305. package/dist/es5/adapter/converters/texture-formats.js.map +0 -1
  306. package/dist/es5/adapter/converters/vertex-formats.js +0 -45
  307. package/dist/es5/adapter/converters/vertex-formats.js.map +0 -1
  308. package/dist/es5/adapter/device-helpers/device-features.js +0 -144
  309. package/dist/es5/adapter/device-helpers/device-features.js.map +0 -1
  310. package/dist/es5/adapter/device-helpers/device-limits.js +0 -64
  311. package/dist/es5/adapter/device-helpers/device-limits.js.map +0 -1
  312. package/dist/es5/adapter/device-helpers/get-device-info.js +0 -55
  313. package/dist/es5/adapter/device-helpers/get-device-info.js.map +0 -1
  314. package/dist/es5/adapter/device-helpers/is-old-ie.js +0 -16
  315. package/dist/es5/adapter/device-helpers/is-old-ie.js.map +0 -1
  316. package/dist/es5/adapter/helpers/attribute-utils.js +0 -91
  317. package/dist/es5/adapter/helpers/attribute-utils.js.map +0 -1
  318. package/dist/es5/adapter/helpers/get-shader-layout.js +0 -371
  319. package/dist/es5/adapter/helpers/get-shader-layout.js.map +0 -1
  320. package/dist/es5/adapter/helpers/parse-shader-compiler-log.js +0 -72
  321. package/dist/es5/adapter/helpers/parse-shader-compiler-log.js.map +0 -1
  322. package/dist/es5/adapter/helpers/set-uniform.js +0 -125
  323. package/dist/es5/adapter/helpers/set-uniform.js.map +0 -1
  324. package/dist/es5/adapter/helpers/uniforms.js +0 -112
  325. package/dist/es5/adapter/helpers/uniforms.js.map +0 -1
  326. package/dist/es5/adapter/objects/constants-to-keys.js +0 -54
  327. package/dist/es5/adapter/objects/constants-to-keys.js.map +0 -1
  328. package/dist/es5/adapter/objects/webgl-renderbuffer.js +0 -150
  329. package/dist/es5/adapter/objects/webgl-renderbuffer.js.map +0 -1
  330. package/dist/es5/adapter/objects/webgl-resource.js +0 -292
  331. package/dist/es5/adapter/objects/webgl-resource.js.map +0 -1
  332. package/dist/es5/adapter/objects/webgl-vertex-array-object.js +0 -137
  333. package/dist/es5/adapter/objects/webgl-vertex-array-object.js.map +0 -1
  334. package/dist/es5/adapter/resources/webgl-buffer.js +0 -243
  335. package/dist/es5/adapter/resources/webgl-buffer.js.map +0 -1
  336. package/dist/es5/adapter/resources/webgl-command-buffer.js +0 -96
  337. package/dist/es5/adapter/resources/webgl-command-buffer.js.map +0 -1
  338. package/dist/es5/adapter/resources/webgl-command-encoder.js +0 -98
  339. package/dist/es5/adapter/resources/webgl-command-encoder.js.map +0 -1
  340. package/dist/es5/adapter/resources/webgl-external-texture.js +0 -2
  341. package/dist/es5/adapter/resources/webgl-external-texture.js.map +0 -1
  342. package/dist/es5/adapter/resources/webgl-framebuffer.js +0 -345
  343. package/dist/es5/adapter/resources/webgl-framebuffer.js.map +0 -1
  344. package/dist/es5/adapter/resources/webgl-render-pass.js +0 -61
  345. package/dist/es5/adapter/resources/webgl-render-pass.js.map +0 -1
  346. package/dist/es5/adapter/resources/webgl-render-pipeline.js +0 -505
  347. package/dist/es5/adapter/resources/webgl-render-pipeline.js.map +0 -1
  348. package/dist/es5/adapter/resources/webgl-sampler.js +0 -96
  349. package/dist/es5/adapter/resources/webgl-sampler.js.map +0 -1
  350. package/dist/es5/adapter/resources/webgl-shader.js +0 -149
  351. package/dist/es5/adapter/resources/webgl-shader.js.map +0 -1
  352. package/dist/es5/adapter/resources/webgl-texture.js +0 -986
  353. package/dist/es5/adapter/resources/webgl-texture.js.map +0 -1
  354. package/dist/es5/adapter/webgl-canvas-context.js +0 -97
  355. package/dist/es5/adapter/webgl-canvas-context.js.map +0 -1
  356. package/dist/es5/adapter/webgl-device.js +0 -399
  357. package/dist/es5/adapter/webgl-device.js.map +0 -1
  358. package/dist/es5/bundle.js +0 -7
  359. package/dist/es5/bundle.js.map +0 -1
  360. package/dist/es5/classic/accessor.js +0 -181
  361. package/dist/es5/classic/accessor.js.map +0 -1
  362. package/dist/es5/classic/buffer.js +0 -470
  363. package/dist/es5/classic/buffer.js.map +0 -1
  364. package/dist/es5/classic/typed-array-utils.js +0 -126
  365. package/dist/es5/classic/typed-array-utils.js.map +0 -1
  366. package/dist/es5/context/context/context-state.js +0 -31
  367. package/dist/es5/context/context/context-state.js.map +0 -1
  368. package/dist/es5/context/context/create-context.js +0 -69
  369. package/dist/es5/context/context/create-context.js.map +0 -1
  370. package/dist/es5/context/context/device-pixels.js +0 -115
  371. package/dist/es5/context/context/device-pixels.js.map +0 -1
  372. package/dist/es5/context/context/webgl-checks.js +0 -54
  373. package/dist/es5/context/context/webgl-checks.js.map +0 -1
  374. package/dist/es5/context/debug/spector.js +0 -133
  375. package/dist/es5/context/debug/spector.js.map +0 -1
  376. package/dist/es5/context/debug/webgl-developer-tools.js +0 -198
  377. package/dist/es5/context/debug/webgl-developer-tools.js.map +0 -1
  378. package/dist/es5/context/parameters/unified-parameter-api.js +0 -97
  379. package/dist/es5/context/parameters/unified-parameter-api.js.map +0 -1
  380. package/dist/es5/context/parameters/webgl-parameter-tables.js +0 -392
  381. package/dist/es5/context/parameters/webgl-parameter-tables.js.map +0 -1
  382. package/dist/es5/context/polyfill/get-parameter-polyfill.js +0 -81
  383. package/dist/es5/context/polyfill/get-parameter-polyfill.js.map +0 -1
  384. package/dist/es5/context/polyfill/polyfill-context.js +0 -135
  385. package/dist/es5/context/polyfill/polyfill-context.js.map +0 -1
  386. package/dist/es5/context/polyfill/polyfill-table.js +0 -166
  387. package/dist/es5/context/polyfill/polyfill-table.js.map +0 -1
  388. package/dist/es5/context/polyfill/polyfill-vertex-array-object.js +0 -341
  389. package/dist/es5/context/polyfill/polyfill-vertex-array-object.js.map +0 -1
  390. package/dist/es5/context/state-tracker/deep-array-equal.js +0 -28
  391. package/dist/es5/context/state-tracker/deep-array-equal.js.map +0 -1
  392. package/dist/es5/context/state-tracker/track-context-state.js +0 -211
  393. package/dist/es5/context/state-tracker/track-context-state.js.map +0 -1
  394. package/dist/es5/context/state-tracker/with-parameters.js +0 -44
  395. package/dist/es5/context/state-tracker/with-parameters.js.map +0 -1
  396. package/dist/es5/index.js +0 -276
  397. package/dist/es5/index.js.map +0 -1
  398. package/dist/es5/init.js +0 -10
  399. package/dist/es5/init.js.map +0 -1
  400. package/dist/es5/types/webgl.js +0 -6
  401. package/dist/es5/types/webgl.js.map +0 -1
  402. package/dist/es5/types.js +0 -2
  403. package/dist/es5/types.js.map +0 -1
  404. package/dist/esm/adapter/converters/device-parameters.js +0 -155
  405. package/dist/esm/adapter/converters/device-parameters.js.map +0 -1
  406. package/dist/esm/adapter/converters/renderbuffer-formats.js +0 -185
  407. package/dist/esm/adapter/converters/renderbuffer-formats.js.map +0 -1
  408. package/dist/esm/adapter/converters/sampler-parameters.js +0 -208
  409. package/dist/esm/adapter/converters/sampler-parameters.js.map +0 -1
  410. package/dist/esm/adapter/converters/texture-formats.js +0 -954
  411. package/dist/esm/adapter/converters/texture-formats.js.map +0 -1
  412. package/dist/esm/adapter/converters/vertex-formats.js +0 -35
  413. package/dist/esm/adapter/converters/vertex-formats.js.map +0 -1
  414. package/dist/esm/adapter/device-helpers/device-features.js +0 -102
  415. package/dist/esm/adapter/device-helpers/device-features.js.map +0 -1
  416. package/dist/esm/adapter/device-helpers/device-limits.js +0 -91
  417. package/dist/esm/adapter/device-helpers/device-limits.js.map +0 -1
  418. package/dist/esm/adapter/device-helpers/get-device-info.js +0 -44
  419. package/dist/esm/adapter/device-helpers/get-device-info.js.map +0 -1
  420. package/dist/esm/adapter/device-helpers/is-old-ie.js +0 -8
  421. package/dist/esm/adapter/device-helpers/is-old-ie.js.map +0 -1
  422. package/dist/esm/adapter/helpers/attribute-utils.js +0 -81
  423. package/dist/esm/adapter/helpers/attribute-utils.js.map +0 -1
  424. package/dist/esm/adapter/helpers/get-shader-layout.js +0 -306
  425. package/dist/esm/adapter/helpers/get-shader-layout.js.map +0 -1
  426. package/dist/esm/adapter/helpers/parse-shader-compiler-log.js +0 -37
  427. package/dist/esm/adapter/helpers/parse-shader-compiler-log.js.map +0 -1
  428. package/dist/esm/adapter/helpers/set-uniform.js +0 -115
  429. package/dist/esm/adapter/helpers/set-uniform.js.map +0 -1
  430. package/dist/esm/adapter/helpers/uniforms.js +0 -99
  431. package/dist/esm/adapter/helpers/uniforms.js.map +0 -1
  432. package/dist/esm/adapter/objects/constants-to-keys.js +0 -42
  433. package/dist/esm/adapter/objects/constants-to-keys.js.map +0 -1
  434. package/dist/esm/adapter/objects/webgl-renderbuffer.js +0 -94
  435. package/dist/esm/adapter/objects/webgl-renderbuffer.js.map +0 -1
  436. package/dist/esm/adapter/objects/webgl-resource.js +0 -216
  437. package/dist/esm/adapter/objects/webgl-resource.js.map +0 -1
  438. package/dist/esm/adapter/objects/webgl-vertex-array-object.js +0 -84
  439. package/dist/esm/adapter/objects/webgl-vertex-array-object.js.map +0 -1
  440. package/dist/esm/adapter/resources/webgl-buffer.js +0 -164
  441. package/dist/esm/adapter/resources/webgl-buffer.js.map +0 -1
  442. package/dist/esm/adapter/resources/webgl-command-buffer.js +0 -65
  443. package/dist/esm/adapter/resources/webgl-command-buffer.js.map +0 -1
  444. package/dist/esm/adapter/resources/webgl-command-encoder.js +0 -53
  445. package/dist/esm/adapter/resources/webgl-command-encoder.js.map +0 -1
  446. package/dist/esm/adapter/resources/webgl-external-texture.js +0 -2
  447. package/dist/esm/adapter/resources/webgl-external-texture.js.map +0 -1
  448. package/dist/esm/adapter/resources/webgl-framebuffer.js +0 -265
  449. package/dist/esm/adapter/resources/webgl-framebuffer.js.map +0 -1
  450. package/dist/esm/adapter/resources/webgl-render-pass.js +0 -19
  451. package/dist/esm/adapter/resources/webgl-render-pass.js.map +0 -1
  452. package/dist/esm/adapter/resources/webgl-render-pipeline.js +0 -400
  453. package/dist/esm/adapter/resources/webgl-render-pipeline.js.map +0 -1
  454. package/dist/esm/adapter/resources/webgl-sampler.js +0 -50
  455. package/dist/esm/adapter/resources/webgl-sampler.js.map +0 -1
  456. package/dist/esm/adapter/resources/webgl-shader.js +0 -75
  457. package/dist/esm/adapter/resources/webgl-shader.js.map +0 -1
  458. package/dist/esm/adapter/resources/webgl-texture.js +0 -833
  459. package/dist/esm/adapter/resources/webgl-texture.js.map +0 -1
  460. package/dist/esm/adapter/webgl-canvas-context.js +0 -54
  461. package/dist/esm/adapter/webgl-canvas-context.js.map +0 -1
  462. package/dist/esm/adapter/webgl-device.js +0 -280
  463. package/dist/esm/adapter/webgl-device.js.map +0 -1
  464. package/dist/esm/bundle.js +0 -5
  465. package/dist/esm/bundle.js.map +0 -1
  466. package/dist/esm/classic/accessor.js +0 -144
  467. package/dist/esm/classic/accessor.js.map +0 -1
  468. package/dist/esm/classic/buffer.js +0 -384
  469. package/dist/esm/classic/buffer.js.map +0 -1
  470. package/dist/esm/classic/typed-array-utils.js +0 -112
  471. package/dist/esm/classic/typed-array-utils.js.map +0 -1
  472. package/dist/esm/context/context/context-state.js +0 -26
  473. package/dist/esm/context/context/context-state.js.map +0 -1
  474. package/dist/esm/context/context/create-context.js +0 -49
  475. package/dist/esm/context/context/create-context.js.map +0 -1
  476. package/dist/esm/context/context/device-pixels.js +0 -98
  477. package/dist/esm/context/context/device-pixels.js.map +0 -1
  478. package/dist/esm/context/context/webgl-checks.js +0 -34
  479. package/dist/esm/context/context/webgl-checks.js.map +0 -1
  480. package/dist/esm/context/debug/spector.js +0 -76
  481. package/dist/esm/context/debug/spector.js.map +0 -1
  482. package/dist/esm/context/debug/webgl-developer-tools.js +0 -121
  483. package/dist/esm/context/debug/webgl-developer-tools.js.map +0 -1
  484. package/dist/esm/context/parameters/unified-parameter-api.js +0 -65
  485. package/dist/esm/context/parameters/unified-parameter-api.js.map +0 -1
  486. package/dist/esm/context/parameters/webgl-parameter-tables.js +0 -445
  487. package/dist/esm/context/parameters/webgl-parameter-tables.js.map +0 -1
  488. package/dist/esm/context/polyfill/get-parameter-polyfill.js +0 -91
  489. package/dist/esm/context/polyfill/get-parameter-polyfill.js.map +0 -1
  490. package/dist/esm/context/polyfill/polyfill-context.js +0 -92
  491. package/dist/esm/context/polyfill/polyfill-context.js.map +0 -1
  492. package/dist/esm/context/polyfill/polyfill-table.js +0 -160
  493. package/dist/esm/context/polyfill/polyfill-table.js.map +0 -1
  494. package/dist/esm/context/polyfill/polyfill-vertex-array-object.js +0 -335
  495. package/dist/esm/context/polyfill/polyfill-vertex-array-object.js.map +0 -1
  496. package/dist/esm/context/state-tracker/deep-array-equal.js +0 -21
  497. package/dist/esm/context/state-tracker/deep-array-equal.js.map +0 -1
  498. package/dist/esm/context/state-tracker/track-context-state.js +0 -183
  499. package/dist/esm/context/state-tracker/track-context-state.js.map +0 -1
  500. package/dist/esm/context/state-tracker/with-parameters.js +0 -36
  501. package/dist/esm/context/state-tracker/with-parameters.js.map +0 -1
  502. package/dist/esm/index.js +0 -27
  503. package/dist/esm/index.js.map +0 -1
  504. package/dist/esm/init.js +0 -4
  505. package/dist/esm/init.js.map +0 -1
  506. package/dist/esm/types/webgl.js +0 -2
  507. package/dist/esm/types/webgl.js.map +0 -1
  508. package/dist/esm/types.js +0 -2
  509. package/dist/esm/types.js.map +0 -1
  510. package/dist/init.d.ts +0 -2
  511. package/dist/init.d.ts.map +0 -1
  512. package/dist/init.js +0 -4
  513. package/dist/init.js.map +0 -1
  514. package/dist/types/webgl.d.ts +0 -145
  515. package/dist/types/webgl.d.ts.map +0 -1
  516. package/dist/types/webgl.js +0 -2
  517. package/dist/types/webgl.js.map +0 -1
  518. package/src/adapter/converters/renderbuffer-formats.ts +0 -92
  519. package/src/adapter/helpers/attribute-utils.ts +0 -61
  520. package/src/adapter/objects/webgl-vertex-array-object.ts +0 -111
  521. package/src/bundle.ts +0 -4
  522. package/src/classic/buffer.ts +0 -474
  523. package/src/context/context/context-state.ts +0 -41
  524. package/src/context/context/create-context.ts +0 -110
  525. package/src/context/context/device-pixels.ts +0 -152
  526. package/src/init.ts +0 -4
  527. package/src/types/webgl.ts +0 -284
@@ -1,152 +0,0 @@
1
- import {log} from '@luma.gl/api';
2
- import {getContextState} from './context-state';
3
-
4
- /**
5
- * Returns multiplier need to convert CSS size to Device size
6
- */
7
- export function cssToDeviceRatio(gl: WebGLRenderingContext): number {
8
- const state = getContextState(gl);
9
-
10
- if (gl.canvas && state) {
11
- // For headless gl we might have used custom width and height
12
- // hence use cached clientWidth
13
- const {clientWidth} = state._canvasSizeInfo;
14
- return clientWidth ? gl.drawingBufferWidth / clientWidth : 1;
15
- }
16
- // use default device pixel ratio
17
- return 1;
18
- }
19
-
20
- /**
21
- * Maps CSS pixel position to device pixel position
22
- */
23
- export function cssToDevicePixels(
24
- gl: WebGLRenderingContext,
25
- cssPixel: number[],
26
- yInvert: boolean = true
27
- ): {
28
- x: number;
29
- y: number;
30
- width: number;
31
- height: number;
32
- } {
33
- const ratio = cssToDeviceRatio(gl);
34
- const width = gl.drawingBufferWidth;
35
- const height = gl.drawingBufferHeight;
36
- return scalePixels(cssPixel, ratio, width, height, yInvert);
37
- }
38
-
39
- /**
40
- * Calulates device pixel ratio, used during context creation
41
- *
42
- * @param useDevicePixels - boolean or a number
43
- * @return - device pixel ratio
44
- */
45
- export function getDevicePixelRatio(useDevicePixels: boolean | number): number {
46
- const windowRatio = typeof window === 'undefined' ? 1 : window.devicePixelRatio || 1;
47
- if (Number.isFinite(useDevicePixels)) {
48
- // @ts-expect-error Can no longer be boolean after previous line
49
- return useDevicePixels <= 0 ? 1 : useDevicePixels;
50
- }
51
- return useDevicePixels ? windowRatio : 1;
52
- }
53
-
54
- // use devicePixelRatio to set canvas width and height
55
- export function setDevicePixelRatio(gl: WebGLRenderingContext, devicePixelRatio: number, options: {width?: number, height?: number} = {}) {
56
- // NOTE: if options.width and options.height not used remove in v8
57
- let clientWidth = 'width' in options ? options.width : gl.canvas.clientWidth;
58
- let clientHeight = 'height' in options ? options.height : gl.canvas.clientHeight;
59
-
60
- if (!clientWidth || !clientHeight) {
61
- log.log(1, 'Canvas clientWidth/clientHeight is 0')();
62
- // by forcing devicePixel ratio to 1, we do not scale gl.canvas.width and height in each frame.
63
- devicePixelRatio = 1;
64
- clientWidth = gl.canvas.width || 1;
65
- clientHeight = gl.canvas.height || 1;
66
- }
67
-
68
- const contextState = getContextState(gl);
69
- const cachedSize = contextState._canvasSizeInfo;
70
- // Check if canvas needs to be resized
71
- if (
72
- cachedSize.clientWidth !== clientWidth ||
73
- cachedSize.clientHeight !== clientHeight ||
74
- cachedSize.devicePixelRatio !== devicePixelRatio
75
- ) {
76
- let clampedPixelRatio = devicePixelRatio;
77
-
78
- const canvasWidth = Math.floor(clientWidth * clampedPixelRatio);
79
- const canvasHeight = Math.floor(clientHeight * clampedPixelRatio);
80
- gl.canvas.width = canvasWidth;
81
- gl.canvas.height = canvasHeight;
82
-
83
- // Note: when devicePixelRatio is too high, it is possible we might hit system limit for
84
- // drawing buffer width and hight, in those cases they get clamped and resulting aspect ration may not be maintained
85
- // for those cases, reduce devicePixelRatio.
86
- if (gl.drawingBufferWidth !== canvasWidth || gl.drawingBufferHeight !== canvasHeight) {
87
- log.warn(`Device pixel ratio clamped`)();
88
- clampedPixelRatio = Math.min(
89
- gl.drawingBufferWidth / clientWidth,
90
- gl.drawingBufferHeight / clientHeight
91
- );
92
-
93
- gl.canvas.width = Math.floor(clientWidth * clampedPixelRatio);
94
- gl.canvas.height = Math.floor(clientHeight * clampedPixelRatio);
95
- }
96
-
97
- Object.assign(contextState._canvasSizeInfo, {clientWidth, clientHeight, devicePixelRatio});
98
- }
99
- }
100
-
101
-
102
- // PRIVATE
103
-
104
- function scalePixels(pixel: number[], ratio: number, width: number, height: number, yInvert: boolean): {
105
- x: number;
106
- y: number;
107
- width: number;
108
- height: number;
109
- } {
110
- const x = scaleX(pixel[0], ratio, width);
111
- let y = scaleY(pixel[1], ratio, height, yInvert);
112
-
113
- // Find boundaries of next pixel to provide valid range of device pixel locaitons
114
-
115
- let t = scaleX(pixel[0] + 1, ratio, width);
116
- // If next pixel's position is clamped to boundary, use it as is, otherwise subtract 1 for current pixel boundary
117
- const xHigh = t === width - 1 ? t : t - 1;
118
-
119
- t = scaleY(pixel[1] + 1, ratio, height, yInvert);
120
- let yHigh;
121
- if (yInvert) {
122
- // If next pixel's position is clamped to boundary, use it as is, otherwise clamp it to valid range
123
- t = t === 0 ? t : t + 1;
124
- // swap y and yHigh
125
- yHigh = y;
126
- y = t;
127
- } else {
128
- // If next pixel's position is clamped to boundary, use it as is, otherwise clamp it to valid range
129
- yHigh = t === height - 1 ? t : t - 1;
130
- // y remains same
131
- }
132
- return {
133
- x,
134
- y,
135
- // when ratio < 1, current css pixel and next css pixel may point to same device pixel, set width/height to 1 in those cases.
136
- width: Math.max(xHigh - x + 1, 1),
137
- height: Math.max(yHigh - y + 1, 1)
138
- };
139
- }
140
-
141
- function scaleX(x: number, ratio: number, width: number): number {
142
- // since we are rounding to nearest, when ratio > 1, edge pixels may point to out of bounds value, clamp to the limit
143
- const r = Math.min(Math.round(x * ratio), width - 1);
144
- return r;
145
- }
146
-
147
- function scaleY(y: number, ratio: number, height: number, yInvert: boolean): number {
148
- // since we are rounding to nearest, when ratio > 1, edge pixels may point to out of bounds value, clamp to the limit
149
- return yInvert
150
- ? Math.max(0, height - 1 - Math.round(y * ratio))
151
- : Math.min(Math.round(y * ratio), height - 1);
152
- }
package/src/init.ts DELETED
@@ -1,4 +0,0 @@
1
- import {luma} from '@luma.gl/api';
2
- import WebGLDevice from './adapter/webgl-device';
3
-
4
- luma.registerDevices([WebGLDevice]);
@@ -1,284 +0,0 @@
1
- import type {NumberArray} from '@luma.gl/api';
2
- import GL from '@luma.gl/constants';
3
-
4
- type Framebuffer = any;
5
-
6
- export type GLDrawMode =
7
- | GL.POINTS
8
- | GL.LINES
9
- | GL.LINE_STRIP
10
- | GL.LINE_LOOP
11
- | GL.TRIANGLES
12
- | GL.TRIANGLE_STRIP
13
- | GL.TRIANGLE_FAN;
14
-
15
- export type GLPrimitive = GL.POINTS | GL.LINES | GL.TRIANGLES;
16
-
17
- export type GLType =
18
- | GL.FLOAT
19
- | GL.UNSIGNED_SHORT
20
- | GL.UNSIGNED_INT
21
- | GL.UNSIGNED_BYTE
22
- | GL.BYTE
23
- | GL.SHORT
24
- | GL.INT;
25
-
26
- export type GLPackedType =
27
- | GL.UNSIGNED_SHORT_5_6_5
28
- | GL.UNSIGNED_SHORT_4_4_4_4
29
- | GL.UNSIGNED_SHORT_5_5_5_1;
30
-
31
- export type GLUniformType = GLSamplerType | GLCompositeType;
32
-
33
- export type GLSamplerType =
34
- | GL.SAMPLER_2D
35
- | GL.SAMPLER_CUBE
36
- | GL.SAMPLER_3D
37
- | GL.SAMPLER_2D_SHADOW
38
- | GL.SAMPLER_2D_ARRAY
39
- | GL.SAMPLER_2D_ARRAY_SHADOW
40
- | GL.SAMPLER_CUBE_SHADOW
41
- | GL.INT_SAMPLER_2D
42
- | GL.INT_SAMPLER_3D
43
- | GL.INT_SAMPLER_CUBE
44
- | GL.INT_SAMPLER_2D_ARRAY
45
- | GL.UNSIGNED_INT_SAMPLER_2D
46
- | GL.UNSIGNED_INT_SAMPLER_3D
47
- | GL.UNSIGNED_INT_SAMPLER_CUBE
48
- | GL.UNSIGNED_INT_SAMPLER_2D_ARRAY;
49
-
50
- // Composite types table
51
- export type GLCompositeType =
52
- | GL.FLOAT
53
- | GL.FLOAT_VEC2
54
- | GL.FLOAT_VEC3
55
- | GL.FLOAT_VEC4
56
- | GL.INT
57
- | GL.INT_VEC2
58
- | GL.INT_VEC3
59
- | GL.INT_VEC4
60
- | GL.UNSIGNED_INT
61
- | GL.UNSIGNED_INT_VEC2
62
- | GL.UNSIGNED_INT_VEC3
63
- | GL.UNSIGNED_INT_VEC4
64
- | GL.BOOL
65
- | GL.BOOL_VEC2
66
- | GL.BOOL_VEC3
67
- | GL.BOOL_VEC4
68
- | GL.FLOAT_MAT2
69
- | GL.FLOAT_MAT2x3
70
- | GL.FLOAT_MAT2x4
71
- | GL.FLOAT_MAT3x2
72
- | GL.FLOAT_MAT3
73
- | GL.FLOAT_MAT3x4
74
- | GL.FLOAT_MAT4x2
75
- | GL.FLOAT_MAT4x3
76
- | GL.FLOAT_MAT4;
77
-
78
- export type GLFunction =
79
- | GL.NEVER
80
- | GL.LESS
81
- | GL.EQUAL
82
- | GL.LEQUAL
83
- | GL.GREATER
84
- | GL.NOTEQUAL
85
- | GL.GEQUAL
86
- | GL.ALWAYS;
87
-
88
- export type GLBlendEquation =
89
- | GL.FUNC_ADD
90
- | GL.FUNC_SUBTRACT
91
- | GL.FUNC_REVERSE_SUBTRACT
92
- | GL.MIN_EXT
93
- | GL.MAX_EXT;
94
-
95
- export type GLBlendFunction =
96
- | GL.ZERO
97
- | GL.ONE
98
- | GL.SRC_COLOR
99
- | GL.ONE_MINUS_SRC_COLOR
100
- | GL.DST_COLOR
101
- | GL.ONE_MINUS_DST_COLOR
102
- | GL.SRC_ALPHA
103
- | GL.ONE_MINUS_SRC_ALPHA
104
- | GL.DST_ALPHA
105
- | GL.ONE_MINUS_DST_ALPHA
106
- | GL.CONSTANT_COLOR
107
- | GL.ONE_MINUS_CONSTANT_COLOR
108
- | GL.CONSTANT_ALPHA
109
- | GL.ONE_MINUS_CONSTANT_ALPHA
110
- | GL.SRC_ALPHA_SATURATE;
111
-
112
- export type GLStencilOp =
113
- | GL.KEEP
114
- | GL.ZERO
115
- | GL.REPLACE
116
- | GL.INCR
117
- | GL.INCR_WRAP
118
- | GL.DECR
119
- | GL.DECR_WRAP
120
- | GL.INVERT;
121
-
122
- /** Parameters for textures and samplers */
123
- export type WebGLSamplerParameters = {
124
- [GL.TEXTURE_WRAP_S]?: GL.CLAMP_TO_EDGE | GL.REPEAT | GL.MIRRORED_REPEAT;
125
- [GL.TEXTURE_WRAP_T]?: GL.CLAMP_TO_EDGE | GL.REPEAT | GL.MIRRORED_REPEAT;
126
- [GL.TEXTURE_WRAP_R]?: GL.CLAMP_TO_EDGE | GL.REPEAT | GL.MIRRORED_REPEAT;
127
- [GL.TEXTURE_MAG_FILTER]?: GL.NEAREST | GL.LINEAR;
128
- [GL.TEXTURE_MIN_FILTER]?:
129
- | GL.NEAREST
130
- | GL.LINEAR
131
- | GL.NEAREST_MIPMAP_NEAREST
132
- | GL.NEAREST_MIPMAP_LINEAR
133
- | GL.LINEAR_MIPMAP_NEAREST
134
- | GL.LINEAR_MIPMAP_LINEAR;
135
- [GL.TEXTURE_MIN_LOD]?: number;
136
- [GL.TEXTURE_MAX_LOD]?: number;
137
- [GL.TEXTURE_COMPARE_FUNC]?: number; // COMPARE_FUNC);
138
- [GL.TEXTURE_COMPARE_MODE]?: GL.COMPARE_REF_TO_TEXTURE;
139
- [GL.TEXTURE_MAX_ANISOTROPY_EXT]?: number; //
140
- };
141
-
142
- /**
143
- * All global WebGL values set by a variety of setter gl.enable ...
144
- */
145
- export type GLValueParameters = {
146
- [GL.BLEND]?: boolean;
147
- [GL.BLEND_COLOR]?: [number, number, number, number] | NumberArray;
148
- [GL.BLEND_EQUATION_RGB]?: GLBlendEquation;
149
- [GL.BLEND_EQUATION_ALPHA]?: GLBlendEquation;
150
- [GL.BLEND_SRC_RGB]?: GLBlendFunction;
151
- [GL.BLEND_DST_RGB]?: GLBlendFunction;
152
- [GL.BLEND_SRC_ALPHA]?: GLBlendFunction;
153
- [GL.BLEND_DST_ALPHA]?: GLBlendFunction;
154
- [GL.COLOR_CLEAR_VALUE]?: [number, number, number, number] | NumberArray;
155
- [GL.COLOR_WRITEMASK]?: [boolean, boolean, boolean, boolean] | boolean[];
156
- [GL.CULL_FACE]?: boolean;
157
- [GL.CULL_FACE_MODE]?: GL.FRONT | GL.BACK | GL.FRONT_AND_BACK;
158
- [GL.DEPTH_TEST]?: boolean;
159
- [GL.DEPTH_CLEAR_VALUE]?: number;
160
- [GL.DEPTH_FUNC]?: GLFunction;
161
- [GL.DEPTH_RANGE]?: [number, number] | NumberArray;
162
- [GL.DEPTH_WRITEMASK]?: boolean;
163
- [GL.DITHER]?: boolean;
164
- [GL.FRAGMENT_SHADER_DERIVATIVE_HINT]?: GL.FASTEST | GL.NICEST | GL.DONT_CARE;
165
- [GL.CURRENT_PROGRAM]?: WebGLProgram | null;
166
- [GL.FRAMEBUFFER_BINDING]?: WebGLFramebuffer | null;
167
- [GL.RENDERBUFFER_BINDING]?: WebGLRenderbuffer | null;
168
- [GL.TRANSFORM_FEEDBACK_BINDING]?: WebGLTransformFeedback | null;
169
- [GL.VERTEX_ARRAY_BINDING]?: WebGLVertexArrayObject | null;
170
- [GL.ARRAY_BUFFER_BINDING]?: WebGLBuffer | null;
171
- [GL.COPY_READ_BUFFER_BINDING]?: WebGLBuffer | null;
172
- [GL.COPY_WRITE_BUFFER_BINDING]?: WebGLBuffer | null;
173
- [GL.PIXEL_PACK_BUFFER_BINDING]?: WebGLBuffer | null;
174
- [GL.PIXEL_UNPACK_BUFFER_BINDING]?: WebGLBuffer | null;
175
- [GL.TEXTURE_BINDING_2D]?: WebGLTexture | null;
176
- [GL.TEXTURE_BINDING_2D_ARRAY]?: WebGLTexture | null;
177
- [GL.TEXTURE_BINDING_3D]?: WebGLTexture | null;
178
- [GL.TEXTURE_BINDING_CUBE_MAP]?: WebGLTexture | null;
179
- [GL.FRONT_FACE]?: GL.CW | GL.CCW;
180
- [GL.GENERATE_MIPMAP_HINT]?: GL.FASTEST | GL.NICEST | GL.DONT_CARE;
181
- [GL.LINE_WIDTH]?: number;
182
- [GL.POLYGON_OFFSET_FILL]?: boolean;
183
- [GL.POLYGON_OFFSET_FACTOR]?: number;
184
- [GL.POLYGON_OFFSET_UNITS]?: number;
185
- [GL.SAMPLE_ALPHA_TO_COVERAGE]?: boolean;
186
- [GL.SAMPLE_COVERAGE]?: boolean;
187
- [GL.RASTERIZER_DISCARD]?: boolean;
188
- [GL.SAMPLE_COVERAGE_VALUE]?: number;
189
- [GL.SAMPLE_COVERAGE_INVERT]?: boolean;
190
- [GL.SCISSOR_TEST]?: boolean;
191
- [GL.SCISSOR_BOX]?: [number, number, number, number] | NumberArray;
192
- [GL.STENCIL_TEST]?: boolean;
193
- [GL.STENCIL_CLEAR_VALUE]?: number;
194
- [GL.STENCIL_WRITEMASK]?: number;
195
- [GL.STENCIL_BACK_WRITEMASK]?: number;
196
- [GL.STENCIL_FUNC]?: GLFunction;
197
- [GL.STENCIL_REF]?: GLFunction;
198
- [GL.STENCIL_VALUE_MASK]?: GLFunction;
199
- [GL.STENCIL_BACK_FUNC]?: GLFunction;
200
- [GL.STENCIL_BACK_REF]?: GLFunction;
201
- [GL.STENCIL_BACK_VALUE_MASK]?: GLFunction;
202
- [GL.STENCIL_FAIL]?: GLStencilOp;
203
- [GL.STENCIL_PASS_DEPTH_FAIL]?: GLStencilOp;
204
- [GL.STENCIL_PASS_DEPTH_PASS]?: GLStencilOp;
205
- [GL.STENCIL_BACK_FAIL]?: GLStencilOp;
206
- [GL.STENCIL_BACK_PASS_DEPTH_FAIL]?: GLStencilOp;
207
- [GL.STENCIL_BACK_PASS_DEPTH_PASS]?: GLStencilOp;
208
- [GL.VIEWPORT]?: [number, number, number, number] | NumberArray;
209
-
210
- // WEBGL1 PIXEL PACK/UNPACK MODES
211
- [GL.PACK_ALIGNMENT]?: number;
212
- [GL.UNPACK_ALIGNMENT]?: number;
213
- [GL.UNPACK_FLIP_Y_WEBGL]?: boolean;
214
- [GL.UNPACK_PREMULTIPLY_ALPHA_WEBGL]?: boolean;
215
- [GL.UNPACK_COLORSPACE_CONVERSION_WEBGL]?: GL.NONE | GL.BROWSER_DEFAULT_WEBGL;
216
-
217
- // WEBGL2 PIXEL PACK/UNPACK MODES
218
- // RASTERIZER_DISCARD ...
219
- [GL.PACK_ROW_LENGTH]?: number;
220
- [GL.PACK_SKIP_PIXELS]?: number;
221
- [GL.PACK_SKIP_ROWS]?: number;
222
- [GL.READ_FRAMEBUFFER_BINDING]?: Framebuffer | null;
223
- [GL.UNPACK_ROW_LENGTH]?: number;
224
- [GL.UNPACK_IMAGE_HEIGHT]?: number;
225
- [GL.UNPACK_SKIP_PIXELS]?: number;
226
- [GL.UNPACK_SKIP_ROWS]?: number;
227
- [GL.UNPACK_SKIP_IMAGES]?: number;
228
- };
229
-
230
- export type GLFunctionParameters = {
231
- // Function-style setters
232
- framebuffer?: Framebuffer | null;
233
- blend?: boolean;
234
- blendColor?: [number, number, number, number] | NumberArray;
235
- blendEquation?: GLBlendEquation | [GLBlendEquation, GLBlendEquation];
236
- blendFunc?:
237
- | [GLBlendFunction, GLBlendFunction]
238
- | [GLBlendFunction, GLBlendFunction, GLBlendFunction, GLBlendFunction];
239
-
240
- clearColor?: [number, number, number, number] | NumberArray;
241
- clearDepth?: number;
242
- clearStencil?: number;
243
-
244
- colorMask?: [boolean, boolean, boolean, boolean];
245
-
246
- cull?: boolean;
247
- cullFace?: GL.FRONT | GL.BACK | GL.FRONT_AND_BACK;
248
-
249
- depthTest?: boolean;
250
- depthFunc?: GLFunction;
251
- depthMask?: boolean;
252
- depthRange?: [number, number] | NumberArray;
253
-
254
- dither?: boolean;
255
-
256
- derivativeHint?: GL.FASTEST | GL.NICEST | GL.DONT_CARE;
257
-
258
- frontFace?: GL.CW | GL.CCW;
259
-
260
- mipmapHint?: GL.FASTEST | GL.NICEST | GL.DONT_CARE;
261
-
262
- lineWidth?: number;
263
-
264
- polygonOffsetFill?: boolean;
265
- polygonOffset?: [number, number];
266
-
267
- sampleCoverage?: [number, boolean];
268
-
269
- scissorTest?: boolean;
270
- scissor?: [number, number, number, number] | NumberArray;
271
-
272
- stencilTest?: boolean;
273
- stencilMask?: number | [number, number];
274
- stencilFunc?:
275
- | [GLFunction, number, number]
276
- | [GLFunction, number, number, GLFunction, number, number];
277
- stencilOp?:
278
- | [GLStencilOp, GLStencilOp, GLStencilOp]
279
- | [GLStencilOp, GLStencilOp, GLStencilOp, GLStencilOp, GLStencilOp, GLStencilOp];
280
- viewport?: [number, number, number, number] | NumberArray;
281
- };
282
-
283
- /** WebGL style parameters object (with both GL constants and function style fields) */
284
- export type GLParameters = GLValueParameters | GLFunctionParameters;