@luma.gl/webgl 8.6.0-alpha.4 → 9.0.0-alpha.3

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 (749) hide show
  1. package/README.md +3 -67
  2. package/dist/adapter/converters/device-parameters.d.ts +17 -0
  3. package/dist/adapter/converters/device-parameters.d.ts.map +1 -0
  4. package/dist/adapter/converters/{set-device-parameters.js → device-parameters.js} +36 -5
  5. package/dist/adapter/converters/device-parameters.js.map +1 -0
  6. package/dist/{classes → adapter/converters}/renderbuffer-formats.d.ts +0 -0
  7. package/dist/adapter/converters/renderbuffer-formats.d.ts.map +1 -0
  8. package/dist/{classes → adapter/converters}/renderbuffer-formats.js +1 -1
  9. package/dist/adapter/converters/renderbuffer-formats.js.map +1 -0
  10. package/dist/adapter/converters/sampler-parameters.d.ts +19 -0
  11. package/dist/adapter/converters/sampler-parameters.d.ts.map +1 -0
  12. package/dist/adapter/converters/sampler-parameters.js +208 -0
  13. package/dist/adapter/converters/sampler-parameters.js.map +1 -0
  14. package/dist/adapter/converters/texture-formats.d.ts +93 -0
  15. package/dist/adapter/converters/texture-formats.d.ts.map +1 -0
  16. package/dist/adapter/converters/texture-formats.js +954 -0
  17. package/dist/adapter/converters/texture-formats.js.map +1 -0
  18. package/dist/adapter/converters/vertex-formats.d.ts +4 -0
  19. package/dist/adapter/converters/vertex-formats.d.ts.map +1 -0
  20. package/dist/adapter/converters/vertex-formats.js +35 -0
  21. package/dist/adapter/converters/vertex-formats.js.map +1 -0
  22. package/dist/adapter/device-helpers/device-features.d.ts +3 -6
  23. package/dist/adapter/device-helpers/device-features.d.ts.map +1 -1
  24. package/dist/adapter/device-helpers/device-features.js +27 -48
  25. package/dist/adapter/device-helpers/device-features.js.map +1 -1
  26. package/dist/adapter/device-helpers/device-limits.d.ts +1 -0
  27. package/dist/adapter/device-helpers/device-limits.d.ts.map +1 -1
  28. package/dist/adapter/device-helpers/device-limits.js +1 -0
  29. package/dist/adapter/device-helpers/device-limits.js.map +1 -1
  30. package/dist/adapter/device-helpers/get-device-info.js +7 -7
  31. package/dist/adapter/device-helpers/get-device-info.js.map +1 -1
  32. package/dist/adapter/helpers/attribute-utils.d.ts +11 -0
  33. package/dist/adapter/helpers/attribute-utils.d.ts.map +1 -0
  34. package/dist/adapter/helpers/attribute-utils.js +81 -0
  35. package/dist/adapter/helpers/attribute-utils.js.map +1 -0
  36. package/dist/adapter/helpers/get-shader-layout.d.ts +55 -0
  37. package/dist/adapter/helpers/get-shader-layout.d.ts.map +1 -0
  38. package/dist/adapter/helpers/get-shader-layout.js +306 -0
  39. package/dist/adapter/helpers/get-shader-layout.js.map +1 -0
  40. package/dist/{webgl-utils → adapter/helpers}/parse-shader-compiler-log.d.ts +0 -0
  41. package/dist/adapter/helpers/parse-shader-compiler-log.d.ts.map +1 -0
  42. package/dist/{esm/webgl-utils → adapter/helpers}/parse-shader-compiler-log.js +0 -0
  43. package/dist/adapter/helpers/parse-shader-compiler-log.js.map +1 -0
  44. package/dist/adapter/helpers/set-uniform.d.ts +4 -0
  45. package/dist/adapter/helpers/set-uniform.d.ts.map +1 -0
  46. package/dist/adapter/helpers/set-uniform.js +115 -0
  47. package/dist/adapter/helpers/set-uniform.js.map +1 -0
  48. package/dist/adapter/helpers/uniforms.d.ts +26 -0
  49. package/dist/adapter/helpers/uniforms.d.ts.map +1 -0
  50. package/dist/adapter/helpers/uniforms.js +99 -0
  51. package/dist/adapter/helpers/uniforms.js.map +1 -0
  52. package/dist/adapter/objects/constants-to-keys.d.ts +5 -0
  53. package/dist/adapter/objects/constants-to-keys.d.ts.map +1 -0
  54. package/dist/{esm/webgl-utils → adapter/objects}/constants-to-keys.js +1 -0
  55. package/dist/adapter/objects/constants-to-keys.js.map +1 -0
  56. package/dist/adapter/objects/webgl-renderbuffer.d.ts +40 -0
  57. package/dist/adapter/objects/webgl-renderbuffer.d.ts.map +1 -0
  58. package/dist/{esm/classes/renderbuffer.js → adapter/objects/webgl-renderbuffer.js} +38 -72
  59. package/dist/adapter/objects/webgl-renderbuffer.js.map +1 -0
  60. package/dist/{classes → adapter/objects}/webgl-resource.d.ts +15 -14
  61. package/dist/adapter/objects/webgl-resource.d.ts.map +1 -0
  62. package/dist/{classes → adapter/objects}/webgl-resource.js +7 -3
  63. package/dist/adapter/objects/webgl-resource.js.map +1 -0
  64. package/dist/adapter/objects/webgl-vertex-array-object.d.ts +27 -0
  65. package/dist/adapter/objects/webgl-vertex-array-object.d.ts.map +1 -0
  66. package/dist/adapter/objects/webgl-vertex-array-object.js +84 -0
  67. package/dist/adapter/objects/webgl-vertex-array-object.js.map +1 -0
  68. package/dist/adapter/resources/webgl-buffer.d.ts +27 -0
  69. package/dist/adapter/resources/webgl-buffer.d.ts.map +1 -0
  70. package/dist/adapter/resources/webgl-buffer.js +164 -0
  71. package/dist/adapter/resources/webgl-buffer.js.map +1 -0
  72. package/dist/adapter/resources/webgl-command-buffer.d.ts +25 -0
  73. package/dist/adapter/resources/webgl-command-buffer.d.ts.map +1 -0
  74. package/dist/adapter/resources/webgl-command-buffer.js +65 -0
  75. package/dist/adapter/resources/webgl-command-buffer.js.map +1 -0
  76. package/dist/adapter/resources/webgl-command-encoder.d.ts +18 -0
  77. package/dist/adapter/resources/webgl-command-encoder.d.ts.map +1 -0
  78. package/dist/adapter/resources/webgl-command-encoder.js +53 -0
  79. package/dist/adapter/resources/webgl-command-encoder.js.map +1 -0
  80. package/dist/adapter/resources/webgl-external-texture.d.ts +1 -0
  81. package/dist/adapter/resources/webgl-external-texture.d.ts.map +1 -0
  82. package/dist/adapter/resources/webgl-external-texture.js +2 -0
  83. package/dist/{es5/helpers/program-bindings.js.map → adapter/resources/webgl-external-texture.js.map} +1 -1
  84. package/dist/adapter/resources/webgl-framebuffer.d.ts +40 -0
  85. package/dist/adapter/resources/webgl-framebuffer.d.ts.map +1 -0
  86. package/dist/adapter/resources/webgl-framebuffer.js +265 -0
  87. package/dist/adapter/resources/webgl-framebuffer.js.map +1 -0
  88. package/dist/adapter/resources/webgl-render-pass.d.ts +11 -0
  89. package/dist/adapter/resources/webgl-render-pass.d.ts.map +1 -0
  90. package/dist/adapter/resources/webgl-render-pass.js +19 -0
  91. package/dist/adapter/resources/webgl-render-pass.js.map +1 -0
  92. package/dist/adapter/resources/webgl-render-pipeline.d.ts +55 -0
  93. package/dist/adapter/resources/webgl-render-pipeline.d.ts.map +1 -0
  94. package/dist/adapter/resources/webgl-render-pipeline.js +400 -0
  95. package/dist/adapter/resources/webgl-render-pipeline.js.map +1 -0
  96. package/dist/adapter/resources/webgl-sampler.d.ts +20 -0
  97. package/dist/adapter/resources/webgl-sampler.d.ts.map +1 -0
  98. package/dist/adapter/resources/webgl-sampler.js +50 -0
  99. package/dist/adapter/resources/webgl-sampler.js.map +1 -0
  100. package/dist/adapter/{webgl-shader.d.ts → resources/webgl-shader.d.ts} +3 -6
  101. package/dist/adapter/resources/webgl-shader.d.ts.map +1 -0
  102. package/dist/{esm/adapter → adapter/resources}/webgl-shader.js +13 -20
  103. package/dist/adapter/resources/webgl-shader.js.map +1 -0
  104. package/dist/adapter/resources/webgl-texture.d.ts +193 -0
  105. package/dist/adapter/resources/webgl-texture.d.ts.map +1 -0
  106. package/dist/{classes/texture.js → adapter/resources/webgl-texture.js} +274 -229
  107. package/dist/adapter/resources/webgl-texture.js.map +1 -0
  108. package/dist/adapter/webgl-canvas-context.d.ts +36 -0
  109. package/dist/adapter/webgl-canvas-context.d.ts.map +1 -0
  110. package/dist/adapter/webgl-canvas-context.js +54 -0
  111. package/dist/adapter/webgl-canvas-context.js.map +1 -0
  112. package/dist/adapter/webgl-device.d.ts +58 -77
  113. package/dist/adapter/webgl-device.d.ts.map +1 -1
  114. package/dist/adapter/webgl-device.js +185 -113
  115. package/dist/adapter/webgl-device.js.map +1 -1
  116. package/dist/classic/accessor.d.ts +32 -0
  117. package/dist/classic/accessor.d.ts.map +1 -0
  118. package/dist/{classes → classic}/accessor.js +33 -1
  119. package/dist/classic/accessor.js.map +1 -0
  120. package/dist/{classes/webgl-buffer.d.ts → classic/buffer.d.ts} +28 -33
  121. package/dist/classic/buffer.d.ts.map +1 -0
  122. package/dist/{classes/webgl-buffer.js → classic/buffer.js} +53 -51
  123. package/dist/classic/buffer.js.map +1 -0
  124. package/dist/{webgl-utils → classic}/typed-array-utils.d.ts +3 -2
  125. package/dist/classic/typed-array-utils.d.ts.map +1 -0
  126. package/dist/{esm/webgl-utils → classic}/typed-array-utils.js +0 -0
  127. package/dist/classic/typed-array-utils.js.map +1 -0
  128. package/dist/context/context/context-state.d.ts.map +1 -1
  129. package/dist/context/context/context-state.js +1 -1
  130. package/dist/context/context/context-state.js.map +1 -1
  131. package/dist/context/context/create-context.d.ts +1 -0
  132. package/dist/context/context/create-context.d.ts.map +1 -1
  133. package/dist/context/context/create-context.js +12 -0
  134. package/dist/context/context/create-context.js.map +1 -1
  135. package/dist/context/context/device-pixels.d.ts +1 -1
  136. package/dist/context/context/device-pixels.d.ts.map +1 -1
  137. package/dist/context/context/device-pixels.js.map +1 -1
  138. package/dist/context/debug/spector.d.ts +18 -0
  139. package/dist/context/debug/spector.d.ts.map +1 -0
  140. package/dist/context/debug/spector.js +76 -0
  141. package/dist/context/debug/spector.js.map +1 -0
  142. package/dist/context/debug/webgl-developer-tools.d.ts +19 -0
  143. package/dist/context/debug/webgl-developer-tools.d.ts.map +1 -0
  144. package/dist/context/debug/webgl-developer-tools.js +121 -0
  145. package/dist/context/debug/webgl-developer-tools.js.map +1 -0
  146. package/dist/context/parameters/unified-parameter-api.d.ts +3 -2
  147. package/dist/context/parameters/unified-parameter-api.d.ts.map +1 -1
  148. package/dist/context/parameters/unified-parameter-api.js +4 -4
  149. package/dist/context/parameters/unified-parameter-api.js.map +1 -1
  150. package/dist/context/parameters/webgl-parameter-tables.d.ts +40 -36
  151. package/dist/context/parameters/webgl-parameter-tables.d.ts.map +1 -1
  152. package/dist/context/parameters/webgl-parameter-tables.js.map +1 -1
  153. package/dist/context/polyfill/get-parameter-polyfill.js.map +1 -1
  154. package/dist/context/polyfill/polyfill-context.js +4 -3
  155. package/dist/context/polyfill/polyfill-context.js.map +1 -1
  156. package/dist/context/state-tracker/deep-array-equal.d.ts.map +1 -1
  157. package/dist/context/state-tracker/deep-array-equal.js.map +1 -1
  158. package/dist/context/state-tracker/track-context-state.d.ts.map +1 -1
  159. package/dist/context/state-tracker/track-context-state.js +25 -11
  160. package/dist/context/state-tracker/track-context-state.js.map +1 -1
  161. package/dist/es5/adapter/converters/{set-device-parameters.js → device-parameters.js} +37 -5
  162. package/dist/es5/adapter/converters/device-parameters.js.map +1 -0
  163. package/dist/es5/{classes → adapter/converters}/renderbuffer-formats.js +1 -1
  164. package/dist/es5/adapter/converters/renderbuffer-formats.js.map +1 -0
  165. package/dist/es5/adapter/converters/sampler-parameters.js +226 -0
  166. package/dist/es5/adapter/converters/sampler-parameters.js.map +1 -0
  167. package/dist/es5/adapter/converters/texture-formats.js +1031 -0
  168. package/dist/es5/adapter/converters/texture-formats.js.map +1 -0
  169. package/dist/es5/adapter/converters/vertex-formats.js +45 -0
  170. package/dist/es5/adapter/converters/vertex-formats.js.map +1 -0
  171. package/dist/es5/adapter/device-helpers/device-features.js +46 -54
  172. package/dist/es5/adapter/device-helpers/device-features.js.map +1 -1
  173. package/dist/es5/adapter/device-helpers/device-limits.js +1 -1
  174. package/dist/es5/adapter/device-helpers/device-limits.js.map +1 -1
  175. package/dist/es5/adapter/device-helpers/get-device-info.js +7 -7
  176. package/dist/es5/adapter/device-helpers/get-device-info.js.map +1 -1
  177. package/dist/es5/adapter/helpers/attribute-utils.js +91 -0
  178. package/dist/es5/adapter/helpers/attribute-utils.js.map +1 -0
  179. package/dist/es5/{helpers/get-program-bindings.js → adapter/helpers/get-shader-layout.js} +184 -87
  180. package/dist/es5/adapter/helpers/get-shader-layout.js.map +1 -0
  181. package/dist/es5/{webgl-utils → adapter/helpers}/parse-shader-compiler-log.js +0 -0
  182. package/dist/es5/adapter/helpers/parse-shader-compiler-log.js.map +1 -0
  183. package/dist/es5/adapter/helpers/set-uniform.js +125 -0
  184. package/dist/es5/adapter/helpers/set-uniform.js.map +1 -0
  185. package/dist/es5/adapter/helpers/uniforms.js +112 -0
  186. package/dist/es5/adapter/helpers/uniforms.js.map +1 -0
  187. package/dist/es5/{webgl-utils → adapter/objects}/constants-to-keys.js +1 -0
  188. package/dist/es5/adapter/objects/constants-to-keys.js.map +1 -0
  189. package/dist/es5/{classes/renderbuffer.js → adapter/objects/webgl-renderbuffer.js} +48 -98
  190. package/dist/es5/adapter/objects/webgl-renderbuffer.js.map +1 -0
  191. package/dist/es5/{classes → adapter/objects}/webgl-resource.js +8 -3
  192. package/dist/es5/adapter/objects/webgl-resource.js.map +1 -0
  193. package/dist/es5/adapter/objects/webgl-vertex-array-object.js +137 -0
  194. package/dist/es5/adapter/objects/webgl-vertex-array-object.js.map +1 -0
  195. package/dist/es5/adapter/resources/webgl-buffer.js +243 -0
  196. package/dist/es5/adapter/resources/webgl-buffer.js.map +1 -0
  197. package/dist/es5/adapter/resources/webgl-command-buffer.js +96 -0
  198. package/dist/es5/adapter/resources/webgl-command-buffer.js.map +1 -0
  199. package/dist/es5/adapter/resources/webgl-command-encoder.js +98 -0
  200. package/dist/es5/adapter/resources/webgl-command-encoder.js.map +1 -0
  201. package/dist/es5/adapter/resources/webgl-external-texture.js +2 -0
  202. package/dist/{esm/helpers/program-bindings.js.map → es5/adapter/resources/webgl-external-texture.js.map} +1 -1
  203. package/dist/es5/adapter/resources/webgl-framebuffer.js +345 -0
  204. package/dist/es5/adapter/resources/webgl-framebuffer.js.map +1 -0
  205. package/dist/es5/{classes/texture-2d.js → adapter/resources/webgl-render-pass.js} +25 -45
  206. package/dist/es5/adapter/resources/webgl-render-pass.js.map +1 -0
  207. package/dist/es5/adapter/resources/webgl-render-pipeline.js +505 -0
  208. package/dist/es5/adapter/resources/webgl-render-pipeline.js.map +1 -0
  209. package/dist/es5/adapter/resources/webgl-sampler.js +96 -0
  210. package/dist/es5/adapter/resources/webgl-sampler.js.map +1 -0
  211. package/dist/es5/adapter/{webgl-shader.js → resources/webgl-shader.js} +12 -18
  212. package/dist/es5/adapter/resources/webgl-shader.js.map +1 -0
  213. package/dist/es5/{classes/texture.js → adapter/resources/webgl-texture.js} +336 -260
  214. package/dist/es5/adapter/resources/webgl-texture.js.map +1 -0
  215. package/dist/es5/adapter/webgl-canvas-context.js +97 -0
  216. package/dist/es5/adapter/webgl-canvas-context.js.map +1 -0
  217. package/dist/es5/adapter/webgl-device.js +255 -135
  218. package/dist/es5/adapter/webgl-device.js.map +1 -1
  219. package/dist/es5/{classes → classic}/accessor.js +25 -1
  220. package/dist/es5/classic/accessor.js.map +1 -0
  221. package/dist/es5/{classes/webgl-buffer.js → classic/buffer.js} +74 -66
  222. package/dist/es5/classic/buffer.js.map +1 -0
  223. package/dist/es5/{webgl-utils → classic}/typed-array-utils.js +0 -0
  224. package/dist/es5/classic/typed-array-utils.js.map +1 -0
  225. package/dist/es5/context/context/context-state.js +1 -1
  226. package/dist/es5/context/context/context-state.js.map +1 -1
  227. package/dist/es5/context/context/create-context.js +12 -0
  228. package/dist/es5/context/context/create-context.js.map +1 -1
  229. package/dist/es5/context/context/device-pixels.js.map +1 -1
  230. package/dist/es5/context/debug/spector.js +133 -0
  231. package/dist/es5/context/debug/spector.js.map +1 -0
  232. package/dist/es5/context/debug/webgl-developer-tools.js +198 -0
  233. package/dist/es5/context/debug/webgl-developer-tools.js.map +1 -0
  234. package/dist/es5/context/parameters/unified-parameter-api.js +7 -5
  235. package/dist/es5/context/parameters/unified-parameter-api.js.map +1 -1
  236. package/dist/es5/context/parameters/webgl-parameter-tables.js.map +1 -1
  237. package/dist/es5/context/polyfill/get-parameter-polyfill.js.map +1 -1
  238. package/dist/es5/context/polyfill/polyfill-context.js +4 -3
  239. package/dist/es5/context/polyfill/polyfill-context.js.map +1 -1
  240. package/dist/es5/context/state-tracker/deep-array-equal.js.map +1 -1
  241. package/dist/es5/context/state-tracker/track-context-state.js +26 -11
  242. package/dist/es5/context/state-tracker/track-context-state.js.map +1 -1
  243. package/dist/es5/index.js +65 -307
  244. package/dist/es5/index.js.map +1 -1
  245. package/dist/es5/init.js +1 -41
  246. package/dist/es5/init.js.map +1 -1
  247. package/dist/es5/{context/parameters/webgl-parameters.js → types/webgl.js} +1 -1
  248. package/dist/es5/types/webgl.js.map +1 -0
  249. package/dist/esm/adapter/converters/{set-device-parameters.js → device-parameters.js} +36 -5
  250. package/dist/esm/adapter/converters/device-parameters.js.map +1 -0
  251. package/dist/esm/{classes → adapter/converters}/renderbuffer-formats.js +1 -1
  252. package/dist/esm/adapter/converters/renderbuffer-formats.js.map +1 -0
  253. package/dist/esm/adapter/converters/sampler-parameters.js +208 -0
  254. package/dist/esm/adapter/converters/sampler-parameters.js.map +1 -0
  255. package/dist/esm/adapter/converters/texture-formats.js +954 -0
  256. package/dist/esm/adapter/converters/texture-formats.js.map +1 -0
  257. package/dist/esm/adapter/converters/vertex-formats.js +35 -0
  258. package/dist/esm/adapter/converters/vertex-formats.js.map +1 -0
  259. package/dist/esm/adapter/device-helpers/device-features.js +27 -48
  260. package/dist/esm/adapter/device-helpers/device-features.js.map +1 -1
  261. package/dist/esm/adapter/device-helpers/device-limits.js +1 -0
  262. package/dist/esm/adapter/device-helpers/device-limits.js.map +1 -1
  263. package/dist/esm/adapter/device-helpers/get-device-info.js +7 -7
  264. package/dist/esm/adapter/device-helpers/get-device-info.js.map +1 -1
  265. package/dist/esm/adapter/helpers/attribute-utils.js +81 -0
  266. package/dist/esm/adapter/helpers/attribute-utils.js.map +1 -0
  267. package/dist/esm/adapter/helpers/get-shader-layout.js +306 -0
  268. package/dist/esm/adapter/helpers/get-shader-layout.js.map +1 -0
  269. package/dist/{webgl-utils → esm/adapter/helpers}/parse-shader-compiler-log.js +0 -0
  270. package/dist/esm/adapter/helpers/parse-shader-compiler-log.js.map +1 -0
  271. package/dist/esm/adapter/helpers/set-uniform.js +115 -0
  272. package/dist/esm/adapter/helpers/set-uniform.js.map +1 -0
  273. package/dist/esm/adapter/helpers/uniforms.js +99 -0
  274. package/dist/esm/adapter/helpers/uniforms.js.map +1 -0
  275. package/dist/{webgl-utils → esm/adapter/objects}/constants-to-keys.js +1 -0
  276. package/dist/esm/adapter/objects/constants-to-keys.js.map +1 -0
  277. package/dist/{classes/renderbuffer.js → esm/adapter/objects/webgl-renderbuffer.js} +38 -72
  278. package/dist/esm/adapter/objects/webgl-renderbuffer.js.map +1 -0
  279. package/dist/esm/{classes → adapter/objects}/webgl-resource.js +7 -3
  280. package/dist/esm/adapter/objects/webgl-resource.js.map +1 -0
  281. package/dist/esm/adapter/objects/webgl-vertex-array-object.js +84 -0
  282. package/dist/esm/adapter/objects/webgl-vertex-array-object.js.map +1 -0
  283. package/dist/esm/adapter/resources/webgl-buffer.js +164 -0
  284. package/dist/esm/adapter/resources/webgl-buffer.js.map +1 -0
  285. package/dist/esm/adapter/resources/webgl-command-buffer.js +65 -0
  286. package/dist/esm/adapter/resources/webgl-command-buffer.js.map +1 -0
  287. package/dist/esm/adapter/resources/webgl-command-encoder.js +53 -0
  288. package/dist/esm/adapter/resources/webgl-command-encoder.js.map +1 -0
  289. package/dist/esm/adapter/resources/webgl-external-texture.js +2 -0
  290. package/dist/{helpers/program-bindings.js.map → esm/adapter/resources/webgl-external-texture.js.map} +1 -1
  291. package/dist/esm/adapter/resources/webgl-framebuffer.js +265 -0
  292. package/dist/esm/adapter/resources/webgl-framebuffer.js.map +1 -0
  293. package/dist/esm/adapter/resources/webgl-render-pass.js +19 -0
  294. package/dist/esm/adapter/resources/webgl-render-pass.js.map +1 -0
  295. package/dist/esm/adapter/resources/webgl-render-pipeline.js +400 -0
  296. package/dist/esm/adapter/resources/webgl-render-pipeline.js.map +1 -0
  297. package/dist/esm/adapter/resources/webgl-sampler.js +50 -0
  298. package/dist/esm/adapter/resources/webgl-sampler.js.map +1 -0
  299. package/dist/{adapter → esm/adapter/resources}/webgl-shader.js +13 -20
  300. package/dist/esm/adapter/resources/webgl-shader.js.map +1 -0
  301. package/dist/esm/{classes/texture.js → adapter/resources/webgl-texture.js} +274 -229
  302. package/dist/esm/adapter/resources/webgl-texture.js.map +1 -0
  303. package/dist/esm/adapter/webgl-canvas-context.js +54 -0
  304. package/dist/esm/adapter/webgl-canvas-context.js.map +1 -0
  305. package/dist/esm/adapter/webgl-device.js +185 -113
  306. package/dist/esm/adapter/webgl-device.js.map +1 -1
  307. package/dist/esm/{classes → classic}/accessor.js +33 -1
  308. package/dist/esm/classic/accessor.js.map +1 -0
  309. package/dist/esm/{classes/webgl-buffer.js → classic/buffer.js} +53 -51
  310. package/dist/esm/classic/buffer.js.map +1 -0
  311. package/dist/{webgl-utils → esm/classic}/typed-array-utils.js +0 -0
  312. package/dist/esm/classic/typed-array-utils.js.map +1 -0
  313. package/dist/esm/context/context/context-state.js +1 -1
  314. package/dist/esm/context/context/context-state.js.map +1 -1
  315. package/dist/esm/context/context/create-context.js +12 -0
  316. package/dist/esm/context/context/create-context.js.map +1 -1
  317. package/dist/esm/context/context/device-pixels.js.map +1 -1
  318. package/dist/esm/context/debug/spector.js +76 -0
  319. package/dist/esm/context/debug/spector.js.map +1 -0
  320. package/dist/esm/context/debug/webgl-developer-tools.js +121 -0
  321. package/dist/esm/context/debug/webgl-developer-tools.js.map +1 -0
  322. package/dist/esm/context/parameters/unified-parameter-api.js +4 -4
  323. package/dist/esm/context/parameters/unified-parameter-api.js.map +1 -1
  324. package/dist/esm/context/parameters/webgl-parameter-tables.js.map +1 -1
  325. package/dist/esm/context/polyfill/get-parameter-polyfill.js.map +1 -1
  326. package/dist/esm/context/polyfill/polyfill-context.js +4 -3
  327. package/dist/esm/context/polyfill/polyfill-context.js.map +1 -1
  328. package/dist/esm/context/state-tracker/deep-array-equal.js.map +1 -1
  329. package/dist/esm/context/state-tracker/track-context-state.js +25 -11
  330. package/dist/esm/context/state-tracker/track-context-state.js.map +1 -1
  331. package/dist/esm/index.js +19 -31
  332. package/dist/esm/index.js.map +1 -1
  333. package/dist/esm/init.js +2 -31
  334. package/dist/esm/init.js.map +1 -1
  335. package/dist/esm/types/webgl.js +2 -0
  336. package/dist/esm/types/webgl.js.map +1 -0
  337. package/dist/index.d.ts +22 -46
  338. package/dist/index.d.ts.map +1 -1
  339. package/dist/index.js +19 -31
  340. package/dist/index.js.map +1 -1
  341. package/dist/init.d.ts +1 -4
  342. package/dist/init.d.ts.map +1 -1
  343. package/dist/init.js +2 -31
  344. package/dist/init.js.map +1 -1
  345. package/dist/types/webgl.d.ts +144 -0
  346. package/dist/types/webgl.d.ts.map +1 -0
  347. package/dist/types/webgl.js +2 -0
  348. package/dist/types/webgl.js.map +1 -0
  349. package/package.json +5 -5
  350. package/src/adapter/converters/{set-device-parameters.ts → device-parameters.ts} +52 -9
  351. package/src/{classes → adapter/converters}/renderbuffer-formats.ts +1 -1
  352. package/src/adapter/converters/sampler-parameters.ts +175 -0
  353. package/src/adapter/converters/texture-formats.ts +633 -0
  354. package/src/adapter/converters/vertex-formats.ts +22 -0
  355. package/src/adapter/device-helpers/device-features.ts +46 -123
  356. package/src/adapter/device-helpers/device-limits.ts +5 -2
  357. package/src/adapter/device-helpers/get-device-info.ts +8 -8
  358. package/src/adapter/helpers/attribute-utils.ts +61 -0
  359. package/src/adapter/helpers/get-shader-layout.ts +388 -0
  360. package/src/{webgl-utils → adapter/helpers}/parse-shader-compiler-log.ts +0 -0
  361. package/src/adapter/helpers/set-uniform.ts +87 -0
  362. package/src/adapter/helpers/uniforms.ts +110 -0
  363. package/src/{webgl-utils → adapter/objects}/constants-to-keys.ts +6 -3
  364. package/src/adapter/objects/webgl-renderbuffer.ts +104 -0
  365. package/src/{classes → adapter/objects}/webgl-resource.ts +23 -17
  366. package/src/adapter/objects/webgl-vertex-array-object.ts +111 -0
  367. package/src/adapter/resources/webgl-buffer.ts +219 -0
  368. package/src/adapter/resources/webgl-command-buffer.ts +94 -0
  369. package/src/adapter/resources/webgl-command-encoder.ts +58 -0
  370. package/src/adapter/resources/webgl-external-texture.ts +92 -0
  371. package/src/adapter/resources/webgl-framebuffer.ts +279 -0
  372. package/src/adapter/resources/webgl-render-pass.ts +23 -0
  373. package/src/adapter/resources/webgl-render-pipeline.ts +413 -0
  374. package/src/adapter/resources/webgl-sampler.ts +54 -0
  375. package/src/adapter/{webgl-shader.ts → resources/webgl-shader.ts} +14 -20
  376. package/src/adapter/resources/webgl-texture.ts +1023 -0
  377. package/src/adapter/webgl-canvas-context.ts +74 -0
  378. package/src/adapter/webgl-device.ts +229 -285
  379. package/{dist/esm/classes/accessor.ts.disabled → src/classic/accessor.ts} +50 -36
  380. package/src/{classes/webgl-buffer.ts → classic/buffer.ts} +69 -77
  381. package/src/{webgl-utils → classic}/typed-array-utils.ts +3 -1
  382. package/src/context/context/context-state.ts +4 -2
  383. package/src/context/context/create-context.ts +28 -1
  384. package/src/context/context/device-pixels.ts +9 -4
  385. package/src/context/debug/spector.ts +92 -0
  386. package/src/context/debug/webgl-developer-tools.ts +162 -0
  387. package/src/context/parameters/unified-parameter-api.ts +6 -4
  388. package/src/context/parameters/webgl-parameter-tables.ts +38 -36
  389. package/src/context/polyfill/get-parameter-polyfill.ts +1 -1
  390. package/src/context/polyfill/polyfill-context.ts +4 -3
  391. package/src/context/state-tracker/deep-array-equal.ts +1 -1
  392. package/src/context/state-tracker/track-context-state.ts +27 -20
  393. package/src/index.ts +33 -102
  394. package/src/init.ts +2 -46
  395. package/src/types/webgl.ts +283 -0
  396. package/dist/_deprecated/context-api.d.ts +0 -85
  397. package/dist/_deprecated/context-api.d.ts.map +0 -1
  398. package/dist/_deprecated/context-api.js +0 -70
  399. package/dist/_deprecated/context-api.js.map +0 -1
  400. package/dist/_deprecated/features.d.ts +0 -27
  401. package/dist/_deprecated/features.d.ts.map +0 -1
  402. package/dist/_deprecated/features.js +0 -111
  403. package/dist/_deprecated/features.js.map +0 -1
  404. package/dist/adapter/converters/set-device-parameters.d.ts +0 -5
  405. package/dist/adapter/converters/set-device-parameters.d.ts.map +0 -1
  406. package/dist/adapter/converters/set-device-parameters.js.map +0 -1
  407. package/dist/adapter/converters/webgpu-texture-formats.d.ts +0 -281
  408. package/dist/adapter/converters/webgpu-texture-formats.d.ts.map +0 -1
  409. package/dist/adapter/converters/webgpu-texture-formats.js +0 -285
  410. package/dist/adapter/converters/webgpu-texture-formats.js.map +0 -1
  411. package/dist/adapter/webgl-shader.d.ts.map +0 -1
  412. package/dist/adapter/webgl-shader.js.map +0 -1
  413. package/dist/classes/accessor.d.ts +0 -28
  414. package/dist/classes/accessor.d.ts.map +0 -1
  415. package/dist/classes/accessor.js.map +0 -1
  416. package/dist/classes/accessor.ts.disabled +0 -159
  417. package/dist/classes/clear.d.ts +0 -17
  418. package/dist/classes/clear.d.ts.map +0 -1
  419. package/dist/classes/clear.js +0 -105
  420. package/dist/classes/clear.js.map +0 -1
  421. package/dist/classes/copy-and-blit.d.ts +0 -86
  422. package/dist/classes/copy-and-blit.d.ts.map +0 -1
  423. package/dist/classes/copy-and-blit.js +0 -338
  424. package/dist/classes/copy-and-blit.js.map +0 -1
  425. package/dist/classes/framebuffer.d.ts +0 -139
  426. package/dist/classes/framebuffer.d.ts.map +0 -1
  427. package/dist/classes/framebuffer.js +0 -656
  428. package/dist/classes/framebuffer.js.map +0 -1
  429. package/dist/classes/program-configuration.d.ts +0 -24
  430. package/dist/classes/program-configuration.d.ts.map +0 -1
  431. package/dist/classes/program-configuration.js +0 -73
  432. package/dist/classes/program-configuration.js.map +0 -1
  433. package/dist/classes/program.d.ts +0 -66
  434. package/dist/classes/program.d.ts.map +0 -1
  435. package/dist/classes/program.js +0 -379
  436. package/dist/classes/program.js.map +0 -1
  437. package/dist/classes/query.d.ts +0 -27
  438. package/dist/classes/query.d.ts.map +0 -1
  439. package/dist/classes/query.js +0 -145
  440. package/dist/classes/query.js.map +0 -1
  441. package/dist/classes/renderbuffer-formats.d.ts.map +0 -1
  442. package/dist/classes/renderbuffer-formats.js.map +0 -1
  443. package/dist/classes/renderbuffer.d.ts +0 -60
  444. package/dist/classes/renderbuffer.d.ts.map +0 -1
  445. package/dist/classes/renderbuffer.js.map +0 -1
  446. package/dist/classes/shader.d.ts +0 -42
  447. package/dist/classes/shader.d.ts.map +0 -1
  448. package/dist/classes/shader.js +0 -118
  449. package/dist/classes/shader.js.map +0 -1
  450. package/dist/classes/texture-2d.d.ts +0 -9
  451. package/dist/classes/texture-2d.d.ts.map +0 -1
  452. package/dist/classes/texture-2d.js +0 -36
  453. package/dist/classes/texture-2d.js.map +0 -1
  454. package/dist/classes/texture-3d.d.ts +0 -29
  455. package/dist/classes/texture-3d.d.ts.map +0 -1
  456. package/dist/classes/texture-3d.js +0 -76
  457. package/dist/classes/texture-3d.js.map +0 -1
  458. package/dist/classes/texture-cube.d.ts +0 -28
  459. package/dist/classes/texture-cube.d.ts.map +0 -1
  460. package/dist/classes/texture-cube.js +0 -130
  461. package/dist/classes/texture-cube.js.map +0 -1
  462. package/dist/classes/texture-formats.d.ts +0 -37
  463. package/dist/classes/texture-formats.d.ts.map +0 -1
  464. package/dist/classes/texture-formats.js +0 -98
  465. package/dist/classes/texture-formats.js.map +0 -1
  466. package/dist/classes/texture.d.ts +0 -123
  467. package/dist/classes/texture.d.ts.map +0 -1
  468. package/dist/classes/texture.js.map +0 -1
  469. package/dist/classes/transform-feedback.d.ts +0 -33
  470. package/dist/classes/transform-feedback.d.ts.map +0 -1
  471. package/dist/classes/transform-feedback.js +0 -198
  472. package/dist/classes/transform-feedback.js.map +0 -1
  473. package/dist/classes/uniform-buffer-layout.d.ts +0 -17
  474. package/dist/classes/uniform-buffer-layout.d.ts.map +0 -1
  475. package/dist/classes/uniform-buffer-layout.js +0 -104
  476. package/dist/classes/uniform-buffer-layout.js.map +0 -1
  477. package/dist/classes/uniforms.d.ts +0 -37
  478. package/dist/classes/uniforms.d.ts.map +0 -1
  479. package/dist/classes/uniforms.js +0 -250
  480. package/dist/classes/uniforms.js.map +0 -1
  481. package/dist/classes/vertex-array-object.d.ts +0 -76
  482. package/dist/classes/vertex-array-object.d.ts.map +0 -1
  483. package/dist/classes/vertex-array-object.js +0 -261
  484. package/dist/classes/vertex-array-object.js.map +0 -1
  485. package/dist/classes/vertex-array.d.ts +0 -75
  486. package/dist/classes/vertex-array.d.ts.map +0 -1
  487. package/dist/classes/vertex-array.js +0 -408
  488. package/dist/classes/vertex-array.js.map +0 -1
  489. package/dist/classes/webgl-buffer.d.ts.map +0 -1
  490. package/dist/classes/webgl-buffer.js.map +0 -1
  491. package/dist/classes/webgl-resource.d.ts.map +0 -1
  492. package/dist/classes/webgl-resource.js.map +0 -1
  493. package/dist/context/context/get-canvas.d.ts +0 -13
  494. package/dist/context/context/get-canvas.d.ts.map +0 -1
  495. package/dist/context/context/get-canvas.js +0 -31
  496. package/dist/context/context/get-canvas.js.map +0 -1
  497. package/dist/context/context/resize-context.d.ts +0 -20
  498. package/dist/context/context/resize-context.d.ts.map +0 -1
  499. package/dist/context/context/resize-context.js +0 -15
  500. package/dist/context/context/resize-context.js.map +0 -1
  501. package/dist/context/parameters/webgl-parameters.d.ts +0 -144
  502. package/dist/context/parameters/webgl-parameters.d.ts.map +0 -1
  503. package/dist/context/parameters/webgl-parameters.js +0 -2
  504. package/dist/context/parameters/webgl-parameters.js.map +0 -1
  505. package/dist/debug/debug-program-configuration.d.ts +0 -2
  506. package/dist/debug/debug-program-configuration.d.ts.map +0 -1
  507. package/dist/debug/debug-program-configuration.js +0 -40
  508. package/dist/debug/debug-program-configuration.js.map +0 -1
  509. package/dist/debug/debug-uniforms.d.ts +0 -12
  510. package/dist/debug/debug-uniforms.d.ts.map +0 -1
  511. package/dist/debug/debug-uniforms.js +0 -108
  512. package/dist/debug/debug-uniforms.js.map +0 -1
  513. package/dist/debug/debug-vertex-array.d.ts +0 -5
  514. package/dist/debug/debug-vertex-array.d.ts.map +0 -1
  515. package/dist/debug/debug-vertex-array.js +0 -118
  516. package/dist/debug/debug-vertex-array.js.map +0 -1
  517. package/dist/es5/_deprecated/context-api.js +0 -110
  518. package/dist/es5/_deprecated/context-api.js.map +0 -1
  519. package/dist/es5/_deprecated/features.js +0 -118
  520. package/dist/es5/_deprecated/features.js.map +0 -1
  521. package/dist/es5/adapter/converters/set-device-parameters.js.map +0 -1
  522. package/dist/es5/adapter/converters/webgpu-texture-formats.js +0 -296
  523. package/dist/es5/adapter/converters/webgpu-texture-formats.js.map +0 -1
  524. package/dist/es5/adapter/webgl-shader.js.map +0 -1
  525. package/dist/es5/classes/accessor.d.ts +0 -28
  526. package/dist/es5/classes/accessor.js.map +0 -1
  527. package/dist/es5/classes/accessor.ts.disabled +0 -159
  528. package/dist/es5/classes/clear.js +0 -135
  529. package/dist/es5/classes/clear.js.map +0 -1
  530. package/dist/es5/classes/copy-and-blit.js +0 -382
  531. package/dist/es5/classes/copy-and-blit.js.map +0 -1
  532. package/dist/es5/classes/framebuffer.js +0 -807
  533. package/dist/es5/classes/framebuffer.js.map +0 -1
  534. package/dist/es5/classes/program-configuration.js +0 -119
  535. package/dist/es5/classes/program-configuration.js.map +0 -1
  536. package/dist/es5/classes/program.js +0 -471
  537. package/dist/es5/classes/program.js.map +0 -1
  538. package/dist/es5/classes/query.js +0 -222
  539. package/dist/es5/classes/query.js.map +0 -1
  540. package/dist/es5/classes/renderbuffer-formats.js.map +0 -1
  541. package/dist/es5/classes/renderbuffer.js.map +0 -1
  542. package/dist/es5/classes/shader.js +0 -195
  543. package/dist/es5/classes/shader.js.map +0 -1
  544. package/dist/es5/classes/texture-2d.js.map +0 -1
  545. package/dist/es5/classes/texture-3d.js +0 -142
  546. package/dist/es5/classes/texture-3d.js.map +0 -1
  547. package/dist/es5/classes/texture-cube.js +0 -202
  548. package/dist/es5/classes/texture-cube.js.map +0 -1
  549. package/dist/es5/classes/texture-formats.js +0 -87
  550. package/dist/es5/classes/texture-formats.js.map +0 -1
  551. package/dist/es5/classes/texture.js.map +0 -1
  552. package/dist/es5/classes/transform-feedback.js +0 -267
  553. package/dist/es5/classes/transform-feedback.js.map +0 -1
  554. package/dist/es5/classes/uniform-buffer-layout.js +0 -130
  555. package/dist/es5/classes/uniform-buffer-layout.js.map +0 -1
  556. package/dist/es5/classes/uniforms.js +0 -232
  557. package/dist/es5/classes/uniforms.js.map +0 -1
  558. package/dist/es5/classes/vertex-array-object.js +0 -337
  559. package/dist/es5/classes/vertex-array-object.js.map +0 -1
  560. package/dist/es5/classes/vertex-array.js +0 -465
  561. package/dist/es5/classes/vertex-array.js.map +0 -1
  562. package/dist/es5/classes/webgl-buffer.js.map +0 -1
  563. package/dist/es5/classes/webgl-resource.js.map +0 -1
  564. package/dist/es5/context/context/get-canvas.js +0 -40
  565. package/dist/es5/context/context/get-canvas.js.map +0 -1
  566. package/dist/es5/context/context/resize-context.js +0 -23
  567. package/dist/es5/context/context/resize-context.js.map +0 -1
  568. package/dist/es5/context/parameters/webgl-parameters.js.map +0 -1
  569. package/dist/es5/debug/debug-program-configuration.js +0 -76
  570. package/dist/es5/debug/debug-program-configuration.js.map +0 -1
  571. package/dist/es5/debug/debug-uniforms.js +0 -156
  572. package/dist/es5/debug/debug-uniforms.js.map +0 -1
  573. package/dist/es5/debug/debug-vertex-array.js +0 -126
  574. package/dist/es5/debug/debug-vertex-array.js.map +0 -1
  575. package/dist/es5/helpers/get-program-bindings.js.map +0 -1
  576. package/dist/es5/helpers/program-bindings.js +0 -2
  577. package/dist/es5/types/accessor.d.ts +0 -29
  578. package/dist/es5/webgl-utils/attribute-utils.js +0 -186
  579. package/dist/es5/webgl-utils/attribute-utils.js.map +0 -1
  580. package/dist/es5/webgl-utils/constants-to-keys.js.map +0 -1
  581. package/dist/es5/webgl-utils/format-utils.js +0 -58
  582. package/dist/es5/webgl-utils/format-utils.js.map +0 -1
  583. package/dist/es5/webgl-utils/get-error.js +0 -49
  584. package/dist/es5/webgl-utils/get-error.js.map +0 -1
  585. package/dist/es5/webgl-utils/index.js +0 -74
  586. package/dist/es5/webgl-utils/index.js.map +0 -1
  587. package/dist/es5/webgl-utils/parse-shader-compiler-log.js.map +0 -1
  588. package/dist/es5/webgl-utils/request-animation-frame.js +0 -16
  589. package/dist/es5/webgl-utils/request-animation-frame.js.map +0 -1
  590. package/dist/es5/webgl-utils/texture-utils.js +0 -61
  591. package/dist/es5/webgl-utils/texture-utils.js.map +0 -1
  592. package/dist/es5/webgl-utils/typed-array-utils.js.map +0 -1
  593. package/dist/esm/_deprecated/context-api.js +0 -70
  594. package/dist/esm/_deprecated/context-api.js.map +0 -1
  595. package/dist/esm/_deprecated/features.js +0 -111
  596. package/dist/esm/_deprecated/features.js.map +0 -1
  597. package/dist/esm/adapter/converters/set-device-parameters.js.map +0 -1
  598. package/dist/esm/adapter/converters/webgpu-texture-formats.js +0 -285
  599. package/dist/esm/adapter/converters/webgpu-texture-formats.js.map +0 -1
  600. package/dist/esm/adapter/webgl-shader.js.map +0 -1
  601. package/dist/esm/classes/accessor.d.ts +0 -28
  602. package/dist/esm/classes/accessor.js.map +0 -1
  603. package/dist/esm/classes/clear.js +0 -105
  604. package/dist/esm/classes/clear.js.map +0 -1
  605. package/dist/esm/classes/copy-and-blit.js +0 -338
  606. package/dist/esm/classes/copy-and-blit.js.map +0 -1
  607. package/dist/esm/classes/framebuffer.js +0 -656
  608. package/dist/esm/classes/framebuffer.js.map +0 -1
  609. package/dist/esm/classes/program-configuration.js +0 -73
  610. package/dist/esm/classes/program-configuration.js.map +0 -1
  611. package/dist/esm/classes/program.js +0 -379
  612. package/dist/esm/classes/program.js.map +0 -1
  613. package/dist/esm/classes/query.js +0 -145
  614. package/dist/esm/classes/query.js.map +0 -1
  615. package/dist/esm/classes/renderbuffer-formats.js.map +0 -1
  616. package/dist/esm/classes/renderbuffer.js.map +0 -1
  617. package/dist/esm/classes/shader.js +0 -118
  618. package/dist/esm/classes/shader.js.map +0 -1
  619. package/dist/esm/classes/texture-2d.js +0 -36
  620. package/dist/esm/classes/texture-2d.js.map +0 -1
  621. package/dist/esm/classes/texture-3d.js +0 -76
  622. package/dist/esm/classes/texture-3d.js.map +0 -1
  623. package/dist/esm/classes/texture-cube.js +0 -130
  624. package/dist/esm/classes/texture-cube.js.map +0 -1
  625. package/dist/esm/classes/texture-formats.js +0 -98
  626. package/dist/esm/classes/texture-formats.js.map +0 -1
  627. package/dist/esm/classes/texture.js.map +0 -1
  628. package/dist/esm/classes/transform-feedback.js +0 -198
  629. package/dist/esm/classes/transform-feedback.js.map +0 -1
  630. package/dist/esm/classes/uniform-buffer-layout.js +0 -104
  631. package/dist/esm/classes/uniform-buffer-layout.js.map +0 -1
  632. package/dist/esm/classes/uniforms.js +0 -250
  633. package/dist/esm/classes/uniforms.js.map +0 -1
  634. package/dist/esm/classes/vertex-array-object.js +0 -261
  635. package/dist/esm/classes/vertex-array-object.js.map +0 -1
  636. package/dist/esm/classes/vertex-array.js +0 -408
  637. package/dist/esm/classes/vertex-array.js.map +0 -1
  638. package/dist/esm/classes/webgl-buffer.js.map +0 -1
  639. package/dist/esm/classes/webgl-resource.js.map +0 -1
  640. package/dist/esm/context/context/get-canvas.js +0 -31
  641. package/dist/esm/context/context/get-canvas.js.map +0 -1
  642. package/dist/esm/context/context/resize-context.js +0 -15
  643. package/dist/esm/context/context/resize-context.js.map +0 -1
  644. package/dist/esm/context/parameters/webgl-parameters.js +0 -2
  645. package/dist/esm/context/parameters/webgl-parameters.js.map +0 -1
  646. package/dist/esm/debug/debug-program-configuration.js +0 -40
  647. package/dist/esm/debug/debug-program-configuration.js.map +0 -1
  648. package/dist/esm/debug/debug-uniforms.js +0 -108
  649. package/dist/esm/debug/debug-uniforms.js.map +0 -1
  650. package/dist/esm/debug/debug-vertex-array.js +0 -118
  651. package/dist/esm/debug/debug-vertex-array.js.map +0 -1
  652. package/dist/esm/helpers/get-program-bindings.js +0 -228
  653. package/dist/esm/helpers/get-program-bindings.js.map +0 -1
  654. package/dist/esm/helpers/program-bindings.js +0 -2
  655. package/dist/esm/types/accessor.d.ts +0 -29
  656. package/dist/esm/webgl-utils/attribute-utils.js +0 -182
  657. package/dist/esm/webgl-utils/attribute-utils.js.map +0 -1
  658. package/dist/esm/webgl-utils/constants-to-keys.js.map +0 -1
  659. package/dist/esm/webgl-utils/format-utils.js +0 -45
  660. package/dist/esm/webgl-utils/format-utils.js.map +0 -1
  661. package/dist/esm/webgl-utils/get-error.js +0 -41
  662. package/dist/esm/webgl-utils/get-error.js.map +0 -1
  663. package/dist/esm/webgl-utils/index.js +0 -5
  664. package/dist/esm/webgl-utils/index.js.map +0 -1
  665. package/dist/esm/webgl-utils/parse-shader-compiler-log.js.map +0 -1
  666. package/dist/esm/webgl-utils/request-animation-frame.js +0 -7
  667. package/dist/esm/webgl-utils/request-animation-frame.js.map +0 -1
  668. package/dist/esm/webgl-utils/texture-utils.js +0 -48
  669. package/dist/esm/webgl-utils/texture-utils.js.map +0 -1
  670. package/dist/esm/webgl-utils/typed-array-utils.js.map +0 -1
  671. package/dist/helpers/get-program-bindings.d.ts +0 -8
  672. package/dist/helpers/get-program-bindings.d.ts.map +0 -1
  673. package/dist/helpers/get-program-bindings.js +0 -228
  674. package/dist/helpers/get-program-bindings.js.map +0 -1
  675. package/dist/helpers/program-bindings.d.ts +0 -41
  676. package/dist/helpers/program-bindings.d.ts.map +0 -1
  677. package/dist/helpers/program-bindings.js +0 -2
  678. package/dist/types/accessor.d.ts +0 -29
  679. package/dist/webgl-utils/attribute-utils.d.ts +0 -18
  680. package/dist/webgl-utils/attribute-utils.d.ts.map +0 -1
  681. package/dist/webgl-utils/attribute-utils.js +0 -182
  682. package/dist/webgl-utils/attribute-utils.js.map +0 -1
  683. package/dist/webgl-utils/constants-to-keys.d.ts +0 -4
  684. package/dist/webgl-utils/constants-to-keys.d.ts.map +0 -1
  685. package/dist/webgl-utils/constants-to-keys.js.map +0 -1
  686. package/dist/webgl-utils/format-utils.d.ts +0 -3
  687. package/dist/webgl-utils/format-utils.d.ts.map +0 -1
  688. package/dist/webgl-utils/format-utils.js +0 -45
  689. package/dist/webgl-utils/format-utils.js.map +0 -1
  690. package/dist/webgl-utils/get-error.d.ts +0 -3
  691. package/dist/webgl-utils/get-error.d.ts.map +0 -1
  692. package/dist/webgl-utils/get-error.js +0 -41
  693. package/dist/webgl-utils/get-error.js.map +0 -1
  694. package/dist/webgl-utils/index.d.ts +0 -5
  695. package/dist/webgl-utils/index.d.ts.map +0 -1
  696. package/dist/webgl-utils/index.js +0 -5
  697. package/dist/webgl-utils/index.js.map +0 -1
  698. package/dist/webgl-utils/parse-shader-compiler-log.d.ts.map +0 -1
  699. package/dist/webgl-utils/parse-shader-compiler-log.js.map +0 -1
  700. package/dist/webgl-utils/request-animation-frame.d.ts +0 -4
  701. package/dist/webgl-utils/request-animation-frame.d.ts.map +0 -1
  702. package/dist/webgl-utils/request-animation-frame.js +0 -7
  703. package/dist/webgl-utils/request-animation-frame.js.map +0 -1
  704. package/dist/webgl-utils/texture-utils.d.ts +0 -15
  705. package/dist/webgl-utils/texture-utils.d.ts.map +0 -1
  706. package/dist/webgl-utils/texture-utils.js +0 -48
  707. package/dist/webgl-utils/texture-utils.js.map +0 -1
  708. package/dist/webgl-utils/typed-array-utils.d.ts.map +0 -1
  709. package/dist/webgl-utils/typed-array-utils.js.map +0 -1
  710. package/src/.DS_Store +0 -0
  711. package/src/_deprecated/context-api.ts +0 -140
  712. package/src/_deprecated/features.ts +0 -159
  713. package/src/adapter/converters/webgpu-texture-formats.ts +0 -167
  714. package/src/classes/accessor.d.ts +0 -28
  715. package/src/classes/accessor.js +0 -129
  716. package/src/classes/accessor.ts.disabled +0 -159
  717. package/src/classes/clear.ts +0 -108
  718. package/src/classes/copy-and-blit.ts +0 -460
  719. package/src/classes/framebuffer.ts +0 -763
  720. package/src/classes/program-configuration.ts +0 -77
  721. package/src/classes/program.ts +0 -431
  722. package/src/classes/query.ts +0 -171
  723. package/src/classes/renderbuffer.ts +0 -154
  724. package/src/classes/shader.ts +0 -129
  725. package/src/classes/texture-2d.ts +0 -35
  726. package/src/classes/texture-3d.ts +0 -123
  727. package/src/classes/texture-cube.ts +0 -162
  728. package/src/classes/texture-formats.ts +0 -171
  729. package/src/classes/texture.ts +0 -965
  730. package/src/classes/transform-feedback.ts +0 -191
  731. package/src/classes/uniform-buffer-layout.ts +0 -113
  732. package/src/classes/uniforms.ts +0 -394
  733. package/src/classes/vertex-array-object.ts +0 -339
  734. package/src/classes/vertex-array.ts +0 -484
  735. package/src/context/context/get-canvas.ts +0 -37
  736. package/src/context/context/resize-context.ts +0 -37
  737. package/src/context/parameters/webgl-parameters.ts +0 -197
  738. package/src/debug/debug-program-configuration.ts +0 -32
  739. package/src/debug/debug-uniforms.ts +0 -100
  740. package/src/debug/debug-vertex-array.ts +0 -123
  741. package/src/helpers/get-program-bindings.ts +0 -244
  742. package/src/helpers/program-bindings.ts +0 -46
  743. package/src/types/accessor.d.ts +0 -29
  744. package/src/webgl-utils/attribute-utils.ts +0 -171
  745. package/src/webgl-utils/format-utils.ts +0 -43
  746. package/src/webgl-utils/get-error.ts +0 -56
  747. package/src/webgl-utils/index.ts +0 -12
  748. package/src/webgl-utils/request-animation-frame.ts +0 -14
  749. package/src/webgl-utils/texture-utils.ts +0 -60
