@luma.gl/webgl 8.6.0-alpha.5 → 9.0.0-alpha.11

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 (784) hide show
  1. package/README.md +3 -67
  2. package/dist/adapter/converters/device-parameters.d.ts +27 -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} +50 -6
  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 +227 -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 +39 -50
  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 +330 -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 +41 -0
  85. package/dist/adapter/resources/webgl-framebuffer.d.ts.map +1 -0
  86. package/dist/adapter/resources/webgl-framebuffer.js +267 -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 +21 -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 +428 -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 +17 -23
  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} +280 -232
  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 +52 -0
  111. package/dist/adapter/webgl-canvas-context.js.map +1 -0
  112. package/dist/adapter/webgl-device.d.ts +77 -83
  113. package/dist/adapter/webgl-device.d.ts.map +1 -1
  114. package/dist/adapter/webgl-device.js +253 -115
  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} +67 -57
  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 +0 -5
  129. package/dist/context/context/context-state.d.ts.map +1 -1
  130. package/dist/context/context/context-state.js +1 -6
  131. package/dist/context/context/context-state.js.map +1 -1
  132. package/dist/context/context/{create-context.d.ts → create-browser-context.d.ts} +2 -1
  133. package/dist/context/context/create-browser-context.d.ts.map +1 -0
  134. package/dist/{esm/context/context/create-context.js → context/context/create-browser-context.js} +27 -3
  135. package/dist/context/context/create-browser-context.js.map +1 -0
  136. package/dist/context/context/create-headless-context.d.ts +9 -0
  137. package/dist/context/context/create-headless-context.d.ts.map +1 -0
  138. package/dist/context/context/create-headless-context.js +43 -0
  139. package/dist/context/context/create-headless-context.js.map +1 -0
  140. package/dist/context/debug/spector.d.ts +18 -0
  141. package/dist/context/debug/spector.d.ts.map +1 -0
  142. package/dist/context/debug/spector.js +76 -0
  143. package/dist/context/debug/spector.js.map +1 -0
  144. package/dist/context/debug/webgl-developer-tools.d.ts +19 -0
  145. package/dist/context/debug/webgl-developer-tools.d.ts.map +1 -0
  146. package/dist/context/debug/webgl-developer-tools.js +121 -0
  147. package/dist/context/debug/webgl-developer-tools.js.map +1 -0
  148. package/dist/context/parameters/unified-parameter-api.d.ts +9 -7
  149. package/dist/context/parameters/unified-parameter-api.d.ts.map +1 -1
  150. package/dist/context/parameters/unified-parameter-api.js +9 -8
  151. package/dist/context/parameters/unified-parameter-api.js.map +1 -1
  152. package/dist/context/parameters/webgl-parameter-tables.d.ts +40 -36
  153. package/dist/context/parameters/webgl-parameter-tables.d.ts.map +1 -1
  154. package/dist/context/parameters/webgl-parameter-tables.js.map +1 -1
  155. package/dist/context/polyfill/get-parameter-polyfill.js.map +1 -1
  156. package/dist/context/polyfill/polyfill-context.js +3 -3
  157. package/dist/context/polyfill/polyfill-context.js.map +1 -1
  158. package/dist/context/polyfill/polyfill-table.d.ts +1 -1
  159. package/dist/context/polyfill/polyfill-table.d.ts.map +1 -1
  160. package/dist/context/polyfill/polyfill-table.js +1 -1
  161. package/dist/context/polyfill/polyfill-table.js.map +1 -1
  162. package/dist/context/state-tracker/deep-array-equal.d.ts.map +1 -1
  163. package/dist/context/state-tracker/deep-array-equal.js.map +1 -1
  164. package/dist/context/state-tracker/track-context-state.d.ts.map +1 -1
  165. package/dist/context/state-tracker/track-context-state.js +26 -12
  166. package/dist/context/state-tracker/track-context-state.js.map +1 -1
  167. package/dist/context/state-tracker/with-parameters.d.ts +2 -1
  168. package/dist/context/state-tracker/with-parameters.d.ts.map +1 -1
  169. package/dist/context/state-tracker/with-parameters.js +6 -2
  170. package/dist/context/state-tracker/with-parameters.js.map +1 -1
  171. package/dist/es5/adapter/converters/{set-device-parameters.js → device-parameters.js} +53 -6
  172. package/dist/es5/adapter/converters/device-parameters.js.map +1 -0
  173. package/dist/es5/{classes → adapter/converters}/renderbuffer-formats.js +1 -1
  174. package/dist/es5/adapter/converters/renderbuffer-formats.js.map +1 -0
  175. package/dist/es5/adapter/converters/sampler-parameters.js +245 -0
  176. package/dist/es5/adapter/converters/sampler-parameters.js.map +1 -0
  177. package/dist/es5/adapter/converters/texture-formats.js +1031 -0
  178. package/dist/es5/adapter/converters/texture-formats.js.map +1 -0
  179. package/dist/es5/adapter/converters/vertex-formats.js +45 -0
  180. package/dist/es5/adapter/converters/vertex-formats.js.map +1 -0
  181. package/dist/es5/adapter/device-helpers/device-features.js +61 -58
  182. package/dist/es5/adapter/device-helpers/device-features.js.map +1 -1
  183. package/dist/es5/adapter/device-helpers/device-limits.js +1 -1
  184. package/dist/es5/adapter/device-helpers/device-limits.js.map +1 -1
  185. package/dist/es5/adapter/device-helpers/get-device-info.js +7 -7
  186. package/dist/es5/adapter/device-helpers/get-device-info.js.map +1 -1
  187. package/dist/es5/adapter/helpers/attribute-utils.js +91 -0
  188. package/dist/es5/adapter/helpers/attribute-utils.js.map +1 -0
  189. package/dist/es5/{helpers/get-program-bindings.js → adapter/helpers/get-shader-layout.js} +211 -94
  190. package/dist/es5/adapter/helpers/get-shader-layout.js.map +1 -0
  191. package/dist/es5/{webgl-utils → adapter/helpers}/parse-shader-compiler-log.js +0 -0
  192. package/dist/es5/adapter/helpers/parse-shader-compiler-log.js.map +1 -0
  193. package/dist/es5/adapter/helpers/set-uniform.js +125 -0
  194. package/dist/es5/adapter/helpers/set-uniform.js.map +1 -0
  195. package/dist/es5/adapter/helpers/uniforms.js +112 -0
  196. package/dist/es5/adapter/helpers/uniforms.js.map +1 -0
  197. package/dist/es5/{webgl-utils → adapter/objects}/constants-to-keys.js +1 -0
  198. package/dist/es5/adapter/objects/constants-to-keys.js.map +1 -0
  199. package/dist/es5/{classes/renderbuffer.js → adapter/objects/webgl-renderbuffer.js} +48 -98
  200. package/dist/es5/adapter/objects/webgl-renderbuffer.js.map +1 -0
  201. package/dist/es5/{classes → adapter/objects}/webgl-resource.js +8 -3
  202. package/dist/es5/adapter/objects/webgl-resource.js.map +1 -0
  203. package/dist/es5/adapter/objects/webgl-vertex-array-object.js +137 -0
  204. package/dist/es5/adapter/objects/webgl-vertex-array-object.js.map +1 -0
  205. package/dist/es5/adapter/resources/webgl-buffer.js +243 -0
  206. package/dist/es5/adapter/resources/webgl-buffer.js.map +1 -0
  207. package/dist/es5/adapter/resources/webgl-command-buffer.js +96 -0
  208. package/dist/es5/adapter/resources/webgl-command-buffer.js.map +1 -0
  209. package/dist/es5/adapter/resources/webgl-command-encoder.js +98 -0
  210. package/dist/es5/adapter/resources/webgl-command-encoder.js.map +1 -0
  211. package/dist/es5/adapter/resources/webgl-external-texture.js +2 -0
  212. package/dist/{esm/helpers/program-bindings.js.map → es5/adapter/resources/webgl-external-texture.js.map} +1 -1
  213. package/dist/es5/adapter/resources/webgl-framebuffer.js +346 -0
  214. package/dist/es5/adapter/resources/webgl-framebuffer.js.map +1 -0
  215. package/dist/es5/{classes/texture-2d.js → adapter/resources/webgl-render-pass.js} +26 -45
  216. package/dist/es5/adapter/resources/webgl-render-pass.js.map +1 -0
  217. package/dist/es5/adapter/resources/webgl-render-pipeline.js +530 -0
  218. package/dist/es5/adapter/resources/webgl-render-pipeline.js.map +1 -0
  219. package/dist/es5/adapter/resources/webgl-sampler.js +96 -0
  220. package/dist/es5/adapter/resources/webgl-sampler.js.map +1 -0
  221. package/dist/es5/adapter/{webgl-shader.js → resources/webgl-shader.js} +16 -21
  222. package/dist/es5/adapter/resources/webgl-shader.js.map +1 -0
  223. package/dist/es5/{classes/texture.js → adapter/resources/webgl-texture.js} +374 -298
  224. package/dist/es5/adapter/resources/webgl-texture.js.map +1 -0
  225. package/dist/es5/adapter/webgl-canvas-context.js +94 -0
  226. package/dist/es5/adapter/webgl-canvas-context.js.map +1 -0
  227. package/dist/es5/adapter/webgl-device.js +325 -131
  228. package/dist/es5/adapter/webgl-device.js.map +1 -1
  229. package/dist/es5/{classes → classic}/accessor.js +25 -1
  230. package/dist/es5/classic/accessor.js.map +1 -0
  231. package/dist/es5/{classes/webgl-buffer.js → classic/buffer.js} +88 -72
  232. package/dist/es5/classic/buffer.js.map +1 -0
  233. package/dist/es5/{webgl-utils → classic}/typed-array-utils.js +0 -0
  234. package/dist/es5/classic/typed-array-utils.js.map +1 -0
  235. package/dist/es5/context/context/context-state.js +1 -6
  236. package/dist/es5/context/context/context-state.js.map +1 -1
  237. package/dist/es5/context/context/{create-context.js → create-browser-context.js} +29 -3
  238. package/dist/es5/context/context/create-browser-context.js.map +1 -0
  239. package/dist/es5/context/context/create-headless-context.js +60 -0
  240. package/dist/es5/context/context/create-headless-context.js.map +1 -0
  241. package/dist/es5/context/debug/spector.js +133 -0
  242. package/dist/es5/context/debug/spector.js.map +1 -0
  243. package/dist/es5/context/debug/webgl-developer-tools.js +198 -0
  244. package/dist/es5/context/debug/webgl-developer-tools.js.map +1 -0
  245. package/dist/es5/context/parameters/unified-parameter-api.js +15 -9
  246. package/dist/es5/context/parameters/unified-parameter-api.js.map +1 -1
  247. package/dist/es5/context/parameters/webgl-parameter-tables.js.map +1 -1
  248. package/dist/es5/context/polyfill/get-parameter-polyfill.js.map +1 -1
  249. package/dist/es5/context/polyfill/polyfill-context.js +3 -3
  250. package/dist/es5/context/polyfill/polyfill-context.js.map +1 -1
  251. package/dist/es5/context/polyfill/polyfill-table.js +1 -1
  252. package/dist/es5/context/polyfill/polyfill-table.js.map +1 -1
  253. package/dist/es5/context/state-tracker/deep-array-equal.js.map +1 -1
  254. package/dist/es5/context/state-tracker/track-context-state.js +39 -24
  255. package/dist/es5/context/state-tracker/track-context-state.js.map +1 -1
  256. package/dist/es5/context/state-tracker/with-parameters.js +8 -2
  257. package/dist/es5/context/state-tracker/with-parameters.js.map +1 -1
  258. package/dist/es5/index.js +63 -305
  259. package/dist/es5/index.js.map +1 -1
  260. package/dist/es5/init.js +1 -41
  261. package/dist/es5/init.js.map +1 -1
  262. package/dist/es5/{context/parameters/webgl-parameters.js → types/webgl.js} +1 -1
  263. package/dist/es5/types/webgl.js.map +1 -0
  264. package/dist/esm/adapter/converters/{set-device-parameters.js → device-parameters.js} +50 -6
  265. package/dist/esm/adapter/converters/device-parameters.js.map +1 -0
  266. package/dist/esm/{classes → adapter/converters}/renderbuffer-formats.js +1 -1
  267. package/dist/esm/adapter/converters/renderbuffer-formats.js.map +1 -0
  268. package/dist/esm/adapter/converters/sampler-parameters.js +227 -0
  269. package/dist/esm/adapter/converters/sampler-parameters.js.map +1 -0
  270. package/dist/esm/adapter/converters/texture-formats.js +954 -0
  271. package/dist/esm/adapter/converters/texture-formats.js.map +1 -0
  272. package/dist/esm/adapter/converters/vertex-formats.js +35 -0
  273. package/dist/esm/adapter/converters/vertex-formats.js.map +1 -0
  274. package/dist/esm/adapter/device-helpers/device-features.js +39 -50
  275. package/dist/esm/adapter/device-helpers/device-features.js.map +1 -1
  276. package/dist/esm/adapter/device-helpers/device-limits.js +1 -0
  277. package/dist/esm/adapter/device-helpers/device-limits.js.map +1 -1
  278. package/dist/esm/adapter/device-helpers/get-device-info.js +7 -7
  279. package/dist/esm/adapter/device-helpers/get-device-info.js.map +1 -1
  280. package/dist/esm/adapter/helpers/attribute-utils.js +81 -0
  281. package/dist/esm/adapter/helpers/attribute-utils.js.map +1 -0
  282. package/dist/esm/adapter/helpers/get-shader-layout.js +330 -0
  283. package/dist/esm/adapter/helpers/get-shader-layout.js.map +1 -0
  284. package/dist/{webgl-utils → esm/adapter/helpers}/parse-shader-compiler-log.js +0 -0
  285. package/dist/esm/adapter/helpers/parse-shader-compiler-log.js.map +1 -0
  286. package/dist/esm/adapter/helpers/set-uniform.js +115 -0
  287. package/dist/esm/adapter/helpers/set-uniform.js.map +1 -0
  288. package/dist/esm/adapter/helpers/uniforms.js +99 -0
  289. package/dist/esm/adapter/helpers/uniforms.js.map +1 -0
  290. package/dist/{webgl-utils → esm/adapter/objects}/constants-to-keys.js +1 -0
  291. package/dist/esm/adapter/objects/constants-to-keys.js.map +1 -0
  292. package/dist/{classes/renderbuffer.js → esm/adapter/objects/webgl-renderbuffer.js} +38 -72
  293. package/dist/esm/adapter/objects/webgl-renderbuffer.js.map +1 -0
  294. package/dist/esm/{classes → adapter/objects}/webgl-resource.js +7 -3
  295. package/dist/esm/adapter/objects/webgl-resource.js.map +1 -0
  296. package/dist/esm/adapter/objects/webgl-vertex-array-object.js +84 -0
  297. package/dist/esm/adapter/objects/webgl-vertex-array-object.js.map +1 -0
  298. package/dist/esm/adapter/resources/webgl-buffer.js +164 -0
  299. package/dist/esm/adapter/resources/webgl-buffer.js.map +1 -0
  300. package/dist/esm/adapter/resources/webgl-command-buffer.js +65 -0
  301. package/dist/esm/adapter/resources/webgl-command-buffer.js.map +1 -0
  302. package/dist/esm/adapter/resources/webgl-command-encoder.js +53 -0
  303. package/dist/esm/adapter/resources/webgl-command-encoder.js.map +1 -0
  304. package/dist/esm/adapter/resources/webgl-external-texture.js +2 -0
  305. package/dist/{helpers/program-bindings.js.map → esm/adapter/resources/webgl-external-texture.js.map} +1 -1
  306. package/dist/esm/adapter/resources/webgl-framebuffer.js +267 -0
  307. package/dist/esm/adapter/resources/webgl-framebuffer.js.map +1 -0
  308. package/dist/esm/adapter/resources/webgl-render-pass.js +21 -0
  309. package/dist/esm/adapter/resources/webgl-render-pass.js.map +1 -0
  310. package/dist/esm/adapter/resources/webgl-render-pipeline.js +428 -0
  311. package/dist/esm/adapter/resources/webgl-render-pipeline.js.map +1 -0
  312. package/dist/esm/adapter/resources/webgl-sampler.js +50 -0
  313. package/dist/esm/adapter/resources/webgl-sampler.js.map +1 -0
  314. package/dist/{adapter → esm/adapter/resources}/webgl-shader.js +17 -23
  315. package/dist/esm/adapter/resources/webgl-shader.js.map +1 -0
  316. package/dist/esm/{classes/texture.js → adapter/resources/webgl-texture.js} +280 -232
  317. package/dist/esm/adapter/resources/webgl-texture.js.map +1 -0
  318. package/dist/esm/adapter/webgl-canvas-context.js +52 -0
  319. package/dist/esm/adapter/webgl-canvas-context.js.map +1 -0
  320. package/dist/esm/adapter/webgl-device.js +253 -115
  321. package/dist/esm/adapter/webgl-device.js.map +1 -1
  322. package/dist/esm/{classes → classic}/accessor.js +33 -1
  323. package/dist/esm/classic/accessor.js.map +1 -0
  324. package/dist/esm/{classes/webgl-buffer.js → classic/buffer.js} +67 -57
  325. package/dist/esm/classic/buffer.js.map +1 -0
  326. package/dist/{webgl-utils → esm/classic}/typed-array-utils.js +0 -0
  327. package/dist/esm/classic/typed-array-utils.js.map +1 -0
  328. package/dist/esm/context/context/context-state.js +1 -6
  329. package/dist/esm/context/context/context-state.js.map +1 -1
  330. package/dist/{context/context/create-context.js → esm/context/context/create-browser-context.js} +27 -3
  331. package/dist/esm/context/context/create-browser-context.js.map +1 -0
  332. package/dist/esm/context/context/create-headless-context.js +43 -0
  333. package/dist/esm/context/context/create-headless-context.js.map +1 -0
  334. package/dist/esm/context/debug/spector.js +76 -0
  335. package/dist/esm/context/debug/spector.js.map +1 -0
  336. package/dist/esm/context/debug/webgl-developer-tools.js +121 -0
  337. package/dist/esm/context/debug/webgl-developer-tools.js.map +1 -0
  338. package/dist/esm/context/parameters/unified-parameter-api.js +9 -8
  339. package/dist/esm/context/parameters/unified-parameter-api.js.map +1 -1
  340. package/dist/esm/context/parameters/webgl-parameter-tables.js.map +1 -1
  341. package/dist/esm/context/polyfill/get-parameter-polyfill.js.map +1 -1
  342. package/dist/esm/context/polyfill/polyfill-context.js +3 -3
  343. package/dist/esm/context/polyfill/polyfill-context.js.map +1 -1
  344. package/dist/esm/context/polyfill/polyfill-table.js +1 -1
  345. package/dist/esm/context/polyfill/polyfill-table.js.map +1 -1
  346. package/dist/esm/context/state-tracker/deep-array-equal.js.map +1 -1
  347. package/dist/esm/context/state-tracker/track-context-state.js +26 -12
  348. package/dist/esm/context/state-tracker/track-context-state.js.map +1 -1
  349. package/dist/esm/context/state-tracker/with-parameters.js +6 -2
  350. package/dist/esm/context/state-tracker/with-parameters.js.map +1 -1
  351. package/dist/esm/index.js +20 -32
  352. package/dist/esm/index.js.map +1 -1
  353. package/dist/esm/init.js +2 -31
  354. package/dist/esm/init.js.map +1 -1
  355. package/dist/esm/types/webgl.js +2 -0
  356. package/dist/esm/types/webgl.js.map +1 -0
  357. package/dist/index.d.ts +25 -47
  358. package/dist/index.d.ts.map +1 -1
  359. package/dist/index.js +20 -32
  360. package/dist/index.js.map +1 -1
  361. package/dist/init.d.ts +1 -4
  362. package/dist/init.d.ts.map +1 -1
  363. package/dist/init.js +2 -31
  364. package/dist/init.js.map +1 -1
  365. package/dist/types/webgl.d.ts +145 -0
  366. package/dist/types/webgl.d.ts.map +1 -0
  367. package/dist/types/webgl.js +2 -0
  368. package/dist/types/webgl.js.map +1 -0
  369. package/package.json +5 -5
  370. package/src/adapter/converters/{set-device-parameters.ts → device-parameters.ts} +81 -12
  371. package/src/{classes → adapter/converters}/renderbuffer-formats.ts +1 -1
  372. package/src/adapter/converters/sampler-parameters.ts +184 -0
  373. package/src/adapter/converters/texture-formats.ts +633 -0
  374. package/src/adapter/converters/vertex-formats.ts +22 -0
  375. package/src/adapter/device-helpers/device-features.ts +55 -124
  376. package/src/adapter/device-helpers/device-limits.ts +6 -3
  377. package/src/adapter/device-helpers/get-device-info.ts +8 -8
  378. package/src/adapter/helpers/attribute-utils.ts +61 -0
  379. package/src/adapter/helpers/get-shader-layout.ts +407 -0
  380. package/src/{webgl-utils → adapter/helpers}/parse-shader-compiler-log.ts +0 -0
  381. package/src/adapter/helpers/set-uniform.ts +87 -0
  382. package/src/adapter/helpers/uniforms.ts +121 -0
  383. package/src/{webgl-utils → adapter/objects}/constants-to-keys.ts +6 -3
  384. package/src/adapter/objects/webgl-renderbuffer.ts +104 -0
  385. package/src/{classes → adapter/objects}/webgl-resource.ts +23 -17
  386. package/src/adapter/objects/webgl-vertex-array-object.ts +111 -0
  387. package/src/adapter/resources/webgl-buffer.ts +219 -0
  388. package/src/adapter/resources/webgl-command-buffer.ts +94 -0
  389. package/src/adapter/resources/webgl-command-encoder.ts +58 -0
  390. package/src/adapter/resources/webgl-external-texture.ts +92 -0
  391. package/src/adapter/resources/webgl-framebuffer.ts +282 -0
  392. package/src/adapter/resources/webgl-render-pass.ts +24 -0
  393. package/src/adapter/resources/webgl-render-pipeline.ts +425 -0
  394. package/src/adapter/resources/webgl-sampler.ts +56 -0
  395. package/src/adapter/{webgl-shader.ts → resources/webgl-shader.ts} +19 -24
  396. package/src/adapter/resources/webgl-texture.ts +1036 -0
  397. package/src/adapter/webgl-canvas-context.ts +72 -0
  398. package/src/adapter/webgl-device.ts +312 -285
  399. package/{dist/esm/classes/accessor.ts.disabled → src/classic/accessor.ts} +38 -37
  400. package/src/{classes/webgl-buffer.ts → classic/buffer.ts} +76 -84
  401. package/src/{webgl-utils → classic}/typed-array-utils.ts +5 -1
  402. package/src/context/context/context-state.ts +4 -12
  403. package/src/context/context/{create-context.ts → create-browser-context.ts} +41 -6
  404. package/src/context/context/create-headless-context.ts +48 -0
  405. package/src/context/debug/spector.ts +92 -0
  406. package/src/context/debug/webgl-developer-tools.ts +162 -0
  407. package/src/context/parameters/unified-parameter-api.ts +21 -13
  408. package/src/context/parameters/webgl-parameter-tables.ts +38 -36
  409. package/src/context/polyfill/get-parameter-polyfill.ts +1 -1
  410. package/src/context/polyfill/polyfill-context.ts +4 -5
  411. package/src/context/polyfill/polyfill-table.ts +1 -1
  412. package/src/context/state-tracker/deep-array-equal.ts +1 -1
  413. package/src/context/state-tracker/track-context-state.ts +34 -26
  414. package/src/context/state-tracker/with-parameters.ts +7 -2
  415. package/src/index.ts +42 -105
  416. package/src/init.ts +2 -46
  417. package/src/types/webgl.ts +284 -0
  418. package/dist/_deprecated/context-api.d.ts +0 -85
  419. package/dist/_deprecated/context-api.d.ts.map +0 -1
  420. package/dist/_deprecated/context-api.js +0 -76
  421. package/dist/_deprecated/context-api.js.map +0 -1
  422. package/dist/_deprecated/features.d.ts +0 -27
  423. package/dist/_deprecated/features.d.ts.map +0 -1
  424. package/dist/_deprecated/features.js +0 -111
  425. package/dist/_deprecated/features.js.map +0 -1
  426. package/dist/adapter/converters/set-device-parameters.d.ts +0 -5
  427. package/dist/adapter/converters/set-device-parameters.d.ts.map +0 -1
  428. package/dist/adapter/converters/set-device-parameters.js.map +0 -1
  429. package/dist/adapter/converters/webgpu-texture-formats.d.ts +0 -281
  430. package/dist/adapter/converters/webgpu-texture-formats.d.ts.map +0 -1
  431. package/dist/adapter/converters/webgpu-texture-formats.js +0 -285
  432. package/dist/adapter/converters/webgpu-texture-formats.js.map +0 -1
  433. package/dist/adapter/webgl-shader.d.ts.map +0 -1
  434. package/dist/adapter/webgl-shader.js.map +0 -1
  435. package/dist/classes/accessor.d.ts +0 -28
  436. package/dist/classes/accessor.d.ts.map +0 -1
  437. package/dist/classes/accessor.js.map +0 -1
  438. package/dist/classes/accessor.ts.disabled +0 -159
  439. package/dist/classes/clear.d.ts +0 -17
  440. package/dist/classes/clear.d.ts.map +0 -1
  441. package/dist/classes/clear.js +0 -105
  442. package/dist/classes/clear.js.map +0 -1
  443. package/dist/classes/copy-and-blit.d.ts +0 -86
  444. package/dist/classes/copy-and-blit.d.ts.map +0 -1
  445. package/dist/classes/copy-and-blit.js +0 -338
  446. package/dist/classes/copy-and-blit.js.map +0 -1
  447. package/dist/classes/framebuffer.d.ts +0 -139
  448. package/dist/classes/framebuffer.d.ts.map +0 -1
  449. package/dist/classes/framebuffer.js +0 -656
  450. package/dist/classes/framebuffer.js.map +0 -1
  451. package/dist/classes/program-configuration.d.ts +0 -24
  452. package/dist/classes/program-configuration.d.ts.map +0 -1
  453. package/dist/classes/program-configuration.js +0 -73
  454. package/dist/classes/program-configuration.js.map +0 -1
  455. package/dist/classes/program.d.ts +0 -66
  456. package/dist/classes/program.d.ts.map +0 -1
  457. package/dist/classes/program.js +0 -379
  458. package/dist/classes/program.js.map +0 -1
  459. package/dist/classes/query.d.ts +0 -27
  460. package/dist/classes/query.d.ts.map +0 -1
  461. package/dist/classes/query.js +0 -145
  462. package/dist/classes/query.js.map +0 -1
  463. package/dist/classes/renderbuffer-formats.d.ts.map +0 -1
  464. package/dist/classes/renderbuffer-formats.js.map +0 -1
  465. package/dist/classes/renderbuffer.d.ts +0 -60
  466. package/dist/classes/renderbuffer.d.ts.map +0 -1
  467. package/dist/classes/renderbuffer.js.map +0 -1
  468. package/dist/classes/shader.d.ts +0 -42
  469. package/dist/classes/shader.d.ts.map +0 -1
  470. package/dist/classes/shader.js +0 -118
  471. package/dist/classes/shader.js.map +0 -1
  472. package/dist/classes/texture-2d.d.ts +0 -9
  473. package/dist/classes/texture-2d.d.ts.map +0 -1
  474. package/dist/classes/texture-2d.js +0 -36
  475. package/dist/classes/texture-2d.js.map +0 -1
  476. package/dist/classes/texture-3d.d.ts +0 -29
  477. package/dist/classes/texture-3d.d.ts.map +0 -1
  478. package/dist/classes/texture-3d.js +0 -76
  479. package/dist/classes/texture-3d.js.map +0 -1
  480. package/dist/classes/texture-cube.d.ts +0 -28
  481. package/dist/classes/texture-cube.d.ts.map +0 -1
  482. package/dist/classes/texture-cube.js +0 -130
  483. package/dist/classes/texture-cube.js.map +0 -1
  484. package/dist/classes/texture-formats.d.ts +0 -37
  485. package/dist/classes/texture-formats.d.ts.map +0 -1
  486. package/dist/classes/texture-formats.js +0 -98
  487. package/dist/classes/texture-formats.js.map +0 -1
  488. package/dist/classes/texture.d.ts +0 -123
  489. package/dist/classes/texture.d.ts.map +0 -1
  490. package/dist/classes/texture.js.map +0 -1
  491. package/dist/classes/transform-feedback.d.ts +0 -33
  492. package/dist/classes/transform-feedback.d.ts.map +0 -1
  493. package/dist/classes/transform-feedback.js +0 -198
  494. package/dist/classes/transform-feedback.js.map +0 -1
  495. package/dist/classes/uniform-buffer-layout.d.ts +0 -17
  496. package/dist/classes/uniform-buffer-layout.d.ts.map +0 -1
  497. package/dist/classes/uniform-buffer-layout.js +0 -104
  498. package/dist/classes/uniform-buffer-layout.js.map +0 -1
  499. package/dist/classes/uniforms.d.ts +0 -37
  500. package/dist/classes/uniforms.d.ts.map +0 -1
  501. package/dist/classes/uniforms.js +0 -250
  502. package/dist/classes/uniforms.js.map +0 -1
  503. package/dist/classes/vertex-array-object.d.ts +0 -76
  504. package/dist/classes/vertex-array-object.d.ts.map +0 -1
  505. package/dist/classes/vertex-array-object.js +0 -261
  506. package/dist/classes/vertex-array-object.js.map +0 -1
  507. package/dist/classes/vertex-array.d.ts +0 -75
  508. package/dist/classes/vertex-array.d.ts.map +0 -1
  509. package/dist/classes/vertex-array.js +0 -408
  510. package/dist/classes/vertex-array.js.map +0 -1
  511. package/dist/classes/webgl-buffer.d.ts.map +0 -1
  512. package/dist/classes/webgl-buffer.js.map +0 -1
  513. package/dist/classes/webgl-resource.d.ts.map +0 -1
  514. package/dist/classes/webgl-resource.js.map +0 -1
  515. package/dist/context/context/create-context.d.ts.map +0 -1
  516. package/dist/context/context/create-context.js.map +0 -1
  517. package/dist/context/context/device-pixels.d.ts +0 -25
  518. package/dist/context/context/device-pixels.d.ts.map +0 -1
  519. package/dist/context/context/device-pixels.js +0 -98
  520. package/dist/context/context/device-pixels.js.map +0 -1
  521. package/dist/context/context/get-canvas.d.ts +0 -13
  522. package/dist/context/context/get-canvas.d.ts.map +0 -1
  523. package/dist/context/context/get-canvas.js +0 -31
  524. package/dist/context/context/get-canvas.js.map +0 -1
  525. package/dist/context/context/resize-context.d.ts +0 -20
  526. package/dist/context/context/resize-context.d.ts.map +0 -1
  527. package/dist/context/context/resize-context.js +0 -15
  528. package/dist/context/context/resize-context.js.map +0 -1
  529. package/dist/context/parameters/webgl-parameters.d.ts +0 -144
  530. package/dist/context/parameters/webgl-parameters.d.ts.map +0 -1
  531. package/dist/context/parameters/webgl-parameters.js +0 -2
  532. package/dist/context/parameters/webgl-parameters.js.map +0 -1
  533. package/dist/debug/debug-program-configuration.d.ts +0 -2
  534. package/dist/debug/debug-program-configuration.d.ts.map +0 -1
  535. package/dist/debug/debug-program-configuration.js +0 -40
  536. package/dist/debug/debug-program-configuration.js.map +0 -1
  537. package/dist/debug/debug-uniforms.d.ts +0 -12
  538. package/dist/debug/debug-uniforms.d.ts.map +0 -1
  539. package/dist/debug/debug-uniforms.js +0 -108
  540. package/dist/debug/debug-uniforms.js.map +0 -1
  541. package/dist/debug/debug-vertex-array.d.ts +0 -5
  542. package/dist/debug/debug-vertex-array.d.ts.map +0 -1
  543. package/dist/debug/debug-vertex-array.js +0 -118
  544. package/dist/debug/debug-vertex-array.js.map +0 -1
  545. package/dist/es5/_deprecated/context-api.js +0 -116
  546. package/dist/es5/_deprecated/context-api.js.map +0 -1
  547. package/dist/es5/_deprecated/features.js +0 -118
  548. package/dist/es5/_deprecated/features.js.map +0 -1
  549. package/dist/es5/adapter/converters/set-device-parameters.js.map +0 -1
  550. package/dist/es5/adapter/converters/webgpu-texture-formats.js +0 -296
  551. package/dist/es5/adapter/converters/webgpu-texture-formats.js.map +0 -1
  552. package/dist/es5/adapter/webgl-shader.js.map +0 -1
  553. package/dist/es5/classes/accessor.d.ts +0 -28
  554. package/dist/es5/classes/accessor.js.map +0 -1
  555. package/dist/es5/classes/accessor.ts.disabled +0 -159
  556. package/dist/es5/classes/clear.js +0 -135
  557. package/dist/es5/classes/clear.js.map +0 -1
  558. package/dist/es5/classes/copy-and-blit.js +0 -382
  559. package/dist/es5/classes/copy-and-blit.js.map +0 -1
  560. package/dist/es5/classes/framebuffer.js +0 -807
  561. package/dist/es5/classes/framebuffer.js.map +0 -1
  562. package/dist/es5/classes/program-configuration.js +0 -119
  563. package/dist/es5/classes/program-configuration.js.map +0 -1
  564. package/dist/es5/classes/program.js +0 -471
  565. package/dist/es5/classes/program.js.map +0 -1
  566. package/dist/es5/classes/query.js +0 -222
  567. package/dist/es5/classes/query.js.map +0 -1
  568. package/dist/es5/classes/renderbuffer-formats.js.map +0 -1
  569. package/dist/es5/classes/renderbuffer.js.map +0 -1
  570. package/dist/es5/classes/shader.js +0 -195
  571. package/dist/es5/classes/shader.js.map +0 -1
  572. package/dist/es5/classes/texture-2d.js.map +0 -1
  573. package/dist/es5/classes/texture-3d.js +0 -142
  574. package/dist/es5/classes/texture-3d.js.map +0 -1
  575. package/dist/es5/classes/texture-cube.js +0 -202
  576. package/dist/es5/classes/texture-cube.js.map +0 -1
  577. package/dist/es5/classes/texture-formats.js +0 -87
  578. package/dist/es5/classes/texture-formats.js.map +0 -1
  579. package/dist/es5/classes/texture.js.map +0 -1
  580. package/dist/es5/classes/transform-feedback.js +0 -267
  581. package/dist/es5/classes/transform-feedback.js.map +0 -1
  582. package/dist/es5/classes/uniform-buffer-layout.js +0 -130
  583. package/dist/es5/classes/uniform-buffer-layout.js.map +0 -1
  584. package/dist/es5/classes/uniforms.js +0 -232
  585. package/dist/es5/classes/uniforms.js.map +0 -1
  586. package/dist/es5/classes/vertex-array-object.js +0 -337
  587. package/dist/es5/classes/vertex-array-object.js.map +0 -1
  588. package/dist/es5/classes/vertex-array.js +0 -465
  589. package/dist/es5/classes/vertex-array.js.map +0 -1
  590. package/dist/es5/classes/webgl-buffer.js.map +0 -1
  591. package/dist/es5/classes/webgl-resource.js.map +0 -1
  592. package/dist/es5/context/context/create-context.js.map +0 -1
  593. package/dist/es5/context/context/device-pixels.js +0 -115
  594. package/dist/es5/context/context/device-pixels.js.map +0 -1
  595. package/dist/es5/context/context/get-canvas.js +0 -40
  596. package/dist/es5/context/context/get-canvas.js.map +0 -1
  597. package/dist/es5/context/context/resize-context.js +0 -23
  598. package/dist/es5/context/context/resize-context.js.map +0 -1
  599. package/dist/es5/context/parameters/webgl-parameters.js.map +0 -1
  600. package/dist/es5/debug/debug-program-configuration.js +0 -76
  601. package/dist/es5/debug/debug-program-configuration.js.map +0 -1
  602. package/dist/es5/debug/debug-uniforms.js +0 -156
  603. package/dist/es5/debug/debug-uniforms.js.map +0 -1
  604. package/dist/es5/debug/debug-vertex-array.js +0 -126
  605. package/dist/es5/debug/debug-vertex-array.js.map +0 -1
  606. package/dist/es5/helpers/get-program-bindings.js.map +0 -1
  607. package/dist/es5/helpers/program-bindings.js +0 -2
  608. package/dist/es5/types/accessor.d.ts +0 -29
  609. package/dist/es5/webgl-utils/attribute-utils.js +0 -186
  610. package/dist/es5/webgl-utils/attribute-utils.js.map +0 -1
  611. package/dist/es5/webgl-utils/constants-to-keys.js.map +0 -1
  612. package/dist/es5/webgl-utils/format-utils.js +0 -58
  613. package/dist/es5/webgl-utils/format-utils.js.map +0 -1
  614. package/dist/es5/webgl-utils/get-error.js +0 -49
  615. package/dist/es5/webgl-utils/get-error.js.map +0 -1
  616. package/dist/es5/webgl-utils/index.js +0 -74
  617. package/dist/es5/webgl-utils/index.js.map +0 -1
  618. package/dist/es5/webgl-utils/parse-shader-compiler-log.js.map +0 -1
  619. package/dist/es5/webgl-utils/request-animation-frame.js +0 -16
  620. package/dist/es5/webgl-utils/request-animation-frame.js.map +0 -1
  621. package/dist/es5/webgl-utils/texture-utils.js +0 -61
  622. package/dist/es5/webgl-utils/texture-utils.js.map +0 -1
  623. package/dist/es5/webgl-utils/typed-array-utils.js.map +0 -1
  624. package/dist/esm/_deprecated/context-api.js +0 -76
  625. package/dist/esm/_deprecated/context-api.js.map +0 -1
  626. package/dist/esm/_deprecated/features.js +0 -111
  627. package/dist/esm/_deprecated/features.js.map +0 -1
  628. package/dist/esm/adapter/converters/set-device-parameters.js.map +0 -1
  629. package/dist/esm/adapter/converters/webgpu-texture-formats.js +0 -285
  630. package/dist/esm/adapter/converters/webgpu-texture-formats.js.map +0 -1
  631. package/dist/esm/adapter/webgl-shader.js.map +0 -1
  632. package/dist/esm/classes/accessor.d.ts +0 -28
  633. package/dist/esm/classes/accessor.js.map +0 -1
  634. package/dist/esm/classes/clear.js +0 -105
  635. package/dist/esm/classes/clear.js.map +0 -1
  636. package/dist/esm/classes/copy-and-blit.js +0 -338
  637. package/dist/esm/classes/copy-and-blit.js.map +0 -1
  638. package/dist/esm/classes/framebuffer.js +0 -656
  639. package/dist/esm/classes/framebuffer.js.map +0 -1
  640. package/dist/esm/classes/program-configuration.js +0 -73
  641. package/dist/esm/classes/program-configuration.js.map +0 -1
  642. package/dist/esm/classes/program.js +0 -379
  643. package/dist/esm/classes/program.js.map +0 -1
  644. package/dist/esm/classes/query.js +0 -145
  645. package/dist/esm/classes/query.js.map +0 -1
  646. package/dist/esm/classes/renderbuffer-formats.js.map +0 -1
  647. package/dist/esm/classes/renderbuffer.js.map +0 -1
  648. package/dist/esm/classes/shader.js +0 -118
  649. package/dist/esm/classes/shader.js.map +0 -1
  650. package/dist/esm/classes/texture-2d.js +0 -36
  651. package/dist/esm/classes/texture-2d.js.map +0 -1
  652. package/dist/esm/classes/texture-3d.js +0 -76
  653. package/dist/esm/classes/texture-3d.js.map +0 -1
  654. package/dist/esm/classes/texture-cube.js +0 -130
  655. package/dist/esm/classes/texture-cube.js.map +0 -1
  656. package/dist/esm/classes/texture-formats.js +0 -98
  657. package/dist/esm/classes/texture-formats.js.map +0 -1
  658. package/dist/esm/classes/texture.js.map +0 -1
  659. package/dist/esm/classes/transform-feedback.js +0 -198
  660. package/dist/esm/classes/transform-feedback.js.map +0 -1
  661. package/dist/esm/classes/uniform-buffer-layout.js +0 -104
  662. package/dist/esm/classes/uniform-buffer-layout.js.map +0 -1
  663. package/dist/esm/classes/uniforms.js +0 -250
  664. package/dist/esm/classes/uniforms.js.map +0 -1
  665. package/dist/esm/classes/vertex-array-object.js +0 -261
  666. package/dist/esm/classes/vertex-array-object.js.map +0 -1
  667. package/dist/esm/classes/vertex-array.js +0 -408
  668. package/dist/esm/classes/vertex-array.js.map +0 -1
  669. package/dist/esm/classes/webgl-buffer.js.map +0 -1
  670. package/dist/esm/classes/webgl-resource.js.map +0 -1
  671. package/dist/esm/context/context/create-context.js.map +0 -1
  672. package/dist/esm/context/context/device-pixels.js +0 -98
  673. package/dist/esm/context/context/device-pixels.js.map +0 -1
  674. package/dist/esm/context/context/get-canvas.js +0 -31
  675. package/dist/esm/context/context/get-canvas.js.map +0 -1
  676. package/dist/esm/context/context/resize-context.js +0 -15
  677. package/dist/esm/context/context/resize-context.js.map +0 -1
  678. package/dist/esm/context/parameters/webgl-parameters.js +0 -2
  679. package/dist/esm/context/parameters/webgl-parameters.js.map +0 -1
  680. package/dist/esm/debug/debug-program-configuration.js +0 -40
  681. package/dist/esm/debug/debug-program-configuration.js.map +0 -1
  682. package/dist/esm/debug/debug-uniforms.js +0 -108
  683. package/dist/esm/debug/debug-uniforms.js.map +0 -1
  684. package/dist/esm/debug/debug-vertex-array.js +0 -118
  685. package/dist/esm/debug/debug-vertex-array.js.map +0 -1
  686. package/dist/esm/helpers/get-program-bindings.js +0 -228
  687. package/dist/esm/helpers/get-program-bindings.js.map +0 -1
  688. package/dist/esm/helpers/program-bindings.js +0 -2
  689. package/dist/esm/types/accessor.d.ts +0 -29
  690. package/dist/esm/webgl-utils/attribute-utils.js +0 -182
  691. package/dist/esm/webgl-utils/attribute-utils.js.map +0 -1
  692. package/dist/esm/webgl-utils/constants-to-keys.js.map +0 -1
  693. package/dist/esm/webgl-utils/format-utils.js +0 -45
  694. package/dist/esm/webgl-utils/format-utils.js.map +0 -1
  695. package/dist/esm/webgl-utils/get-error.js +0 -41
  696. package/dist/esm/webgl-utils/get-error.js.map +0 -1
  697. package/dist/esm/webgl-utils/index.js +0 -5
  698. package/dist/esm/webgl-utils/index.js.map +0 -1
  699. package/dist/esm/webgl-utils/parse-shader-compiler-log.js.map +0 -1
  700. package/dist/esm/webgl-utils/request-animation-frame.js +0 -7
  701. package/dist/esm/webgl-utils/request-animation-frame.js.map +0 -1
  702. package/dist/esm/webgl-utils/texture-utils.js +0 -48
  703. package/dist/esm/webgl-utils/texture-utils.js.map +0 -1
  704. package/dist/esm/webgl-utils/typed-array-utils.js.map +0 -1
  705. package/dist/helpers/get-program-bindings.d.ts +0 -8
  706. package/dist/helpers/get-program-bindings.d.ts.map +0 -1
  707. package/dist/helpers/get-program-bindings.js +0 -228
  708. package/dist/helpers/get-program-bindings.js.map +0 -1
  709. package/dist/helpers/program-bindings.d.ts +0 -41
  710. package/dist/helpers/program-bindings.d.ts.map +0 -1
  711. package/dist/helpers/program-bindings.js +0 -2
  712. package/dist/types/accessor.d.ts +0 -29
  713. package/dist/webgl-utils/attribute-utils.d.ts +0 -18
  714. package/dist/webgl-utils/attribute-utils.d.ts.map +0 -1
  715. package/dist/webgl-utils/attribute-utils.js +0 -182
  716. package/dist/webgl-utils/attribute-utils.js.map +0 -1
  717. package/dist/webgl-utils/constants-to-keys.d.ts +0 -4
  718. package/dist/webgl-utils/constants-to-keys.d.ts.map +0 -1
  719. package/dist/webgl-utils/constants-to-keys.js.map +0 -1
  720. package/dist/webgl-utils/format-utils.d.ts +0 -3
  721. package/dist/webgl-utils/format-utils.d.ts.map +0 -1
  722. package/dist/webgl-utils/format-utils.js +0 -45
  723. package/dist/webgl-utils/format-utils.js.map +0 -1
  724. package/dist/webgl-utils/get-error.d.ts +0 -3
  725. package/dist/webgl-utils/get-error.d.ts.map +0 -1
  726. package/dist/webgl-utils/get-error.js +0 -41
  727. package/dist/webgl-utils/get-error.js.map +0 -1
  728. package/dist/webgl-utils/index.d.ts +0 -5
  729. package/dist/webgl-utils/index.d.ts.map +0 -1
  730. package/dist/webgl-utils/index.js +0 -5
  731. package/dist/webgl-utils/index.js.map +0 -1
  732. package/dist/webgl-utils/parse-shader-compiler-log.d.ts.map +0 -1
  733. package/dist/webgl-utils/parse-shader-compiler-log.js.map +0 -1
  734. package/dist/webgl-utils/request-animation-frame.d.ts +0 -4
  735. package/dist/webgl-utils/request-animation-frame.d.ts.map +0 -1
  736. package/dist/webgl-utils/request-animation-frame.js +0 -7
  737. package/dist/webgl-utils/request-animation-frame.js.map +0 -1
  738. package/dist/webgl-utils/texture-utils.d.ts +0 -15
  739. package/dist/webgl-utils/texture-utils.d.ts.map +0 -1
  740. package/dist/webgl-utils/texture-utils.js +0 -48
  741. package/dist/webgl-utils/texture-utils.js.map +0 -1
  742. package/dist/webgl-utils/typed-array-utils.d.ts.map +0 -1
  743. package/dist/webgl-utils/typed-array-utils.js.map +0 -1
  744. package/src/.DS_Store +0 -0
  745. package/src/_deprecated/context-api.ts +0 -146
  746. package/src/_deprecated/features.ts +0 -159
  747. package/src/adapter/converters/webgpu-texture-formats.ts +0 -167
  748. package/src/classes/accessor.d.ts +0 -28
  749. package/src/classes/accessor.js +0 -129
  750. package/src/classes/accessor.ts.disabled +0 -159
  751. package/src/classes/clear.ts +0 -108
  752. package/src/classes/copy-and-blit.ts +0 -460
  753. package/src/classes/framebuffer.ts +0 -763
  754. package/src/classes/program-configuration.ts +0 -77
  755. package/src/classes/program.ts +0 -431
  756. package/src/classes/query.ts +0 -171
  757. package/src/classes/renderbuffer.ts +0 -154
  758. package/src/classes/shader.ts +0 -129
  759. package/src/classes/texture-2d.ts +0 -35
  760. package/src/classes/texture-3d.ts +0 -123
  761. package/src/classes/texture-cube.ts +0 -162
  762. package/src/classes/texture-formats.ts +0 -171
  763. package/src/classes/texture.ts +0 -965
  764. package/src/classes/transform-feedback.ts +0 -191
  765. package/src/classes/uniform-buffer-layout.ts +0 -113
  766. package/src/classes/uniforms.ts +0 -394
  767. package/src/classes/vertex-array-object.ts +0 -339
  768. package/src/classes/vertex-array.ts +0 -484
  769. package/src/context/context/device-pixels.ts +0 -147
  770. package/src/context/context/get-canvas.ts +0 -37
  771. package/src/context/context/resize-context.ts +0 -37
  772. package/src/context/parameters/webgl-parameters.ts +0 -197
  773. package/src/debug/debug-program-configuration.ts +0 -32
  774. package/src/debug/debug-uniforms.ts +0 -100
  775. package/src/debug/debug-vertex-array.ts +0 -123
  776. package/src/helpers/get-program-bindings.ts +0 -244
  777. package/src/helpers/program-bindings.ts +0 -46
  778. package/src/types/accessor.d.ts +0 -29
  779. package/src/webgl-utils/attribute-utils.ts +0 -171
  780. package/src/webgl-utils/format-utils.ts +0 -43
  781. package/src/webgl-utils/get-error.ts +0 -56
  782. package/src/webgl-utils/index.ts +0 -12
  783. package/src/webgl-utils/request-animation-frame.ts +0 -14
  784. package/src/webgl-utils/texture-utils.ts +0 -60
