@luma.gl/webgl 9.0.0-alpha.9 → 9.0.0-beta.10

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 (553) hide show
  1. package/LICENSE +3 -1
  2. package/dist/adapter/converters/device-parameters.d.ts +12 -3
  3. package/dist/adapter/converters/device-parameters.d.ts.map +1 -1
  4. package/dist/adapter/converters/device-parameters.js +300 -146
  5. package/dist/adapter/converters/sampler-parameters.d.ts +3 -13
  6. package/dist/adapter/converters/sampler-parameters.d.ts.map +1 -1
  7. package/dist/adapter/converters/sampler-parameters.js +74 -219
  8. package/dist/adapter/converters/shader-formats.d.ts +9 -0
  9. package/dist/adapter/converters/shader-formats.d.ts.map +1 -0
  10. package/dist/adapter/converters/shader-formats.js +59 -0
  11. package/dist/adapter/converters/texture-formats.d.ts +41 -57
  12. package/dist/adapter/converters/texture-formats.d.ts.map +1 -1
  13. package/dist/adapter/converters/texture-formats.js +490 -925
  14. package/dist/adapter/converters/vertex-formats.d.ts +9 -3
  15. package/dist/adapter/converters/vertex-formats.d.ts.map +1 -1
  16. package/dist/adapter/converters/vertex-formats.js +56 -33
  17. package/dist/adapter/device-helpers/webgl-device-features.d.ts +20 -0
  18. package/dist/adapter/device-helpers/webgl-device-features.d.ts.map +1 -0
  19. package/dist/adapter/device-helpers/webgl-device-features.js +98 -0
  20. package/dist/adapter/device-helpers/webgl-device-info.d.ts +5 -0
  21. package/dist/adapter/device-helpers/webgl-device-info.d.ts.map +1 -0
  22. package/dist/adapter/device-helpers/webgl-device-info.js +90 -0
  23. package/dist/adapter/device-helpers/webgl-device-limits.d.ts +35 -0
  24. package/dist/adapter/device-helpers/webgl-device-limits.d.ts.map +1 -0
  25. package/dist/adapter/device-helpers/webgl-device-limits.js +47 -0
  26. package/dist/adapter/helpers/decode-webgl-types.d.ts +26 -0
  27. package/dist/adapter/helpers/decode-webgl-types.d.ts.map +1 -0
  28. package/dist/adapter/helpers/decode-webgl-types.js +101 -0
  29. package/dist/adapter/helpers/get-shader-layout.d.ts +2 -49
  30. package/dist/adapter/helpers/get-shader-layout.d.ts.map +1 -1
  31. package/dist/adapter/helpers/get-shader-layout.js +263 -307
  32. package/dist/adapter/helpers/parse-shader-compiler-log.d.ts +1 -1
  33. package/dist/adapter/helpers/parse-shader-compiler-log.d.ts.map +1 -1
  34. package/dist/adapter/helpers/parse-shader-compiler-log.js +48 -33
  35. package/dist/adapter/helpers/set-uniform.d.ts +3 -2
  36. package/dist/adapter/helpers/set-uniform.d.ts.map +1 -1
  37. package/dist/adapter/helpers/set-uniform.js +66 -111
  38. package/dist/adapter/helpers/webgl-topology-utils.d.ts +16 -0
  39. package/dist/adapter/helpers/webgl-topology-utils.d.ts.map +1 -0
  40. package/dist/adapter/helpers/webgl-topology-utils.js +88 -0
  41. package/dist/adapter/objects/constants-to-keys.d.ts +2 -4
  42. package/dist/adapter/objects/constants-to-keys.d.ts.map +1 -1
  43. package/dist/adapter/objects/constants-to-keys.js +18 -38
  44. package/dist/adapter/objects/webgl-renderbuffer.d.ts +15 -12
  45. package/dist/adapter/objects/webgl-renderbuffer.d.ts.map +1 -1
  46. package/dist/adapter/objects/webgl-renderbuffer.js +92 -91
  47. package/dist/adapter/objects/webgl-resource.d.ts +6 -31
  48. package/dist/adapter/objects/webgl-resource.d.ts.map +1 -1
  49. package/dist/adapter/objects/webgl-resource.js +103 -205
  50. package/dist/adapter/resources/webgl-buffer.d.ts +20 -16
  51. package/dist/adapter/resources/webgl-buffer.d.ts.map +1 -1
  52. package/dist/adapter/resources/webgl-buffer.js +163 -155
  53. package/dist/adapter/resources/webgl-command-buffer.d.ts +15 -9
  54. package/dist/adapter/resources/webgl-command-buffer.d.ts.map +1 -1
  55. package/dist/adapter/resources/webgl-command-buffer.js +283 -58
  56. package/dist/adapter/resources/webgl-command-encoder.d.ts +12 -6
  57. package/dist/adapter/resources/webgl-command-encoder.d.ts.map +1 -1
  58. package/dist/adapter/resources/webgl-command-encoder.js +36 -52
  59. package/dist/adapter/resources/webgl-external-texture.js +93 -1
  60. package/dist/adapter/resources/webgl-framebuffer.d.ts +21 -29
  61. package/dist/adapter/resources/webgl-framebuffer.d.ts.map +1 -1
  62. package/dist/adapter/resources/webgl-framebuffer.js +184 -261
  63. package/dist/adapter/resources/webgl-query-set.d.ts +44 -0
  64. package/dist/adapter/resources/webgl-query-set.d.ts.map +1 -0
  65. package/dist/adapter/resources/webgl-query-set.js +136 -0
  66. package/dist/adapter/resources/webgl-render-pass.d.ts +21 -4
  67. package/dist/adapter/resources/webgl-render-pass.d.ts.map +1 -1
  68. package/dist/adapter/resources/webgl-render-pass.js +140 -20
  69. package/dist/adapter/resources/webgl-render-pipeline.d.ts +44 -21
  70. package/dist/adapter/resources/webgl-render-pipeline.d.ts.map +1 -1
  71. package/dist/adapter/resources/webgl-render-pipeline.js +371 -413
  72. package/dist/adapter/resources/webgl-sampler.d.ts +5 -6
  73. package/dist/adapter/resources/webgl-sampler.d.ts.map +1 -1
  74. package/dist/adapter/resources/webgl-sampler.js +46 -46
  75. package/dist/adapter/resources/webgl-shader.d.ts +16 -6
  76. package/dist/adapter/resources/webgl-shader.d.ts.map +1 -1
  77. package/dist/adapter/resources/webgl-shader.js +113 -72
  78. package/dist/adapter/resources/webgl-texture-view.d.ts +14 -0
  79. package/dist/adapter/resources/webgl-texture-view.d.ts.map +1 -0
  80. package/dist/adapter/resources/webgl-texture-view.js +18 -0
  81. package/dist/adapter/resources/webgl-texture.d.ts +53 -35
  82. package/dist/adapter/resources/webgl-texture.d.ts.map +1 -1
  83. package/dist/adapter/resources/webgl-texture.js +623 -822
  84. package/dist/adapter/resources/webgl-transform-feedback.d.ts +47 -0
  85. package/dist/adapter/resources/webgl-transform-feedback.d.ts.map +1 -0
  86. package/dist/adapter/resources/webgl-transform-feedback.js +162 -0
  87. package/dist/adapter/resources/webgl-vertex-array.d.ts +67 -0
  88. package/dist/adapter/resources/webgl-vertex-array.d.ts.map +1 -0
  89. package/dist/adapter/resources/webgl-vertex-array.js +239 -0
  90. package/dist/adapter/webgl-canvas-context.d.ts +6 -7
  91. package/dist/adapter/webgl-canvas-context.d.ts.map +1 -1
  92. package/dist/adapter/webgl-canvas-context.js +61 -50
  93. package/dist/adapter/webgl-device.d.ts +112 -55
  94. package/dist/adapter/webgl-device.d.ts.map +1 -1
  95. package/dist/adapter/webgl-device.js +453 -331
  96. package/dist/classic/accessor.d.ts +3 -3
  97. package/dist/classic/accessor.d.ts.map +1 -1
  98. package/dist/classic/accessor.js +135 -130
  99. package/dist/classic/clear.d.ts +22 -0
  100. package/dist/classic/clear.d.ts.map +1 -0
  101. package/dist/classic/clear.js +89 -0
  102. package/dist/classic/copy-and-blit.d.ts +62 -0
  103. package/dist/classic/copy-and-blit.d.ts.map +1 -0
  104. package/dist/classic/copy-and-blit.js +191 -0
  105. package/dist/classic/format-utils.d.ts +3 -0
  106. package/dist/classic/format-utils.d.ts.map +1 -0
  107. package/dist/classic/format-utils.js +44 -0
  108. package/dist/classic/typed-array-utils.d.ts +17 -17
  109. package/dist/classic/typed-array-utils.d.ts.map +1 -1
  110. package/dist/classic/typed-array-utils.js +96 -102
  111. package/dist/context/debug/spector.d.ts +1 -2
  112. package/dist/context/debug/spector.d.ts.map +1 -1
  113. package/dist/context/debug/spector.js +56 -63
  114. package/dist/context/debug/webgl-developer-tools.d.ts +2 -3
  115. package/dist/context/debug/webgl-developer-tools.d.ts.map +1 -1
  116. package/dist/context/debug/webgl-developer-tools.js +106 -102
  117. package/dist/context/helpers/create-browser-context.d.ts +35 -0
  118. package/dist/context/helpers/create-browser-context.d.ts.map +1 -0
  119. package/dist/context/helpers/create-browser-context.js +67 -0
  120. package/dist/context/helpers/webgl-context-data.d.ts +13 -0
  121. package/dist/context/helpers/webgl-context-data.d.ts.map +1 -0
  122. package/dist/context/helpers/webgl-context-data.js +21 -0
  123. package/dist/context/helpers/webgl-extensions.d.ts +4 -0
  124. package/dist/context/helpers/webgl-extensions.d.ts.map +1 -0
  125. package/dist/context/helpers/webgl-extensions.js +10 -0
  126. package/dist/context/parameters/unified-parameter-api.d.ts +4 -5
  127. package/dist/context/parameters/unified-parameter-api.d.ts.map +1 -1
  128. package/dist/context/parameters/unified-parameter-api.js +91 -54
  129. package/dist/context/parameters/webgl-parameter-tables.d.ts +115 -106
  130. package/dist/context/parameters/webgl-parameter-tables.d.ts.map +1 -1
  131. package/dist/context/parameters/webgl-parameter-tables.js +463 -423
  132. package/dist/context/state-tracker/deep-array-equal.d.ts.map +1 -1
  133. package/dist/context/state-tracker/deep-array-equal.js +19 -18
  134. package/dist/context/state-tracker/track-context-state.d.ts +4 -4
  135. package/dist/context/state-tracker/track-context-state.d.ts.map +1 -1
  136. package/dist/context/state-tracker/track-context-state.js +192 -163
  137. package/dist/context/state-tracker/with-parameters.d.ts +2 -2
  138. package/dist/context/state-tracker/with-parameters.d.ts.map +1 -1
  139. package/dist/context/state-tracker/with-parameters.js +44 -32
  140. package/dist/dist.dev.js +6574 -0
  141. package/dist/dist.min.js +10 -0
  142. package/dist/index.cjs +5586 -0
  143. package/dist/index.cjs.map +7 -0
  144. package/dist/index.d.ts +25 -32
  145. package/dist/index.d.ts.map +1 -1
  146. package/dist/index.js +37 -28
  147. package/dist/types.d.ts +3 -1
  148. package/dist/types.d.ts.map +1 -1
  149. package/dist/types.js +3 -1
  150. package/dist.min.js +19 -0
  151. package/package.json +22 -15
  152. package/src/adapter/converters/device-parameters.ts +217 -54
  153. package/src/adapter/converters/sampler-parameters.ts +46 -126
  154. package/src/adapter/converters/shader-formats.ts +69 -0
  155. package/src/adapter/converters/texture-formats.ts +369 -340
  156. package/src/adapter/converters/vertex-formats.ts +71 -10
  157. package/src/adapter/device-helpers/webgl-device-features.ts +121 -0
  158. package/src/adapter/device-helpers/webgl-device-info.ts +111 -0
  159. package/src/adapter/device-helpers/webgl-device-limits.ts +53 -0
  160. package/src/adapter/helpers/{uniforms.ts → decode-webgl-types.ts} +38 -25
  161. package/src/adapter/helpers/get-shader-layout.ts +104 -158
  162. package/src/adapter/helpers/parse-shader-compiler-log.ts +31 -11
  163. package/src/adapter/helpers/set-uniform.ts +39 -36
  164. package/src/adapter/helpers/webgl-topology-utils.ts +110 -0
  165. package/src/adapter/objects/constants-to-keys.ts +8 -26
  166. package/src/adapter/objects/webgl-renderbuffer.ts +68 -40
  167. package/src/adapter/objects/webgl-resource.ts +16 -156
  168. package/src/adapter/resources/webgl-buffer.ts +103 -112
  169. package/src/adapter/resources/webgl-command-buffer.ts +333 -41
  170. package/src/adapter/resources/webgl-command-encoder.ts +33 -22
  171. package/src/adapter/resources/webgl-external-texture.ts +11 -8
  172. package/src/adapter/resources/webgl-framebuffer.ts +125 -165
  173. package/src/adapter/resources/webgl-query-set.ts +171 -0
  174. package/src/adapter/resources/webgl-render-pass.ts +176 -6
  175. package/src/adapter/resources/webgl-render-pipeline.ts +308 -229
  176. package/src/adapter/resources/webgl-sampler.ts +19 -18
  177. package/src/adapter/resources/webgl-shader.ts +91 -32
  178. package/src/adapter/resources/webgl-texture-view.ts +28 -0
  179. package/src/adapter/resources/webgl-texture.ts +147 -184
  180. package/src/adapter/resources/webgl-transform-feedback.ts +196 -0
  181. package/src/adapter/resources/webgl-vertex-array.ts +282 -0
  182. package/src/adapter/webgl-canvas-context.ts +23 -22
  183. package/src/adapter/webgl-device.ts +411 -196
  184. package/src/classic/accessor.ts +12 -8
  185. package/src/classic/clear.ts +118 -0
  186. package/src/classic/copy-and-blit.ts +318 -0
  187. package/src/classic/format-utils.ts +47 -0
  188. package/src/classic/typed-array-utils.ts +19 -31
  189. package/src/context/debug/spector.ts +16 -10
  190. package/src/context/debug/webgl-developer-tools.ts +52 -32
  191. package/src/context/helpers/create-browser-context.ts +116 -0
  192. package/src/context/helpers/webgl-context-data.ts +31 -0
  193. package/src/context/helpers/webgl-extensions.ts +17 -0
  194. package/src/context/parameters/unified-parameter-api.ts +11 -16
  195. package/src/context/parameters/webgl-parameter-tables.ts +171 -121
  196. package/src/context/state-tracker/deep-array-equal.ts +3 -0
  197. package/src/context/state-tracker/track-context-state.ts +35 -26
  198. package/src/context/state-tracker/with-parameters.ts +12 -3
  199. package/src/index.ts +41 -55
  200. package/src/types.ts +6 -0
  201. package/dist/adapter/converters/device-parameters.js.map +0 -1
  202. package/dist/adapter/converters/renderbuffer-formats.d.ts +0 -16
  203. package/dist/adapter/converters/renderbuffer-formats.d.ts.map +0 -1
  204. package/dist/adapter/converters/renderbuffer-formats.js +0 -185
  205. package/dist/adapter/converters/renderbuffer-formats.js.map +0 -1
  206. package/dist/adapter/converters/sampler-parameters.js.map +0 -1
  207. package/dist/adapter/converters/texture-formats.js.map +0 -1
  208. package/dist/adapter/converters/vertex-formats.js.map +0 -1
  209. package/dist/adapter/device-helpers/device-features.d.ts +0 -9
  210. package/dist/adapter/device-helpers/device-features.d.ts.map +0 -1
  211. package/dist/adapter/device-helpers/device-features.js +0 -112
  212. package/dist/adapter/device-helpers/device-features.js.map +0 -1
  213. package/dist/adapter/device-helpers/device-limits.d.ts +0 -52
  214. package/dist/adapter/device-helpers/device-limits.d.ts.map +0 -1
  215. package/dist/adapter/device-helpers/device-limits.js +0 -91
  216. package/dist/adapter/device-helpers/device-limits.js.map +0 -1
  217. package/dist/adapter/device-helpers/get-device-info.d.ts +0 -4
  218. package/dist/adapter/device-helpers/get-device-info.d.ts.map +0 -1
  219. package/dist/adapter/device-helpers/get-device-info.js +0 -44
  220. package/dist/adapter/device-helpers/get-device-info.js.map +0 -1
  221. package/dist/adapter/device-helpers/is-old-ie.d.ts +0 -2
  222. package/dist/adapter/device-helpers/is-old-ie.d.ts.map +0 -1
  223. package/dist/adapter/device-helpers/is-old-ie.js +0 -8
  224. package/dist/adapter/device-helpers/is-old-ie.js.map +0 -1
  225. package/dist/adapter/helpers/attribute-utils.d.ts +0 -11
  226. package/dist/adapter/helpers/attribute-utils.d.ts.map +0 -1
  227. package/dist/adapter/helpers/attribute-utils.js +0 -81
  228. package/dist/adapter/helpers/attribute-utils.js.map +0 -1
  229. package/dist/adapter/helpers/get-shader-layout.js.map +0 -1
  230. package/dist/adapter/helpers/parse-shader-compiler-log.js.map +0 -1
  231. package/dist/adapter/helpers/set-uniform.js.map +0 -1
  232. package/dist/adapter/helpers/uniforms.d.ts +0 -26
  233. package/dist/adapter/helpers/uniforms.d.ts.map +0 -1
  234. package/dist/adapter/helpers/uniforms.js +0 -99
  235. package/dist/adapter/helpers/uniforms.js.map +0 -1
  236. package/dist/adapter/objects/constants-to-keys.js.map +0 -1
  237. package/dist/adapter/objects/webgl-renderbuffer.js.map +0 -1
  238. package/dist/adapter/objects/webgl-resource.js.map +0 -1
  239. package/dist/adapter/objects/webgl-vertex-array-object.d.ts +0 -27
  240. package/dist/adapter/objects/webgl-vertex-array-object.d.ts.map +0 -1
  241. package/dist/adapter/objects/webgl-vertex-array-object.js +0 -84
  242. package/dist/adapter/objects/webgl-vertex-array-object.js.map +0 -1
  243. package/dist/adapter/resources/webgl-buffer.js.map +0 -1
  244. package/dist/adapter/resources/webgl-command-buffer.js.map +0 -1
  245. package/dist/adapter/resources/webgl-command-encoder.js.map +0 -1
  246. package/dist/adapter/resources/webgl-external-texture.js.map +0 -1
  247. package/dist/adapter/resources/webgl-framebuffer.js.map +0 -1
  248. package/dist/adapter/resources/webgl-render-pass.js.map +0 -1
  249. package/dist/adapter/resources/webgl-render-pipeline.js.map +0 -1
  250. package/dist/adapter/resources/webgl-sampler.js.map +0 -1
  251. package/dist/adapter/resources/webgl-shader.js.map +0 -1
  252. package/dist/adapter/resources/webgl-texture.js.map +0 -1
  253. package/dist/adapter/webgl-canvas-context.js.map +0 -1
  254. package/dist/adapter/webgl-device.js.map +0 -1
  255. package/dist/bundle.d.ts +0 -2
  256. package/dist/bundle.d.ts.map +0 -1
  257. package/dist/bundle.js +0 -5
  258. package/dist/bundle.js.map +0 -1
  259. package/dist/classic/accessor.js.map +0 -1
  260. package/dist/classic/buffer.d.ts +0 -95
  261. package/dist/classic/buffer.d.ts.map +0 -1
  262. package/dist/classic/buffer.js +0 -392
  263. package/dist/classic/buffer.js.map +0 -1
  264. package/dist/classic/typed-array-utils.js.map +0 -1
  265. package/dist/context/context/context-state.d.ts +0 -18
  266. package/dist/context/context/context-state.d.ts.map +0 -1
  267. package/dist/context/context/context-state.js +0 -26
  268. package/dist/context/context/context-state.js.map +0 -1
  269. package/dist/context/context/create-browser-context.d.ts +0 -41
  270. package/dist/context/context/create-browser-context.d.ts.map +0 -1
  271. package/dist/context/context/create-browser-context.js +0 -61
  272. package/dist/context/context/create-browser-context.js.map +0 -1
  273. package/dist/context/context/create-headless-context.d.ts +0 -9
  274. package/dist/context/context/create-headless-context.d.ts.map +0 -1
  275. package/dist/context/context/create-headless-context.js +0 -43
  276. package/dist/context/context/create-headless-context.js.map +0 -1
  277. package/dist/context/context/device-pixels.d.ts +0 -25
  278. package/dist/context/context/device-pixels.d.ts.map +0 -1
  279. package/dist/context/context/device-pixels.js +0 -103
  280. package/dist/context/context/device-pixels.js.map +0 -1
  281. package/dist/context/context/webgl-checks.d.ts +0 -13
  282. package/dist/context/context/webgl-checks.d.ts.map +0 -1
  283. package/dist/context/context/webgl-checks.js +0 -34
  284. package/dist/context/context/webgl-checks.js.map +0 -1
  285. package/dist/context/debug/spector.js.map +0 -1
  286. package/dist/context/debug/webgl-developer-tools.js.map +0 -1
  287. package/dist/context/parameters/unified-parameter-api.js.map +0 -1
  288. package/dist/context/parameters/webgl-parameter-tables.js.map +0 -1
  289. package/dist/context/polyfill/get-parameter-polyfill.d.ts +0 -2
  290. package/dist/context/polyfill/get-parameter-polyfill.d.ts.map +0 -1
  291. package/dist/context/polyfill/get-parameter-polyfill.js +0 -91
  292. package/dist/context/polyfill/get-parameter-polyfill.js.map +0 -1
  293. package/dist/context/polyfill/polyfill-context.d.ts +0 -5
  294. package/dist/context/polyfill/polyfill-context.d.ts.map +0 -1
  295. package/dist/context/polyfill/polyfill-context.js +0 -91
  296. package/dist/context/polyfill/polyfill-context.js.map +0 -1
  297. package/dist/context/polyfill/polyfill-table.d.ts +0 -48
  298. package/dist/context/polyfill/polyfill-table.d.ts.map +0 -1
  299. package/dist/context/polyfill/polyfill-table.js +0 -160
  300. package/dist/context/polyfill/polyfill-table.js.map +0 -1
  301. package/dist/context/polyfill/polyfill-vertex-array-object.d.ts +0 -2
  302. package/dist/context/polyfill/polyfill-vertex-array-object.d.ts.map +0 -1
  303. package/dist/context/polyfill/polyfill-vertex-array-object.js +0 -335
  304. package/dist/context/polyfill/polyfill-vertex-array-object.js.map +0 -1
  305. package/dist/context/state-tracker/deep-array-equal.js.map +0 -1
  306. package/dist/context/state-tracker/track-context-state.js.map +0 -1
  307. package/dist/context/state-tracker/with-parameters.js.map +0 -1
  308. package/dist/es5/adapter/converters/device-parameters.js +0 -185
  309. package/dist/es5/adapter/converters/device-parameters.js.map +0 -1
  310. package/dist/es5/adapter/converters/renderbuffer-formats.js +0 -163
  311. package/dist/es5/adapter/converters/renderbuffer-formats.js.map +0 -1
  312. package/dist/es5/adapter/converters/sampler-parameters.js +0 -245
  313. package/dist/es5/adapter/converters/sampler-parameters.js.map +0 -1
  314. package/dist/es5/adapter/converters/texture-formats.js +0 -1031
  315. package/dist/es5/adapter/converters/texture-formats.js.map +0 -1
  316. package/dist/es5/adapter/converters/vertex-formats.js +0 -45
  317. package/dist/es5/adapter/converters/vertex-formats.js.map +0 -1
  318. package/dist/es5/adapter/device-helpers/device-features.js +0 -155
  319. package/dist/es5/adapter/device-helpers/device-features.js.map +0 -1
  320. package/dist/es5/adapter/device-helpers/device-limits.js +0 -64
  321. package/dist/es5/adapter/device-helpers/device-limits.js.map +0 -1
  322. package/dist/es5/adapter/device-helpers/get-device-info.js +0 -55
  323. package/dist/es5/adapter/device-helpers/get-device-info.js.map +0 -1
  324. package/dist/es5/adapter/device-helpers/is-old-ie.js +0 -16
  325. package/dist/es5/adapter/device-helpers/is-old-ie.js.map +0 -1
  326. package/dist/es5/adapter/helpers/attribute-utils.js +0 -91
  327. package/dist/es5/adapter/helpers/attribute-utils.js.map +0 -1
  328. package/dist/es5/adapter/helpers/get-shader-layout.js +0 -391
  329. package/dist/es5/adapter/helpers/get-shader-layout.js.map +0 -1
  330. package/dist/es5/adapter/helpers/parse-shader-compiler-log.js +0 -72
  331. package/dist/es5/adapter/helpers/parse-shader-compiler-log.js.map +0 -1
  332. package/dist/es5/adapter/helpers/set-uniform.js +0 -125
  333. package/dist/es5/adapter/helpers/set-uniform.js.map +0 -1
  334. package/dist/es5/adapter/helpers/uniforms.js +0 -112
  335. package/dist/es5/adapter/helpers/uniforms.js.map +0 -1
  336. package/dist/es5/adapter/objects/constants-to-keys.js +0 -54
  337. package/dist/es5/adapter/objects/constants-to-keys.js.map +0 -1
  338. package/dist/es5/adapter/objects/webgl-renderbuffer.js +0 -150
  339. package/dist/es5/adapter/objects/webgl-renderbuffer.js.map +0 -1
  340. package/dist/es5/adapter/objects/webgl-resource.js +0 -292
  341. package/dist/es5/adapter/objects/webgl-resource.js.map +0 -1
  342. package/dist/es5/adapter/objects/webgl-vertex-array-object.js +0 -137
  343. package/dist/es5/adapter/objects/webgl-vertex-array-object.js.map +0 -1
  344. package/dist/es5/adapter/resources/webgl-buffer.js +0 -243
  345. package/dist/es5/adapter/resources/webgl-buffer.js.map +0 -1
  346. package/dist/es5/adapter/resources/webgl-command-buffer.js +0 -96
  347. package/dist/es5/adapter/resources/webgl-command-buffer.js.map +0 -1
  348. package/dist/es5/adapter/resources/webgl-command-encoder.js +0 -98
  349. package/dist/es5/adapter/resources/webgl-command-encoder.js.map +0 -1
  350. package/dist/es5/adapter/resources/webgl-external-texture.js +0 -2
  351. package/dist/es5/adapter/resources/webgl-external-texture.js.map +0 -1
  352. package/dist/es5/adapter/resources/webgl-framebuffer.js +0 -346
  353. package/dist/es5/adapter/resources/webgl-framebuffer.js.map +0 -1
  354. package/dist/es5/adapter/resources/webgl-render-pass.js +0 -62
  355. package/dist/es5/adapter/resources/webgl-render-pass.js.map +0 -1
  356. package/dist/es5/adapter/resources/webgl-render-pipeline.js +0 -530
  357. package/dist/es5/adapter/resources/webgl-render-pipeline.js.map +0 -1
  358. package/dist/es5/adapter/resources/webgl-sampler.js +0 -96
  359. package/dist/es5/adapter/resources/webgl-sampler.js.map +0 -1
  360. package/dist/es5/adapter/resources/webgl-shader.js +0 -150
  361. package/dist/es5/adapter/resources/webgl-shader.js.map +0 -1
  362. package/dist/es5/adapter/resources/webgl-texture.js +0 -986
  363. package/dist/es5/adapter/resources/webgl-texture.js.map +0 -1
  364. package/dist/es5/adapter/webgl-canvas-context.js +0 -97
  365. package/dist/es5/adapter/webgl-canvas-context.js.map +0 -1
  366. package/dist/es5/adapter/webgl-device.js +0 -463
  367. package/dist/es5/adapter/webgl-device.js.map +0 -1
  368. package/dist/es5/bundle.js +0 -7
  369. package/dist/es5/bundle.js.map +0 -1
  370. package/dist/es5/classic/accessor.js +0 -181
  371. package/dist/es5/classic/accessor.js.map +0 -1
  372. package/dist/es5/classic/buffer.js +0 -478
  373. package/dist/es5/classic/buffer.js.map +0 -1
  374. package/dist/es5/classic/typed-array-utils.js +0 -126
  375. package/dist/es5/classic/typed-array-utils.js.map +0 -1
  376. package/dist/es5/context/context/context-state.js +0 -31
  377. package/dist/es5/context/context/context-state.js.map +0 -1
  378. package/dist/es5/context/context/create-browser-context.js +0 -83
  379. package/dist/es5/context/context/create-browser-context.js.map +0 -1
  380. package/dist/es5/context/context/create-headless-context.js +0 -60
  381. package/dist/es5/context/context/create-headless-context.js.map +0 -1
  382. package/dist/es5/context/context/device-pixels.js +0 -121
  383. package/dist/es5/context/context/device-pixels.js.map +0 -1
  384. package/dist/es5/context/context/webgl-checks.js +0 -54
  385. package/dist/es5/context/context/webgl-checks.js.map +0 -1
  386. package/dist/es5/context/debug/spector.js +0 -133
  387. package/dist/es5/context/debug/spector.js.map +0 -1
  388. package/dist/es5/context/debug/webgl-developer-tools.js +0 -198
  389. package/dist/es5/context/debug/webgl-developer-tools.js.map +0 -1
  390. package/dist/es5/context/parameters/unified-parameter-api.js +0 -97
  391. package/dist/es5/context/parameters/unified-parameter-api.js.map +0 -1
  392. package/dist/es5/context/parameters/webgl-parameter-tables.js +0 -392
  393. package/dist/es5/context/parameters/webgl-parameter-tables.js.map +0 -1
  394. package/dist/es5/context/polyfill/get-parameter-polyfill.js +0 -81
  395. package/dist/es5/context/polyfill/get-parameter-polyfill.js.map +0 -1
  396. package/dist/es5/context/polyfill/polyfill-context.js +0 -134
  397. package/dist/es5/context/polyfill/polyfill-context.js.map +0 -1
  398. package/dist/es5/context/polyfill/polyfill-table.js +0 -166
  399. package/dist/es5/context/polyfill/polyfill-table.js.map +0 -1
  400. package/dist/es5/context/polyfill/polyfill-vertex-array-object.js +0 -341
  401. package/dist/es5/context/polyfill/polyfill-vertex-array-object.js.map +0 -1
  402. package/dist/es5/context/state-tracker/deep-array-equal.js +0 -28
  403. package/dist/es5/context/state-tracker/deep-array-equal.js.map +0 -1
  404. package/dist/es5/context/state-tracker/track-context-state.js +0 -211
  405. package/dist/es5/context/state-tracker/track-context-state.js.map +0 -1
  406. package/dist/es5/context/state-tracker/with-parameters.js +0 -44
  407. package/dist/es5/context/state-tracker/with-parameters.js.map +0 -1
  408. package/dist/es5/index.js +0 -290
  409. package/dist/es5/index.js.map +0 -1
  410. package/dist/es5/init.js +0 -10
  411. package/dist/es5/init.js.map +0 -1
  412. package/dist/es5/types/webgl.js +0 -6
  413. package/dist/es5/types/webgl.js.map +0 -1
  414. package/dist/es5/types.js +0 -2
  415. package/dist/es5/types.js.map +0 -1
  416. package/dist/esm/adapter/converters/device-parameters.js +0 -168
  417. package/dist/esm/adapter/converters/device-parameters.js.map +0 -1
  418. package/dist/esm/adapter/converters/renderbuffer-formats.js +0 -185
  419. package/dist/esm/adapter/converters/renderbuffer-formats.js.map +0 -1
  420. package/dist/esm/adapter/converters/sampler-parameters.js +0 -227
  421. package/dist/esm/adapter/converters/sampler-parameters.js.map +0 -1
  422. package/dist/esm/adapter/converters/texture-formats.js +0 -954
  423. package/dist/esm/adapter/converters/texture-formats.js.map +0 -1
  424. package/dist/esm/adapter/converters/vertex-formats.js +0 -35
  425. package/dist/esm/adapter/converters/vertex-formats.js.map +0 -1
  426. package/dist/esm/adapter/device-helpers/device-features.js +0 -112
  427. package/dist/esm/adapter/device-helpers/device-features.js.map +0 -1
  428. package/dist/esm/adapter/device-helpers/device-limits.js +0 -91
  429. package/dist/esm/adapter/device-helpers/device-limits.js.map +0 -1
  430. package/dist/esm/adapter/device-helpers/get-device-info.js +0 -44
  431. package/dist/esm/adapter/device-helpers/get-device-info.js.map +0 -1
  432. package/dist/esm/adapter/device-helpers/is-old-ie.js +0 -8
  433. package/dist/esm/adapter/device-helpers/is-old-ie.js.map +0 -1
  434. package/dist/esm/adapter/helpers/attribute-utils.js +0 -81
  435. package/dist/esm/adapter/helpers/attribute-utils.js.map +0 -1
  436. package/dist/esm/adapter/helpers/get-shader-layout.js +0 -330
  437. package/dist/esm/adapter/helpers/get-shader-layout.js.map +0 -1
  438. package/dist/esm/adapter/helpers/parse-shader-compiler-log.js +0 -37
  439. package/dist/esm/adapter/helpers/parse-shader-compiler-log.js.map +0 -1
  440. package/dist/esm/adapter/helpers/set-uniform.js +0 -115
  441. package/dist/esm/adapter/helpers/set-uniform.js.map +0 -1
  442. package/dist/esm/adapter/helpers/uniforms.js +0 -99
  443. package/dist/esm/adapter/helpers/uniforms.js.map +0 -1
  444. package/dist/esm/adapter/objects/constants-to-keys.js +0 -42
  445. package/dist/esm/adapter/objects/constants-to-keys.js.map +0 -1
  446. package/dist/esm/adapter/objects/webgl-renderbuffer.js +0 -94
  447. package/dist/esm/adapter/objects/webgl-renderbuffer.js.map +0 -1
  448. package/dist/esm/adapter/objects/webgl-resource.js +0 -216
  449. package/dist/esm/adapter/objects/webgl-resource.js.map +0 -1
  450. package/dist/esm/adapter/objects/webgl-vertex-array-object.js +0 -84
  451. package/dist/esm/adapter/objects/webgl-vertex-array-object.js.map +0 -1
  452. package/dist/esm/adapter/resources/webgl-buffer.js +0 -164
  453. package/dist/esm/adapter/resources/webgl-buffer.js.map +0 -1
  454. package/dist/esm/adapter/resources/webgl-command-buffer.js +0 -65
  455. package/dist/esm/adapter/resources/webgl-command-buffer.js.map +0 -1
  456. package/dist/esm/adapter/resources/webgl-command-encoder.js +0 -53
  457. package/dist/esm/adapter/resources/webgl-command-encoder.js.map +0 -1
  458. package/dist/esm/adapter/resources/webgl-external-texture.js +0 -2
  459. package/dist/esm/adapter/resources/webgl-external-texture.js.map +0 -1
  460. package/dist/esm/adapter/resources/webgl-framebuffer.js +0 -267
  461. package/dist/esm/adapter/resources/webgl-framebuffer.js.map +0 -1
  462. package/dist/esm/adapter/resources/webgl-render-pass.js +0 -21
  463. package/dist/esm/adapter/resources/webgl-render-pass.js.map +0 -1
  464. package/dist/esm/adapter/resources/webgl-render-pipeline.js +0 -428
  465. package/dist/esm/adapter/resources/webgl-render-pipeline.js.map +0 -1
  466. package/dist/esm/adapter/resources/webgl-sampler.js +0 -50
  467. package/dist/esm/adapter/resources/webgl-sampler.js.map +0 -1
  468. package/dist/esm/adapter/resources/webgl-shader.js +0 -76
  469. package/dist/esm/adapter/resources/webgl-shader.js.map +0 -1
  470. package/dist/esm/adapter/resources/webgl-texture.js +0 -834
  471. package/dist/esm/adapter/resources/webgl-texture.js.map +0 -1
  472. package/dist/esm/adapter/webgl-canvas-context.js +0 -54
  473. package/dist/esm/adapter/webgl-canvas-context.js.map +0 -1
  474. package/dist/esm/adapter/webgl-device.js +0 -337
  475. package/dist/esm/adapter/webgl-device.js.map +0 -1
  476. package/dist/esm/bundle.js +0 -5
  477. package/dist/esm/bundle.js.map +0 -1
  478. package/dist/esm/classic/accessor.js +0 -144
  479. package/dist/esm/classic/accessor.js.map +0 -1
  480. package/dist/esm/classic/buffer.js +0 -392
  481. package/dist/esm/classic/buffer.js.map +0 -1
  482. package/dist/esm/classic/typed-array-utils.js +0 -112
  483. package/dist/esm/classic/typed-array-utils.js.map +0 -1
  484. package/dist/esm/context/context/context-state.js +0 -26
  485. package/dist/esm/context/context/context-state.js.map +0 -1
  486. package/dist/esm/context/context/create-browser-context.js +0 -61
  487. package/dist/esm/context/context/create-browser-context.js.map +0 -1
  488. package/dist/esm/context/context/create-headless-context.js +0 -43
  489. package/dist/esm/context/context/create-headless-context.js.map +0 -1
  490. package/dist/esm/context/context/device-pixels.js +0 -103
  491. package/dist/esm/context/context/device-pixels.js.map +0 -1
  492. package/dist/esm/context/context/webgl-checks.js +0 -34
  493. package/dist/esm/context/context/webgl-checks.js.map +0 -1
  494. package/dist/esm/context/debug/spector.js +0 -76
  495. package/dist/esm/context/debug/spector.js.map +0 -1
  496. package/dist/esm/context/debug/webgl-developer-tools.js +0 -121
  497. package/dist/esm/context/debug/webgl-developer-tools.js.map +0 -1
  498. package/dist/esm/context/parameters/unified-parameter-api.js +0 -63
  499. package/dist/esm/context/parameters/unified-parameter-api.js.map +0 -1
  500. package/dist/esm/context/parameters/webgl-parameter-tables.js +0 -445
  501. package/dist/esm/context/parameters/webgl-parameter-tables.js.map +0 -1
  502. package/dist/esm/context/polyfill/get-parameter-polyfill.js +0 -91
  503. package/dist/esm/context/polyfill/get-parameter-polyfill.js.map +0 -1
  504. package/dist/esm/context/polyfill/polyfill-context.js +0 -91
  505. package/dist/esm/context/polyfill/polyfill-context.js.map +0 -1
  506. package/dist/esm/context/polyfill/polyfill-table.js +0 -160
  507. package/dist/esm/context/polyfill/polyfill-table.js.map +0 -1
  508. package/dist/esm/context/polyfill/polyfill-vertex-array-object.js +0 -335
  509. package/dist/esm/context/polyfill/polyfill-vertex-array-object.js.map +0 -1
  510. package/dist/esm/context/state-tracker/deep-array-equal.js +0 -21
  511. package/dist/esm/context/state-tracker/deep-array-equal.js.map +0 -1
  512. package/dist/esm/context/state-tracker/track-context-state.js +0 -183
  513. package/dist/esm/context/state-tracker/track-context-state.js.map +0 -1
  514. package/dist/esm/context/state-tracker/with-parameters.js +0 -36
  515. package/dist/esm/context/state-tracker/with-parameters.js.map +0 -1
  516. package/dist/esm/index.js +0 -28
  517. package/dist/esm/index.js.map +0 -1
  518. package/dist/esm/init.js +0 -4
  519. package/dist/esm/init.js.map +0 -1
  520. package/dist/esm/types/webgl.js +0 -2
  521. package/dist/esm/types/webgl.js.map +0 -1
  522. package/dist/esm/types.js +0 -2
  523. package/dist/esm/types.js.map +0 -1
  524. package/dist/index.js.map +0 -1
  525. package/dist/init.d.ts +0 -2
  526. package/dist/init.d.ts.map +0 -1
  527. package/dist/init.js +0 -4
  528. package/dist/init.js.map +0 -1
  529. package/dist/types/webgl.d.ts +0 -145
  530. package/dist/types/webgl.d.ts.map +0 -1
  531. package/dist/types/webgl.js +0 -2
  532. package/dist/types/webgl.js.map +0 -1
  533. package/dist/types.js.map +0 -1
  534. package/src/adapter/converters/renderbuffer-formats.ts +0 -92
  535. package/src/adapter/device-helpers/device-features.ts +0 -158
  536. package/src/adapter/device-helpers/device-limits.ts +0 -153
  537. package/src/adapter/device-helpers/get-device-info.ts +0 -49
  538. package/src/adapter/device-helpers/is-old-ie.ts +0 -11
  539. package/src/adapter/helpers/attribute-utils.ts +0 -61
  540. package/src/adapter/objects/webgl-vertex-array-object.ts +0 -111
  541. package/src/bundle.ts +0 -4
  542. package/src/classic/buffer.ts +0 -474
  543. package/src/context/context/context-state.ts +0 -41
  544. package/src/context/context/create-browser-context.ts +0 -118
  545. package/src/context/context/create-headless-context.ts +0 -48
  546. package/src/context/context/device-pixels.ts +0 -158
  547. package/src/context/context/webgl-checks.ts +0 -49
  548. package/src/context/polyfill/get-parameter-polyfill.ts +0 -118
  549. package/src/context/polyfill/polyfill-context.ts +0 -97
  550. package/src/context/polyfill/polyfill-table.ts +0 -162
  551. package/src/context/polyfill/polyfill-vertex-array-object.ts +0 -360
  552. package/src/init.ts +0 -4
  553. package/src/types/webgl.ts +0 -284