package/src/index.ts CHANGED
@@ -5,71 +5,35 @@
5
5
  // Higher level abstractions can be built on these classes
6
6
 
7
7
  // Initialize any global state
8
- import './init';
8
+ import '@luma.gl/api';
9
+ import './init'
10
+
11
+ export {default as WebGLDevice} from './adapter/webgl-device';
12
+ export {default as WebGLCanvasContext} from './adapter/webgl-canvas-context';
13
+
14
+ // Legacy WebGL Classes - will be moved to gltools
15
+ export {default as Accessor} from './classic/accessor';
16
+ export type {ClassicBufferProps as BufferProps} from './classic/buffer';
17
+ export {default as Buffer} from './classic/buffer';
18
+ export {default as WEBGLResource, default as WebGLResource} from './adapter/objects/webgl-resource';
19
+ export {default as WEBGLBuffer} from './adapter/resources/webgl-buffer';
20
+ export {default as WEBGLTexture} from './adapter/resources/webgl-texture';
21
+ // export {default as WEBGLExternalTexture} from './adapter/resources/webgl-external-texture';
22
+ export {default as WEBGLShader} from './adapter/resources/webgl-shader';
23
+ export {default as WEBGLSampler} from './adapter/resources/webgl-sampler';
24
+ export {default as WEBGLFramebuffer} from './adapter/resources/webgl-framebuffer';
25
+
26
+ export {default as WEBGLRenderPipeline} from './adapter/resources/webgl-render-pipeline';
27
+
28
+ // export {default as WEBGLComputePipeline} from './adapter/resources/webgl-compute-pipeline';
29
+ export {default as WEBGLCommandEncoder} from './adapter/resources/webgl-command-encoder';
30
+ export {default as WEBGLRenderPass} from './adapter/resources/webgl-render-pass';
31
+ //export {default as WEBGLComputePass} from './adapter/resources/webgl-compute-pass';
32
+
33
+ export type {RenderbufferProps} from './adapter/objects/webgl-renderbuffer';
34
+ export {default as WEBGLRenderbuffer} from './adapter/objects/webgl-renderbuffer';
35
+ export {default as WEBGLVertexArrayObject} from './adapter/objects/webgl-vertex-array-object';
9
36
 