@@ -1,118 +0,0 @@
1
- import { formatValue } from '@luma.gl/api';
2
- import Buffer from '../classes/webgl-buffer';
3
- import { getKey } from '../webgl-utils/constants-to-keys';
4
- import { getCompositeGLType } from '../webgl-utils/attribute-utils';
5
- export function getDebugTableForVertexArray(options) {
6
- const {
7
- vertexArray,
8
- header = 'Attributes'
9
- } = options;
10
-
11
- if (!vertexArray.configuration) {
12
- return {};
13
- }
14
-
15
- const table = {};
16
-
17
- if (vertexArray.elements) {
18
- table.ELEMENT_ARRAY_BUFFER = getDebugTableRow(vertexArray, vertexArray.elements, null, header);
19
- }
20
-
21
- const attributes = vertexArray.values;
22
-
23
- for (const attributeLocation in attributes) {
24
- const info = vertexArray._getAttributeInfo(attributeLocation);
25
-
26
- if (info) {
27
- let rowHeader = "".concat(attributeLocation, ": ").concat(info.name);
28
- const accessor = vertexArray.accessors[info.location];
29
-
30
- if (accessor) {
31
- rowHeader = "".concat(attributeLocation, ": ").concat(getGLSLDeclaration(info.name, accessor));
32
- }
33
-
34
- table[rowHeader] = getDebugTableRow(vertexArray, attributes[attributeLocation], accessor, header);
35
- }
36
- }
37
-
38
- return table;
39
- }
40
-
41
- function getDebugTableRow(vertexArray, attribute, accessor, header) {
42
- const {
43
- gl
44
- } = vertexArray;
45
-
46
- if (!attribute) {
47
- return {
48
- [header]: 'null',
49
- 'Format ': 'N/A'
50
- };
51
- }
52
-
53
- let type = 'NOT PROVIDED';
54
- let size = 1;
55
- let verts = 0;
56
- let bytes = 0;
57
- let isInteger;
58
- let marker;
59
- let value;
60
-
61
- if (accessor) {
62
- type = accessor.type;
63
- size = accessor.size;
64
- type = String(type).replace('Array', '');
65
- isInteger = type.indexOf('nt') !== -1;
66
- }
67
-
68
- if (attribute instanceof Buffer) {
69
- const buffer = attribute;
70
- const {
71
- data,
72
- changed
73
- } = buffer.getDebugData();
74
- marker = changed ? '*' : '';
75
- value = data;
76
- bytes = buffer.byteLength;
77
- verts = bytes / data.BYTES_PER_ELEMENT / size;
78
- let format;
79
-
80
- if (accessor) {
81
- const instanced = accessor.divisor > 0;
82
- format = "".concat(instanced ? 'I ' : 'P ', " ").concat(verts, " (x").concat(size, "=").concat(bytes, " bytes ").concat(getKey(gl, type), ")");
83
- } else {
84
- isInteger = true;
85
- format = "".concat(bytes, " bytes");
86
- }
87
-
88
- return {
89
- [header]: "".concat(marker).concat(formatValue(value, {
90
- size,
91
- isInteger
92
- })),
93
- 'Format ': format
94
- };
95
- }
96
-
97
- value = attribute;
98
- size = attribute.length;
99
- type = String(attribute.constructor.name).replace('Array', '');
100
- isInteger = type.indexOf('nt') !== -1;
101
- return {
102
- [header]: "".concat(formatValue(value, {
103
- size,
104
- isInteger
105
- }), " (constant)"),
106
- 'Format ': "".concat(size, "x").concat(type, " (constant)")
107
- };
108
- }
109
-
110
- function getGLSLDeclaration(name, accessor) {
111
- const {
112
- type,
113
- size
114
- } = accessor;
115
- const typeAndName = getCompositeGLType(type, size);
116
- return typeAndName ? "".concat(name, " (").concat(typeAndName.name, ")") : name;
117
- }
118
- //# sourceMappingURL=debug-vertex-array.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/debug/debug-vertex-array.ts"],"names":["formatValue","Buffer","getKey","getCompositeGLType","getDebugTableForVertexArray","options","vertexArray","header","configuration","table","elements","ELEMENT_ARRAY_BUFFER","getDebugTableRow","attributes","values","attributeLocation","info","_getAttributeInfo","rowHeader","name","accessor","accessors","location","getGLSLDeclaration","attribute","gl","type","size","verts","bytes","isInteger","marker","value","String","replace","indexOf","buffer","data","changed","getDebugData","byteLength","BYTES_PER_ELEMENT","format","instanced","divisor","length","constructor","typeAndName"],"mappings":"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","sourcesContent":["import {formatValue} from '@luma.gl/api';\nimport Buffer from '../classes/webgl-buffer';\nimport {getKey} from '../webgl-utils/constants-to-keys';\nimport {getCompositeGLType} from '../webgl-utils/attribute-utils';\n\n// Creates object suitable as input for console.table\nexport function getDebugTableForVertexArray(options?: {vertexArray: any; header?: string}): {} {\n const {vertexArray, header = 'Attributes'} = options;\n\n if (!vertexArray.configuration) {\n return {};\n }\n\n const table = {}; // {[header]: {}};\n\n // Add index (elements) if available\n if (vertexArray.elements) {\n // const elements = Object.assign({size: 1}, vertexArray.elements);\n // @ts-expect-error\n table.ELEMENT_ARRAY_BUFFER = getDebugTableRow(vertexArray, vertexArray.elements, null, header);\n }\n\n // Add used attributes\n const attributes = vertexArray.values;\n\n for (const attributeLocation in attributes) {\n const info = vertexArray._getAttributeInfo(attributeLocation);\n if (info) {\n let rowHeader = `${attributeLocation}: ${info.name}`;\n const accessor = vertexArray.accessors[info.location];\n if (accessor) {\n rowHeader = `${attributeLocation}: ${getGLSLDeclaration(info.name, accessor)}`;\n }\n table[rowHeader] = getDebugTableRow(\n vertexArray,\n attributes[attributeLocation],\n accessor,\n header\n );\n }\n }\n\n return table;\n}\n\n/* eslint-disable max-statements */\nfunction getDebugTableRow(vertexArray, attribute, accessor, header) {\n const {gl} = vertexArray;\n\n if (!attribute) {\n return {\n [header]: 'null',\n 'Format ': 'N/A'\n };\n }\n\n let type = 'NOT PROVIDED';\n let size = 1;\n let verts = 0;\n let bytes = 0;\n\n let isInteger;\n let marker;\n let value;\n\n if (accessor) {\n type = accessor.type;\n size = accessor.size;\n\n // Generate a type name by dropping Array from Float32Array etc.\n type = String(type).replace('Array', '');\n\n // Look for 'nt' to detect integer types, e.g. Int32Array, Uint32Array\n isInteger = type.indexOf('nt') !== -1;\n }\n\n if (attribute instanceof Buffer) {\n const buffer = attribute;\n\n const {data, changed} = buffer.getDebugData();\n marker = changed ? '*' : '';\n\n value = data;\n bytes = buffer.byteLength;\n verts = bytes / data.BYTES_PER_ELEMENT / size;\n\n let format;\n\n if (accessor) {\n const instanced = accessor.divisor > 0;\n format = `${instanced ? 'I ' : 'P '} ${verts} (x${size}=${bytes} bytes ${getKey(gl, type)})`;\n } else {\n // element buffer\n isInteger = true;\n format = `${bytes} bytes`;\n }\n\n return {\n [header]: `${marker}${formatValue(value, {size, isInteger})}`,\n 'Format ': format\n };\n }\n\n // CONSTANT VALUE\n value = attribute;\n size = attribute.length;\n // Generate a type name by dropping Array from Float32Array etc.\n type = String(attribute.constructor.name).replace('Array', '');\n // Look for 'nt' to detect integer types, e.g. Int32Array, Uint32Array\n isInteger = type.indexOf('nt') !== -1;\n\n return {\n [header]: `${formatValue(value, {size, isInteger})} (constant)`,\n 'Format ': `${size}x${type} (constant)`\n };\n}\n/* eslint-ensable max-statements */\n\nfunction getGLSLDeclaration(name, accessor) {\n const {type, size} = accessor;\n const typeAndName = getCompositeGLType(type, size);\n return typeAndName ? `${name} (${typeAndName.name})` : name;\n}\n"],"file":"debug-vertex-array.js"}
@@ -1,116 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- exports.createGLContext = createGLContext;
9
- exports.instrumentGLContext = instrumentGLContext;
10
- exports.resizeGLContext = resizeGLContext;
11
- exports.hasFeatures = hasFeatures;
12
- exports.hasFeature = hasFeature;
13
- exports.getFeatures = getFeatures;
14
- exports.getContextDebugInfo = getContextDebugInfo;
15
- exports.getGLContextInfo = getGLContextInfo;
16
- exports.getContextInfo = getContextInfo;
17
- exports.getContextLimits = getContextLimits;
18
-
19
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
20
-
21
- var _constants = _interopRequireDefault(require("@luma.gl/constants"));
22
-
23
- var _webgl = require("@luma.gl/webgl");
24
-
25
- var _features = require("./features");
26
-
27
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
28
-
29
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
30
-
31
- function createGLContext(options) {
32
- var webglDevice = new _webgl.WebGLDevice(options);
33
- return webglDevice.gl;
34
- }
35
-
36
- function instrumentGLContext(gl, options) {
37
- var webglDevice = _webgl.WebGLDevice.attach(gl, options);
38
-
39
- return webglDevice.gl;
40
- }
41
-
42
- function resizeGLContext(gl, options) {
43
- var webglDevice = _webgl.WebGLDevice.attach(gl);
44
-
45
- webglDevice.resize(options);
46
- }
47
-
48
- function hasFeatures(gl, features) {
49
- var webglDevice = _webgl.WebGLDevice.attach(gl);
50
-
51
- var normalizedFeatures = Array.isArray(features) ? features : [features];
52
- var deviceFeatures = normalizedFeatures.map(function (feature) {
53
- return classicToDeviceFeature(feature);
54
- });
55
- return deviceFeatures.every(function (feature) {
56
- return webglDevice.features.has(feature);
57
- });
58
- }
59
-
60
- function classicToDeviceFeature(feature) {
61
- var deviceFeature = feature.toLowerCase().replace(/\_/g, '-');
62
-
63
- if (deviceFeature.startsWith('webgl2') || deviceFeature.startsWith('glsl-')) {
64
- return deviceFeature;
65
- }
66
-
67
- return "webgl-".concat(deviceFeature);
68
- }
69
-
70
- function hasFeature(gl, feature) {
71
- return hasFeatures(gl, feature);
72
- }
73
-
74
- function getFeatures(gl) {
75
- var webglDevice = _webgl.WebGLDevice.attach(gl);
76
-
77
- var featureMap = {};
78
-
79
- for (var feature in _features.DEPRECATED_FEATURES) {
80
- featureMap[feature] = webglDevice.features.has(classicToDeviceFeature(feature));
81
- }
82
-
83
- return featureMap;
84
- }
85
-
86
- function getContextDebugInfo(gl) {
87
- var webglDevice = _webgl.WebGLDevice.attach(gl);
88
-
89
- var info = webglDevice.info;
90
- return _objectSpread(_objectSpread({}, webglDevice.info), {}, {
91
- vendorMasked: webglDevice.info.vendor,
92
- rendererMasked: webglDevice.info.renderer
93
- });
94
- }
95
-
96
- function getGLContextInfo(gl) {
97
- var _ref;
98
-
99
- var info = getContextDebugInfo(gl);
100
- return _ref = {}, (0, _defineProperty2.default)(_ref, _constants.default.UNMASKED_VENDOR_WEBGL, info.vendor), (0, _defineProperty2.default)(_ref, _constants.default.UNMASKED_RENDERER_WEBGL, info.renderer), (0, _defineProperty2.default)(_ref, _constants.default.VENDOR, info.vendorMasked), (0, _defineProperty2.default)(_ref, _constants.default.RENDERER, info.rendererMasked), (0, _defineProperty2.default)(_ref, _constants.default.VERSION, info.version), _ref;
101
- }
102
-
103
- function getContextInfo(gl) {
104
- return _objectSpread(_objectSpread(_objectSpread({}, getContextDebugInfo(gl)), getContextLimits(gl)), {}, {
105
- info: getGLContextInfo(gl)
106
- });
107
- }
108
-
109
- function getContextLimits(gl) {
110
- var webglDevice = _webgl.WebGLDevice.attach(gl);
111
-
112
- return {
113
- limits: webglDevice.webglLimits
114
- };
115
- }
116
- //# sourceMappingURL=context-api.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/_deprecated/context-api.ts"],"names":["createGLContext","options","webglDevice","WebGLDevice","gl","instrumentGLContext","attach","resizeGLContext","resize","hasFeatures","features","normalizedFeatures","Array","isArray","deviceFeatures","map","feature","classicToDeviceFeature","every","has","deviceFeature","toLowerCase","replace","startsWith","hasFeature","getFeatures","featureMap","DEPRECATED_FEATURES","getContextDebugInfo","info","vendorMasked","vendor","rendererMasked","renderer","getGLContextInfo","GL","UNMASKED_VENDOR_WEBGL","UNMASKED_RENDERER_WEBGL","VENDOR","RENDERER","VERSION","version","getContextInfo","getContextLimits","limits","webglLimits"],"mappings":"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","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 {DEPRECATED_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 => classicToDeviceFeature(feature));\n // @ts-expect-error Feature is a string enum\n return deviceFeatures.every((feature) => webglDevice.features.has(feature));\n}\n\nfunction classicToDeviceFeature(feature: string): string {\n const deviceFeature = feature.toLowerCase().replace(/\\_/g, '-');\n if (deviceFeature.startsWith('webgl2') || deviceFeature.startsWith('glsl-')) {\n return deviceFeature;\n }\n return `webgl-${deviceFeature}`;\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 DEPRECATED_FEATURES) {\n // @ts-expect-error Feature is a string enum\n featureMap[feature] = webglDevice.features.has(classicToDeviceFeature(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"}
@@ -1,118 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- exports.getWebGLFeatures = getWebGLFeatures;
9
- exports.DEPRECATED_FEATURES = void 0;
10
-
11
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
12
-
13
- var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
14
-
15
- var _constants = _interopRequireDefault(require("@luma.gl/constants"));
16
-
17
- var _webgl = require("@luma.gl/webgl");
18
-
19
- var _api = require("@luma.gl/api");
20
-
21
- var _WEBGL_FEATURES;
22
-
23
- var DEPRECATED_FEATURES = {
24
- WEBGL2: 'WEBGL2',
25
- VERTEX_ARRAY_OBJECT: 'VERTEX_ARRAY_OBJECT',
26
- TIMER_QUERY: 'TIMER_QUERY',
27
- INSTANCED_RENDERING: 'INSTANCED_RENDERING',
28
- MULTIPLE_RENDER_TARGETS: 'MULTIPLE_RENDER_TARGETS',
29
- ELEMENT_INDEX_UINT32: 'ELEMENT_INDEX_UINT32',
30
- BLEND_EQUATION_MINMAX: 'BLEND_EQUATION_MINMAX',
31
- FLOAT_BLEND: 'FLOAT_BLEND',
32
- COLOR_ENCODING_SRGB: 'COLOR_ENCODING_SRGB',
33
- TEXTURE_DEPTH: 'TEXTURE_DEPTH',
34
- TEXTURE_FLOAT: 'TEXTURE_FLOAT',
35
- TEXTURE_HALF_FLOAT: 'TEXTURE_HALF_FLOAT',
36
- TEXTURE_FILTER_LINEAR_FLOAT: 'TEXTURE_FILTER_LINEAR_FLOAT',
37
- TEXTURE_FILTER_LINEAR_HALF_FLOAT: 'TEXTURE_FILTER_LINEAR_HALF_FLOAT',
38
- TEXTURE_FILTER_ANISOTROPIC: 'TEXTURE_FILTER_ANISOTROPIC',
39
- COLOR_ATTACHMENT_RGBA32F: 'COLOR_ATTACHMENT_RGBA32F',
40
- COLOR_ATTACHMENT_FLOAT: 'COLOR_ATTACHMENT_FLOAT',
41
- COLOR_ATTACHMENT_HALF_FLOAT: 'COLOR_ATTACHMENT_HALF_FLOAT',
42
- GLSL_FRAG_DATA: 'GLSL_FRAG_DATA',
43
- GLSL_FRAG_DEPTH: 'GLSL_FRAG_DEPTH',
44
- GLSL_DERIVATIVES: 'GLSL_DERIVATIVES',
45
- GLSL_TEXTURE_LOD: 'GLSL_TEXTURE_LOD'
46
- };
47
- exports.DEPRECATED_FEATURES = DEPRECATED_FEATURES;
48
-
49
- function getWebGLFeatures(gl) {
50
- gl.getExtension('EXT_color_buffer_float');
51
- gl.getExtension('WEBGL_color_buffer_float');
52
- gl.getExtension('EXT_float_blend');
53
- var features = new Set();
54
-
55
- for (var feature in WEBGL_FEATURES) {
56
- if (isFeatureSupported(gl, feature)) {
57
- features.add(feature);
58
- }
59
- }
60
-
61
- return features;
62
- }
63
-
64
- function isFeatureSupported(gl, cap) {
65
- var feature = WEBGL_FEATURES[cap];
66
- (0, _api.assert)(feature, cap);
67
-
68
- var _feature = (0, _slicedToArray2.default)(feature, 2),
69
- webgl1Feature = _feature[0],
70
- webgl2Feature = _feature[1];
71
-
72
- var featureDefinition = (0, _webgl.isWebGL2)(gl) ? webgl2Feature : webgl1Feature;
73
-
74
- if (cap === DEPRECATED_FEATURES.COLOR_ATTACHMENT_RGBA32F && !(0, _webgl.isWebGL2)(gl)) {
75
- return checkFloat32ColorAttachment(gl);
76
- }
77
-
78
- if (typeof featureDefinition === 'string') {
79
- return Boolean(gl.getExtension(featureDefinition));
80
- }
81
-
82
- return featureDefinition;
83
- }
84
-
85
- function checkFloat32ColorAttachment(gl) {
86
- var texture;
87
- var framebuffer;
88
-
89
- try {
90
- var _texture = gl.createTexture();
91
-
92
- gl.bindTexture(_constants.default.TEXTURE_2D, _texture);
93
- var level = 0;
94
- var internalFormat = gl.RGBA;
95
- var width = 1;
96
- var height = 1;
97
- var border = 0;
98
- var srcFormat = gl.RGBA;
99
- var srcType = gl.UNSIGNED_BYTE;
100
- var pixel = new Uint8Array([0, 0, 255, 255]);
101
- gl.texImage2D(gl.TEXTURE_2D, level, internalFormat, width, height, border, srcFormat, srcType, pixel);
102
-
103
- var _framebuffer = gl.createFramebuffer();
104
-
105
- gl.bindFramebuffer(_constants.default.FRAMEBUFFER, _framebuffer);
106
- gl.framebufferTexture2D(_constants.default.FRAMEBUFFER, _constants.default.COLOR_ATTACHMENT0, _constants.default.TEXTURE_2D, _texture, 0);
107
-
108
- var status = gl.checkFramebufferStatus(_constants.default.FRAMEBUFFER) === _constants.default.FRAMEBUFFER_COMPLETE;
109
-
110
- return status;
111
- } finally {
112
- gl.deleteTexture(texture);
113
- gl.deleteFramebuffer(framebuffer);
114
- }
115
- }
116
-
117
- var WEBGL_FEATURES = (_WEBGL_FEATURES = {}, (0, _defineProperty2.default)(_WEBGL_FEATURES, DEPRECATED_FEATURES.WEBGL2, [false, true]), (0, _defineProperty2.default)(_WEBGL_FEATURES, DEPRECATED_FEATURES.VERTEX_ARRAY_OBJECT, ['OES_vertex_array_object', true]), (0, _defineProperty2.default)(_WEBGL_FEATURES, DEPRECATED_FEATURES.TIMER_QUERY, ['EXT_disjoint_timer_query', 'EXT_disjoint_timer_query_webgl2']), (0, _defineProperty2.default)(_WEBGL_FEATURES, DEPRECATED_FEATURES.INSTANCED_RENDERING, ['ANGLE_instanced_arrays', true]), (0, _defineProperty2.default)(_WEBGL_FEATURES, DEPRECATED_FEATURES.MULTIPLE_RENDER_TARGETS, ['WEBGL_draw_buffers', true]), (0, _defineProperty2.default)(_WEBGL_FEATURES, DEPRECATED_FEATURES.ELEMENT_INDEX_UINT32, ['OES_element_index_uint', true]), (0, _defineProperty2.default)(_WEBGL_FEATURES, DEPRECATED_FEATURES.BLEND_EQUATION_MINMAX, ['EXT_blend_minmax', true]), (0, _defineProperty2.default)(_WEBGL_FEATURES, DEPRECATED_FEATURES.FLOAT_BLEND, ['EXT_float_blend', 'EXT_float_blend']), (0, _defineProperty2.default)(_WEBGL_FEATURES, DEPRECATED_FEATURES.COLOR_ENCODING_SRGB, ['EXT_sRGB', true]), (0, _defineProperty2.default)(_WEBGL_FEATURES, DEPRECATED_FEATURES.TEXTURE_DEPTH, ['WEBGL_depth_texture', true]), (0, _defineProperty2.default)(_WEBGL_FEATURES, DEPRECATED_FEATURES.TEXTURE_FLOAT, ['OES_texture_float', true]), (0, _defineProperty2.default)(_WEBGL_FEATURES, DEPRECATED_FEATURES.TEXTURE_HALF_FLOAT, ['OES_texture_half_float', true]), (0, _defineProperty2.default)(_WEBGL_FEATURES, DEPRECATED_FEATURES.TEXTURE_FILTER_LINEAR_FLOAT, ['OES_texture_float_linear', 'OES_texture_float_linear']), (0, _defineProperty2.default)(_WEBGL_FEATURES, DEPRECATED_FEATURES.TEXTURE_FILTER_LINEAR_HALF_FLOAT, ['OES_texture_half_float_linear', 'OES_texture_half_float_linear']), (0, _defineProperty2.default)(_WEBGL_FEATURES, DEPRECATED_FEATURES.TEXTURE_FILTER_ANISOTROPIC, ['EXT_texture_filter_anisotropic', 'EXT_texture_filter_anisotropic']), (0, _defineProperty2.default)(_WEBGL_FEATURES, DEPRECATED_FEATURES.COLOR_ATTACHMENT_RGBA32F, [false, 'EXT_color_buffer_float']), (0, _defineProperty2.default)(_WEBGL_FEATURES, DEPRECATED_FEATURES.COLOR_ATTACHMENT_FLOAT, [false, 'EXT_color_buffer_float']), (0, _defineProperty2.default)(_WEBGL_FEATURES, DEPRECATED_FEATURES.COLOR_ATTACHMENT_HALF_FLOAT, ['EXT_color_buffer_half_float', 'EXT_color_buffer_half_float']), (0, _defineProperty2.default)(_WEBGL_FEATURES, DEPRECATED_FEATURES.GLSL_FRAG_DATA, ['WEBGL_draw_buffers', true]), (0, _defineProperty2.default)(_WEBGL_FEATURES, DEPRECATED_FEATURES.GLSL_FRAG_DEPTH, ['EXT_frag_depth', true]), (0, _defineProperty2.default)(_WEBGL_FEATURES, DEPRECATED_FEATURES.GLSL_DERIVATIVES, ['OES_standard_derivatives', true]), (0, _defineProperty2.default)(_WEBGL_FEATURES, DEPRECATED_FEATURES.GLSL_TEXTURE_LOD, ['EXT_shader_texture_lod', true]), _WEBGL_FEATURES);
118
- //# sourceMappingURL=features.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/_deprecated/features.ts"],"names":["DEPRECATED_FEATURES","WEBGL2","VERTEX_ARRAY_OBJECT","TIMER_QUERY","INSTANCED_RENDERING","MULTIPLE_RENDER_TARGETS","ELEMENT_INDEX_UINT32","BLEND_EQUATION_MINMAX","FLOAT_BLEND","COLOR_ENCODING_SRGB","TEXTURE_DEPTH","TEXTURE_FLOAT","TEXTURE_HALF_FLOAT","TEXTURE_FILTER_LINEAR_FLOAT","TEXTURE_FILTER_LINEAR_HALF_FLOAT","TEXTURE_FILTER_ANISOTROPIC","COLOR_ATTACHMENT_RGBA32F","COLOR_ATTACHMENT_FLOAT","COLOR_ATTACHMENT_HALF_FLOAT","GLSL_FRAG_DATA","GLSL_FRAG_DEPTH","GLSL_DERIVATIVES","GLSL_TEXTURE_LOD","getWebGLFeatures","gl","getExtension","features","Set","feature","WEBGL_FEATURES","isFeatureSupported","add","cap","webgl1Feature","webgl2Feature","featureDefinition","checkFloat32ColorAttachment","Boolean","texture","framebuffer","createTexture","bindTexture","GL","TEXTURE_2D","level","internalFormat","RGBA","width","height","border","srcFormat","srcType","UNSIGNED_BYTE","pixel","Uint8Array","texImage2D","createFramebuffer","bindFramebuffer","FRAMEBUFFER","framebufferTexture2D","COLOR_ATTACHMENT0","status","checkFramebufferStatus","FRAMEBUFFER_COMPLETE","deleteTexture","deleteFramebuffer"],"mappings":";;;;;;;;;;;;;;AAIA;;AACA;;AACA;;;;AAGO,IAAMA,mBAAmB,GAAG;AACjCC,EAAAA,MAAM,EAAE,QADyB;AAIjCC,EAAAA,mBAAmB,EAAE,qBAJY;AAKjCC,EAAAA,WAAW,EAAE,aALoB;AAMjCC,EAAAA,mBAAmB,EAAE,qBANY;AAOjCC,EAAAA,uBAAuB,EAAE,yBAPQ;AAUjCC,EAAAA,oBAAoB,EAAE,sBAVW;AAajCC,EAAAA,qBAAqB,EAAE,uBAbU;AAcjCC,EAAAA,WAAW,EAAE,aAdoB;AAiBjCC,EAAAA,mBAAmB,EAAE,qBAjBY;AAoBjCC,EAAAA,aAAa,EAAE,eApBkB;AAqBjCC,EAAAA,aAAa,EAAE,eArBkB;AAsBjCC,EAAAA,kBAAkB,EAAE,oBAtBa;AAwBjCC,EAAAA,2BAA2B,EAAE,6BAxBI;AAyBjCC,EAAAA,gCAAgC,EAAE,kCAzBD;AA0BjCC,EAAAA,0BAA0B,EAAE,4BA1BK;AA6BjCC,EAAAA,wBAAwB,EAAE,0BA7BO;AA8BjCC,EAAAA,sBAAsB,EAAE,wBA9BS;AA+BjCC,EAAAA,2BAA2B,EAAE,6BA/BI;AAkCjCC,EAAAA,cAAc,EAAE,gBAlCiB;AAmCjCC,EAAAA,eAAe,EAAE,iBAnCgB;AAoCjCC,EAAAA,gBAAgB,EAAE,kBApCe;AAqCjCC,EAAAA,gBAAgB,EAAE;AArCe,CAA5B;;;AAyCA,SAASC,gBAAT,CAA0BC,EAA1B,EAAkE;AAEvEA,EAAAA,EAAE,CAACC,YAAH,CAAgB,wBAAhB;AACAD,EAAAA,EAAE,CAACC,YAAH,CAAgB,0BAAhB;AACAD,EAAAA,EAAE,CAACC,YAAH,CAAgB,iBAAhB;AAEA,MAAMC,QAAQ,GAAG,IAAIC,GAAJ,EAAjB;;AACA,OAAK,IAAMC,OAAX,IAAsBC,cAAtB,EAAsC;AACpC,QAAIC,kBAAkB,CAACN,EAAD,EAAKI,OAAL,CAAtB,EAAqC;AACnCF,MAAAA,QAAQ,CAACK,GAAT,CAAaH,OAAb;AACD;AACF;;AACD,SAAOF,QAAP;AACD;;AAED,SAASI,kBAAT,CAA4BN,EAA5B,EAAuDQ,GAAvD,EAA6E;AAC3E,MAAMJ,OAAO,GAAGC,cAAc,CAACG,GAAD,CAA9B;AACA,mBAAOJ,OAAP,EAAgBI,GAAhB;;AAEA,8CAAuCJ,OAAvC;AAAA,MAAOK,aAAP;AAAA,MAAsBC,aAAtB;;AAGA,MAAMC,iBAAiB,GAAG,qBAASX,EAAT,IAAeU,aAAf,GAA+BD,aAAzD;;AAEA,MAAID,GAAG,KAAKhC,mBAAmB,CAACgB,wBAA5B,IAAwD,CAAC,qBAASQ,EAAT,CAA7D,EAA2E;AACzE,WAAOY,2BAA2B,CAACZ,EAAD,CAAlC;AACD;;AAGD,MAAI,OAAOW,iBAAP,KAA6B,QAAjC,EAA2C;AACzC,WAAOE,OAAO,CAACb,EAAE,CAACC,YAAH,CAAgBU,iBAAhB,CAAD,CAAd;AACD;;AAED,SAAOA,iBAAP;AACD;;AAID,SAASC,2BAAT,CAAqCZ,EAArC,EAAgE;AAC9D,MAAIc,OAAJ;AACA,MAAIC,WAAJ;;AACA,MAAI;AACF,QAAMD,QAAO,GAAGd,EAAE,CAACgB,aAAH,EAAhB;;AACAhB,IAAAA,EAAE,CAACiB,WAAH,CAAeC,mBAAGC,UAAlB,EAA8BL,QAA9B;AAEA,QAAMM,KAAK,GAAG,CAAd;AACA,QAAMC,cAAc,GAAGrB,EAAE,CAACsB,IAA1B;AACA,QAAMC,KAAK,GAAG,CAAd;AACA,QAAMC,MAAM,GAAG,CAAf;AACA,QAAMC,MAAM,GAAG,CAAf;AACA,QAAMC,SAAS,GAAG1B,EAAE,CAACsB,IAArB;AACA,QAAMK,OAAO,GAAG3B,EAAE,CAAC4B,aAAnB;AACA,QAAMC,KAAK,GAAG,IAAIC,UAAJ,CAAe,CAAC,CAAD,EAAI,CAAJ,EAAO,GAAP,EAAY,GAAZ,CAAf,CAAd;AACA9B,IAAAA,EAAE,CAAC+B,UAAH,CAAc/B,EAAE,CAACmB,UAAjB,EAA6BC,KAA7B,EAAoCC,cAApC,EACcE,KADd,EACqBC,MADrB,EAC6BC,MAD7B,EACqCC,SADrC,EACgDC,OADhD,EAEcE,KAFd;;AAIA,QAAMd,YAAW,GAAGf,EAAE,CAACgC,iBAAH,EAApB;;AACAhC,IAAAA,EAAE,CAACiC,eAAH,CAAmBf,mBAAGgB,WAAtB,EAAmCnB,YAAnC;AACAf,IAAAA,EAAE,CAACmC,oBAAH,CAAwBjB,mBAAGgB,WAA3B,EAAwChB,mBAAGkB,iBAA3C,EAA8DlB,mBAAGC,UAAjE,EAA6EL,QAA7E,EAAsF,CAAtF;;AACA,QAAMuB,MAAM,GAAGrC,EAAE,CAACsC,sBAAH,CAA0BpB,mBAAGgB,WAA7B,MAA8ChB,mBAAGqB,oBAAhE;;AACA,WAAOF,MAAP;AACD,GArBD,SAqBU;AACRrC,IAAAA,EAAE,CAACwC,aAAH,CAAiB1B,OAAjB;AACAd,IAAAA,EAAE,CAACyC,iBAAH,CAAqB1B,WAArB;AACD;AACF;;AAID,IAAMV,cAAoE,yEACvE7B,mBAAmB,CAACC,MADmD,EAC1C,CAAC,KAAD,EAAQ,IAAR,CAD0C,kDAIvED,mBAAmB,CAACE,mBAJmD,EAI7B,CAAC,yBAAD,EAA4B,IAA5B,CAJ6B,kDAKvEF,mBAAmB,CAACG,WALmD,EAKrC,CAAC,0BAAD,EAA6B,iCAA7B,CALqC,kDAMvEH,mBAAmB,CAACI,mBANmD,EAM7B,CAAC,wBAAD,EAA2B,IAA3B,CAN6B,kDAOvEJ,mBAAmB,CAACK,uBAPmD,EAOzB,CAAC,oBAAD,EAAuB,IAAvB,CAPyB,kDAUvEL,mBAAmB,CAACM,oBAVmD,EAU5B,CAAC,wBAAD,EAA2B,IAA3B,CAV4B,kDAavEN,mBAAmB,CAACO,qBAbmD,EAa3B,CAAC,kBAAD,EAAqB,IAArB,CAb2B,kDAcvEP,mBAAmB,CAACQ,WAdmD,EAcrC,CAAC,iBAAD,EAAoB,iBAApB,CAdqC,kDAiBvER,mBAAmB,CAACS,mBAjBmD,EAiB7B,CAAC,UAAD,EAAa,IAAb,CAjB6B,kDAoBvET,mBAAmB,CAACU,aApBmD,EAoBnC,CAAC,qBAAD,EAAwB,IAAxB,CApBmC,kDAqBvEV,mBAAmB,CAACW,aArBmD,EAqBnC,CAAC,mBAAD,EAAsB,IAAtB,CArBmC,kDAsBvEX,mBAAmB,CAACY,kBAtBmD,EAsB9B,CAAC,wBAAD,EAA2B,IAA3B,CAtB8B,kDAwBvEZ,mBAAmB,CAACa,2BAxBmD,EAwBrB,CAAC,0BAAD,EAA6B,0BAA7B,CAxBqB,kDAyBvEb,mBAAmB,CAACc,gCAzBmD,EAyBhB,CAAC,+BAAD,EAAkC,+BAAlC,CAzBgB,kDA0BvEd,mBAAmB,CAACe,0BA1BmD,EA0BtB,CAAC,gCAAD,EAAmC,gCAAnC,CA1BsB,kDA6BvEf,mBAAmB,CAACgB,wBA7BmD,EA6BxB,CAAC,KAAD,EAAQ,wBAAR,CA7BwB,kDA8BvEhB,mBAAmB,CAACiB,sBA9BmD,EA8B1B,CAAC,KAAD,EAAQ,wBAAR,CA9B0B,kDA+BvEjB,mBAAmB,CAACkB,2BA/BmD,EA+BrB,CAAC,6BAAD,EAAgC,6BAAhC,CA/BqB,kDAkCvElB,mBAAmB,CAACmB,cAlCmD,EAkClC,CAAC,oBAAD,EAAuB,IAAvB,CAlCkC,kDAmCvEnB,mBAAmB,CAACoB,eAnCmD,EAmCjC,CAAC,gBAAD,EAAmB,IAAnB,CAnCiC,kDAoCvEpB,mBAAmB,CAACqB,gBApCmD,EAoChC,CAAC,0BAAD,EAA6B,IAA7B,CApCgC,kDAqCvErB,mBAAmB,CAACsB,gBArCmD,EAqChC,CAAC,wBAAD,EAA2B,IAA3B,CArCgC,mBAA1E","sourcesContent":["// Feature detection for WebGL\n// Provides a function that enables simple checking of which WebGL features are\n// available in an WebGL1 or WebGL2 environment.\n\nimport GL from '@luma.gl/constants';\nimport {isWebGL2} from '@luma.gl/webgl';\nimport {assert} from '@luma.gl/api';\n\n// TODO - this should be the default export, test cases need updating\nexport const DEPRECATED_FEATURES = {\n WEBGL2: 'WEBGL2',\n\n // API SUPPORT\n VERTEX_ARRAY_OBJECT: 'VERTEX_ARRAY_OBJECT',\n TIMER_QUERY: 'TIMER_QUERY',\n INSTANCED_RENDERING: 'INSTANCED_RENDERING',\n MULTIPLE_RENDER_TARGETS: 'MULTIPLE_RENDER_TARGETS',\n\n // FEATURES\n ELEMENT_INDEX_UINT32: 'ELEMENT_INDEX_UINT32',\n\n // BLENDING\n BLEND_EQUATION_MINMAX: 'BLEND_EQUATION_MINMAX',\n FLOAT_BLEND: 'FLOAT_BLEND',\n\n // TEXTURES: '// TEXTURES', RENDERBUFFERS\n COLOR_ENCODING_SRGB: 'COLOR_ENCODING_SRGB',\n\n // TEXTURES\n TEXTURE_DEPTH: 'TEXTURE_DEPTH',\n TEXTURE_FLOAT: 'TEXTURE_FLOAT',\n TEXTURE_HALF_FLOAT: 'TEXTURE_HALF_FLOAT',\n\n TEXTURE_FILTER_LINEAR_FLOAT: 'TEXTURE_FILTER_LINEAR_FLOAT',\n TEXTURE_FILTER_LINEAR_HALF_FLOAT: 'TEXTURE_FILTER_LINEAR_HALF_FLOAT',\n TEXTURE_FILTER_ANISOTROPIC: 'TEXTURE_FILTER_ANISOTROPIC',\n\n // FRAMEBUFFERS: '// FRAMEBUFFERS', TEXTURES AND RENDERBUFFERS\n COLOR_ATTACHMENT_RGBA32F: 'COLOR_ATTACHMENT_RGBA32F',\n COLOR_ATTACHMENT_FLOAT: 'COLOR_ATTACHMENT_FLOAT',\n COLOR_ATTACHMENT_HALF_FLOAT: 'COLOR_ATTACHMENT_HALF_FLOAT',\n\n // GLSL extensions\n GLSL_FRAG_DATA: 'GLSL_FRAG_DATA',\n GLSL_FRAG_DEPTH: 'GLSL_FRAG_DEPTH',\n GLSL_DERIVATIVES: 'GLSL_DERIVATIVES',\n GLSL_TEXTURE_LOD: 'GLSL_TEXTURE_LOD'\n};\n\n/** Extract all WebGL features */\nexport function getWebGLFeatures(gl: WebGLRenderingContext): Set<string> {\n // Enable EXT_float_blend first: https://developer.mozilla.org/en-US/docs/Web/API/EXT_float_blend\n gl.getExtension('EXT_color_buffer_float');\n gl.getExtension('WEBGL_color_buffer_float');\n gl.getExtension('EXT_float_blend');\n\n const features = new Set<string>();\n for (const feature in WEBGL_FEATURES) {\n if (isFeatureSupported(gl, feature)) {\n features.add(feature);\n }\n }\n return features;\n}\n\nfunction isFeatureSupported(gl: WebGLRenderingContext, cap: string): boolean {\n const feature = WEBGL_FEATURES[cap];\n assert(feature, cap);\n\n const [webgl1Feature, webgl2Feature] = feature;\n\n // Get extension name from table\n const featureDefinition = isWebGL2(gl) ? webgl2Feature : webgl1Feature;\n\n if (cap === DEPRECATED_FEATURES.COLOR_ATTACHMENT_RGBA32F && !isWebGL2(gl)) {\n return checkFloat32ColorAttachment(gl);\n }\n\n // Check if the value is dependent on checking one or more extensions\n if (typeof featureDefinition === 'string') {\n return Boolean(gl.getExtension(featureDefinition));\n }\n\n return featureDefinition;\n}\n\n\n// function to test if Float 32 bit format texture can be bound as color attachment\nfunction checkFloat32ColorAttachment(gl: WebGLRenderingContext) {\n let texture: WebGLTexture;\n let framebuffer: WebGLFramebuffer;\n try {\n const texture = gl.createTexture();\n gl.bindTexture(GL.TEXTURE_2D, texture);\n\n const level = 0;\n const internalFormat = gl.RGBA;\n const width = 1;\n const height = 1;\n const border = 0;\n const srcFormat = gl.RGBA;\n const srcType = gl.UNSIGNED_BYTE;\n const pixel = new Uint8Array([0, 0, 255, 255]); // opaque blue\n gl.texImage2D(gl.TEXTURE_2D, level, internalFormat,\n width, height, border, srcFormat, srcType,\n pixel);\n\n const framebuffer = gl.createFramebuffer();\n gl.bindFramebuffer(GL.FRAMEBUFFER, framebuffer);\n gl.framebufferTexture2D(GL.FRAMEBUFFER, GL.COLOR_ATTACHMENT0, GL.TEXTURE_2D, texture, 0);\n const status = gl.checkFramebufferStatus(GL.FRAMEBUFFER) === GL.FRAMEBUFFER_COMPLETE;\n return status;\n } finally {\n gl.deleteTexture(texture);\n gl.deleteFramebuffer(framebuffer);\n }\n}\n\n// Defines luma.gl \"feature\" names and semantics\n// Format: 'feature-name: [WebGL1 support, WebGL2 support] / [WebGL1 and WebGL2 support]', when support is 'string' it is the name of the extension\nconst WEBGL_FEATURES: Record<string, [boolean | string, boolean | string]> = {\n [DEPRECATED_FEATURES.WEBGL2]: [false, true],\n\n // API SUPPORT\n [DEPRECATED_FEATURES.VERTEX_ARRAY_OBJECT]: ['OES_vertex_array_object', true],\n [DEPRECATED_FEATURES.TIMER_QUERY]: ['EXT_disjoint_timer_query', 'EXT_disjoint_timer_query_webgl2'],\n [DEPRECATED_FEATURES.INSTANCED_RENDERING]: ['ANGLE_instanced_arrays', true],\n [DEPRECATED_FEATURES.MULTIPLE_RENDER_TARGETS]: ['WEBGL_draw_buffers', true],\n\n // FEATURES\n [DEPRECATED_FEATURES.ELEMENT_INDEX_UINT32]: ['OES_element_index_uint', true],\n\n // BLENDING\n [DEPRECATED_FEATURES.BLEND_EQUATION_MINMAX]: ['EXT_blend_minmax', true],\n [DEPRECATED_FEATURES.FLOAT_BLEND]: ['EXT_float_blend', 'EXT_float_blend'],\n\n // TEXTURES, RENDERBUFFERS\n [DEPRECATED_FEATURES.COLOR_ENCODING_SRGB]: ['EXT_sRGB', true],\n\n // TEXTURES\n [DEPRECATED_FEATURES.TEXTURE_DEPTH]: ['WEBGL_depth_texture', true],\n [DEPRECATED_FEATURES.TEXTURE_FLOAT]: ['OES_texture_float', true],\n [DEPRECATED_FEATURES.TEXTURE_HALF_FLOAT]: ['OES_texture_half_float', true],\n\n [DEPRECATED_FEATURES.TEXTURE_FILTER_LINEAR_FLOAT]: ['OES_texture_float_linear', 'OES_texture_float_linear'],\n [DEPRECATED_FEATURES.TEXTURE_FILTER_LINEAR_HALF_FLOAT]: ['OES_texture_half_float_linear', 'OES_texture_half_float_linear'],\n [DEPRECATED_FEATURES.TEXTURE_FILTER_ANISOTROPIC]: ['EXT_texture_filter_anisotropic', 'EXT_texture_filter_anisotropic'],\n\n // FRAMEBUFFERS, TEXTURES AND RENDERBUFFERS\n [DEPRECATED_FEATURES.COLOR_ATTACHMENT_RGBA32F]: [false, 'EXT_color_buffer_float'], // Note override check\n [DEPRECATED_FEATURES.COLOR_ATTACHMENT_FLOAT]: [false, 'EXT_color_buffer_float'],\n [DEPRECATED_FEATURES.COLOR_ATTACHMENT_HALF_FLOAT]: ['EXT_color_buffer_half_float', 'EXT_color_buffer_half_float'],\n\n // GLSL extensions\n [DEPRECATED_FEATURES.GLSL_FRAG_DATA]: ['WEBGL_draw_buffers', true],\n [DEPRECATED_FEATURES.GLSL_FRAG_DEPTH]: ['EXT_frag_depth', true],\n [DEPRECATED_FEATURES.GLSL_DERIVATIVES]: ['OES_standard_derivatives', true],\n [DEPRECATED_FEATURES.GLSL_TEXTURE_LOD]: ['EXT_shader_texture_lod', true]\n};\n"],"file":"features.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../src/adapter/converters/set-device-parameters.ts"],"names":["setDeviceParameters","device","parameters","webglDevice","WebGLDevice","attach","gl","gl2","cullMode","disable","GL","CULL_FACE","enable","cullFace","FRONT","BACK","frontFace","map","ccw","CCW","cw","CW","depthBias","undefined","polygonOffset","depthBiasSlopeScale","depthWriteEnabled","depthMask","mapBoolean","depthCompare","DEPTH_TEST","depthFunc","convertCompareFunction","stencilWriteMask","mask","stencilMaskSeparate","stencilReadMask","log","warn","stencilCompare","glValue","STENCIL_TEST","stencilFuncSeparate","stencilPassOperation","dppass","convertStencilOperation","sfail","stencilFailOperation","dpfail","stencilDepthFailOperation","stencilOpSeparate","parameter","value","NEVER","LESS","EQUAL","LEQUAL","GREATER","NOTEQUAL","GEQUAL","ALWAYS","KEEP","ZERO","REPLACE","INVERT","INCR","DECR","INCR_WRAP","DECR_WRAP","convertBlendOperationToEquation","FUNC_ADD","FUNC_SUBTRACT","FUNC_REVERSE_SUBTRACT","MIN","MAX","message","valueMap","Error"],"mappings":"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","sourcesContent":["import {Device, Parameters, CompareFunction, StencilOperation, log} from '@luma.gl/api';\nimport GL from '@luma.gl/constants';\nimport {WebGLDevice} from '@luma.gl/webgl';\n\n/** Set WebGPU Style Parameters */\nexport function setDeviceParameters(device: Device, parameters: Parameters) {\n const webglDevice = WebGLDevice.attach(device);\n const {gl, gl2} = webglDevice;\n\n // RASTERIZATION SETTINGS\n if (parameters.cullMode) {\n switch (parameters.cullMode) {\n case 'none':\n gl.disable(GL.CULL_FACE);\n break;\n case 'front':\n gl.enable(GL.CULL_FACE);\n gl.cullFace(GL.FRONT);\n break;\n case 'back':\n gl.enable(GL.CULL_FACE);\n gl.cullFace(GL.BACK);\n break;\n }\n }\n\n if (parameters.frontFace) {\n gl.frontFace(map('frontFace', parameters.frontFace, {\n ccw: GL.CCW,\n cw: GL.CW\n }));\n }\n\n if (parameters.depthBias !== undefined) {\n gl.polygonOffset(parameters.depthBias, parameters.depthBiasSlopeScale || 0);\n }\n\n // depthBiasSlopeScale: {\n // // Handled by depthBias\n // },\n\n // DEPTH STENCIL\n\n if (parameters.depthWriteEnabled !== undefined) {\n gl.depthMask(mapBoolean('depthWriteEnabled', parameters.depthWriteEnabled));\n }\n\n if (parameters.depthCompare) {\n parameters.depthCompare !== 'always' ? gl.enable(GL.DEPTH_TEST) : gl.disable(GL.DEPTH_TEST),\n gl.depthFunc(convertCompareFunction('depthCompare', parameters.depthCompare));\n }\n\n if (parameters.stencilWriteMask) {\n const mask = parameters.stencilWriteMask;\n gl.stencilMaskSeparate(GL.FRONT, mask);\n gl.stencilMaskSeparate(GL.BACK, mask);\n }\n\n if (parameters.stencilReadMask) {\n // stencilReadMask is handle inside stencil***Compare.\n log.warn('stencilReadMask not supported under WebGL');\n }\n\n if (parameters.stencilCompare) {\n const mask = parameters.stencilReadMask || 0xffffffff;\n const glValue = convertCompareFunction('depthCompare', parameters.stencilCompare);\n // TODO - ensure back doesn't overwrite\n parameters.stencilCompare !== 'always' ? gl.enable(GL.STENCIL_TEST) : gl.disable(GL.STENCIL_TEST),\n gl.stencilFuncSeparate(GL.FRONT, glValue, 0, mask);\n gl.stencilFuncSeparate(GL.BACK, glValue, 0, mask);\n }\n\n if (parameters.stencilPassOperation) {\n const dppass = convertStencilOperation('stencilPassOperation', parameters.stencilPassOperation);\n const sfail = convertStencilOperation('stencilFailOperation', parameters.stencilFailOperation);\n const dpfail = convertStencilOperation('stencilDepthFailOperation', parameters.stencilDepthFailOperation);\n gl.stencilOpSeparate(GL.FRONT, sfail, dpfail, dppass);\n gl.stencilOpSeparate(GL.BACK, sfail, dpfail, dppass);\n }\n\n // stencilDepthFailOperation() {\n // // handled by stencilPassOperation\n // },\n\n // stencilFailOperation() {\n // // handled by stencilPassOperation\n // },\n\n // COLOR STATE\n\n // if (parameters.blend) {\n // gl.enable(GL.BLEND);\n\n // const blend = parameters.blend;\n\n // let colorEquation = (blend && blend.color && blend.color.operation) || 'add';\n // let alphaEquation = (blend && blend.alpha && blend.alpha.operation) || 'add';\n // gl.blendEquationSeparate(colorEquation, alphaEquation);\n\n // let colorSrcFactor = (blend && blend.color && blend.color.srcFactor) || 'one';\n // let colorDstFactor = (blend && blend.color && blend.color.dstFactor) || 'zero';\n // let alphaSrcFactor = (blend && blend.alpha && blend.alpha.srcFactor) || 'one';\n // let alphaDstFactor = (blend && blend.alpha && blend.alpha.dstFactor) || 'zero';\n // gl.blendFuncSeparate(colorSrcFactor, colorDstFactor, alphaSrcFactor, alphaDstFactor);\n // }\n}\n\n/*\n rasterizationState: {\n cullMode: \"back\",\n },\n\n depthStencilState: {\n depthWriteEnabled: true,\n depthCompare: \"less\",\n format: \"depth24plus-stencil8\",\n },\n\n colorStates: [\n {\n format: \"bgra8unorm\",\n // colorBlend.srcFactor = wgpu::BlendFactor::SrcAlpha;\n // colorBlend.dstFactor = wgpu::BlendFactor::OneMinusSrcAlpha;\n // alphaBlend.srcFactor = wgpu::BlendFactor::SrcAlpha;\n // alphaBlend.dstFactor = wgpu::BlendFactor::OneMinusSrcAlpha;\n },\n ],\n });\n*/\n\n\nexport function convertCompareFunction(parameter, value: CompareFunction): number {\n return map(parameter, value, {\n 'never': GL.NEVER,\n 'less': GL.LESS,\n 'equal': GL.EQUAL,\n 'less-equal': GL.LEQUAL,\n 'greater': GL.GREATER,\n 'not-equal': GL.NOTEQUAL,\n 'greater-equal': GL.GEQUAL,\n 'always': GL.ALWAYS\n });\n}\n\nfunction convertStencilOperation(parameter, value: StencilOperation): number {\n return map(parameter, value, {\n 'keep': GL.KEEP,\n 'zero': GL.ZERO,\n 'replace': GL.REPLACE,\n 'invert': GL.INVERT,\n 'increment-clamp': GL.INCR,\n 'decrement-clamp': GL.DECR,\n 'increment-wrap': GL.INCR_WRAP,\n 'decrement-wrap': GL.DECR_WRAP\n });\n}\n\nfunction convertBlendOperationToEquation(parameter, value): number {\n return map(parameter, value, {\n 'add': GL.FUNC_ADD,\n 'sub': GL.FUNC_SUBTRACT,\n 'reverse-subtract': GL.FUNC_REVERSE_SUBTRACT,\n // When using a WebGL 2 context, the following values are available additionally:\n 'min': GL.MIN,\n 'max': GL.MAX\n });\n}\n\nfunction message(parameter, value) {\n return `Illegal parameter ${value} for ${parameter}`;\n}\n\nfunction map(parameter, value, valueMap) {\n if (!(value in valueMap)) {\n throw new Error(message(parameter, value));\n }\n return valueMap[value];\n}\n\nfunction mapBoolean(parameter, value) {\n return value;\n}\n"],"file":"set-device-parameters.js"}