@@ -1,360 +0,0 @@
1
- /*
2
- ** Copyright (c) 2015 The Khronos Group Inc.
3
- **
4
- ** Permission is hereby granted, free of charge, to any person obtaining a
5
- ** copy of this software and/or associated documentation files (the
6
- ** "Materials"), to deal in the Materials without restriction, including
7
- ** without limitation the rights to use, copy, modify, merge, publish,
8
- ** distribute, sublicense, and/or sell copies of the Materials, and to
9
- ** permit persons to whom the Materials are furnished to do so, subject to
10
- ** the following conditions:
11
- **
12
- ** The above copyright notice and this permission notice shall be included
13
- ** in all copies or substantial portions of the Materials.
14
- **
15
- ** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
16
- ** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
17
- ** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
18
- ** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
19
- ** CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
20
- ** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
21
- ** MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
22
- */
23
-
24
- // Modified to use ES6 and polyfill a provided context rather than
25
- // the global class.
26
-
27
- // @ts-nocheck external code
28
-
29
- const glErrorShadow = {};
30
-
31
- function error(msg) {
32
- if (globalThis.console && globalThis.console.error) {
33
- globalThis.console.error(msg);
34
- }
35
- }
36
-
37
- function log(msg) {
38
- if (globalThis.console && globalThis.console.log) {
39
- globalThis.console.log(msg);
40
- }
41
- }
42
-
43
- function synthesizeGLError(err, opt_msg) {
44
- glErrorShadow[err] = true;
45
- if (opt_msg !== undefined) {
46
- error(opt_msg);
47
- }
48
- }
49
-
50
- function wrapGLError(gl) {
51
- const f = gl.getError;
52
- gl.getError = function getError() {
53
- let err;
54
- do {
55
- err = f.apply(gl);
56
- if (err !== gl.NO_ERROR) {
57
- glErrorShadow[err] = true;
58
- }
59
- } while (err !== gl.NO_ERROR);
60
-
61
- for (err in glErrorShadow) {
62
- if (glErrorShadow[err]) {
63
- delete glErrorShadow[err];
64
- return parseInt(err, 10);
65
- }
66
- }
67
-
68
- return gl.NO_ERROR;
69
- };
70
- }
71
-
72
- const WebGLVertexArrayObjectOES = function WebGLVertexArrayObjectOES(ext) {
73
- const gl = ext.gl;
74
-
75
- this.ext = ext;
76
- this.isAlive = true;
77
- this.hasBeenBound = false;
78
-
79
- this.elementArrayBuffer = null;
80
- this.attribs = new Array(ext.maxVertexAttribs);
81
- for (let n = 0; n < this.attribs.length; n++) {
82
- const attrib = new WebGLVertexArrayObjectOES.VertexAttrib(gl);
83
- this.attribs[n] = attrib;
84
- }
85
-
86
- this.maxAttrib = 0;
87
- };
88
-
89
- WebGLVertexArrayObjectOES.VertexAttrib = function VertexAttrib(gl) {
90
- this.enabled = false;
91
- this.buffer = null;
92
- this.size = 4;
93
- this.type = gl.FLOAT;
94
- this.normalized = false;
95
- this.stride = 16;
96
- this.offset = 0;
97
-
98
- this.cached = '';
99
- this.recache();
100
- };
101
- WebGLVertexArrayObjectOES.VertexAttrib.prototype.recache = function recache() {
102
- this.cached = [this.size, this.type, this.normalized, this.stride, this.offset].join(':');
103
- };
104
-
105
- const OESVertexArrayObject = function OESVertexArrayObject(gl) {
106
- const self = this;
107
- this.gl = gl;
108
-
109
- wrapGLError(gl);
110
-
111
- const original = (this.original = {
112
- getParameter: gl.getParameter,
113
- enableVertexAttribArray: gl.enableVertexAttribArray,
114
- disableVertexAttribArray: gl.disableVertexAttribArray,
115
- bindBuffer: gl.bindBuffer,
116
- getVertexAttrib: gl.getVertexAttrib,
117
- vertexAttribPointer: gl.vertexAttribPointer
118
- });
119
-
120
- gl.getParameter = function getParameter(pname) {
121
- if (pname === self.VERTEX_ARRAY_BINDING_OES) {
122
- if (self.currentVertexArrayObject === self.defaultVertexArrayObject) {
123
- return null;
124
- }
125
- return self.currentVertexArrayObject;
126
- }
127
- return original.getParameter.apply(this, arguments);
128
- };
129
-
130
- gl.enableVertexAttribArray = function enableVertexAttribArray(index) {
131
- const vao = self.currentVertexArrayObject;
132
- vao.maxAttrib = Math.max(vao.maxAttrib, index);
133
- const attrib = vao.attribs[index];
134
- attrib.enabled = true;
135
- return original.enableVertexAttribArray.apply(this, arguments);
136
- };
137
- gl.disableVertexAttribArray = function disableVertexAttribArray(index) {
138
- const vao = self.currentVertexArrayObject;
139
- vao.maxAttrib = Math.max(vao.maxAttrib, index);
140
- const attrib = vao.attribs[index];
141
- attrib.enabled = false;
142
- return original.disableVertexAttribArray.apply(this, arguments);
143
- };
144
-
145
- gl.bindBuffer = function bindBuffer(target, buffer) {
146
- switch (target) {
147
- case gl.ARRAY_BUFFER:
148
- self.currentArrayBuffer = buffer;
149
- break;
150
- case gl.ELEMENT_ARRAY_BUFFER:
151
- self.currentVertexArrayObject.elementArrayBuffer = buffer;
152
- break;
153
- default:
154
- }
155
- return original.bindBuffer.apply(this, arguments);
156
- };
157
-
158
- gl.getVertexAttrib = function getVertexAttrib(index, pname) {
159
- const vao = self.currentVertexArrayObject;
160
- const attrib = vao.attribs[index];
161
- switch (pname) {
162
- case gl.VERTEX_ATTRIB_ARRAY_BUFFER_BINDING:
163
- return attrib.buffer;
164
- case gl.VERTEX_ATTRIB_ARRAY_ENABLED:
165
- return attrib.enabled;
166
- case gl.VERTEX_ATTRIB_ARRAY_SIZE:
167
- return attrib.size;
168
- case gl.VERTEX_ATTRIB_ARRAY_STRIDE:
169
- return attrib.stride;
170
- case gl.VERTEX_ATTRIB_ARRAY_TYPE:
171
- return attrib.type;
172
- case gl.VERTEX_ATTRIB_ARRAY_NORMALIZED:
173
- return attrib.normalized;
174
- default:
175
- return original.getVertexAttrib.apply(this, arguments);
176
- }
177
- };
178
-
179
- // eslint-disable-next-line max-params
180
- gl.vertexAttribPointer = function vertexAttribPointer(
181
- indx,
182
- size,
183
- type,
184
- normalized,
185
- stride,
186
- offset
187
- ) {
188
- const vao = self.currentVertexArrayObject;
189
- vao.maxAttrib = Math.max(vao.maxAttrib, indx);
190
- const attrib = vao.attribs[indx];
191
- attrib.buffer = self.currentArrayBuffer;
192
- attrib.size = size;
193
- attrib.type = type;
194
- attrib.normalized = normalized;
195
- attrib.stride = stride;
196
- attrib.offset = offset;
197
- attrib.recache();
198
- return original.vertexAttribPointer.apply(this, arguments);
199
- };
200
-
201
- if (gl.instrumentExtension) {
202
- gl.instrumentExtension(this, 'OES_vertex_array_object');
203
- }
204
-
205
- // undefined for headless gl
206
- if (gl.canvas) {
207
- gl.canvas.addEventListener(
208
- 'webglcontextrestored',
209
- () => {
210
- log('OESVertexArrayObject emulation library context restored');
211
- self.reset_();
212
- },
213
- true
214
- );
215
- }
216
-
217
- this.reset_();
218
- };
219
-
220
- OESVertexArrayObject.prototype.VERTEX_ARRAY_BINDING_OES = 0x85b5;
221
-
222
- OESVertexArrayObject.prototype.reset_ = function reset_() {
223
- const contextWasLost = this.vertexArrayObjects !== undefined;
224
- if (contextWasLost) {
225
- for (let ii = 0; ii < this.vertexArrayObjects.length; ++ii) {
226
- this.vertexArrayObjects.isAlive = false;
227
- }
228
- }
229
- const gl = this.gl;
230
- this.maxVertexAttribs = gl.getParameter(gl.MAX_VERTEX_ATTRIBS);
231
-
232
- this.defaultVertexArrayObject = new WebGLVertexArrayObjectOES(this);
233
- this.currentVertexArrayObject = null;
234
- this.currentArrayBuffer = null;
235
- this.vertexArrayObjects = [this.defaultVertexArrayObject];
236
-
237
- this.bindVertexArrayOES(null);
238
- };
239
-
240
- OESVertexArrayObject.prototype.createVertexArrayOES = function createVertexArrayOES() {
241
- const arrayObject = new WebGLVertexArrayObjectOES(this);
242
- this.vertexArrayObjects.push(arrayObject);
243
- return arrayObject;
244
- };
245
-
246
- OESVertexArrayObject.prototype.deleteVertexArrayOES = function deleteVertexArrayOES(arrayObject) {
247
- arrayObject.isAlive = false;
248
- this.vertexArrayObjects.splice(this.vertexArrayObjects.indexOf(arrayObject), 1);
249
- if (this.currentVertexArrayObject === arrayObject) {
250
- this.bindVertexArrayOES(null);
251
- }
252
- };
253
-
254
- OESVertexArrayObject.prototype.isVertexArrayOES = function isVertexArrayOES(arrayObject) {
255
- if (arrayObject && arrayObject instanceof WebGLVertexArrayObjectOES) {
256
- if (arrayObject.hasBeenBound && arrayObject.ext === this) {
257
- return true;
258
- }
259
- }
260
- return false;
261
- };
262
-
263
- OESVertexArrayObject.prototype.bindVertexArrayOES = function bindVertexArrayOES(arrayObject) {
264
- const gl = this.gl;
265
- if (arrayObject && !arrayObject.isAlive) {
266
- synthesizeGLError(
267
- gl.INVALID_OPERATION,
268
- 'bindVertexArrayOES: attempt to bind deleted arrayObject'
269
- );
270
- return;
271
- }
272
- const original = this.original;
273
-
274
- const oldVAO = this.currentVertexArrayObject;
275
- this.currentVertexArrayObject = arrayObject || this.defaultVertexArrayObject;
276
- this.currentVertexArrayObject.hasBeenBound = true;
277
- const newVAO = this.currentVertexArrayObject;
278
-
279
- if (oldVAO === newVAO) {
280
- return;
281
- }
282
-
283
- if (!oldVAO || newVAO.elementArrayBuffer !== oldVAO.elementArrayBuffer) {
284
- original.bindBuffer.call(gl, gl.ELEMENT_ARRAY_BUFFER, newVAO.elementArrayBuffer);
285
- }
286
-
287
- let currentBinding = this.currentArrayBuffer;
288
- const maxAttrib = Math.max(oldVAO ? oldVAO.maxAttrib : 0, newVAO.maxAttrib);
289
- for (let n = 0; n <= maxAttrib; n++) {
290
- const attrib = newVAO.attribs[n];
291
- const oldAttrib = oldVAO ? oldVAO.attribs[n] : null;
292
-
293
- if (!oldVAO || attrib.enabled !== oldAttrib.enabled) {
294
- if (attrib.enabled) {
295
- original.enableVertexAttribArray.call(gl, n);
296
- } else {
297
- original.disableVertexAttribArray.call(gl, n);
298
- }
299
- }
300
-
301
- if (attrib.enabled) {
302
- let bufferChanged = false;
303
- if (!oldVAO || attrib.buffer !== oldAttrib.buffer) {
304
- if (currentBinding !== attrib.buffer) {
305
- original.bindBuffer.call(gl, gl.ARRAY_BUFFER, attrib.buffer);
306
- currentBinding = attrib.buffer;
307
- }
308
- bufferChanged = true;
309
- }
310
-
311
- if (bufferChanged || attrib.cached !== oldAttrib.cached) {
312
- original.vertexAttribPointer.call(
313
- gl,
314
- n,
315
- attrib.size,
316
- attrib.type,
317
- attrib.normalized,
318
- attrib.stride,
319
- attrib.offset
320
- );
321
- }
322
- }
323
- }
324
-
325
- if (this.currentArrayBuffer !== currentBinding) {
326
- original.bindBuffer.call(gl, gl.ARRAY_BUFFER, this.currentArrayBuffer);
327
- }
328
- };
329
-
330
- export function polyfillVertexArrayObject(gl) {
331
- if (typeof gl.createVertexArray === 'function') {
332
- // VAOs directly supported on object (i.e. WebGL 2 context)
333
- return;
334
- }
335
-
336
- const original_getSupportedExtensions = gl.getSupportedExtensions;
337
- gl.getSupportedExtensions = function getSupportedExtensions() {
338
- const list = original_getSupportedExtensions.call(this) || [];
339
- if (list.indexOf('OES_vertex_array_object') < 0) {
340
- list.push('OES_vertex_array_object');
341
- }
342
- return list;
343
- };
344
-
345
- const original_getExtension = gl.getExtension;
346
- gl.getExtension = function getExtension(name) {
347
- const ext = original_getExtension.call(this, name);
348
- if (ext) {
349
- return ext;
350
- }
351
- if (name !== 'OES_vertex_array_object') {
352
- return null;
353
- }
354
-
355
- if (!gl.__OESVertexArrayObject) {
356
- this.__OESVertexArrayObject = new OESVertexArrayObject(this);
357
- }
358
- return this.__OESVertexArrayObject;
359
- };
360
- }
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 GLSamplerParameters = {
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] | 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;