10
- // export type {WebGLDeviceProps, WebGLDeviceInfo, WebGPUDeviceLimits} from './lib/webgl-device';
11
- export type {WebGLDeviceProps} from './adapter/webgl-device';
12
- export {default as WebGLDevice, getWebGLDevice} from './adapter/webgl-device';
13
-
14
- // UTILS
15
- export {requestAnimationFrame, cancelAnimationFrame} from './webgl-utils/request-animation-frame';
16
-
17
- // WebGL Functions
18
- export {cloneTextureFrom} from './webgl-utils/texture-utils';
19
- export {getKeyValue, getKey} from './webgl-utils/constants-to-keys';
20
-
21
- // WebGL Helper Classes
22
- export {default as Accessor} from './classes/accessor';
23
-
24
- // WebGL1 classes
25
- export type {BufferProps} from '@luma.gl/api';
26
- export {default as Buffer} from './classes/webgl-buffer';
27
- export type {Texture2DProps} from './classes/texture-2d';
28
- export {default as Texture2D} from './classes/texture-2d';
29
- export type {TextureCubeProps} from './classes/texture-cube';
30
- export {default as TextureCube} from './classes/texture-cube';
31
-
32
- export type {ProgramProps} from './classes/program';
33
- export {default as Program} from './classes/program';
34
- export type {FramebufferProps} from './classes/framebuffer';
35
- export {default as Framebuffer} from './classes/framebuffer';
36
- export type {RenderbufferProps} from './classes/renderbuffer';
37
- export {default as Renderbuffer} from './classes/renderbuffer';
38
-
39
- // Classic luma.gl classes (For backwards compatibility)
40
- export type {ShaderProps} from './classes/shader';
41
- export {Shader, VertexShader, FragmentShader} from './classes/shader';
42
-
43
- export {clear, clearBuffer} from './classes/clear';
44
-
45
- // Copy and Blit
46
- export {
47
- readPixelsToArray,
48
- readPixelsToBuffer,
49
- copyToDataUrl,
50
- copyToImage,
51
- copyToTexture,
52
- blit
53
- } from './classes/copy-and-blit';
54
-
55
- // WebGL2 classes & Extensions
56
- export type {QueryProps} from './classes/query';
57
- export {default as Query} from './classes/query';
58
- export type {Texture3DProps} from './classes/texture-3d';
59
- export {default as Texture3D} from './classes/texture-3d';
60
- export type {TransformFeedbackProps} from './classes/transform-feedback';
61
- export {default as TransformFeedback} from './classes/transform-feedback';
62
- export type {VertexArrayObjectProps} from './classes/vertex-array-object';
63
- export {default as VertexArrayObject} from './classes/vertex-array-object';
64
- export type {VertexArrayProps} from './classes/vertex-array';
65
- export {default as VertexArray} from './classes/vertex-array';
66
- export {default as UniformBufferLayout} from './classes/uniform-buffer-layout';
67
-
68
- export {setDeviceParameters} from './adapter/converters/set-device-parameters';
69
-
70
- // experimental WebGL exports
71
-
72
- // UTILS
73
37
  export {
74
38
  isWebGL,
75
39
  isWebGL2,
@@ -83,7 +47,9 @@ export {cssToDeviceRatio, cssToDevicePixels} from './context/context/device-pixe
83
47
 
84
48
  // Unified parameter API
85
49
 
86
- export type {GLParameters} from './context/parameters/webgl-parameters';
50
+ export {setDeviceParameters, withDeviceParameters} from './adapter/converters/device-parameters';
51
+
52
+ export type {GLParameters} from './types/webgl';
87
53
  export {
88
54
  getParameters,
89
55
  setParameters,
@@ -104,41 +70,6 @@ export {
104
70
  // Polyfills (supports a subset of WebGL2 APIs on WebGL1 contexts)
105
71
  export {polyfillContext} from './context/polyfill/polyfill-context';
106
72
 
107
- // INTERNAL
108
- export {parseUniformName, getUniformSetter} from './classes/uniforms';
109
- export {getDebugTableForUniforms} from './debug/debug-uniforms';
110
- export {getDebugTableForVertexArray} from './debug/debug-vertex-array';
111
- export {getDebugTableForProgramConfiguration} from './debug/debug-program-configuration';
112
-
113
73
  // HELPERS - EXPERIMENTAL
114
- export {getProgramBindings} from './helpers/get-program-bindings';
115
-
116
- // DEPRECATED
117
-
118
- // Deprecated re-exports
119
- export {lumaStats} from './init';
120
- export {log, assert, uid, isObjectEmpty} from '@luma.gl/api';
121
- export {setPathPrefix, loadFile, loadImage} from '@luma.gl/api';
122
-
123
- // GLTOOLS
124
- export type {GLContextOptions} from './_deprecated/context-api';
125
- export {
126
- createGLContext,
127
- instrumentGLContext,
128
- resizeGLContext,
129
- hasFeature,
130
- hasFeatures,
131
- getFeatures,
132
- getContextInfo,
133
- getGLContextInfo,
134
- getContextLimits,
135
- getContextDebugInfo
136
- } from './_deprecated/context-api';
137
-
138
- // Features
139
- export {FEATURES} from './_deprecated/features';
140
-
141
- // REMOVED in v8.7
142
- // getShaderInfo,
143
- // getShaderName
144
- // getShaderVersion
74
+ export {getShaderLayout, getProgramBindings} from './adapter/helpers/get-shader-layout';
75
+ export {_checkFloat32ColorAttachment} from './adapter/converters/texture-formats';
package/src/init.ts CHANGED
@@ -1,48 +1,4 @@
1
- import {log} from '@luma.gl/api';
2
- import {isBrowser} from '@probe.gl/env';
3
- import {luma, lumaStats} from '@luma.gl/api';
1
+ import {luma} from '@luma.gl/api';
4
2
  import WebGLDevice from './adapter/webgl-device';
5
3
 
6
- // Version detection using babel plugin
7
- // @ts-expect-error
8
- const VERSION = typeof __VERSION__ !== 'undefined' ? __VERSION__ : 'untranspiled source';
9
-
10
- const STARTUP_MESSAGE = 'set luma.log.level=1 (or higher) to trace rendering';
11
- // Assign luma.log.level in console to control logging: \
12
- // 0: none, 1: minimal, 2: verbose, 3: attribute/uniforms, 4: gl logs
13
- // luma.log.break[], set to gl funcs, luma.log.profile[] set to model names`;
14
-
15
- if (globalThis.luma && globalThis.luma.VERSION !== VERSION) {
16
- throw new Error(`luma.gl - multiple VERSIONs detected: ${globalThis.luma.VERSION} vs ${VERSION}`);
17
- }
18
-
19
- if (!globalThis.luma) {
20
- luma.registerDevices([WebGLDevice]);
21
-
22
- if (isBrowser()) {
23
- log.log(1, `luma.gl ${VERSION} - ${STARTUP_MESSAGE}`)();
24
- }
25
-
26
- globalThis.luma = globalThis.luma || {
27
- VERSION,
28
- version: VERSION,
29
- log,
30
-
31
- // A global stats object that various components can add information to
32
- // E.g. see webgl/resource.js
33
- stats: lumaStats,
34
-
35
- // Keep some luma globals in a sub-object
36
- // This allows us to dynamically detect if certain modules have been
37
- // included (such as IO and headless) and enable related functionality,
38
- // without unconditionally requiring and thus bundling big dependencies
39
- // into the app.
40
- globals: {
41
- modules: {},
42
- nodeIO: {}
43
- }
44
- };
45
- }
46
-
47
- export {lumaStats};
48
- export default globalThis.luma;
4
+ luma.registerDevices([WebGLDevice]);
@@ -0,0 +1,283 @@
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_MAX_ANISOTROPY_EXT]?: number; //
139
+ };
140
+
141
+ /**
142
+ * All global WebGL values set by a variety of setter gl.enable ...
143
+ */
144
+ export type GLValueParameters = {
145
+ [GL.BLEND]?: boolean;
146
+ [GL.BLEND_COLOR]?: [number, number, number, number] | NumberArray;
147
+ [GL.BLEND_EQUATION_RGB]?: GLBlendEquation;
148
+ [GL.BLEND_EQUATION_ALPHA]?: GLBlendEquation;
149
+ [GL.BLEND_SRC_RGB]?: GLBlendFunction;
150
+ [GL.BLEND_DST_RGB]?: GLBlendFunction;
151
+ [GL.BLEND_SRC_ALPHA]?: GLBlendFunction;
152
+ [GL.BLEND_DST_ALPHA]?: GLBlendFunction;
153
+ [GL.COLOR_CLEAR_VALUE]?: [number, number, number, number] | NumberArray;
154
+ [GL.COLOR_WRITEMASK]?: [boolean, boolean, boolean, boolean] | boolean[];
155
+ [GL.CULL_FACE]?: boolean;
156
+ [GL.CULL_FACE_MODE]?: GL.FRONT | GL.BACK | GL.FRONT_AND_BACK;
157
+ [GL.DEPTH_TEST]?: boolean;
158
+ [GL.DEPTH_CLEAR_VALUE]?: number;
159
+ [GL.DEPTH_FUNC]?: GLFunction;
160
+ [GL.DEPTH_RANGE]?: [number, number] | NumberArray;
161
+ [GL.DEPTH_WRITEMASK]?: boolean;
162
+ [GL.DITHER]?: boolean;
163
+ [GL.FRAGMENT_SHADER_DERIVATIVE_HINT]?: GL.FASTEST | GL.NICEST | GL.DONT_CARE;
164
+ [GL.CURRENT_PROGRAM]?: WebGLProgram | null;
165
+ [GL.FRAMEBUFFER_BINDING]?: WebGLFramebuffer | null;
166
+ [GL.RENDERBUFFER_BINDING]?: WebGLRenderbuffer | null;
167
+ [GL.TRANSFORM_FEEDBACK_BINDING]?: WebGLTransformFeedback | null;
168
+ [GL.VERTEX_ARRAY_BINDING]?: WebGLVertexArrayObject | null;
169
+ [GL.ARRAY_BUFFER_BINDING]?: WebGLBuffer | null;
170
+ [GL.COPY_READ_BUFFER_BINDING]?: WebGLBuffer | null;
171
+ [GL.COPY_WRITE_BUFFER_BINDING]?: WebGLBuffer | null;
172
+ [GL.PIXEL_PACK_BUFFER_BINDING]?: WebGLBuffer | null;
173
+ [GL.PIXEL_UNPACK_BUFFER_BINDING]?: WebGLBuffer | null;
174
+ [GL.TEXTURE_BINDING_2D]?: WebGLTexture | null;
175
+ [GL.TEXTURE_BINDING_2D_ARRAY]?: WebGLTexture | null;
176
+ [GL.TEXTURE_BINDING_3D]?: WebGLTexture | null;
177
+ [GL.TEXTURE_BINDING_CUBE_MAP]?: WebGLTexture | null;
178
+ [GL.FRONT_FACE]?: GL.CW | GL.CCW;
179
+ [GL.GENERATE_MIPMAP_HINT]?: GL.FASTEST | GL.NICEST | GL.DONT_CARE;
180
+ [GL.LINE_WIDTH]?: number;
181
+ [GL.POLYGON_OFFSET_FILL]?: boolean;
182
+ [GL.POLYGON_OFFSET_FACTOR]?: number;
183
+ [GL.POLYGON_OFFSET_UNITS]?: number;
184
+ [GL.SAMPLE_ALPHA_TO_COVERAGE]?: boolean;
185
+ [GL.SAMPLE_COVERAGE]?: boolean;
186
+ [GL.RASTERIZER_DISCARD]?: boolean;
187
+ [GL.SAMPLE_COVERAGE_VALUE]?: number;
188
+ [GL.SAMPLE_COVERAGE_INVERT]?: boolean;
189
+ [GL.SCISSOR_TEST]?: boolean;
190
+ [GL.SCISSOR_BOX]?: [number, number, number, number] | NumberArray;
191
+ [GL.STENCIL_TEST]?: boolean;
192
+ [GL.STENCIL_CLEAR_VALUE]?: number;
193
+ [GL.STENCIL_WRITEMASK]?: number;
194
+ [GL.STENCIL_BACK_WRITEMASK]?: number;
195
+ [GL.STENCIL_FUNC]?: GLFunction;
196
+ [GL.STENCIL_REF]?: GLFunction;
197
+ [GL.STENCIL_VALUE_MASK]?: GLFunction;
198
+ [GL.STENCIL_BACK_FUNC]?: GLFunction;
199
+ [GL.STENCIL_BACK_REF]?: GLFunction;
200
+ [GL.STENCIL_BACK_VALUE_MASK]?: GLFunction;
201
+ [GL.STENCIL_FAIL]?: GLStencilOp;
202
+ [GL.STENCIL_PASS_DEPTH_FAIL]?: GLStencilOp;
203
+ [GL.STENCIL_PASS_DEPTH_PASS]?: GLStencilOp;
204
+ [GL.STENCIL_BACK_FAIL]?: GLStencilOp;
205
+ [GL.STENCIL_BACK_PASS_DEPTH_FAIL]?: GLStencilOp;
206
+ [GL.STENCIL_BACK_PASS_DEPTH_PASS]?: GLStencilOp;
207
+ [GL.VIEWPORT]?: [number, number, number, number] | NumberArray;
208
+
209
+ // WEBGL1 PIXEL PACK/UNPACK MODES
210
+ [GL.PACK_ALIGNMENT]?: number;
211
+ [GL.UNPACK_ALIGNMENT]?: number;
212
+ [GL.UNPACK_FLIP_Y_WEBGL]?: boolean;
213
+ [GL.UNPACK_PREMULTIPLY_ALPHA_WEBGL]?: boolean;
214
+ [GL.UNPACK_COLORSPACE_CONVERSION_WEBGL]?: GL.NONE | GL.BROWSER_DEFAULT_WEBGL;
215
+
216
+ // WEBGL2 PIXEL PACK/UNPACK MODES
217
+ // RASTERIZER_DISCARD ...
218
+ [GL.PACK_ROW_LENGTH]?: number;
219
+ [GL.PACK_SKIP_PIXELS]?: number;
220
+ [GL.PACK_SKIP_ROWS]?: number;
221
+ [GL.READ_FRAMEBUFFER_BINDING]?: Framebuffer | null;
222
+ [GL.UNPACK_ROW_LENGTH]?: number;
223
+ [GL.UNPACK_IMAGE_HEIGHT]?: number;
224
+ [GL.UNPACK_SKIP_PIXELS]?: number;
225
+ [GL.UNPACK_SKIP_ROWS]?: number;
226
+ [GL.UNPACK_SKIP_IMAGES]?: number;
227
+ };
228
+
229
+ export type GLFunctionParameters = {
230
+ // Function-style setters
231
+ framebuffer?: Framebuffer | null;
232
+ blend?: boolean;
233
+ blendColor?: [number, number, number, number] | NumberArray;
234
+ blendEquation?: GLBlendEquation | [GLBlendEquation, GLBlendEquation];
235
+ blendFunc?:
236
+ | [GLBlendFunction, GLBlendFunction]
237
+ | [GLBlendFunction, GLBlendFunction, GLBlendFunction, GLBlendFunction];
238
+
239
+ clearColor?: [number, number, number, number] | NumberArray;
240
+ clearDepth?: number;
241
+ clearStencil?: number;
242
+
243
+ colorMask?: [boolean, boolean, boolean, boolean];
244
+
245
+ cull?: boolean;
246
+ cullFace?: GL.FRONT | GL.BACK | GL.FRONT_AND_BACK;
247
+
248
+ depthTest?: boolean;
249
+ depthFunc?: GLFunction;
250
+ depthMask?: boolean;
251
+ depthRange?: [number, number] | NumberArray;
252
+
253
+ dither?: boolean;
254
+
255
+ derivativeHint?: GL.FASTEST | GL.NICEST | GL.DONT_CARE;
256
+
257
+ frontFace?: GL.CW | GL.CCW;
258
+
259
+ mipmapHint?: GL.FASTEST | GL.NICEST | GL.DONT_CARE;
260
+
261
+ lineWidth?: number;
262
+
263
+ polygonOffsetFill?: boolean;
264
+ polygonOffset?: [number, number];
265
+
266
+ sampleCoverage?: [number, boolean];
267
+
268
+ scissorTest?: boolean;
269
+ scissor?: [number, number, number, number] | NumberArray;
270
+
271
+ stencilTest?: boolean;
272
+ stencilMask?: number | [number, number];
273
+ stencilFunc?:
274
+ | [GLFunction, number, number]
275
+ | [GLFunction, number, number, GLFunction, number, number];
276
+ stencilOp?:
277
+ | [GLStencilOp, GLStencilOp, GLStencilOp]
278
+ | [GLStencilOp, GLStencilOp, GLStencilOp, GLStencilOp, GLStencilOp, GLStencilOp];
279
+ viewport?: [number, number, number, number] | NumberArray;
280
+ };
281
+
282
+ /** WebGL style parameters object (with both GL constants and function style fields) */
283
+ export type GLParameters = GLValueParameters | GLFunctionParameters;
@@ -1,85 +0,0 @@
1
- import { WebGLDeviceProps } from '@luma.gl/webgl';
2
- export declare type GLContextOptions = WebGLDeviceProps & {
3
- throwOnError?: boolean;
4
- };
5
- /** @deprecated Use `new WebGLDevice()` or `luma.createDevice()` */
6
- export declare function createGLContext(options?: GLContextOptions): WebGLRenderingContext | null;
7
- /** @deprecated Use `WebGLDevice.attach()` */
8
- export declare function instrumentGLContext(gl: WebGLRenderingContext | WebGL2RenderingContext, options?: GLContextOptions): WebGLRenderingContext;
9
- /**
10
- * Resize the canvas' drawing buffer.
11
- *
12
- * Can match the canvas CSS size, and optionally also consider devicePixelRatio
13
- * Can be called every frame
14
- *
15
- * Regardless of size, the drawing buffer will always be scaled to the viewport, but
16
- * for best visual results, usually set to either:
17
- * canvas CSS width x canvas CSS height
18
- * canvas CSS width * devicePixelRatio x canvas CSS height * devicePixelRatio
19
- * See http://webgl2fundamentals.org/webgl/lessons/webgl-resizing-the-canvas.html
20
- *
21
- * resizeGLContext(gl, {width, height, useDevicePixels})
22
- * @deprecated Use WebGLDevice.resize()
23
- */
24
- export declare function resizeGLContext(gl: WebGLRenderingContext, options?: {
25
- width?: number;
26
- height?: number;
27
- useDevicePixels?: boolean | number;
28
- }): void;
29
- /**
30
- * Check one or more features
31
- * @deprecated Use `WebGLDevice.features.has()`
32
- */
33
- export declare function hasFeatures(gl: WebGLRenderingContext, features: string | string[]): boolean;
34
- /**
35
- * Check one feature
36
- * @deprecated Use `WebGLDevice.features`
37
- */
38
- export declare function hasFeature(gl: WebGLRenderingContext, feature: string): boolean;
39
- /**
40
- * Return a map of supported features
41
- * @deprecated Use `WebGLDevice.features`
42
- */
43
- export declare function getFeatures(gl: WebGLRenderingContext): Record<string, boolean>;
44
- /**
45
- * Provides strings identifying the GPU vendor and driver.
46
- * https://www.khronos.org/registry/webgl/extensions/WEBGL_debug_renderer_info/
47
- *
48
- * @deprecated Use `WebGLDevice.info`
49
- */
50
- export declare function getContextDebugInfo(gl: WebGLRenderingContext): {
51
- vendor: string;
52
- renderer: string;
53
- vendorMasked: string;
54
- rendererMasked: string;
55
- version: string;
56
- };
57
- /** @deprecated Use `WebGLDevice.info` */
58
- export declare function getGLContextInfo(gl: any): {
59
- 37445: string;
60
- 37446: string;
61
- 7936: string;
62
- 7937: string;
63
- 7938: string;
64
- };
65
- /** @deprecated Use `WebGLDevice.info` and `WebGLDevice.limits` */
66
- export declare function getContextInfo(gl: any): {
67
- info: {
68
- 37445: string;
69
- 37446: string;
70
- 7936: string;
71
- 7937: string;
72
- 7938: string;
73
- };
74
- limits: import("../adapter/device-helpers/device-limits").WebGLLimits;
75
- vendor: string;
76
- renderer: string;
77
- vendorMasked: string;
78
- rendererMasked: string;
79
- version: string;
80
- };
81
- /** @deprecated Use `WebGLDevice.limits` */
82
- export declare function getContextLimits(gl: any): {
83
- limits: import("../adapter/device-helpers/device-limits").WebGLLimits;
84
- };
85
- //# sourceMappingURL=context-api.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"context-api.d.ts","sourceRoot":"","sources":["../../src/_deprecated/context-api.ts"],"names":[],"mappings":"AAMA,OAAO,EAAc,gBAAgB,EAAC,MAAM,gBAAgB,CAAC;AAG7D,oBAAY,gBAAgB,GAAG,gBAAgB,GAAG;IAChD,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB,CAAC;AAEF,mEAAmE;AACnE,wBAAgB,eAAe,CAAC,OAAO,CAAC,EAAE,gBAAgB,GAAG,qBAAqB,GAAG,IAAI,CAIxF;AAED,6CAA6C;AAC7C,wBAAgB,mBAAmB,CACjC,EAAE,EAAE,qBAAqB,GAAG,sBAAsB,EAClD,OAAO,CAAC,EAAE,gBAAgB,GACzB,qBAAqB,CAGvB;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,eAAe,CAC7B,EAAE,EAAE,qBAAqB,EACzB,OAAO,CAAC,EAAE;IACR,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,eAAe,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;CACpC,QAIF;AAED;;;EAGE;AACF,wBAAgB,WAAW,CAAC,EAAE,EAAE,qBAAqB,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,OAAO,CAK3F;AAMD;;;GAGG;AACH,wBAAgB,UAAU,CAAC,EAAE,EAAE,qBAAqB,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAE9E;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,EAAE,EAAE,qBAAqB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAO9E;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,EAAE,EAAE,qBAAqB,GAAG;IAC9D,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;CACjB,CAQA;AAED,yCAAyC;AACzC,wBAAgB,gBAAgB,CAAC,EAAE,KAAA;;;;;;EASlC;AAED,kEAAkE;AAClE,wBAAgB,cAAc,CAAC,EAAE,KAAA;;;;;;;;;;;;;;EAMhC;AAED,2CAA2C;AAC3C,wBAAgB,gBAAgB,CAAC,EAAE,KAAA;;EAGlC"}
@@ -1,70 +0,0 @@
1
- import GL from '@luma.gl/constants';
2
- import { WebGLDevice } from '@luma.gl/webgl';
3
- import { FEATURES } from './features';
4
- export function createGLContext(options) {
5
- const webglDevice = new WebGLDevice(options);
6
- return webglDevice.gl;
7
- }
8
- export function instrumentGLContext(gl, options) {
9
- const webglDevice = WebGLDevice.attach(gl, options);
10
- return webglDevice.gl;
11
- }
12
- export function resizeGLContext(gl, options) {
13
- const webglDevice = WebGLDevice.attach(gl);
14
- webglDevice.resize(options);
15
- }
16
- export function hasFeatures(gl, features) {
17
- const webglDevice = WebGLDevice.attach(gl);
18
- const normalizedFeatures = Array.isArray(features) ? features : [features];
19
- const deviceFeatures = normalizedFeatures.map(feature => getDeviceFeature(feature));
20
- return deviceFeatures.every(feature => webglDevice.webglFeatures.has(feature));
21
- }
22
-
23
- function getDeviceFeature(feature) {
24
- return feature.toLowerCase().replace('webgl-', '').replace('-', '_');
25
- }
26
-
27
- export function hasFeature(gl, feature) {
28
- return hasFeatures(gl, feature);
29
- }
30
- export function getFeatures(gl) {
31
- const webglDevice = WebGLDevice.attach(gl);
32
- const featureMap = {};
33
-
34
- for (const feature in FEATURES) {
35
- featureMap[feature] = webglDevice.webglFeatures.has(feature);
36
- }
37
-
38
- return featureMap;
39
- }
40
- export function getContextDebugInfo(gl) {
41
- const webglDevice = WebGLDevice.attach(gl);
42
- const info = webglDevice.info;
43
- return { ...webglDevice.info,
44
- vendorMasked: webglDevice.info.vendor,
45
- rendererMasked: webglDevice.info.renderer
46
- };
47
- }
48
- export function getGLContextInfo(gl) {
49
- const info = getContextDebugInfo(gl);
50
- return {
51
- [GL.UNMASKED_VENDOR_WEBGL]: info.vendor,
52
- [GL.UNMASKED_RENDERER_WEBGL]: info.renderer,
53
- [GL.VENDOR]: info.vendorMasked,
54
- [GL.RENDERER]: info.rendererMasked,
55
- [GL.VERSION]: info.version
56
- };
57
- }
58
- export function getContextInfo(gl) {
59
- return { ...getContextDebugInfo(gl),
60
- ...getContextLimits(gl),
61
- info: getGLContextInfo(gl)
62
- };
63
- }
64
- export function getContextLimits(gl) {
65
- const webglDevice = WebGLDevice.attach(gl);
66
- return {
67
- limits: webglDevice.webglLimits
68
- };
69
- }
70
- //# sourceMappingURL=context-api.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/_deprecated/context-api.ts"],"names":["GL","WebGLDevice","FEATURES","createGLContext","options","webglDevice","gl","instrumentGLContext","attach","resizeGLContext","resize","hasFeatures","features","normalizedFeatures","Array","isArray","deviceFeatures","map","feature","getDeviceFeature","every","webglFeatures","has","toLowerCase","replace","hasFeature","getFeatures","featureMap","getContextDebugInfo","info","vendorMasked","vendor","rendererMasked","renderer","getGLContextInfo","UNMASKED_VENDOR_WEBGL","UNMASKED_RENDERER_WEBGL","VENDOR","RENDERER","VERSION","version","getContextInfo","getContextLimits","limits","webglLimits"],"mappings":"AAKA,OAAOA,EAAP,MAAe,oBAAf;AACA,SAAQC,WAAR,QAA4C,gBAA5C;AACA,SAAQC,QAAR,QAAuB,YAAvB;AAOA,OAAO,SAASC,eAAT,CAAyBC,OAAzB,EAAmF;AACxF,QAAMC,WAAW,GAAG,IAAIJ,WAAJ,CAAgBG,OAAhB,CAApB;AAEA,SAAOC,WAAW,CAACC,EAAnB;AACD;AAGD,OAAO,SAASC,mBAAT,CACLD,EADK,EAELF,OAFK,EAGkB;AACvB,QAAMC,WAAW,GAAGJ,WAAW,CAACO,MAAZ,CAAmBF,EAAnB,EAAuBF,OAAvB,CAApB;AACA,SAAOC,WAAW,CAACC,EAAnB;AACD;AAiBD,OAAO,SAASG,eAAT,CACLH,EADK,EAELF,OAFK,EAOL;AACA,QAAMC,WAAW,GAAGJ,WAAW,CAACO,MAAZ,CAAmBF,EAAnB,CAApB;AACAD,EAAAA,WAAW,CAACK,MAAZ,CAAmBN,OAAnB;AACD;AAMD,OAAO,SAASO,WAAT,CAAqBL,EAArB,EAAgDM,QAAhD,EAAsF;AAC3F,QAAMP,WAAW,GAAGJ,WAAW,CAACO,MAAZ,CAAmBF,EAAnB,CAApB;AACA,QAAMO,kBAAkB,GAAGC,KAAK,CAACC,OAAN,CAAcH,QAAd,IAA0BA,QAA1B,GAAqC,CAACA,QAAD,CAAhE;AACA,QAAMI,cAAc,GAAGH,kBAAkB,CAACI,GAAnB,CAAuBC,OAAO,IAAIC,gBAAgB,CAACD,OAAD,CAAlD,CAAvB;AACA,SAAOF,cAAc,CAACI,KAAf,CAAsBF,OAAD,IAAab,WAAW,CAACgB,aAAZ,CAA0BC,GAA1B,CAA8BJ,OAA9B,CAAlC,CAAP;AACD;;AAED,SAASC,gBAAT,CAA0BD,OAA1B,EAAmC;AACjC,SAAOA,OAAO,CAACK,WAAR,GAAsBC,OAAtB,CAA8B,QAA9B,EAAwC,EAAxC,EAA4CA,OAA5C,CAAoD,GAApD,EAAyD,GAAzD,CAAP;AACD;;AAMD,OAAO,SAASC,UAAT,CAAoBnB,EAApB,EAA+CY,OAA/C,EAAyE;AAC9E,SAAOP,WAAW,CAACL,EAAD,EAAKY,OAAL,CAAlB;AACD;AAMD,OAAO,SAASQ,WAAT,CAAqBpB,EAArB,EAA0E;AAC/E,QAAMD,WAAW,GAAGJ,WAAW,CAACO,MAAZ,CAAmBF,EAAnB,CAApB;AACA,QAAMqB,UAAmC,GAAG,EAA5C;;AACA,OAAK,MAAMT,OAAX,IAAsBhB,QAAtB,EAAgC;AAC9ByB,IAAAA,UAAU,CAACT,OAAD,CAAV,GAAsBb,WAAW,CAACgB,aAAZ,CAA0BC,GAA1B,CAA8BJ,OAA9B,CAAtB;AACD;;AACD,SAAOS,UAAP;AACD;AAQD,OAAO,SAASC,mBAAT,CAA6BtB,EAA7B,EAML;AACA,QAAMD,WAAW,GAAGJ,WAAW,CAACO,MAAZ,CAAmBF,EAAnB,CAApB;AACA,QAAMuB,IAAI,GAAGxB,WAAW,CAACwB,IAAzB;AACA,SAAO,EACL,GAAGxB,WAAW,CAACwB,IADV;AAELC,IAAAA,YAAY,EAAEzB,WAAW,CAACwB,IAAZ,CAAiBE,MAF1B;AAGLC,IAAAA,cAAc,EAAE3B,WAAW,CAACwB,IAAZ,CAAiBI;AAH5B,GAAP;AAKD;AAGD,OAAO,SAASC,gBAAT,CAA0B5B,EAA1B,EAA8B;AACnC,QAAMuB,IAAI,GAAGD,mBAAmB,CAACtB,EAAD,CAAhC;AACA,SAAO;AACL,KAACN,EAAE,CAACmC,qBAAJ,GAA4BN,IAAI,CAACE,MAD5B;AAEL,KAAC/B,EAAE,CAACoC,uBAAJ,GAA8BP,IAAI,CAACI,QAF9B;AAGL,KAACjC,EAAE,CAACqC,MAAJ,GAAaR,IAAI,CAACC,YAHb;AAIL,KAAC9B,EAAE,CAACsC,QAAJ,GAAeT,IAAI,CAACG,cAJf;AAKL,KAAChC,EAAE,CAACuC,OAAJ,GAAcV,IAAI,CAACW;AALd,GAAP;AAOD;AAGD,OAAO,SAASC,cAAT,CAAwBnC,EAAxB,EAA4B;AACjC,SAAO,EACL,GAAGsB,mBAAmB,CAACtB,EAAD,CADjB;AAEL,OAAGoC,gBAAgB,CAACpC,EAAD,CAFd;AAGLuB,IAAAA,IAAI,EAAEK,gBAAgB,CAAC5B,EAAD;AAHjB,GAAP;AAKD;AAGD,OAAO,SAASoC,gBAAT,CAA0BpC,EAA1B,EAA8B;AACnC,QAAMD,WAAW,GAAGJ,WAAW,CAACO,MAAZ,CAAmBF,EAAnB,CAApB;AACA,SAAO;AAACqC,IAAAA,MAAM,EAAEtC,WAAW,CAACuC;AAArB,GAAP;AACD","sourcesContent":["// luma.gl, MIT license\n// LEGACY luma.gl v8 API for WebGLRendering context\n// DEPRECATED API - may be removed in luma.gl v9 or v10.\n\n/* eslint-disable quotes */\nimport GL from '@luma.gl/constants';\nimport {WebGLDevice, WebGLDeviceProps} from '@luma.gl/webgl';\nimport {FEATURES} from './features';\n\nexport type GLContextOptions = WebGLDeviceProps & {\n throwOnError?: boolean; // If set to false, return `null` if context creation fails.\n};\n\n/** @deprecated Use `new WebGLDevice()` or `luma.createDevice()` */\nexport function createGLContext(options?: GLContextOptions): WebGLRenderingContext | null {\n const webglDevice = new WebGLDevice(options);\n // Note: OK to return the context, it holds on to the device\n return webglDevice.gl;\n}\n\n/** @deprecated Use `WebGLDevice.attach()` */\nexport function instrumentGLContext(\n gl: WebGLRenderingContext | WebGL2RenderingContext,\n options?: GLContextOptions\n): WebGLRenderingContext {\n const webglDevice = WebGLDevice.attach(gl, options);\n return webglDevice.gl;\n}\n\n/**\n * Resize the canvas' drawing buffer.\n *\n * Can match the canvas CSS size, and optionally also consider devicePixelRatio\n * Can be called every frame\n *\n * Regardless of size, the drawing buffer will always be scaled to the viewport, but\n * for best visual results, usually set to either:\n * canvas CSS width x canvas CSS height\n * canvas CSS width * devicePixelRatio x canvas CSS height * devicePixelRatio\n * See http://webgl2fundamentals.org/webgl/lessons/webgl-resizing-the-canvas.html\n *\n * resizeGLContext(gl, {width, height, useDevicePixels})\n * @deprecated Use WebGLDevice.resize()\n */\nexport function resizeGLContext(\n gl: WebGLRenderingContext,\n options?: {\n width?: number;\n height?: number;\n useDevicePixels?: boolean | number;\n }\n) {\n const webglDevice = WebGLDevice.attach(gl);\n webglDevice.resize(options);\n}\n\n/** \n * Check one or more features\n * @deprecated Use `WebGLDevice.features.has()`\n*/\nexport function hasFeatures(gl: WebGLRenderingContext, features: string | string[]): boolean {\n const webglDevice = WebGLDevice.attach(gl);\n const normalizedFeatures = Array.isArray(features) ? features : [features];\n const deviceFeatures = normalizedFeatures.map(feature => getDeviceFeature(feature));\n return deviceFeatures.every((feature) => webglDevice.webglFeatures.has(feature));\n}\n\nfunction getDeviceFeature(feature) {\n return feature.toLowerCase().replace('webgl-', '').replace('-', '_');\n}\n\n/**\n * Check one feature\n * @deprecated Use `WebGLDevice.features`\n */\nexport function hasFeature(gl: WebGLRenderingContext, feature: string): boolean {\n return hasFeatures(gl, feature);\n}\n\n/**\n * Return a map of supported features\n * @deprecated Use `WebGLDevice.features`\n */\nexport function getFeatures(gl: WebGLRenderingContext): Record<string, boolean> {\n const webglDevice = WebGLDevice.attach(gl);\n const featureMap: Record<string, boolean> = {};\n for (const feature in FEATURES) {\n featureMap[feature] = webglDevice.webglFeatures.has(feature);\n }\n return featureMap;\n}\n\n/**\n * Provides strings identifying the GPU vendor and driver.\n * https://www.khronos.org/registry/webgl/extensions/WEBGL_debug_renderer_info/\n *\n * @deprecated Use `WebGLDevice.info`\n */\nexport function getContextDebugInfo(gl: WebGLRenderingContext): {\n vendor: string;\n renderer: string;\n vendorMasked: string;\n rendererMasked: string;\n version: string;\n} {\n const webglDevice = WebGLDevice.attach(gl);\n const info = webglDevice.info;\n return {\n ...webglDevice.info,\n vendorMasked: webglDevice.info.vendor,\n rendererMasked: webglDevice.info.renderer\n };\n}\n\n/** @deprecated Use `WebGLDevice.info` */\nexport function getGLContextInfo(gl) {\n const info = getContextDebugInfo(gl);\n return {\n [GL.UNMASKED_VENDOR_WEBGL]: info.vendor,\n [GL.UNMASKED_RENDERER_WEBGL]: info.renderer,\n [GL.VENDOR]: info.vendorMasked,\n [GL.RENDERER]: info.rendererMasked,\n [GL.VERSION]: info.version,\n };\n}\n\n/** @deprecated Use `WebGLDevice.info` and `WebGLDevice.limits` */\nexport function getContextInfo(gl) {\n return {\n ...getContextDebugInfo(gl),\n ...getContextLimits(gl),\n info: getGLContextInfo(gl),\n };\n}\n\n/** @deprecated Use `WebGLDevice.limits` */\nexport function getContextLimits(gl) {\n const webglDevice = WebGLDevice.attach(gl);\n return {limits: webglDevice.webglLimits};\n}\n"],"file":"context-api.js"}