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

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 (531) 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-info.d.ts +9 -0
  42. package/dist/adapter/helpers/get-shader-info.d.ts.map +1 -0
  43. package/dist/adapter/helpers/get-shader-info.js +25 -0
  44. package/dist/adapter/helpers/get-shader-info.js.map +1 -0
  45. package/dist/adapter/helpers/get-shader-layout.d.ts +1 -48
  46. package/dist/adapter/helpers/get-shader-layout.d.ts.map +1 -1
  47. package/dist/adapter/helpers/get-shader-layout.js +87 -143
  48. package/dist/adapter/helpers/get-shader-layout.js.map +1 -1
  49. package/dist/adapter/helpers/parse-shader-compiler-log.d.ts +1 -1
  50. package/dist/adapter/helpers/parse-shader-compiler-log.d.ts.map +1 -1
  51. package/dist/adapter/helpers/parse-shader-compiler-log.js +16 -11
  52. package/dist/adapter/helpers/parse-shader-compiler-log.js.map +1 -1
  53. package/dist/adapter/helpers/set-uniform.d.ts +3 -2
  54. package/dist/adapter/helpers/set-uniform.d.ts.map +1 -1
  55. package/dist/adapter/helpers/set-uniform.js +51 -82
  56. package/dist/adapter/helpers/set-uniform.js.map +1 -1
  57. package/dist/adapter/helpers/webgl-topology-utils.d.ts +16 -0
  58. package/dist/adapter/helpers/webgl-topology-utils.d.ts.map +1 -0
  59. package/dist/adapter/helpers/webgl-topology-utils.js +103 -0
  60. package/dist/adapter/helpers/webgl-topology-utils.js.map +1 -0
  61. package/dist/adapter/objects/constants-to-keys.d.ts +1 -3
  62. package/dist/adapter/objects/constants-to-keys.d.ts.map +1 -1
  63. package/dist/adapter/objects/constants-to-keys.js +2 -29
  64. package/dist/adapter/objects/constants-to-keys.js.map +1 -1
  65. package/dist/adapter/objects/webgl-renderbuffer.d.ts +15 -12
  66. package/dist/adapter/objects/webgl-renderbuffer.d.ts.map +1 -1
  67. package/dist/adapter/objects/webgl-renderbuffer.js +36 -44
  68. package/dist/adapter/objects/webgl-renderbuffer.js.map +1 -1
  69. package/dist/adapter/objects/webgl-resource.d.ts +6 -9
  70. package/dist/adapter/objects/webgl-resource.d.ts.map +1 -1
  71. package/dist/adapter/objects/webgl-resource.js +26 -83
  72. package/dist/adapter/objects/webgl-resource.js.map +1 -1
  73. package/dist/adapter/resources/webgl-buffer.d.ts +19 -11
  74. package/dist/adapter/resources/webgl-buffer.d.ts.map +1 -1
  75. package/dist/adapter/resources/webgl-buffer.js +60 -88
  76. package/dist/adapter/resources/webgl-buffer.js.map +1 -1
  77. package/dist/adapter/resources/webgl-command-buffer.d.ts +15 -9
  78. package/dist/adapter/resources/webgl-command-buffer.d.ts.map +1 -1
  79. package/dist/adapter/resources/webgl-command-buffer.js +175 -48
  80. package/dist/adapter/resources/webgl-command-buffer.js.map +1 -1
  81. package/dist/adapter/resources/webgl-command-encoder.d.ts +7 -6
  82. package/dist/adapter/resources/webgl-command-encoder.d.ts.map +1 -1
  83. package/dist/adapter/resources/webgl-command-encoder.js +10 -20
  84. package/dist/adapter/resources/webgl-command-encoder.js.map +1 -1
  85. package/dist/adapter/resources/webgl-external-texture.js.map +1 -1
  86. package/dist/adapter/resources/webgl-framebuffer.d.ts +21 -24
  87. package/dist/adapter/resources/webgl-framebuffer.d.ts.map +1 -1
  88. package/dist/adapter/resources/webgl-framebuffer.js +63 -173
  89. package/dist/adapter/resources/webgl-framebuffer.js.map +1 -1
  90. package/dist/adapter/resources/webgl-render-pass.d.ts +19 -4
  91. package/dist/adapter/resources/webgl-render-pass.d.ts.map +1 -1
  92. package/dist/adapter/resources/webgl-render-pass.js +99 -11
  93. package/dist/adapter/resources/webgl-render-pass.js.map +1 -1
  94. package/dist/adapter/resources/webgl-render-pipeline.d.ts +55 -21
  95. package/dist/adapter/resources/webgl-render-pipeline.d.ts.map +1 -1
  96. package/dist/adapter/resources/webgl-render-pipeline.js +108 -270
  97. package/dist/adapter/resources/webgl-render-pipeline.js.map +1 -1
  98. package/dist/adapter/resources/webgl-sampler.d.ts +6 -5
  99. package/dist/adapter/resources/webgl-sampler.d.ts.map +1 -1
  100. package/dist/adapter/resources/webgl-sampler.js +11 -21
  101. package/dist/adapter/resources/webgl-sampler.js.map +1 -1
  102. package/dist/adapter/resources/webgl-shader.d.ts +3 -4
  103. package/dist/adapter/resources/webgl-shader.d.ts.map +1 -1
  104. package/dist/adapter/resources/webgl-shader.js +21 -34
  105. package/dist/adapter/resources/webgl-shader.js.map +1 -1
  106. package/dist/adapter/resources/webgl-texture.d.ts +62 -42
  107. package/dist/adapter/resources/webgl-texture.d.ts.map +1 -1
  108. package/dist/adapter/resources/webgl-texture.js +137 -256
  109. package/dist/adapter/resources/webgl-texture.js.map +1 -1
  110. package/dist/adapter/resources/webgl-transform-feedback.d.ts +47 -0
  111. package/dist/adapter/resources/webgl-transform-feedback.d.ts.map +1 -0
  112. package/dist/adapter/resources/webgl-transform-feedback.js +164 -0
  113. package/dist/adapter/resources/webgl-transform-feedback.js.map +1 -0
  114. package/dist/adapter/resources/webgl-vertex-array.d.ts +67 -0
  115. package/dist/adapter/resources/webgl-vertex-array.d.ts.map +1 -0
  116. package/dist/adapter/resources/webgl-vertex-array.js +167 -0
  117. package/dist/adapter/resources/webgl-vertex-array.js.map +1 -0
  118. package/dist/adapter/webgl-canvas-context.d.ts +6 -7
  119. package/dist/adapter/webgl-canvas-context.d.ts.map +1 -1
  120. package/dist/adapter/webgl-canvas-context.js +10 -23
  121. package/dist/adapter/webgl-canvas-context.js.map +1 -1
  122. package/dist/adapter/webgl-device.d.ts +76 -41
  123. package/dist/adapter/webgl-device.d.ts.map +1 -1
  124. package/dist/adapter/webgl-device.js +219 -129
  125. package/dist/adapter/webgl-device.js.map +1 -1
  126. package/dist/classic/accessor.d.ts +3 -3
  127. package/dist/classic/accessor.d.ts.map +1 -1
  128. package/dist/classic/accessor.js +26 -52
  129. package/dist/classic/accessor.js.map +1 -1
  130. package/dist/classic/clear.d.ts +22 -0
  131. package/dist/classic/clear.d.ts.map +1 -0
  132. package/dist/classic/clear.js +88 -0
  133. package/dist/classic/clear.js.map +1 -0
  134. package/dist/classic/copy-and-blit.d.ts +62 -0
  135. package/dist/classic/copy-and-blit.d.ts.map +1 -0
  136. package/dist/classic/copy-and-blit.js +191 -0
  137. package/dist/classic/copy-and-blit.js.map +1 -0
  138. package/dist/classic/format-utils.d.ts +3 -0
  139. package/dist/classic/format-utils.d.ts.map +1 -0
  140. package/dist/classic/format-utils.js +37 -0
  141. package/dist/classic/format-utils.js.map +1 -0
  142. package/dist/classic/typed-array-utils.d.ts +17 -17
  143. package/dist/classic/typed-array-utils.d.ts.map +1 -1
  144. package/dist/classic/typed-array-utils.js +18 -39
  145. package/dist/classic/typed-array-utils.js.map +1 -1
  146. package/dist/context/context/create-browser-context.d.ts +40 -0
  147. package/dist/context/context/create-browser-context.d.ts.map +1 -0
  148. package/dist/context/context/create-browser-context.js +53 -0
  149. package/dist/context/context/create-browser-context.js.map +1 -0
  150. package/dist/context/context/create-headless-context.d.ts +9 -0
  151. package/dist/context/context/create-headless-context.d.ts.map +1 -0
  152. package/dist/context/context/create-headless-context.js +42 -0
  153. package/dist/context/context/create-headless-context.js.map +1 -0
  154. package/dist/context/context/webgl-checks.d.ts.map +1 -1
  155. package/dist/context/context/webgl-checks.js +1 -4
  156. package/dist/context/context/webgl-checks.js.map +1 -1
  157. package/dist/context/debug/spector.d.ts +1 -2
  158. package/dist/context/debug/spector.d.ts.map +1 -1
  159. package/dist/context/debug/spector.js +8 -20
  160. package/dist/context/debug/spector.js.map +1 -1
  161. package/dist/context/debug/webgl-developer-tools.d.ts +2 -2
  162. package/dist/context/debug/webgl-developer-tools.d.ts.map +1 -1
  163. package/dist/context/debug/webgl-developer-tools.js +15 -39
  164. package/dist/context/debug/webgl-developer-tools.js.map +1 -1
  165. package/dist/context/parameters/unified-parameter-api.d.ts +9 -8
  166. package/dist/context/parameters/unified-parameter-api.d.ts.map +1 -1
  167. package/dist/context/parameters/unified-parameter-api.js +9 -19
  168. package/dist/context/parameters/unified-parameter-api.js.map +1 -1
  169. package/dist/context/parameters/webgl-parameter-tables.d.ts +105 -106
  170. package/dist/context/parameters/webgl-parameter-tables.d.ts.map +1 -1
  171. package/dist/context/parameters/webgl-parameter-tables.js +267 -286
  172. package/dist/context/parameters/webgl-parameter-tables.js.map +1 -1
  173. package/dist/context/polyfill/context-data.d.ts +13 -0
  174. package/dist/context/polyfill/context-data.d.ts.map +1 -0
  175. package/dist/context/polyfill/context-data.js +12 -0
  176. package/dist/context/polyfill/context-data.js.map +1 -0
  177. package/dist/context/polyfill/get-parameter-polyfill.d.ts +1 -1
  178. package/dist/context/polyfill/get-parameter-polyfill.d.ts.map +1 -1
  179. package/dist/context/polyfill/get-parameter-polyfill.js +37 -43
  180. package/dist/context/polyfill/get-parameter-polyfill.js.map +1 -1
  181. package/dist/context/polyfill/polyfill-context.d.ts.map +1 -1
  182. package/dist/context/polyfill/polyfill-context.js +22 -30
  183. package/dist/context/polyfill/polyfill-context.js.map +1 -1
  184. package/dist/context/polyfill/polyfill-table.d.ts +8 -8
  185. package/dist/context/polyfill/polyfill-table.d.ts.map +1 -1
  186. package/dist/context/polyfill/polyfill-table.js +18 -41
  187. package/dist/context/polyfill/polyfill-table.js.map +1 -1
  188. package/dist/context/polyfill/polyfill-vertex-array-object.d.ts.map +1 -1
  189. package/dist/context/polyfill/polyfill-vertex-array-object.js +17 -87
  190. package/dist/context/polyfill/polyfill-vertex-array-object.js.map +1 -1
  191. package/dist/context/state-tracker/deep-array-equal.d.ts.map +1 -1
  192. package/dist/context/state-tracker/deep-array-equal.js +0 -4
  193. package/dist/context/state-tracker/deep-array-equal.js.map +1 -1
  194. package/dist/context/state-tracker/track-context-state.d.ts.map +1 -1
  195. package/dist/context/state-tracker/track-context-state.js +26 -62
  196. package/dist/context/state-tracker/track-context-state.js.map +1 -1
  197. package/dist/context/state-tracker/with-parameters.d.ts +2 -1
  198. package/dist/context/state-tracker/with-parameters.d.ts.map +1 -1
  199. package/dist/context/state-tracker/with-parameters.js +8 -10
  200. package/dist/context/state-tracker/with-parameters.js.map +1 -1
  201. package/dist/dist.dev.js +8555 -0
  202. package/dist/index.cjs +6602 -0
  203. package/dist/index.d.ts +26 -24
  204. package/dist/index.d.ts.map +1 -1
  205. package/dist/index.js +27 -26
  206. package/dist/index.js.map +1 -1
  207. package/dist/types.d.ts +3 -1
  208. package/dist/types.d.ts.map +1 -1
  209. package/dist/types.js.map +1 -1
  210. package/dist.min.js +49 -0
  211. package/package.json +21 -9
  212. package/src/adapter/converters/device-parameters.ts +144 -41
  213. package/src/adapter/converters/sampler-parameters.ts +103 -41
  214. package/src/adapter/converters/shader-formats.ts +44 -0
  215. package/src/adapter/converters/texture-formats.ts +268 -195
  216. package/src/adapter/converters/vertex-formats.ts +71 -10
  217. package/src/adapter/device-helpers/device-features.ts +14 -3
  218. package/src/adapter/device-helpers/device-limits.ts +5 -3
  219. package/src/adapter/device-helpers/get-device-info.ts +53 -18
  220. package/src/adapter/device-helpers/is-old-ie.ts +3 -0
  221. package/src/adapter/helpers/{uniforms.ts → decode-webgl-types.ts} +39 -21
  222. package/src/adapter/helpers/get-shader-info.ts +41 -0
  223. package/src/adapter/helpers/get-shader-layout.ts +121 -146
  224. package/src/adapter/helpers/parse-shader-compiler-log.ts +24 -8
  225. package/src/adapter/helpers/set-uniform.ts +39 -35
  226. package/src/adapter/helpers/webgl-topology-utils.ts +103 -0
  227. package/src/adapter/objects/constants-to-keys.ts +6 -25
  228. package/src/adapter/objects/webgl-renderbuffer.ts +43 -37
  229. package/src/adapter/objects/webgl-resource.ts +16 -23
  230. package/src/adapter/resources/webgl-buffer.ts +67 -62
  231. package/src/adapter/resources/webgl-command-buffer.ts +327 -25
  232. package/src/adapter/resources/webgl-command-encoder.ts +20 -12
  233. package/src/adapter/resources/webgl-external-texture.ts +5 -2
  234. package/src/adapter/resources/webgl-framebuffer.ts +90 -134
  235. package/src/adapter/resources/webgl-render-pass.ts +166 -4
  236. package/src/adapter/resources/webgl-render-pipeline.ts +256 -192
  237. package/src/adapter/resources/webgl-sampler.ts +16 -10
  238. package/src/adapter/resources/webgl-shader.ts +14 -11
  239. package/src/adapter/resources/webgl-texture.ts +138 -99
  240. package/src/adapter/resources/webgl-transform-feedback.ts +202 -0
  241. package/src/adapter/resources/webgl-vertex-array.ts +283 -0
  242. package/src/adapter/webgl-canvas-context.ts +16 -14
  243. package/src/adapter/webgl-device.ts +328 -79
  244. package/src/classic/accessor.ts +8 -18
  245. package/src/classic/clear.ts +113 -0
  246. package/src/classic/copy-and-blit.ts +311 -0
  247. package/src/classic/format-utils.ts +46 -0
  248. package/src/classic/typed-array-utils.ts +21 -27
  249. package/src/context/context/create-browser-context.ts +140 -0
  250. package/src/context/context/create-headless-context.ts +51 -0
  251. package/src/context/context/webgl-checks.ts +3 -1
  252. package/src/context/debug/spector.ts +9 -6
  253. package/src/context/debug/webgl-developer-tools.ts +23 -15
  254. package/src/context/parameters/unified-parameter-api.ts +23 -14
  255. package/src/context/parameters/webgl-parameter-tables.ts +120 -98
  256. package/src/context/polyfill/context-data.ts +30 -0
  257. package/src/context/polyfill/get-parameter-polyfill.ts +11 -7
  258. package/src/context/polyfill/polyfill-context.ts +10 -9
  259. package/src/context/polyfill/polyfill-table.ts +21 -16
  260. package/src/context/polyfill/polyfill-vertex-array-object.ts +5 -0
  261. package/src/context/state-tracker/deep-array-equal.ts +2 -0
  262. package/src/context/state-tracker/track-context-state.ts +14 -11
  263. package/src/context/state-tracker/with-parameters.ts +13 -4
  264. package/src/index.ts +70 -35
  265. package/src/types.ts +5 -0
  266. package/dist/adapter/converters/renderbuffer-formats.d.ts +0 -16
  267. package/dist/adapter/converters/renderbuffer-formats.d.ts.map +0 -1
  268. package/dist/adapter/converters/renderbuffer-formats.js +0 -185
  269. package/dist/adapter/converters/renderbuffer-formats.js.map +0 -1
  270. package/dist/adapter/helpers/attribute-utils.d.ts +0 -11
  271. package/dist/adapter/helpers/attribute-utils.d.ts.map +0 -1
  272. package/dist/adapter/helpers/attribute-utils.js +0 -81
  273. package/dist/adapter/helpers/attribute-utils.js.map +0 -1
  274. package/dist/adapter/helpers/uniforms.d.ts +0 -26
  275. package/dist/adapter/helpers/uniforms.d.ts.map +0 -1
  276. package/dist/adapter/helpers/uniforms.js +0 -99
  277. package/dist/adapter/helpers/uniforms.js.map +0 -1
  278. package/dist/adapter/objects/webgl-vertex-array-object.d.ts +0 -27
  279. package/dist/adapter/objects/webgl-vertex-array-object.d.ts.map +0 -1
  280. package/dist/adapter/objects/webgl-vertex-array-object.js +0 -84
  281. package/dist/adapter/objects/webgl-vertex-array-object.js.map +0 -1
  282. package/dist/bundle.d.ts +0 -2
  283. package/dist/bundle.d.ts.map +0 -1
  284. package/dist/bundle.js +0 -5
  285. package/dist/bundle.js.map +0 -1
  286. package/dist/classic/buffer.d.ts +0 -95
  287. package/dist/classic/buffer.d.ts.map +0 -1
  288. package/dist/classic/buffer.js +0 -384
  289. package/dist/classic/buffer.js.map +0 -1
  290. package/dist/context/context/context-state.d.ts +0 -18
  291. package/dist/context/context/context-state.d.ts.map +0 -1
  292. package/dist/context/context/context-state.js +0 -26
  293. package/dist/context/context/context-state.js.map +0 -1
  294. package/dist/context/context/create-context.d.ts +0 -41
  295. package/dist/context/context/create-context.d.ts.map +0 -1
  296. package/dist/context/context/create-context.js +0 -49
  297. package/dist/context/context/create-context.js.map +0 -1
  298. package/dist/context/context/device-pixels.d.ts +0 -25
  299. package/dist/context/context/device-pixels.d.ts.map +0 -1
  300. package/dist/context/context/device-pixels.js +0 -98
  301. package/dist/context/context/device-pixels.js.map +0 -1
  302. package/dist/es5/adapter/converters/device-parameters.js +0 -170
  303. package/dist/es5/adapter/converters/device-parameters.js.map +0 -1
  304. package/dist/es5/adapter/converters/renderbuffer-formats.js +0 -163
  305. package/dist/es5/adapter/converters/renderbuffer-formats.js.map +0 -1
  306. package/dist/es5/adapter/converters/sampler-parameters.js +0 -226
  307. package/dist/es5/adapter/converters/sampler-parameters.js.map +0 -1
  308. package/dist/es5/adapter/converters/texture-formats.js +0 -1031
  309. package/dist/es5/adapter/converters/texture-formats.js.map +0 -1
  310. package/dist/es5/adapter/converters/vertex-formats.js +0 -45
  311. package/dist/es5/adapter/converters/vertex-formats.js.map +0 -1
  312. package/dist/es5/adapter/device-helpers/device-features.js +0 -144
  313. package/dist/es5/adapter/device-helpers/device-features.js.map +0 -1
  314. package/dist/es5/adapter/device-helpers/device-limits.js +0 -64
  315. package/dist/es5/adapter/device-helpers/device-limits.js.map +0 -1
  316. package/dist/es5/adapter/device-helpers/get-device-info.js +0 -55
  317. package/dist/es5/adapter/device-helpers/get-device-info.js.map +0 -1
  318. package/dist/es5/adapter/device-helpers/is-old-ie.js +0 -16
  319. package/dist/es5/adapter/device-helpers/is-old-ie.js.map +0 -1
  320. package/dist/es5/adapter/helpers/attribute-utils.js +0 -91
  321. package/dist/es5/adapter/helpers/attribute-utils.js.map +0 -1
  322. package/dist/es5/adapter/helpers/get-shader-layout.js +0 -371
  323. package/dist/es5/adapter/helpers/get-shader-layout.js.map +0 -1
  324. package/dist/es5/adapter/helpers/parse-shader-compiler-log.js +0 -72
  325. package/dist/es5/adapter/helpers/parse-shader-compiler-log.js.map +0 -1
  326. package/dist/es5/adapter/helpers/set-uniform.js +0 -125
  327. package/dist/es5/adapter/helpers/set-uniform.js.map +0 -1
  328. package/dist/es5/adapter/helpers/uniforms.js +0 -112
  329. package/dist/es5/adapter/helpers/uniforms.js.map +0 -1
  330. package/dist/es5/adapter/objects/constants-to-keys.js +0 -54
  331. package/dist/es5/adapter/objects/constants-to-keys.js.map +0 -1
  332. package/dist/es5/adapter/objects/webgl-renderbuffer.js +0 -150
  333. package/dist/es5/adapter/objects/webgl-renderbuffer.js.map +0 -1
  334. package/dist/es5/adapter/objects/webgl-resource.js +0 -292
  335. package/dist/es5/adapter/objects/webgl-resource.js.map +0 -1
  336. package/dist/es5/adapter/objects/webgl-vertex-array-object.js +0 -137
  337. package/dist/es5/adapter/objects/webgl-vertex-array-object.js.map +0 -1
  338. package/dist/es5/adapter/resources/webgl-buffer.js +0 -243
  339. package/dist/es5/adapter/resources/webgl-buffer.js.map +0 -1
  340. package/dist/es5/adapter/resources/webgl-command-buffer.js +0 -96
  341. package/dist/es5/adapter/resources/webgl-command-buffer.js.map +0 -1
  342. package/dist/es5/adapter/resources/webgl-command-encoder.js +0 -98
  343. package/dist/es5/adapter/resources/webgl-command-encoder.js.map +0 -1
  344. package/dist/es5/adapter/resources/webgl-external-texture.js +0 -2
  345. package/dist/es5/adapter/resources/webgl-external-texture.js.map +0 -1
  346. package/dist/es5/adapter/resources/webgl-framebuffer.js +0 -345
  347. package/dist/es5/adapter/resources/webgl-framebuffer.js.map +0 -1
  348. package/dist/es5/adapter/resources/webgl-render-pass.js +0 -61
  349. package/dist/es5/adapter/resources/webgl-render-pass.js.map +0 -1
  350. package/dist/es5/adapter/resources/webgl-render-pipeline.js +0 -505
  351. package/dist/es5/adapter/resources/webgl-render-pipeline.js.map +0 -1
  352. package/dist/es5/adapter/resources/webgl-sampler.js +0 -96
  353. package/dist/es5/adapter/resources/webgl-sampler.js.map +0 -1
  354. package/dist/es5/adapter/resources/webgl-shader.js +0 -149
  355. package/dist/es5/adapter/resources/webgl-shader.js.map +0 -1
  356. package/dist/es5/adapter/resources/webgl-texture.js +0 -986
  357. package/dist/es5/adapter/resources/webgl-texture.js.map +0 -1
  358. package/dist/es5/adapter/webgl-canvas-context.js +0 -97
  359. package/dist/es5/adapter/webgl-canvas-context.js.map +0 -1
  360. package/dist/es5/adapter/webgl-device.js +0 -399
  361. package/dist/es5/adapter/webgl-device.js.map +0 -1
  362. package/dist/es5/bundle.js +0 -7
  363. package/dist/es5/bundle.js.map +0 -1
  364. package/dist/es5/classic/accessor.js +0 -181
  365. package/dist/es5/classic/accessor.js.map +0 -1
  366. package/dist/es5/classic/buffer.js +0 -470
  367. package/dist/es5/classic/buffer.js.map +0 -1
  368. package/dist/es5/classic/typed-array-utils.js +0 -126
  369. package/dist/es5/classic/typed-array-utils.js.map +0 -1
  370. package/dist/es5/context/context/context-state.js +0 -31
  371. package/dist/es5/context/context/context-state.js.map +0 -1
  372. package/dist/es5/context/context/create-context.js +0 -69
  373. package/dist/es5/context/context/create-context.js.map +0 -1
  374. package/dist/es5/context/context/device-pixels.js +0 -115
  375. package/dist/es5/context/context/device-pixels.js.map +0 -1
  376. package/dist/es5/context/context/webgl-checks.js +0 -54
  377. package/dist/es5/context/context/webgl-checks.js.map +0 -1
  378. package/dist/es5/context/debug/spector.js +0 -133
  379. package/dist/es5/context/debug/spector.js.map +0 -1
  380. package/dist/es5/context/debug/webgl-developer-tools.js +0 -198
  381. package/dist/es5/context/debug/webgl-developer-tools.js.map +0 -1
  382. package/dist/es5/context/parameters/unified-parameter-api.js +0 -97
  383. package/dist/es5/context/parameters/unified-parameter-api.js.map +0 -1
  384. package/dist/es5/context/parameters/webgl-parameter-tables.js +0 -392
  385. package/dist/es5/context/parameters/webgl-parameter-tables.js.map +0 -1
  386. package/dist/es5/context/polyfill/get-parameter-polyfill.js +0 -81
  387. package/dist/es5/context/polyfill/get-parameter-polyfill.js.map +0 -1
  388. package/dist/es5/context/polyfill/polyfill-context.js +0 -135
  389. package/dist/es5/context/polyfill/polyfill-context.js.map +0 -1
  390. package/dist/es5/context/polyfill/polyfill-table.js +0 -166
  391. package/dist/es5/context/polyfill/polyfill-table.js.map +0 -1
  392. package/dist/es5/context/polyfill/polyfill-vertex-array-object.js +0 -341
  393. package/dist/es5/context/polyfill/polyfill-vertex-array-object.js.map +0 -1
  394. package/dist/es5/context/state-tracker/deep-array-equal.js +0 -28
  395. package/dist/es5/context/state-tracker/deep-array-equal.js.map +0 -1
  396. package/dist/es5/context/state-tracker/track-context-state.js +0 -211
  397. package/dist/es5/context/state-tracker/track-context-state.js.map +0 -1
  398. package/dist/es5/context/state-tracker/with-parameters.js +0 -44
  399. package/dist/es5/context/state-tracker/with-parameters.js.map +0 -1
  400. package/dist/es5/index.js +0 -276
  401. package/dist/es5/index.js.map +0 -1
  402. package/dist/es5/init.js +0 -10
  403. package/dist/es5/init.js.map +0 -1
  404. package/dist/es5/types/webgl.js +0 -6
  405. package/dist/es5/types/webgl.js.map +0 -1
  406. package/dist/es5/types.js +0 -2
  407. package/dist/es5/types.js.map +0 -1
  408. package/dist/esm/adapter/converters/device-parameters.js +0 -155
  409. package/dist/esm/adapter/converters/device-parameters.js.map +0 -1
  410. package/dist/esm/adapter/converters/renderbuffer-formats.js +0 -185
  411. package/dist/esm/adapter/converters/renderbuffer-formats.js.map +0 -1
  412. package/dist/esm/adapter/converters/sampler-parameters.js +0 -208
  413. package/dist/esm/adapter/converters/sampler-parameters.js.map +0 -1
  414. package/dist/esm/adapter/converters/texture-formats.js +0 -954
  415. package/dist/esm/adapter/converters/texture-formats.js.map +0 -1
  416. package/dist/esm/adapter/converters/vertex-formats.js +0 -35
  417. package/dist/esm/adapter/converters/vertex-formats.js.map +0 -1
  418. package/dist/esm/adapter/device-helpers/device-features.js +0 -102
  419. package/dist/esm/adapter/device-helpers/device-features.js.map +0 -1
  420. package/dist/esm/adapter/device-helpers/device-limits.js +0 -91
  421. package/dist/esm/adapter/device-helpers/device-limits.js.map +0 -1
  422. package/dist/esm/adapter/device-helpers/get-device-info.js +0 -44
  423. package/dist/esm/adapter/device-helpers/get-device-info.js.map +0 -1
  424. package/dist/esm/adapter/device-helpers/is-old-ie.js +0 -8
  425. package/dist/esm/adapter/device-helpers/is-old-ie.js.map +0 -1
  426. package/dist/esm/adapter/helpers/attribute-utils.js +0 -81
  427. package/dist/esm/adapter/helpers/attribute-utils.js.map +0 -1
  428. package/dist/esm/adapter/helpers/get-shader-layout.js +0 -306
  429. package/dist/esm/adapter/helpers/get-shader-layout.js.map +0 -1
  430. package/dist/esm/adapter/helpers/parse-shader-compiler-log.js +0 -37
  431. package/dist/esm/adapter/helpers/parse-shader-compiler-log.js.map +0 -1
  432. package/dist/esm/adapter/helpers/set-uniform.js +0 -115
  433. package/dist/esm/adapter/helpers/set-uniform.js.map +0 -1
  434. package/dist/esm/adapter/helpers/uniforms.js +0 -99
  435. package/dist/esm/adapter/helpers/uniforms.js.map +0 -1
  436. package/dist/esm/adapter/objects/constants-to-keys.js +0 -42
  437. package/dist/esm/adapter/objects/constants-to-keys.js.map +0 -1
  438. package/dist/esm/adapter/objects/webgl-renderbuffer.js +0 -94
  439. package/dist/esm/adapter/objects/webgl-renderbuffer.js.map +0 -1
  440. package/dist/esm/adapter/objects/webgl-resource.js +0 -216
  441. package/dist/esm/adapter/objects/webgl-resource.js.map +0 -1
  442. package/dist/esm/adapter/objects/webgl-vertex-array-object.js +0 -84
  443. package/dist/esm/adapter/objects/webgl-vertex-array-object.js.map +0 -1
  444. package/dist/esm/adapter/resources/webgl-buffer.js +0 -164
  445. package/dist/esm/adapter/resources/webgl-buffer.js.map +0 -1
  446. package/dist/esm/adapter/resources/webgl-command-buffer.js +0 -65
  447. package/dist/esm/adapter/resources/webgl-command-buffer.js.map +0 -1
  448. package/dist/esm/adapter/resources/webgl-command-encoder.js +0 -53
  449. package/dist/esm/adapter/resources/webgl-command-encoder.js.map +0 -1
  450. package/dist/esm/adapter/resources/webgl-external-texture.js +0 -2
  451. package/dist/esm/adapter/resources/webgl-external-texture.js.map +0 -1
  452. package/dist/esm/adapter/resources/webgl-framebuffer.js +0 -265
  453. package/dist/esm/adapter/resources/webgl-framebuffer.js.map +0 -1
  454. package/dist/esm/adapter/resources/webgl-render-pass.js +0 -19
  455. package/dist/esm/adapter/resources/webgl-render-pass.js.map +0 -1
  456. package/dist/esm/adapter/resources/webgl-render-pipeline.js +0 -400
  457. package/dist/esm/adapter/resources/webgl-render-pipeline.js.map +0 -1
  458. package/dist/esm/adapter/resources/webgl-sampler.js +0 -50
  459. package/dist/esm/adapter/resources/webgl-sampler.js.map +0 -1
  460. package/dist/esm/adapter/resources/webgl-shader.js +0 -75
  461. package/dist/esm/adapter/resources/webgl-shader.js.map +0 -1
  462. package/dist/esm/adapter/resources/webgl-texture.js +0 -833
  463. package/dist/esm/adapter/resources/webgl-texture.js.map +0 -1
  464. package/dist/esm/adapter/webgl-canvas-context.js +0 -54
  465. package/dist/esm/adapter/webgl-canvas-context.js.map +0 -1
  466. package/dist/esm/adapter/webgl-device.js +0 -280
  467. package/dist/esm/adapter/webgl-device.js.map +0 -1
  468. package/dist/esm/bundle.js +0 -5
  469. package/dist/esm/bundle.js.map +0 -1
  470. package/dist/esm/classic/accessor.js +0 -144
  471. package/dist/esm/classic/accessor.js.map +0 -1
  472. package/dist/esm/classic/buffer.js +0 -384
  473. package/dist/esm/classic/buffer.js.map +0 -1
  474. package/dist/esm/classic/typed-array-utils.js +0 -112
  475. package/dist/esm/classic/typed-array-utils.js.map +0 -1
  476. package/dist/esm/context/context/context-state.js +0 -26
  477. package/dist/esm/context/context/context-state.js.map +0 -1
  478. package/dist/esm/context/context/create-context.js +0 -49
  479. package/dist/esm/context/context/create-context.js.map +0 -1
  480. package/dist/esm/context/context/device-pixels.js +0 -98
  481. package/dist/esm/context/context/device-pixels.js.map +0 -1
  482. package/dist/esm/context/context/webgl-checks.js +0 -34
  483. package/dist/esm/context/context/webgl-checks.js.map +0 -1
  484. package/dist/esm/context/debug/spector.js +0 -76
  485. package/dist/esm/context/debug/spector.js.map +0 -1
  486. package/dist/esm/context/debug/webgl-developer-tools.js +0 -121
  487. package/dist/esm/context/debug/webgl-developer-tools.js.map +0 -1
  488. package/dist/esm/context/parameters/unified-parameter-api.js +0 -65
  489. package/dist/esm/context/parameters/unified-parameter-api.js.map +0 -1
  490. package/dist/esm/context/parameters/webgl-parameter-tables.js +0 -445
  491. package/dist/esm/context/parameters/webgl-parameter-tables.js.map +0 -1
  492. package/dist/esm/context/polyfill/get-parameter-polyfill.js +0 -91
  493. package/dist/esm/context/polyfill/get-parameter-polyfill.js.map +0 -1
  494. package/dist/esm/context/polyfill/polyfill-context.js +0 -92
  495. package/dist/esm/context/polyfill/polyfill-context.js.map +0 -1
  496. package/dist/esm/context/polyfill/polyfill-table.js +0 -160
  497. package/dist/esm/context/polyfill/polyfill-table.js.map +0 -1
  498. package/dist/esm/context/polyfill/polyfill-vertex-array-object.js +0 -335
  499. package/dist/esm/context/polyfill/polyfill-vertex-array-object.js.map +0 -1
  500. package/dist/esm/context/state-tracker/deep-array-equal.js +0 -21
  501. package/dist/esm/context/state-tracker/deep-array-equal.js.map +0 -1
  502. package/dist/esm/context/state-tracker/track-context-state.js +0 -183
  503. package/dist/esm/context/state-tracker/track-context-state.js.map +0 -1
  504. package/dist/esm/context/state-tracker/with-parameters.js +0 -36
  505. package/dist/esm/context/state-tracker/with-parameters.js.map +0 -1
  506. package/dist/esm/index.js +0 -27
  507. package/dist/esm/index.js.map +0 -1
  508. package/dist/esm/init.js +0 -4
  509. package/dist/esm/init.js.map +0 -1
  510. package/dist/esm/types/webgl.js +0 -2
  511. package/dist/esm/types/webgl.js.map +0 -1
  512. package/dist/esm/types.js +0 -2
  513. package/dist/esm/types.js.map +0 -1
  514. package/dist/init.d.ts +0 -2
  515. package/dist/init.d.ts.map +0 -1
  516. package/dist/init.js +0 -4
  517. package/dist/init.js.map +0 -1
  518. package/dist/types/webgl.d.ts +0 -145
  519. package/dist/types/webgl.d.ts.map +0 -1
  520. package/dist/types/webgl.js +0 -2
  521. package/dist/types/webgl.js.map +0 -1
  522. package/src/adapter/converters/renderbuffer-formats.ts +0 -92
  523. package/src/adapter/helpers/attribute-utils.ts +0 -61
  524. package/src/adapter/objects/webgl-vertex-array-object.ts +0 -111
  525. package/src/bundle.ts +0 -4
  526. package/src/classic/buffer.ts +0 -474
  527. package/src/context/context/context-state.ts +0 -41
  528. package/src/context/context/create-context.ts +0 -110
  529. package/src/context/context/device-pixels.ts +0 -152
  530. package/src/init.ts +0 -4
  531. 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;