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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (749) hide show
  1. package/README.md +3 -67
  2. package/dist/adapter/converters/device-parameters.d.ts +17 -0
  3. package/dist/adapter/converters/device-parameters.d.ts.map +1 -0
  4. package/dist/adapter/converters/{set-device-parameters.js → device-parameters.js} +36 -5
  5. package/dist/adapter/converters/device-parameters.js.map +1 -0
  6. package/dist/{classes → adapter/converters}/renderbuffer-formats.d.ts +0 -0
  7. package/dist/adapter/converters/renderbuffer-formats.d.ts.map +1 -0
  8. package/dist/{classes → adapter/converters}/renderbuffer-formats.js +1 -1
  9. package/dist/adapter/converters/renderbuffer-formats.js.map +1 -0
  10. package/dist/adapter/converters/sampler-parameters.d.ts +19 -0
  11. package/dist/adapter/converters/sampler-parameters.d.ts.map +1 -0
  12. package/dist/adapter/converters/sampler-parameters.js +208 -0
  13. package/dist/adapter/converters/sampler-parameters.js.map +1 -0
  14. package/dist/adapter/converters/texture-formats.d.ts +93 -0
  15. package/dist/adapter/converters/texture-formats.d.ts.map +1 -0
  16. package/dist/adapter/converters/texture-formats.js +954 -0
  17. package/dist/adapter/converters/texture-formats.js.map +1 -0
  18. package/dist/adapter/converters/vertex-formats.d.ts +4 -0
  19. package/dist/adapter/converters/vertex-formats.d.ts.map +1 -0
  20. package/dist/adapter/converters/vertex-formats.js +35 -0
  21. package/dist/adapter/converters/vertex-formats.js.map +1 -0
  22. package/dist/adapter/device-helpers/device-features.d.ts +3 -6
  23. package/dist/adapter/device-helpers/device-features.d.ts.map +1 -1
  24. package/dist/adapter/device-helpers/device-features.js +27 -48
  25. package/dist/adapter/device-helpers/device-features.js.map +1 -1
  26. package/dist/adapter/device-helpers/device-limits.d.ts +1 -0
  27. package/dist/adapter/device-helpers/device-limits.d.ts.map +1 -1
  28. package/dist/adapter/device-helpers/device-limits.js +1 -0
  29. package/dist/adapter/device-helpers/device-limits.js.map +1 -1
  30. package/dist/adapter/device-helpers/get-device-info.js +7 -7
  31. package/dist/adapter/device-helpers/get-device-info.js.map +1 -1
  32. package/dist/adapter/helpers/attribute-utils.d.ts +11 -0
  33. package/dist/adapter/helpers/attribute-utils.d.ts.map +1 -0
  34. package/dist/adapter/helpers/attribute-utils.js +81 -0
  35. package/dist/adapter/helpers/attribute-utils.js.map +1 -0
  36. package/dist/adapter/helpers/get-shader-layout.d.ts +55 -0
  37. package/dist/adapter/helpers/get-shader-layout.d.ts.map +1 -0
  38. package/dist/adapter/helpers/get-shader-layout.js +306 -0
  39. package/dist/adapter/helpers/get-shader-layout.js.map +1 -0
  40. package/dist/{webgl-utils → adapter/helpers}/parse-shader-compiler-log.d.ts +0 -0
  41. package/dist/adapter/helpers/parse-shader-compiler-log.d.ts.map +1 -0
  42. package/dist/{esm/webgl-utils → adapter/helpers}/parse-shader-compiler-log.js +0 -0
  43. package/dist/adapter/helpers/parse-shader-compiler-log.js.map +1 -0
  44. package/dist/adapter/helpers/set-uniform.d.ts +4 -0
  45. package/dist/adapter/helpers/set-uniform.d.ts.map +1 -0
  46. package/dist/adapter/helpers/set-uniform.js +115 -0
  47. package/dist/adapter/helpers/set-uniform.js.map +1 -0
  48. package/dist/adapter/helpers/uniforms.d.ts +26 -0
  49. package/dist/adapter/helpers/uniforms.d.ts.map +1 -0
  50. package/dist/adapter/helpers/uniforms.js +99 -0
  51. package/dist/adapter/helpers/uniforms.js.map +1 -0
  52. package/dist/adapter/objects/constants-to-keys.d.ts +5 -0
  53. package/dist/adapter/objects/constants-to-keys.d.ts.map +1 -0
  54. package/dist/{esm/webgl-utils → adapter/objects}/constants-to-keys.js +1 -0
  55. package/dist/adapter/objects/constants-to-keys.js.map +1 -0
  56. package/dist/adapter/objects/webgl-renderbuffer.d.ts +40 -0
  57. package/dist/adapter/objects/webgl-renderbuffer.d.ts.map +1 -0
  58. package/dist/{esm/classes/renderbuffer.js → adapter/objects/webgl-renderbuffer.js} +38 -72
  59. package/dist/adapter/objects/webgl-renderbuffer.js.map +1 -0
  60. package/dist/{classes → adapter/objects}/webgl-resource.d.ts +15 -14
  61. package/dist/adapter/objects/webgl-resource.d.ts.map +1 -0
  62. package/dist/{classes → adapter/objects}/webgl-resource.js +7 -3
  63. package/dist/adapter/objects/webgl-resource.js.map +1 -0
  64. package/dist/adapter/objects/webgl-vertex-array-object.d.ts +27 -0
  65. package/dist/adapter/objects/webgl-vertex-array-object.d.ts.map +1 -0
  66. package/dist/adapter/objects/webgl-vertex-array-object.js +84 -0
  67. package/dist/adapter/objects/webgl-vertex-array-object.js.map +1 -0
  68. package/dist/adapter/resources/webgl-buffer.d.ts +27 -0
  69. package/dist/adapter/resources/webgl-buffer.d.ts.map +1 -0
  70. package/dist/adapter/resources/webgl-buffer.js +164 -0
  71. package/dist/adapter/resources/webgl-buffer.js.map +1 -0
  72. package/dist/adapter/resources/webgl-command-buffer.d.ts +25 -0
  73. package/dist/adapter/resources/webgl-command-buffer.d.ts.map +1 -0
  74. package/dist/adapter/resources/webgl-command-buffer.js +65 -0
  75. package/dist/adapter/resources/webgl-command-buffer.js.map +1 -0
  76. package/dist/adapter/resources/webgl-command-encoder.d.ts +18 -0
  77. package/dist/adapter/resources/webgl-command-encoder.d.ts.map +1 -0
  78. package/dist/adapter/resources/webgl-command-encoder.js +53 -0
  79. package/dist/adapter/resources/webgl-command-encoder.js.map +1 -0
  80. package/dist/adapter/resources/webgl-external-texture.d.ts +1 -0
  81. package/dist/adapter/resources/webgl-external-texture.d.ts.map +1 -0
  82. package/dist/adapter/resources/webgl-external-texture.js +2 -0
  83. package/dist/{es5/helpers/program-bindings.js.map → adapter/resources/webgl-external-texture.js.map} +1 -1
  84. package/dist/adapter/resources/webgl-framebuffer.d.ts +40 -0
  85. package/dist/adapter/resources/webgl-framebuffer.d.ts.map +1 -0
  86. package/dist/adapter/resources/webgl-framebuffer.js +265 -0
  87. package/dist/adapter/resources/webgl-framebuffer.js.map +1 -0
  88. package/dist/adapter/resources/webgl-render-pass.d.ts +11 -0
  89. package/dist/adapter/resources/webgl-render-pass.d.ts.map +1 -0
  90. package/dist/adapter/resources/webgl-render-pass.js +19 -0
  91. package/dist/adapter/resources/webgl-render-pass.js.map +1 -0
  92. package/dist/adapter/resources/webgl-render-pipeline.d.ts +55 -0
  93. package/dist/adapter/resources/webgl-render-pipeline.d.ts.map +1 -0
  94. package/dist/adapter/resources/webgl-render-pipeline.js +400 -0
  95. package/dist/adapter/resources/webgl-render-pipeline.js.map +1 -0
  96. package/dist/adapter/resources/webgl-sampler.d.ts +20 -0
  97. package/dist/adapter/resources/webgl-sampler.d.ts.map +1 -0
  98. package/dist/adapter/resources/webgl-sampler.js +50 -0
  99. package/dist/adapter/resources/webgl-sampler.js.map +1 -0
  100. package/dist/adapter/{webgl-shader.d.ts → resources/webgl-shader.d.ts} +3 -6
  101. package/dist/adapter/resources/webgl-shader.d.ts.map +1 -0
  102. package/dist/{esm/adapter → adapter/resources}/webgl-shader.js +13 -20
  103. package/dist/adapter/resources/webgl-shader.js.map +1 -0
  104. package/dist/adapter/resources/webgl-texture.d.ts +193 -0
  105. package/dist/adapter/resources/webgl-texture.d.ts.map +1 -0
  106. package/dist/{classes/texture.js → adapter/resources/webgl-texture.js} +274 -229
  107. package/dist/adapter/resources/webgl-texture.js.map +1 -0
  108. package/dist/adapter/webgl-canvas-context.d.ts +36 -0
  109. package/dist/adapter/webgl-canvas-context.d.ts.map +1 -0
  110. package/dist/adapter/webgl-canvas-context.js +54 -0
  111. package/dist/adapter/webgl-canvas-context.js.map +1 -0
  112. package/dist/adapter/webgl-device.d.ts +58 -76
  113. package/dist/adapter/webgl-device.d.ts.map +1 -1
  114. package/dist/adapter/webgl-device.js +184 -111
  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/{esm/classes/webgl-buffer.js → classic/buffer.js} +53 -51
  123. package/dist/classic/buffer.js.map +1 -0
  124. package/dist/{webgl-utils → classic}/typed-array-utils.d.ts +3 -2
  125. package/dist/classic/typed-array-utils.d.ts.map +1 -0
  126. package/dist/{esm/webgl-utils → classic}/typed-array-utils.js +0 -0
  127. package/dist/classic/typed-array-utils.js.map +1 -0
  128. package/dist/context/context/context-state.d.ts.map +1 -1
  129. package/dist/context/context/context-state.js +1 -1
  130. package/dist/context/context/context-state.js.map +1 -1
  131. package/dist/context/context/create-context.d.ts +1 -0
  132. package/dist/context/context/create-context.d.ts.map +1 -1
  133. package/dist/context/context/create-context.js +12 -0
  134. package/dist/context/context/create-context.js.map +1 -1
  135. package/dist/context/context/device-pixels.d.ts +1 -1
  136. package/dist/context/context/device-pixels.d.ts.map +1 -1
  137. package/dist/context/context/device-pixels.js.map +1 -1
  138. package/dist/context/debug/spector.d.ts +18 -0
  139. package/dist/context/debug/spector.d.ts.map +1 -0
  140. package/dist/context/debug/spector.js +76 -0
  141. package/dist/context/debug/spector.js.map +1 -0
  142. package/dist/context/debug/webgl-developer-tools.d.ts +19 -0
  143. package/dist/context/debug/webgl-developer-tools.d.ts.map +1 -0
  144. package/dist/context/debug/webgl-developer-tools.js +121 -0
  145. package/dist/context/debug/webgl-developer-tools.js.map +1 -0
  146. package/dist/context/parameters/unified-parameter-api.d.ts +3 -2
  147. package/dist/context/parameters/unified-parameter-api.d.ts.map +1 -1
  148. package/dist/context/parameters/unified-parameter-api.js +4 -4
  149. package/dist/context/parameters/unified-parameter-api.js.map +1 -1
  150. package/dist/context/parameters/webgl-parameter-tables.d.ts +40 -36
  151. package/dist/context/parameters/webgl-parameter-tables.d.ts.map +1 -1
  152. package/dist/context/parameters/webgl-parameter-tables.js.map +1 -1
  153. package/dist/context/polyfill/get-parameter-polyfill.js.map +1 -1
  154. package/dist/context/polyfill/polyfill-context.js +4 -3
  155. package/dist/context/polyfill/polyfill-context.js.map +1 -1
  156. package/dist/context/state-tracker/deep-array-equal.d.ts.map +1 -1
  157. package/dist/context/state-tracker/deep-array-equal.js.map +1 -1
  158. package/dist/context/state-tracker/track-context-state.d.ts.map +1 -1
  159. package/dist/context/state-tracker/track-context-state.js +25 -11
  160. package/dist/context/state-tracker/track-context-state.js.map +1 -1
  161. package/dist/es5/adapter/converters/{set-device-parameters.js → device-parameters.js} +37 -5
  162. package/dist/es5/adapter/converters/device-parameters.js.map +1 -0
  163. package/dist/es5/{classes → adapter/converters}/renderbuffer-formats.js +1 -1
  164. package/dist/es5/adapter/converters/renderbuffer-formats.js.map +1 -0
  165. package/dist/es5/adapter/converters/sampler-parameters.js +226 -0
  166. package/dist/es5/adapter/converters/sampler-parameters.js.map +1 -0
  167. package/dist/es5/adapter/converters/texture-formats.js +1031 -0
  168. package/dist/es5/adapter/converters/texture-formats.js.map +1 -0
  169. package/dist/es5/adapter/converters/vertex-formats.js +45 -0
  170. package/dist/es5/adapter/converters/vertex-formats.js.map +1 -0
  171. package/dist/es5/adapter/device-helpers/device-features.js +46 -54
  172. package/dist/es5/adapter/device-helpers/device-features.js.map +1 -1
  173. package/dist/es5/adapter/device-helpers/device-limits.js +1 -1
  174. package/dist/es5/adapter/device-helpers/device-limits.js.map +1 -1
  175. package/dist/es5/adapter/device-helpers/get-device-info.js +7 -7
  176. package/dist/es5/adapter/device-helpers/get-device-info.js.map +1 -1
  177. package/dist/es5/adapter/helpers/attribute-utils.js +91 -0
  178. package/dist/es5/adapter/helpers/attribute-utils.js.map +1 -0
  179. package/dist/es5/{helpers/get-program-bindings.js → adapter/helpers/get-shader-layout.js} +184 -87
  180. package/dist/es5/adapter/helpers/get-shader-layout.js.map +1 -0
  181. package/dist/es5/{webgl-utils → adapter/helpers}/parse-shader-compiler-log.js +0 -0
  182. package/dist/es5/adapter/helpers/parse-shader-compiler-log.js.map +1 -0
  183. package/dist/es5/adapter/helpers/set-uniform.js +125 -0
  184. package/dist/es5/adapter/helpers/set-uniform.js.map +1 -0
  185. package/dist/es5/adapter/helpers/uniforms.js +112 -0
  186. package/dist/es5/adapter/helpers/uniforms.js.map +1 -0
  187. package/dist/es5/{webgl-utils → adapter/objects}/constants-to-keys.js +1 -0
  188. package/dist/es5/adapter/objects/constants-to-keys.js.map +1 -0
  189. package/dist/es5/{classes/renderbuffer.js → adapter/objects/webgl-renderbuffer.js} +48 -98
  190. package/dist/es5/adapter/objects/webgl-renderbuffer.js.map +1 -0
  191. package/dist/es5/{classes → adapter/objects}/webgl-resource.js +8 -3
  192. package/dist/es5/adapter/objects/webgl-resource.js.map +1 -0
  193. package/dist/es5/adapter/objects/webgl-vertex-array-object.js +137 -0
  194. package/dist/es5/adapter/objects/webgl-vertex-array-object.js.map +1 -0
  195. package/dist/es5/adapter/resources/webgl-buffer.js +243 -0
  196. package/dist/es5/adapter/resources/webgl-buffer.js.map +1 -0
  197. package/dist/es5/adapter/resources/webgl-command-buffer.js +96 -0
  198. package/dist/es5/adapter/resources/webgl-command-buffer.js.map +1 -0
  199. package/dist/es5/adapter/resources/webgl-command-encoder.js +98 -0
  200. package/dist/es5/adapter/resources/webgl-command-encoder.js.map +1 -0
  201. package/dist/es5/adapter/resources/webgl-external-texture.js +2 -0
  202. package/dist/{esm/helpers/program-bindings.js.map → es5/adapter/resources/webgl-external-texture.js.map} +1 -1
  203. package/dist/es5/adapter/resources/webgl-framebuffer.js +345 -0
  204. package/dist/es5/adapter/resources/webgl-framebuffer.js.map +1 -0
  205. package/dist/es5/{classes/texture-2d.js → adapter/resources/webgl-render-pass.js} +25 -45
  206. package/dist/es5/adapter/resources/webgl-render-pass.js.map +1 -0
  207. package/dist/es5/adapter/resources/webgl-render-pipeline.js +505 -0
  208. package/dist/es5/adapter/resources/webgl-render-pipeline.js.map +1 -0
  209. package/dist/es5/adapter/resources/webgl-sampler.js +96 -0
  210. package/dist/es5/adapter/resources/webgl-sampler.js.map +1 -0
  211. package/dist/es5/adapter/{webgl-shader.js → resources/webgl-shader.js} +12 -18
  212. package/dist/es5/adapter/resources/webgl-shader.js.map +1 -0
  213. package/dist/es5/{classes/texture.js → adapter/resources/webgl-texture.js} +336 -260
  214. package/dist/es5/adapter/resources/webgl-texture.js.map +1 -0
  215. package/dist/es5/adapter/webgl-canvas-context.js +97 -0
  216. package/dist/es5/adapter/webgl-canvas-context.js.map +1 -0
  217. package/dist/es5/adapter/webgl-device.js +253 -133
  218. package/dist/es5/adapter/webgl-device.js.map +1 -1
  219. package/dist/es5/{classes → classic}/accessor.js +25 -1
  220. package/dist/es5/classic/accessor.js.map +1 -0
  221. package/dist/es5/{classes/webgl-buffer.js → classic/buffer.js} +74 -66
  222. package/dist/es5/classic/buffer.js.map +1 -0
  223. package/dist/es5/{webgl-utils → classic}/typed-array-utils.js +0 -0
  224. package/dist/es5/classic/typed-array-utils.js.map +1 -0
  225. package/dist/es5/context/context/context-state.js +1 -1
  226. package/dist/es5/context/context/context-state.js.map +1 -1
  227. package/dist/es5/context/context/create-context.js +12 -0
  228. package/dist/es5/context/context/create-context.js.map +1 -1
  229. package/dist/es5/context/context/device-pixels.js.map +1 -1
  230. package/dist/es5/context/debug/spector.js +133 -0
  231. package/dist/es5/context/debug/spector.js.map +1 -0
  232. package/dist/es5/context/debug/webgl-developer-tools.js +198 -0
  233. package/dist/es5/context/debug/webgl-developer-tools.js.map +1 -0
  234. package/dist/es5/context/parameters/unified-parameter-api.js +7 -5
  235. package/dist/es5/context/parameters/unified-parameter-api.js.map +1 -1
  236. package/dist/es5/context/parameters/webgl-parameter-tables.js.map +1 -1
  237. package/dist/es5/context/polyfill/get-parameter-polyfill.js.map +1 -1
  238. package/dist/es5/context/polyfill/polyfill-context.js +4 -3
  239. package/dist/es5/context/polyfill/polyfill-context.js.map +1 -1
  240. package/dist/es5/context/state-tracker/deep-array-equal.js.map +1 -1
  241. package/dist/es5/context/state-tracker/track-context-state.js +26 -11
  242. package/dist/es5/context/state-tracker/track-context-state.js.map +1 -1
  243. package/dist/es5/index.js +65 -307
  244. package/dist/es5/index.js.map +1 -1
  245. package/dist/es5/init.js +1 -41
  246. package/dist/es5/init.js.map +1 -1
  247. package/dist/es5/{context/parameters/webgl-parameters.js → types/webgl.js} +1 -1
  248. package/dist/es5/types/webgl.js.map +1 -0
  249. package/dist/esm/adapter/converters/{set-device-parameters.js → device-parameters.js} +36 -5
  250. package/dist/esm/adapter/converters/device-parameters.js.map +1 -0
  251. package/dist/esm/{classes → adapter/converters}/renderbuffer-formats.js +1 -1
  252. package/dist/esm/adapter/converters/renderbuffer-formats.js.map +1 -0
  253. package/dist/esm/adapter/converters/sampler-parameters.js +208 -0
  254. package/dist/esm/adapter/converters/sampler-parameters.js.map +1 -0
  255. package/dist/esm/adapter/converters/texture-formats.js +954 -0
  256. package/dist/esm/adapter/converters/texture-formats.js.map +1 -0
  257. package/dist/esm/adapter/converters/vertex-formats.js +35 -0
  258. package/dist/esm/adapter/converters/vertex-formats.js.map +1 -0
  259. package/dist/esm/adapter/device-helpers/device-features.js +27 -48
  260. package/dist/esm/adapter/device-helpers/device-features.js.map +1 -1
  261. package/dist/esm/adapter/device-helpers/device-limits.js +1 -0
  262. package/dist/esm/adapter/device-helpers/device-limits.js.map +1 -1
  263. package/dist/esm/adapter/device-helpers/get-device-info.js +7 -7
  264. package/dist/esm/adapter/device-helpers/get-device-info.js.map +1 -1
  265. package/dist/esm/adapter/helpers/attribute-utils.js +81 -0
  266. package/dist/esm/adapter/helpers/attribute-utils.js.map +1 -0
  267. package/dist/esm/adapter/helpers/get-shader-layout.js +306 -0
  268. package/dist/esm/adapter/helpers/get-shader-layout.js.map +1 -0
  269. package/dist/{webgl-utils → esm/adapter/helpers}/parse-shader-compiler-log.js +0 -0
  270. package/dist/esm/adapter/helpers/parse-shader-compiler-log.js.map +1 -0
  271. package/dist/esm/adapter/helpers/set-uniform.js +115 -0
  272. package/dist/esm/adapter/helpers/set-uniform.js.map +1 -0
  273. package/dist/esm/adapter/helpers/uniforms.js +99 -0
  274. package/dist/esm/adapter/helpers/uniforms.js.map +1 -0
  275. package/dist/{webgl-utils → esm/adapter/objects}/constants-to-keys.js +1 -0
  276. package/dist/esm/adapter/objects/constants-to-keys.js.map +1 -0
  277. package/dist/{classes/renderbuffer.js → esm/adapter/objects/webgl-renderbuffer.js} +38 -72
  278. package/dist/esm/adapter/objects/webgl-renderbuffer.js.map +1 -0
  279. package/dist/esm/{classes → adapter/objects}/webgl-resource.js +7 -3
  280. package/dist/esm/adapter/objects/webgl-resource.js.map +1 -0
  281. package/dist/esm/adapter/objects/webgl-vertex-array-object.js +84 -0
  282. package/dist/esm/adapter/objects/webgl-vertex-array-object.js.map +1 -0
  283. package/dist/esm/adapter/resources/webgl-buffer.js +164 -0
  284. package/dist/esm/adapter/resources/webgl-buffer.js.map +1 -0
  285. package/dist/esm/adapter/resources/webgl-command-buffer.js +65 -0
  286. package/dist/esm/adapter/resources/webgl-command-buffer.js.map +1 -0
  287. package/dist/esm/adapter/resources/webgl-command-encoder.js +53 -0
  288. package/dist/esm/adapter/resources/webgl-command-encoder.js.map +1 -0
  289. package/dist/esm/adapter/resources/webgl-external-texture.js +2 -0
  290. package/dist/{helpers/program-bindings.js.map → esm/adapter/resources/webgl-external-texture.js.map} +1 -1
  291. package/dist/esm/adapter/resources/webgl-framebuffer.js +265 -0
  292. package/dist/esm/adapter/resources/webgl-framebuffer.js.map +1 -0
  293. package/dist/esm/adapter/resources/webgl-render-pass.js +19 -0
  294. package/dist/esm/adapter/resources/webgl-render-pass.js.map +1 -0
  295. package/dist/esm/adapter/resources/webgl-render-pipeline.js +400 -0
  296. package/dist/esm/adapter/resources/webgl-render-pipeline.js.map +1 -0
  297. package/dist/esm/adapter/resources/webgl-sampler.js +50 -0
  298. package/dist/esm/adapter/resources/webgl-sampler.js.map +1 -0
  299. package/dist/{adapter → esm/adapter/resources}/webgl-shader.js +13 -20
  300. package/dist/esm/adapter/resources/webgl-shader.js.map +1 -0
  301. package/dist/esm/{classes/texture.js → adapter/resources/webgl-texture.js} +274 -229
  302. package/dist/esm/adapter/resources/webgl-texture.js.map +1 -0
  303. package/dist/esm/adapter/webgl-canvas-context.js +54 -0
  304. package/dist/esm/adapter/webgl-canvas-context.js.map +1 -0
  305. package/dist/esm/adapter/webgl-device.js +184 -111
  306. package/dist/esm/adapter/webgl-device.js.map +1 -1
  307. package/dist/esm/{classes → classic}/accessor.js +33 -1
  308. package/dist/esm/classic/accessor.js.map +1 -0
  309. package/dist/{classes/webgl-buffer.js → esm/classic/buffer.js} +53 -51
  310. package/dist/esm/classic/buffer.js.map +1 -0
  311. package/dist/{webgl-utils → esm/classic}/typed-array-utils.js +0 -0
  312. package/dist/esm/classic/typed-array-utils.js.map +1 -0
  313. package/dist/esm/context/context/context-state.js +1 -1
  314. package/dist/esm/context/context/context-state.js.map +1 -1
  315. package/dist/esm/context/context/create-context.js +12 -0
  316. package/dist/esm/context/context/create-context.js.map +1 -1
  317. package/dist/esm/context/context/device-pixels.js.map +1 -1
  318. package/dist/esm/context/debug/spector.js +76 -0
  319. package/dist/esm/context/debug/spector.js.map +1 -0
  320. package/dist/esm/context/debug/webgl-developer-tools.js +121 -0
  321. package/dist/esm/context/debug/webgl-developer-tools.js.map +1 -0
  322. package/dist/esm/context/parameters/unified-parameter-api.js +4 -4
  323. package/dist/esm/context/parameters/unified-parameter-api.js.map +1 -1
  324. package/dist/esm/context/parameters/webgl-parameter-tables.js.map +1 -1
  325. package/dist/esm/context/polyfill/get-parameter-polyfill.js.map +1 -1
  326. package/dist/esm/context/polyfill/polyfill-context.js +4 -3
  327. package/dist/esm/context/polyfill/polyfill-context.js.map +1 -1
  328. package/dist/esm/context/state-tracker/deep-array-equal.js.map +1 -1
  329. package/dist/esm/context/state-tracker/track-context-state.js +25 -11
  330. package/dist/esm/context/state-tracker/track-context-state.js.map +1 -1
  331. package/dist/esm/index.js +19 -31
  332. package/dist/esm/index.js.map +1 -1
  333. package/dist/esm/init.js +2 -31
  334. package/dist/esm/init.js.map +1 -1
  335. package/dist/esm/types/webgl.js +2 -0
  336. package/dist/esm/types/webgl.js.map +1 -0
  337. package/dist/index.d.ts +22 -46
  338. package/dist/index.d.ts.map +1 -1
  339. package/dist/index.js +19 -31
  340. package/dist/index.js.map +1 -1
  341. package/dist/init.d.ts +1 -4
  342. package/dist/init.d.ts.map +1 -1
  343. package/dist/init.js +2 -31
  344. package/dist/init.js.map +1 -1
  345. package/dist/types/webgl.d.ts +144 -0
  346. package/dist/types/webgl.d.ts.map +1 -0
  347. package/dist/types/webgl.js +2 -0
  348. package/dist/types/webgl.js.map +1 -0
  349. package/package.json +5 -5
  350. package/src/adapter/converters/{set-device-parameters.ts → device-parameters.ts} +52 -9
  351. package/src/{classes → adapter/converters}/renderbuffer-formats.ts +1 -1
  352. package/src/adapter/converters/sampler-parameters.ts +175 -0
  353. package/src/adapter/converters/texture-formats.ts +633 -0
  354. package/src/adapter/converters/vertex-formats.ts +22 -0
  355. package/src/adapter/device-helpers/device-features.ts +46 -123
  356. package/src/adapter/device-helpers/device-limits.ts +5 -2
  357. package/src/adapter/device-helpers/get-device-info.ts +8 -8
  358. package/src/adapter/helpers/attribute-utils.ts +61 -0
  359. package/src/adapter/helpers/get-shader-layout.ts +388 -0
  360. package/src/{webgl-utils → adapter/helpers}/parse-shader-compiler-log.ts +0 -0
  361. package/src/adapter/helpers/set-uniform.ts +87 -0
  362. package/src/adapter/helpers/uniforms.ts +110 -0
  363. package/src/{webgl-utils → adapter/objects}/constants-to-keys.ts +6 -3
  364. package/src/adapter/objects/webgl-renderbuffer.ts +104 -0
  365. package/src/{classes → adapter/objects}/webgl-resource.ts +23 -17
  366. package/src/adapter/objects/webgl-vertex-array-object.ts +111 -0
  367. package/src/adapter/resources/webgl-buffer.ts +219 -0
  368. package/src/adapter/resources/webgl-command-buffer.ts +94 -0
  369. package/src/adapter/resources/webgl-command-encoder.ts +58 -0
  370. package/src/adapter/resources/webgl-external-texture.ts +92 -0
  371. package/src/adapter/resources/webgl-framebuffer.ts +279 -0
  372. package/src/adapter/resources/webgl-render-pass.ts +23 -0
  373. package/src/adapter/resources/webgl-render-pipeline.ts +413 -0
  374. package/src/adapter/resources/webgl-sampler.ts +54 -0
  375. package/src/adapter/{webgl-shader.ts → resources/webgl-shader.ts} +14 -20
  376. package/src/adapter/resources/webgl-texture.ts +1023 -0
  377. package/src/adapter/webgl-canvas-context.ts +74 -0
  378. package/src/adapter/webgl-device.ts +226 -275
  379. package/{dist/esm/classes/accessor.ts.disabled → src/classic/accessor.ts} +50 -36
  380. package/src/{classes/webgl-buffer.ts → classic/buffer.ts} +69 -77
  381. package/src/{webgl-utils → classic}/typed-array-utils.ts +3 -1
  382. package/src/context/context/context-state.ts +4 -2
  383. package/src/context/context/create-context.ts +28 -1
  384. package/src/context/context/device-pixels.ts +9 -4
  385. package/src/context/debug/spector.ts +92 -0
  386. package/src/context/debug/webgl-developer-tools.ts +162 -0
  387. package/src/context/parameters/unified-parameter-api.ts +6 -4
  388. package/src/context/parameters/webgl-parameter-tables.ts +38 -36
  389. package/src/context/polyfill/get-parameter-polyfill.ts +1 -1
  390. package/src/context/polyfill/polyfill-context.ts +4 -3
  391. package/src/context/state-tracker/deep-array-equal.ts +1 -1
  392. package/src/context/state-tracker/track-context-state.ts +27 -20
  393. package/src/index.ts +33 -102
  394. package/src/init.ts +2 -46
  395. package/src/types/webgl.ts +283 -0
  396. package/dist/_deprecated/context-api.d.ts +0 -85
  397. package/dist/_deprecated/context-api.d.ts.map +0 -1
  398. package/dist/_deprecated/context-api.js +0 -76
  399. package/dist/_deprecated/context-api.js.map +0 -1
  400. package/dist/_deprecated/features.d.ts +0 -27
  401. package/dist/_deprecated/features.d.ts.map +0 -1
  402. package/dist/_deprecated/features.js +0 -111
  403. package/dist/_deprecated/features.js.map +0 -1
  404. package/dist/adapter/converters/set-device-parameters.d.ts +0 -5
  405. package/dist/adapter/converters/set-device-parameters.d.ts.map +0 -1
  406. package/dist/adapter/converters/set-device-parameters.js.map +0 -1
  407. package/dist/adapter/converters/webgpu-texture-formats.d.ts +0 -281
  408. package/dist/adapter/converters/webgpu-texture-formats.d.ts.map +0 -1
  409. package/dist/adapter/converters/webgpu-texture-formats.js +0 -285
  410. package/dist/adapter/converters/webgpu-texture-formats.js.map +0 -1
  411. package/dist/adapter/webgl-shader.d.ts.map +0 -1
  412. package/dist/adapter/webgl-shader.js.map +0 -1
  413. package/dist/classes/accessor.d.ts +0 -28
  414. package/dist/classes/accessor.d.ts.map +0 -1
  415. package/dist/classes/accessor.js.map +0 -1
  416. package/dist/classes/accessor.ts.disabled +0 -159
  417. package/dist/classes/clear.d.ts +0 -17
  418. package/dist/classes/clear.d.ts.map +0 -1
  419. package/dist/classes/clear.js +0 -105
  420. package/dist/classes/clear.js.map +0 -1
  421. package/dist/classes/copy-and-blit.d.ts +0 -86
  422. package/dist/classes/copy-and-blit.d.ts.map +0 -1
  423. package/dist/classes/copy-and-blit.js +0 -338
  424. package/dist/classes/copy-and-blit.js.map +0 -1
  425. package/dist/classes/framebuffer.d.ts +0 -139
  426. package/dist/classes/framebuffer.d.ts.map +0 -1
  427. package/dist/classes/framebuffer.js +0 -656
  428. package/dist/classes/framebuffer.js.map +0 -1
  429. package/dist/classes/program-configuration.d.ts +0 -24
  430. package/dist/classes/program-configuration.d.ts.map +0 -1
  431. package/dist/classes/program-configuration.js +0 -73
  432. package/dist/classes/program-configuration.js.map +0 -1
  433. package/dist/classes/program.d.ts +0 -66
  434. package/dist/classes/program.d.ts.map +0 -1
  435. package/dist/classes/program.js +0 -379
  436. package/dist/classes/program.js.map +0 -1
  437. package/dist/classes/query.d.ts +0 -27
  438. package/dist/classes/query.d.ts.map +0 -1
  439. package/dist/classes/query.js +0 -145
  440. package/dist/classes/query.js.map +0 -1
  441. package/dist/classes/renderbuffer-formats.d.ts.map +0 -1
  442. package/dist/classes/renderbuffer-formats.js.map +0 -1
  443. package/dist/classes/renderbuffer.d.ts +0 -60
  444. package/dist/classes/renderbuffer.d.ts.map +0 -1
  445. package/dist/classes/renderbuffer.js.map +0 -1
  446. package/dist/classes/shader.d.ts +0 -42
  447. package/dist/classes/shader.d.ts.map +0 -1
  448. package/dist/classes/shader.js +0 -118
  449. package/dist/classes/shader.js.map +0 -1
  450. package/dist/classes/texture-2d.d.ts +0 -9
  451. package/dist/classes/texture-2d.d.ts.map +0 -1
  452. package/dist/classes/texture-2d.js +0 -36
  453. package/dist/classes/texture-2d.js.map +0 -1
  454. package/dist/classes/texture-3d.d.ts +0 -29
  455. package/dist/classes/texture-3d.d.ts.map +0 -1
  456. package/dist/classes/texture-3d.js +0 -76
  457. package/dist/classes/texture-3d.js.map +0 -1
  458. package/dist/classes/texture-cube.d.ts +0 -28
  459. package/dist/classes/texture-cube.d.ts.map +0 -1
  460. package/dist/classes/texture-cube.js +0 -130
  461. package/dist/classes/texture-cube.js.map +0 -1
  462. package/dist/classes/texture-formats.d.ts +0 -37
  463. package/dist/classes/texture-formats.d.ts.map +0 -1
  464. package/dist/classes/texture-formats.js +0 -98
  465. package/dist/classes/texture-formats.js.map +0 -1
  466. package/dist/classes/texture.d.ts +0 -123
  467. package/dist/classes/texture.d.ts.map +0 -1
  468. package/dist/classes/texture.js.map +0 -1
  469. package/dist/classes/transform-feedback.d.ts +0 -33
  470. package/dist/classes/transform-feedback.d.ts.map +0 -1
  471. package/dist/classes/transform-feedback.js +0 -198
  472. package/dist/classes/transform-feedback.js.map +0 -1
  473. package/dist/classes/uniform-buffer-layout.d.ts +0 -17
  474. package/dist/classes/uniform-buffer-layout.d.ts.map +0 -1
  475. package/dist/classes/uniform-buffer-layout.js +0 -104
  476. package/dist/classes/uniform-buffer-layout.js.map +0 -1
  477. package/dist/classes/uniforms.d.ts +0 -37
  478. package/dist/classes/uniforms.d.ts.map +0 -1
  479. package/dist/classes/uniforms.js +0 -250
  480. package/dist/classes/uniforms.js.map +0 -1
  481. package/dist/classes/vertex-array-object.d.ts +0 -76
  482. package/dist/classes/vertex-array-object.d.ts.map +0 -1
  483. package/dist/classes/vertex-array-object.js +0 -261
  484. package/dist/classes/vertex-array-object.js.map +0 -1
  485. package/dist/classes/vertex-array.d.ts +0 -75
  486. package/dist/classes/vertex-array.d.ts.map +0 -1
  487. package/dist/classes/vertex-array.js +0 -408
  488. package/dist/classes/vertex-array.js.map +0 -1
  489. package/dist/classes/webgl-buffer.d.ts.map +0 -1
  490. package/dist/classes/webgl-buffer.js.map +0 -1
  491. package/dist/classes/webgl-resource.d.ts.map +0 -1
  492. package/dist/classes/webgl-resource.js.map +0 -1
  493. package/dist/context/context/get-canvas.d.ts +0 -13
  494. package/dist/context/context/get-canvas.d.ts.map +0 -1
  495. package/dist/context/context/get-canvas.js +0 -31
  496. package/dist/context/context/get-canvas.js.map +0 -1
  497. package/dist/context/context/resize-context.d.ts +0 -20
  498. package/dist/context/context/resize-context.d.ts.map +0 -1
  499. package/dist/context/context/resize-context.js +0 -15
  500. package/dist/context/context/resize-context.js.map +0 -1
  501. package/dist/context/parameters/webgl-parameters.d.ts +0 -144
  502. package/dist/context/parameters/webgl-parameters.d.ts.map +0 -1
  503. package/dist/context/parameters/webgl-parameters.js +0 -2
  504. package/dist/context/parameters/webgl-parameters.js.map +0 -1
  505. package/dist/debug/debug-program-configuration.d.ts +0 -2
  506. package/dist/debug/debug-program-configuration.d.ts.map +0 -1
  507. package/dist/debug/debug-program-configuration.js +0 -40
  508. package/dist/debug/debug-program-configuration.js.map +0 -1
  509. package/dist/debug/debug-uniforms.d.ts +0 -12
  510. package/dist/debug/debug-uniforms.d.ts.map +0 -1
  511. package/dist/debug/debug-uniforms.js +0 -108
  512. package/dist/debug/debug-uniforms.js.map +0 -1
  513. package/dist/debug/debug-vertex-array.d.ts +0 -5
  514. package/dist/debug/debug-vertex-array.d.ts.map +0 -1
  515. package/dist/debug/debug-vertex-array.js +0 -118
  516. package/dist/debug/debug-vertex-array.js.map +0 -1
  517. package/dist/es5/_deprecated/context-api.js +0 -116
  518. package/dist/es5/_deprecated/context-api.js.map +0 -1
  519. package/dist/es5/_deprecated/features.js +0 -118
  520. package/dist/es5/_deprecated/features.js.map +0 -1
  521. package/dist/es5/adapter/converters/set-device-parameters.js.map +0 -1
  522. package/dist/es5/adapter/converters/webgpu-texture-formats.js +0 -296
  523. package/dist/es5/adapter/converters/webgpu-texture-formats.js.map +0 -1
  524. package/dist/es5/adapter/webgl-shader.js.map +0 -1
  525. package/dist/es5/classes/accessor.d.ts +0 -28
  526. package/dist/es5/classes/accessor.js.map +0 -1
  527. package/dist/es5/classes/accessor.ts.disabled +0 -159
  528. package/dist/es5/classes/clear.js +0 -135
  529. package/dist/es5/classes/clear.js.map +0 -1
  530. package/dist/es5/classes/copy-and-blit.js +0 -382
  531. package/dist/es5/classes/copy-and-blit.js.map +0 -1
  532. package/dist/es5/classes/framebuffer.js +0 -807
  533. package/dist/es5/classes/framebuffer.js.map +0 -1
  534. package/dist/es5/classes/program-configuration.js +0 -119
  535. package/dist/es5/classes/program-configuration.js.map +0 -1
  536. package/dist/es5/classes/program.js +0 -471
  537. package/dist/es5/classes/program.js.map +0 -1
  538. package/dist/es5/classes/query.js +0 -222
  539. package/dist/es5/classes/query.js.map +0 -1
  540. package/dist/es5/classes/renderbuffer-formats.js.map +0 -1
  541. package/dist/es5/classes/renderbuffer.js.map +0 -1
  542. package/dist/es5/classes/shader.js +0 -195
  543. package/dist/es5/classes/shader.js.map +0 -1
  544. package/dist/es5/classes/texture-2d.js.map +0 -1
  545. package/dist/es5/classes/texture-3d.js +0 -142
  546. package/dist/es5/classes/texture-3d.js.map +0 -1
  547. package/dist/es5/classes/texture-cube.js +0 -202
  548. package/dist/es5/classes/texture-cube.js.map +0 -1
  549. package/dist/es5/classes/texture-formats.js +0 -87
  550. package/dist/es5/classes/texture-formats.js.map +0 -1
  551. package/dist/es5/classes/texture.js.map +0 -1
  552. package/dist/es5/classes/transform-feedback.js +0 -267
  553. package/dist/es5/classes/transform-feedback.js.map +0 -1
  554. package/dist/es5/classes/uniform-buffer-layout.js +0 -130
  555. package/dist/es5/classes/uniform-buffer-layout.js.map +0 -1
  556. package/dist/es5/classes/uniforms.js +0 -232
  557. package/dist/es5/classes/uniforms.js.map +0 -1
  558. package/dist/es5/classes/vertex-array-object.js +0 -337
  559. package/dist/es5/classes/vertex-array-object.js.map +0 -1
  560. package/dist/es5/classes/vertex-array.js +0 -465
  561. package/dist/es5/classes/vertex-array.js.map +0 -1
  562. package/dist/es5/classes/webgl-buffer.js.map +0 -1
  563. package/dist/es5/classes/webgl-resource.js.map +0 -1
  564. package/dist/es5/context/context/get-canvas.js +0 -40
  565. package/dist/es5/context/context/get-canvas.js.map +0 -1
  566. package/dist/es5/context/context/resize-context.js +0 -23
  567. package/dist/es5/context/context/resize-context.js.map +0 -1
  568. package/dist/es5/context/parameters/webgl-parameters.js.map +0 -1
  569. package/dist/es5/debug/debug-program-configuration.js +0 -76
  570. package/dist/es5/debug/debug-program-configuration.js.map +0 -1
  571. package/dist/es5/debug/debug-uniforms.js +0 -156
  572. package/dist/es5/debug/debug-uniforms.js.map +0 -1
  573. package/dist/es5/debug/debug-vertex-array.js +0 -126
  574. package/dist/es5/debug/debug-vertex-array.js.map +0 -1
  575. package/dist/es5/helpers/get-program-bindings.js.map +0 -1
  576. package/dist/es5/helpers/program-bindings.js +0 -2
  577. package/dist/es5/types/accessor.d.ts +0 -29
  578. package/dist/es5/webgl-utils/attribute-utils.js +0 -186
  579. package/dist/es5/webgl-utils/attribute-utils.js.map +0 -1
  580. package/dist/es5/webgl-utils/constants-to-keys.js.map +0 -1
  581. package/dist/es5/webgl-utils/format-utils.js +0 -58
  582. package/dist/es5/webgl-utils/format-utils.js.map +0 -1
  583. package/dist/es5/webgl-utils/get-error.js +0 -49
  584. package/dist/es5/webgl-utils/get-error.js.map +0 -1
  585. package/dist/es5/webgl-utils/index.js +0 -74
  586. package/dist/es5/webgl-utils/index.js.map +0 -1
  587. package/dist/es5/webgl-utils/parse-shader-compiler-log.js.map +0 -1
  588. package/dist/es5/webgl-utils/request-animation-frame.js +0 -16
  589. package/dist/es5/webgl-utils/request-animation-frame.js.map +0 -1
  590. package/dist/es5/webgl-utils/texture-utils.js +0 -61
  591. package/dist/es5/webgl-utils/texture-utils.js.map +0 -1
  592. package/dist/es5/webgl-utils/typed-array-utils.js.map +0 -1
  593. package/dist/esm/_deprecated/context-api.js +0 -76
  594. package/dist/esm/_deprecated/context-api.js.map +0 -1
  595. package/dist/esm/_deprecated/features.js +0 -111
  596. package/dist/esm/_deprecated/features.js.map +0 -1
  597. package/dist/esm/adapter/converters/set-device-parameters.js.map +0 -1
  598. package/dist/esm/adapter/converters/webgpu-texture-formats.js +0 -285
  599. package/dist/esm/adapter/converters/webgpu-texture-formats.js.map +0 -1
  600. package/dist/esm/adapter/webgl-shader.js.map +0 -1
  601. package/dist/esm/classes/accessor.d.ts +0 -28
  602. package/dist/esm/classes/accessor.js.map +0 -1
  603. package/dist/esm/classes/clear.js +0 -105
  604. package/dist/esm/classes/clear.js.map +0 -1
  605. package/dist/esm/classes/copy-and-blit.js +0 -338
  606. package/dist/esm/classes/copy-and-blit.js.map +0 -1
  607. package/dist/esm/classes/framebuffer.js +0 -656
  608. package/dist/esm/classes/framebuffer.js.map +0 -1
  609. package/dist/esm/classes/program-configuration.js +0 -73
  610. package/dist/esm/classes/program-configuration.js.map +0 -1
  611. package/dist/esm/classes/program.js +0 -379
  612. package/dist/esm/classes/program.js.map +0 -1
  613. package/dist/esm/classes/query.js +0 -145
  614. package/dist/esm/classes/query.js.map +0 -1
  615. package/dist/esm/classes/renderbuffer-formats.js.map +0 -1
  616. package/dist/esm/classes/renderbuffer.js.map +0 -1
  617. package/dist/esm/classes/shader.js +0 -118
  618. package/dist/esm/classes/shader.js.map +0 -1
  619. package/dist/esm/classes/texture-2d.js +0 -36
  620. package/dist/esm/classes/texture-2d.js.map +0 -1
  621. package/dist/esm/classes/texture-3d.js +0 -76
  622. package/dist/esm/classes/texture-3d.js.map +0 -1
  623. package/dist/esm/classes/texture-cube.js +0 -130
  624. package/dist/esm/classes/texture-cube.js.map +0 -1
  625. package/dist/esm/classes/texture-formats.js +0 -98
  626. package/dist/esm/classes/texture-formats.js.map +0 -1
  627. package/dist/esm/classes/texture.js.map +0 -1
  628. package/dist/esm/classes/transform-feedback.js +0 -198
  629. package/dist/esm/classes/transform-feedback.js.map +0 -1
  630. package/dist/esm/classes/uniform-buffer-layout.js +0 -104
  631. package/dist/esm/classes/uniform-buffer-layout.js.map +0 -1
  632. package/dist/esm/classes/uniforms.js +0 -250
  633. package/dist/esm/classes/uniforms.js.map +0 -1
  634. package/dist/esm/classes/vertex-array-object.js +0 -261
  635. package/dist/esm/classes/vertex-array-object.js.map +0 -1
  636. package/dist/esm/classes/vertex-array.js +0 -408
  637. package/dist/esm/classes/vertex-array.js.map +0 -1
  638. package/dist/esm/classes/webgl-buffer.js.map +0 -1
  639. package/dist/esm/classes/webgl-resource.js.map +0 -1
  640. package/dist/esm/context/context/get-canvas.js +0 -31
  641. package/dist/esm/context/context/get-canvas.js.map +0 -1
  642. package/dist/esm/context/context/resize-context.js +0 -15
  643. package/dist/esm/context/context/resize-context.js.map +0 -1
  644. package/dist/esm/context/parameters/webgl-parameters.js +0 -2
  645. package/dist/esm/context/parameters/webgl-parameters.js.map +0 -1
  646. package/dist/esm/debug/debug-program-configuration.js +0 -40
  647. package/dist/esm/debug/debug-program-configuration.js.map +0 -1
  648. package/dist/esm/debug/debug-uniforms.js +0 -108
  649. package/dist/esm/debug/debug-uniforms.js.map +0 -1
  650. package/dist/esm/debug/debug-vertex-array.js +0 -118
  651. package/dist/esm/debug/debug-vertex-array.js.map +0 -1
  652. package/dist/esm/helpers/get-program-bindings.js +0 -228
  653. package/dist/esm/helpers/get-program-bindings.js.map +0 -1
  654. package/dist/esm/helpers/program-bindings.js +0 -2
  655. package/dist/esm/types/accessor.d.ts +0 -29
  656. package/dist/esm/webgl-utils/attribute-utils.js +0 -182
  657. package/dist/esm/webgl-utils/attribute-utils.js.map +0 -1
  658. package/dist/esm/webgl-utils/constants-to-keys.js.map +0 -1
  659. package/dist/esm/webgl-utils/format-utils.js +0 -45
  660. package/dist/esm/webgl-utils/format-utils.js.map +0 -1
  661. package/dist/esm/webgl-utils/get-error.js +0 -41
  662. package/dist/esm/webgl-utils/get-error.js.map +0 -1
  663. package/dist/esm/webgl-utils/index.js +0 -5
  664. package/dist/esm/webgl-utils/index.js.map +0 -1
  665. package/dist/esm/webgl-utils/parse-shader-compiler-log.js.map +0 -1
  666. package/dist/esm/webgl-utils/request-animation-frame.js +0 -7
  667. package/dist/esm/webgl-utils/request-animation-frame.js.map +0 -1
  668. package/dist/esm/webgl-utils/texture-utils.js +0 -48
  669. package/dist/esm/webgl-utils/texture-utils.js.map +0 -1
  670. package/dist/esm/webgl-utils/typed-array-utils.js.map +0 -1
  671. package/dist/helpers/get-program-bindings.d.ts +0 -8
  672. package/dist/helpers/get-program-bindings.d.ts.map +0 -1
  673. package/dist/helpers/get-program-bindings.js +0 -228
  674. package/dist/helpers/get-program-bindings.js.map +0 -1
  675. package/dist/helpers/program-bindings.d.ts +0 -41
  676. package/dist/helpers/program-bindings.d.ts.map +0 -1
  677. package/dist/helpers/program-bindings.js +0 -2
  678. package/dist/types/accessor.d.ts +0 -29
  679. package/dist/webgl-utils/attribute-utils.d.ts +0 -18
  680. package/dist/webgl-utils/attribute-utils.d.ts.map +0 -1
  681. package/dist/webgl-utils/attribute-utils.js +0 -182
  682. package/dist/webgl-utils/attribute-utils.js.map +0 -1
  683. package/dist/webgl-utils/constants-to-keys.d.ts +0 -4
  684. package/dist/webgl-utils/constants-to-keys.d.ts.map +0 -1
  685. package/dist/webgl-utils/constants-to-keys.js.map +0 -1
  686. package/dist/webgl-utils/format-utils.d.ts +0 -3
  687. package/dist/webgl-utils/format-utils.d.ts.map +0 -1
  688. package/dist/webgl-utils/format-utils.js +0 -45
  689. package/dist/webgl-utils/format-utils.js.map +0 -1
  690. package/dist/webgl-utils/get-error.d.ts +0 -3
  691. package/dist/webgl-utils/get-error.d.ts.map +0 -1
  692. package/dist/webgl-utils/get-error.js +0 -41
  693. package/dist/webgl-utils/get-error.js.map +0 -1
  694. package/dist/webgl-utils/index.d.ts +0 -5
  695. package/dist/webgl-utils/index.d.ts.map +0 -1
  696. package/dist/webgl-utils/index.js +0 -5
  697. package/dist/webgl-utils/index.js.map +0 -1
  698. package/dist/webgl-utils/parse-shader-compiler-log.d.ts.map +0 -1
  699. package/dist/webgl-utils/parse-shader-compiler-log.js.map +0 -1
  700. package/dist/webgl-utils/request-animation-frame.d.ts +0 -4
  701. package/dist/webgl-utils/request-animation-frame.d.ts.map +0 -1
  702. package/dist/webgl-utils/request-animation-frame.js +0 -7
  703. package/dist/webgl-utils/request-animation-frame.js.map +0 -1
  704. package/dist/webgl-utils/texture-utils.d.ts +0 -15
  705. package/dist/webgl-utils/texture-utils.d.ts.map +0 -1
  706. package/dist/webgl-utils/texture-utils.js +0 -48
  707. package/dist/webgl-utils/texture-utils.js.map +0 -1
  708. package/dist/webgl-utils/typed-array-utils.d.ts.map +0 -1
  709. package/dist/webgl-utils/typed-array-utils.js.map +0 -1
  710. package/src/.DS_Store +0 -0
  711. package/src/_deprecated/context-api.ts +0 -146
  712. package/src/_deprecated/features.ts +0 -159
  713. package/src/adapter/converters/webgpu-texture-formats.ts +0 -167
  714. package/src/classes/accessor.d.ts +0 -28
  715. package/src/classes/accessor.js +0 -129
  716. package/src/classes/accessor.ts.disabled +0 -159
  717. package/src/classes/clear.ts +0 -108
  718. package/src/classes/copy-and-blit.ts +0 -460
  719. package/src/classes/framebuffer.ts +0 -763
  720. package/src/classes/program-configuration.ts +0 -77
  721. package/src/classes/program.ts +0 -431
  722. package/src/classes/query.ts +0 -171
  723. package/src/classes/renderbuffer.ts +0 -154
  724. package/src/classes/shader.ts +0 -129
  725. package/src/classes/texture-2d.ts +0 -35
  726. package/src/classes/texture-3d.ts +0 -123
  727. package/src/classes/texture-cube.ts +0 -162
  728. package/src/classes/texture-formats.ts +0 -171
  729. package/src/classes/texture.ts +0 -965
  730. package/src/classes/transform-feedback.ts +0 -191
  731. package/src/classes/uniform-buffer-layout.ts +0 -113
  732. package/src/classes/uniforms.ts +0 -394
  733. package/src/classes/vertex-array-object.ts +0 -339
  734. package/src/classes/vertex-array.ts +0 -484
  735. package/src/context/context/get-canvas.ts +0 -37
  736. package/src/context/context/resize-context.ts +0 -37
  737. package/src/context/parameters/webgl-parameters.ts +0 -197
  738. package/src/debug/debug-program-configuration.ts +0 -32
  739. package/src/debug/debug-uniforms.ts +0 -100
  740. package/src/debug/debug-vertex-array.ts +0 -123
  741. package/src/helpers/get-program-bindings.ts +0 -244
  742. package/src/helpers/program-bindings.ts +0 -46
  743. package/src/types/accessor.d.ts +0 -29
  744. package/src/webgl-utils/attribute-utils.ts +0 -171
  745. package/src/webgl-utils/format-utils.ts +0 -43
  746. package/src/webgl-utils/get-error.ts +0 -56
  747. package/src/webgl-utils/index.ts +0 -12
  748. package/src/webgl-utils/request-animation-frame.ts +0 -14
  749. package/src/webgl-utils/texture-utils.ts +0 -60
@@ -1,111 +0,0 @@
1
- import GL from '@luma.gl/constants';
2
- import { isWebGL2 } from '@luma.gl/webgl';
3
- import { assert } from '@luma.gl/api';
4
- export const DEPRECATED_FEATURES = {
5
- WEBGL2: 'WEBGL2',
6
- VERTEX_ARRAY_OBJECT: 'VERTEX_ARRAY_OBJECT',
7
- TIMER_QUERY: 'TIMER_QUERY',
8
- INSTANCED_RENDERING: 'INSTANCED_RENDERING',
9
- MULTIPLE_RENDER_TARGETS: 'MULTIPLE_RENDER_TARGETS',
10
- ELEMENT_INDEX_UINT32: 'ELEMENT_INDEX_UINT32',
11
- BLEND_EQUATION_MINMAX: 'BLEND_EQUATION_MINMAX',
12
- FLOAT_BLEND: 'FLOAT_BLEND',
13
- COLOR_ENCODING_SRGB: 'COLOR_ENCODING_SRGB',
14
- TEXTURE_DEPTH: 'TEXTURE_DEPTH',
15
- TEXTURE_FLOAT: 'TEXTURE_FLOAT',
16
- TEXTURE_HALF_FLOAT: 'TEXTURE_HALF_FLOAT',
17
- TEXTURE_FILTER_LINEAR_FLOAT: 'TEXTURE_FILTER_LINEAR_FLOAT',
18
- TEXTURE_FILTER_LINEAR_HALF_FLOAT: 'TEXTURE_FILTER_LINEAR_HALF_FLOAT',
19
- TEXTURE_FILTER_ANISOTROPIC: 'TEXTURE_FILTER_ANISOTROPIC',
20
- COLOR_ATTACHMENT_RGBA32F: 'COLOR_ATTACHMENT_RGBA32F',
21
- COLOR_ATTACHMENT_FLOAT: 'COLOR_ATTACHMENT_FLOAT',
22
- COLOR_ATTACHMENT_HALF_FLOAT: 'COLOR_ATTACHMENT_HALF_FLOAT',
23
- GLSL_FRAG_DATA: 'GLSL_FRAG_DATA',
24
- GLSL_FRAG_DEPTH: 'GLSL_FRAG_DEPTH',
25
- GLSL_DERIVATIVES: 'GLSL_DERIVATIVES',
26
- GLSL_TEXTURE_LOD: 'GLSL_TEXTURE_LOD'
27
- };
28
- export function getWebGLFeatures(gl) {
29
- gl.getExtension('EXT_color_buffer_float');
30
- gl.getExtension('WEBGL_color_buffer_float');
31
- gl.getExtension('EXT_float_blend');
32
- const features = new Set();
33
-
34
- for (const feature in WEBGL_FEATURES) {
35
- if (isFeatureSupported(gl, feature)) {
36
- features.add(feature);
37
- }
38
- }
39
-
40
- return features;
41
- }
42
-
43
- function isFeatureSupported(gl, cap) {
44
- const feature = WEBGL_FEATURES[cap];
45
- assert(feature, cap);
46
- const [webgl1Feature, webgl2Feature] = feature;
47
- const featureDefinition = isWebGL2(gl) ? webgl2Feature : webgl1Feature;
48
-
49
- if (cap === DEPRECATED_FEATURES.COLOR_ATTACHMENT_RGBA32F && !isWebGL2(gl)) {
50
- return checkFloat32ColorAttachment(gl);
51
- }
52
-
53
- if (typeof featureDefinition === 'string') {
54
- return Boolean(gl.getExtension(featureDefinition));
55
- }
56
-
57
- return featureDefinition;
58
- }
59
-
60
- function checkFloat32ColorAttachment(gl) {
61
- let texture;
62
- let framebuffer;
63
-
64
- try {
65
- const texture = gl.createTexture();
66
- gl.bindTexture(GL.TEXTURE_2D, texture);
67
- const level = 0;
68
- const internalFormat = gl.RGBA;
69
- const width = 1;
70
- const height = 1;
71
- const border = 0;
72
- const srcFormat = gl.RGBA;
73
- const srcType = gl.UNSIGNED_BYTE;
74
- const pixel = new Uint8Array([0, 0, 255, 255]);
75
- gl.texImage2D(gl.TEXTURE_2D, level, internalFormat, width, height, border, srcFormat, srcType, pixel);
76
- const framebuffer = gl.createFramebuffer();
77
- gl.bindFramebuffer(GL.FRAMEBUFFER, framebuffer);
78
- gl.framebufferTexture2D(GL.FRAMEBUFFER, GL.COLOR_ATTACHMENT0, GL.TEXTURE_2D, texture, 0);
79
- const status = gl.checkFramebufferStatus(GL.FRAMEBUFFER) === GL.FRAMEBUFFER_COMPLETE;
80
- return status;
81
- } finally {
82
- gl.deleteTexture(texture);
83
- gl.deleteFramebuffer(framebuffer);
84
- }
85
- }
86
-
87
- const WEBGL_FEATURES = {
88
- [DEPRECATED_FEATURES.WEBGL2]: [false, true],
89
- [DEPRECATED_FEATURES.VERTEX_ARRAY_OBJECT]: ['OES_vertex_array_object', true],
90
- [DEPRECATED_FEATURES.TIMER_QUERY]: ['EXT_disjoint_timer_query', 'EXT_disjoint_timer_query_webgl2'],
91
- [DEPRECATED_FEATURES.INSTANCED_RENDERING]: ['ANGLE_instanced_arrays', true],
92
- [DEPRECATED_FEATURES.MULTIPLE_RENDER_TARGETS]: ['WEBGL_draw_buffers', true],
93
- [DEPRECATED_FEATURES.ELEMENT_INDEX_UINT32]: ['OES_element_index_uint', true],
94
- [DEPRECATED_FEATURES.BLEND_EQUATION_MINMAX]: ['EXT_blend_minmax', true],
95
- [DEPRECATED_FEATURES.FLOAT_BLEND]: ['EXT_float_blend', 'EXT_float_blend'],
96
- [DEPRECATED_FEATURES.COLOR_ENCODING_SRGB]: ['EXT_sRGB', true],
97
- [DEPRECATED_FEATURES.TEXTURE_DEPTH]: ['WEBGL_depth_texture', true],
98
- [DEPRECATED_FEATURES.TEXTURE_FLOAT]: ['OES_texture_float', true],
99
- [DEPRECATED_FEATURES.TEXTURE_HALF_FLOAT]: ['OES_texture_half_float', true],
100
- [DEPRECATED_FEATURES.TEXTURE_FILTER_LINEAR_FLOAT]: ['OES_texture_float_linear', 'OES_texture_float_linear'],
101
- [DEPRECATED_FEATURES.TEXTURE_FILTER_LINEAR_HALF_FLOAT]: ['OES_texture_half_float_linear', 'OES_texture_half_float_linear'],
102
- [DEPRECATED_FEATURES.TEXTURE_FILTER_ANISOTROPIC]: ['EXT_texture_filter_anisotropic', 'EXT_texture_filter_anisotropic'],
103
- [DEPRECATED_FEATURES.COLOR_ATTACHMENT_RGBA32F]: [false, 'EXT_color_buffer_float'],
104
- [DEPRECATED_FEATURES.COLOR_ATTACHMENT_FLOAT]: [false, 'EXT_color_buffer_float'],
105
- [DEPRECATED_FEATURES.COLOR_ATTACHMENT_HALF_FLOAT]: ['EXT_color_buffer_half_float', 'EXT_color_buffer_half_float'],
106
- [DEPRECATED_FEATURES.GLSL_FRAG_DATA]: ['WEBGL_draw_buffers', true],
107
- [DEPRECATED_FEATURES.GLSL_FRAG_DEPTH]: ['EXT_frag_depth', true],
108
- [DEPRECATED_FEATURES.GLSL_DERIVATIVES]: ['OES_standard_derivatives', true],
109
- [DEPRECATED_FEATURES.GLSL_TEXTURE_LOD]: ['EXT_shader_texture_lod', true]
110
- };
111
- //# sourceMappingURL=features.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/_deprecated/features.ts"],"names":["GL","isWebGL2","assert","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","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":"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","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":["log","GL","WebGLDevice","setDeviceParameters","device","parameters","webglDevice","attach","gl","gl2","cullMode","disable","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","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"}
@@ -1,285 +0,0 @@
1
- import GL from '@luma.gl/constants';
2
- const SRGB = 'EXT_sRGB';
3
- const EXT_FLOAT_WEBGL1 = 'WEBGL.color_buffer_float';
4
- const EXT_FLOAT_WEBGL2 = 'EXT_color_buffer_float';
5
- const EXT_HALF_FLOAT_WEBGL1 = 'EXT_color_buffer_half_float';
6
- export const TEXTURE_FORMAT_DEFINITIONS = {
7
- 'r8unorm': {
8
- b: 1,
9
- c: 1,
10
- gl: GL.R8,
11
- gl2: true
12
- },
13
- 'r8snorm': {
14
- b: 1,
15
- c: 1
16
- },
17
- 'r8uint': {
18
- b: 1,
19
- c: 1,
20
- gl: GL.R8UI,
21
- gl2: true
22
- },
23
- 'r8sint': {
24
- b: 1,
25
- c: 1,
26
- gl: GL.R8I,
27
- gl2: true
28
- },
29
- 'r16uint': {
30
- b: 2,
31
- c: 1,
32
- gl: GL.R16UI,
33
- gl2: true
34
- },
35
- 'r16sint': {
36
- b: 2,
37
- c: 1,
38
- gl: GL.R16I,
39
- gl2: true
40
- },
41
- 'r16float': {
42
- b: 2,
43
- c: 1,
44
- gl: GL.R16F,
45
- gl2: EXT_FLOAT_WEBGL2
46
- },
47
- 'rg8unorm': {
48
- b: 2,
49
- c: 2,
50
- gl: GL.RG8,
51
- gl2: true
52
- },
53
- 'rg8snorm': {
54
- b: 2,
55
- c: 2
56
- },
57
- 'rg8uint': {
58
- b: 2,
59
- c: 2,
60
- gl: GL.RG8UI,
61
- gl2: true
62
- },
63
- 'rg8sint': {
64
- b: 2,
65
- c: 2,
66
- gl: GL.RG8I,
67
- gl2: true
68
- },
69
- 'r32uint': {
70
- b: 4,
71
- c: 1,
72
- gl: GL.R32UI,
73
- gl2: true,
74
- bpp: 4
75
- },
76
- 'r32sint': {
77
- b: 4,
78
- c: 1,
79
- gl: GL.R32I,
80
- gl2: true,
81
- bpp: 4
82
- },
83
- 'r32float': {
84
- b: 4,
85
- c: 1,
86
- gl: GL.R32F,
87
- gl2: EXT_FLOAT_WEBGL2,
88
- bpp: 4
89
- },
90
- 'rg16uint': {
91
- b: 4,
92
- c: 1,
93
- gl: GL.RG16UI,
94
- gl2: true,
95
- bpp: 4
96
- },
97
- 'rg16sint': {
98
- b: 4,
99
- c: 2,
100
- gl: GL.RG16I,
101
- gl2: true,
102
- bpp: 4
103
- },
104
- 'rg16float': {
105
- b: 4,
106
- c: 2,
107
- gl: GL.RG16F,
108
- gl2: EXT_FLOAT_WEBGL2,
109
- bpp: 4
110
- },
111
- 'rgba8unorm': {
112
- b: 4,
113
- c: 2,
114
- gl: GL.RGBA8,
115
- gl2: true,
116
- bpp: 4
117
- },
118
- 'rgba8unorm-srgb': {
119
- b: 4,
120
- c: 4,
121
- gl: GL.SRGB8_ALPHA8,
122
- gl2: true,
123
- gl1: SRGB,
124
- bpp: 4
125
- },
126
- 'rgba8snorm': {
127
- b: 4,
128
- c: 4
129
- },
130
- 'rgba8uint': {
131
- b: 4,
132
- c: 4,
133
- gl: GL.RGBA8UI,
134
- gl2: true,
135
- bpp: 4
136
- },
137
- 'rgba8sint': {
138
- b: 4,
139
- c: 4,
140
- gl: GL.RGBA8I,
141
- gl2: true,
142
- bpp: 4
143
- },
144
- 'bgra8unorm': {
145
- b: 4,
146
- c: 4
147
- },
148
- 'bgra8unorm-srgb': {
149
- b: 4,
150
- c: 4
151
- },
152
- 'rgb9e5ufloat': {
153
- b: 4,
154
- c: 3,
155
- p: 1,
156
- gl: GL.RGB9_E5,
157
- gl2: true,
158
- gl1: 'WEBGL_color_buffer_half_float'
159
- },
160
- 'rg11b10ufloat': {
161
- b: 4,
162
- c: 3,
163
- p: 1,
164
- gl: GL.R11F_G11F_B10F,
165
- gl2: EXT_FLOAT_WEBGL2
166
- },
167
- 'rgb10a2unorm': {
168
- b: 4,
169
- c: 4,
170
- p: 1,
171
- gl: GL.RGB10_A2,
172
- gl2: true
173
- },
174
- 'rg32uint': {
175
- b: 8,
176
- c: 2,
177
- gl: GL.RG32UI,
178
- gl2: true
179
- },
180
- 'rg32sint': {
181
- b: 8,
182
- c: 2,
183
- gl: GL.RG32I,
184
- gl2: true
185
- },
186
- 'rg32float': {
187
- b: 8,
188
- c: 2,
189
- gl: GL.RG32F,
190
- gl2: EXT_FLOAT_WEBGL2
191
- },
192
- 'rgba16uint': {
193
- b: 8,
194
- c: 4,
195
- gl: GL.RGBA16UI,
196
- gl2: true
197
- },
198
- 'rgba16sint': {
199
- b: 8,
200
- c: 4,
201
- gl: GL.RGBA16I,
202
- gl2: true
203
- },
204
- 'rgba16float': {
205
- b: 8,
206
- c: 4,
207
- gl: GL.RGBA16F,
208
- gl2: EXT_FLOAT_WEBGL2
209
- },
210
- 'rgba32uint': {
211
- b: 16,
212
- c: 4,
213
- gl: GL.RGBA32UI,
214
- gl2: true
215
- },
216
- 'rgba32sint': {
217
- b: 16,
218
- c: 4,
219
- gl: GL.RGBA32I,
220
- gl2: true
221
- },
222
- 'rgba32float': {
223
- b: 16,
224
- c: 4,
225
- gl: GL.RGBA32F,
226
- gl2: EXT_FLOAT_WEBGL2
227
- },
228
- 'stencil8': {
229
- b: 1,
230
- c: 1,
231
- gl: GL.STENCIL_INDEX8
232
- },
233
- 'depth16unorm': {
234
- b: 2,
235
- c: 1,
236
- gl: GL.DEPTH_COMPONENT16
237
- },
238
- 'depth24plus': {
239
- b: 3,
240
- c: 1,
241
- gl: GL.DEPTH_COMPONENT24,
242
- gl2: true
243
- },
244
- 'depth24plus-stencil8': {
245
- b: 4,
246
- c: 2,
247
- p: 1,
248
- gl: GL.DEPTH24_STENCIL8,
249
- gl2: true
250
- },
251
- 'depth32float': {
252
- b: 4,
253
- c: 1,
254
- gl: GL.DEPTH_COMPONENT32F,
255
- gl2: true
256
- },
257
- 'depth24unorm-stencil8': {
258
- b: 4,
259
- c: 2,
260
- p: 1,
261
- gl: GL.DEPTH_STENCIL
262
- },
263
- "depth32float-stencil8": {
264
- b: 5,
265
- c: 2,
266
- p: 1,
267
- gl: GL.DEPTH32F_STENCIL8,
268
- gl2: true
269
- },
270
- 'bc1-rgba-unorm': {},
271
- 'bc1-rgba-unorm-srgb': {},
272
- 'bc2-rgba-unorm': {},
273
- 'bc2-rgba-unorm-srgb': {},
274
- 'bc3-rgba-unorm': {},
275
- 'bc3-rgba-unorm-srgb': {},
276
- 'bc4-r-unorm': {},
277
- 'bc4-r-snorm': {},
278
- 'bc5-rg-unorm': {},
279
- 'bc5-rg-snorm': {},
280
- 'bc6h-rgb-ufloat': {},
281
- 'bc6h-rgb-float': {},
282
- 'bc7-rgba-unorm': {},
283
- 'bc7-rgba-unorm-srgb': {}
284
- };
285
- //# sourceMappingURL=webgpu-texture-formats.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../src/adapter/converters/webgpu-texture-formats.ts"],"names":["GL","SRGB","EXT_FLOAT_WEBGL1","EXT_FLOAT_WEBGL2","EXT_HALF_FLOAT_WEBGL1","TEXTURE_FORMAT_DEFINITIONS","b","c","gl","R8","gl2","R8UI","R8I","R16UI","R16I","R16F","RG8","RG8UI","RG8I","R32UI","bpp","R32I","R32F","RG16UI","RG16I","RG16F","RGBA8","SRGB8_ALPHA8","gl1","RGBA8UI","RGBA8I","p","RGB9_E5","R11F_G11F_B10F","RGB10_A2","RG32UI","RG32I","RG32F","RGBA16UI","RGBA16I","RGBA16F","RGBA32UI","RGBA32I","RGBA32F","STENCIL_INDEX8","DEPTH_COMPONENT16","DEPTH_COMPONENT24","DEPTH24_STENCIL8","DEPTH_COMPONENT32F","DEPTH_STENCIL","DEPTH32F_STENCIL8"],"mappings":"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","sourcesContent":["import GL from '@luma.gl/constants';\n\n// Define local extension strings to optimize minification\nconst SRGB = 'EXT_sRGB';\nconst EXT_FLOAT_WEBGL1 = 'WEBGL.color_buffer_float';\nconst EXT_FLOAT_WEBGL2 = 'EXT_color_buffer_float';\nconst EXT_HALF_FLOAT_WEBGL1 = 'EXT_color_buffer_half_float';\n\n// const S3TC = 'WEBGL_compressed_texture_s3tc';\n// const PVRTC = 'WEBGL_compressed_texture_pvrtc';\n// const ES3 = 'WEBGL_compressed_texture_es3';\n// const ETC1 = 'WEBGL_compressed_texture_etc1';\n// const SRGB = 'EXT_sRGB';\n// const DEPTH = 'WEBGL_depth_texture';\n\n// NOTES:\n// - gl2: format requires WebGL2, when using a WebGL 1 context, color renderbuffer formats are limited\n// - b (bytes per pixel), for memory usage calculations.\n// - c (channels)\n// - p (packed)\n\nexport const TEXTURE_FORMAT_DEFINITIONS = {\n // 8-bit formats\n 'r8unorm': {b: 1, c: 1, gl: GL.R8, gl2: true},\n 'r8snorm': {b: 1, c: 1},\n 'r8uint': {b: 1, c: 1, gl: GL.R8UI, gl2: true},\n 'r8sint': {b: 1, c: 1, gl: GL.R8I, gl2: true},\n\n // 16-bit formats\n 'r16uint': {b: 2, c: 1, gl: GL.R16UI, gl2: true},\n 'r16sint': {b: 2, c: 1, gl: GL.R16I, gl2: true},\n 'r16float': {b: 2, c: 1, gl: GL.R16F, gl2: EXT_FLOAT_WEBGL2},\n 'rg8unorm': {b: 2, c: 2, gl: GL.RG8, gl2: true},\n 'rg8snorm': {b: 2, c: 2},\n 'rg8uint': {b: 2, c: 2, gl: GL.RG8UI, gl2: true},\n 'rg8sint': {b: 2, c: 2, gl: GL.RG8I, gl2: true},\n\n // Packed 16-bit formats\n // 'rgba4norm?': {b: 2, c: 4, gl: GL.RGBA4, wgpu: false},\n // 'rgb565norm?': {b: 2, c: 4, gl: GL.RGB565, wgpu: false},\n // 'rgb5a1norm?': {b: 2, c: 4, gl: GL.RGB5_A1, wgpu: false},\n\n // 24-bit formats\n // 'rbg8norm?': {b: 3, c: 3, gl: GL.RGB8, gl2: true, wgpu: false},\n\n // 32-bit formats\n 'r32uint': {b: 4, c: 1, gl: GL.R32UI, gl2: true, bpp: 4},\n 'r32sint': {b: 4, c: 1, gl: GL.R32I, gl2: true, bpp: 4},\n 'r32float': {b: 4, c: 1, gl: GL.R32F, gl2: EXT_FLOAT_WEBGL2, bpp: 4},\n 'rg16uint': {b: 4, c: 1, gl: GL.RG16UI, gl2: true, bpp: 4},\n 'rg16sint': {b: 4, c: 2, gl: GL.RG16I, gl2: true, bpp: 4},\n // When using a WebGL 2 context and the EXT_color_buffer_float WebGL2 extension\n 'rg16float': {b: 4, c: 2, gl: GL.RG16F, gl2: EXT_FLOAT_WEBGL2, bpp: 4},\n 'rgba8unorm': {b: 4, c: 2, gl: GL.RGBA8, gl2: true, bpp: 4},\n\n 'rgba8unorm-srgb': {b: 4, c: 4, gl: GL.SRGB8_ALPHA8, gl2: true, gl1: SRGB, bpp: 4},\n 'rgba8snorm': {b: 4, c: 4},\n 'rgba8uint': {b: 4, c: 4, gl: GL.RGBA8UI, gl2: true, bpp: 4},\n 'rgba8sint': {b: 4, c: 4, gl: GL.RGBA8I, gl2: true, bpp: 4},\n 'bgra8unorm': {b: 4, c: 4},\n 'bgra8unorm-srgb': {b: 4, c: 4},\n\n // Packed 32-bit formats\n 'rgb9e5ufloat': {b: 4, c: 3, p: 1, gl: GL.RGB9_E5, gl2: true, gl1: 'WEBGL_color_buffer_half_float'},\n 'rg11b10ufloat': {b: 4, c: 3, p: 1, gl: GL.R11F_G11F_B10F, gl2: EXT_FLOAT_WEBGL2},\n 'rgb10a2unorm': {b: 4, c: 4, p: 1, gl: GL.RGB10_A2, gl2: true},\n // webgl2 only\n // '?rgb10a2unorm?': {b: 4, c: 4, p: 1, webgpu: false, gl: GL.RGB10_A2UI, gl2: true, bpp: 4},\n\n // 64-bit formats\n 'rg32uint': {b: 8, c: 2, gl: GL.RG32UI, gl2: true},\n 'rg32sint': {b: 8, c: 2, gl: GL.RG32I, gl2: true},\n 'rg32float': {b: 8, c: 2, gl: GL.RG32F, gl2: EXT_FLOAT_WEBGL2},\n 'rgba16uint': {b: 8, c: 4, gl: GL.RGBA16UI, gl2: true},\n 'rgba16sint': {b: 8, c: 4, gl: GL.RGBA16I, gl2: true},\n 'rgba16float': {b: 8, c: 4, gl: GL.RGBA16F, gl2: EXT_FLOAT_WEBGL2},\n\n // 96-bit formats\n // {gl: GL.RGB32F, dataFormat: GL.RGB, types: [GL.FLOAT], gl2: true},\n\n // 128-bit formats\n 'rgba32uint': {b: 16, c: 4, gl: GL.RGBA32UI, gl2: true},\n 'rgba32sint': {b: 16, c: 4, gl: GL.RGBA32I, gl2: true},\n 'rgba32float': {b: 16, c: 4, gl: GL.RGBA32F, gl2: EXT_FLOAT_WEBGL2}, // gl1: EXT_FLOAT_WEBGL1\n\n // Depth and stencil formats\n 'stencil8': {b: 1, c: 1, gl: GL.STENCIL_INDEX8}, // 8 stencil bits\n 'depth16unorm': {b: 2, c: 1, gl: GL.DEPTH_COMPONENT16}, // 16 depth bits\n 'depth24plus': {b: 3, c: 1, gl: GL.DEPTH_COMPONENT24, gl2: true},\n 'depth24plus-stencil8': {b: 4, c: 2, p: 1, gl: GL.DEPTH24_STENCIL8, gl2: true},\n 'depth32float': {b: 4, c: 1, gl: GL.DEPTH_COMPONENT32F, gl2: true},\n\n // \"depth24unorm-stencil8\" feature\n 'depth24unorm-stencil8': {b: 4, c: 2, p: 1, gl: GL.DEPTH_STENCIL},\n\n // \"depth32float-stencil8\" feature\n \"depth32float-stencil8\": {b: 5, c: 2, p: 1, gl: GL.DEPTH32F_STENCIL8, gl2: true},\n\n // BC compressed formats usable if \"texture-compression-bc\" is both\n // supported by the device/user agent and enabled in requestDevice.\n 'bc1-rgba-unorm': {},\n 'bc1-rgba-unorm-srgb': {},\n 'bc2-rgba-unorm': {},\n 'bc2-rgba-unorm-srgb': {},\n 'bc3-rgba-unorm': {},\n 'bc3-rgba-unorm-srgb': {},\n 'bc4-r-unorm': {},\n 'bc4-r-snorm': {},\n 'bc5-rg-unorm': {},\n 'bc5-rg-snorm': {},\n 'bc6h-rgb-ufloat': {},\n 'bc6h-rgb-float': {},\n 'bc7-rgba-unorm': {},\n 'bc7-rgba-unorm-srgb': {}\n};\n\n////////////////////////////////////////////////////\n// Compressed formats\n\n// WEBGL_compressed_texture_s3tc\n\n// {gl: GL.COMPRESSED_RGB_S3TC_DXT1_EXT, compressed: true, gl1: S3TC},\n// {gl: GL.COMPRESSED_RGBA_S3TC_DXT1_EXT, compressed: true, gl1: S3TC},\n// {gl: GL.COMPRESSED_RGBA_S3TC_DXT3_EXT, compressed: true, gl1: S3TC},\n// {gl: GL.COMPRESSED_RGBA_S3TC_DXT5_EXT, compressed: true, gl1: S3TC},\n\n// WEBGL_compressed_texture_es3\n\n// {gl: GL.COMPRESSED_R11_EAC, compressed: true, gl1: ES3}, // RED\n// {gl: GL.COMPRESSED_SIGNED_R11_EAC, compressed: true, gl1: ES3}, // RED\n// {gl: GL.COMPRESSED_RG11_EAC, compressed: true, gl1: ES3}, // RG\n// {gl: GL.COMPRESSED_SIGNED_RG11_EAC, compressed: true, gl1: ES3}, // RG\n// {gl: GL.COMPRESSED_RGB8_ETC2, compressed: true, gl1: ES3}, // RGB\n// {gl: GL.COMPRESSED_RGBA8_ETC2_EAC, compressed: true, gl1: ES3}, // RBG\n// {gl: GL.COMPRESSED_SRGB8_ETC2, compressed: true, gl1: ES3}, // RGB\n// {gl: GL.COMPRESSED_SRGB8_ALPHA8_ETC2_EAC, compressed: true, gl1: ES3}, // RGBA\n// {gl: GL.COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2, compressed: true, gl1: ES3}, // RGBA\n// {gl: GL.COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2, compressed: true, gl1: ES3}, // RGBA\n/* WebGL2 guaranteed availability compressed formats?\nCOMPRESSED_R11_EAC RED\nCOMPRESSED_SIGNED_R11_EAC RED\nCOMPRESSED_RG11_EAC RG\nCOMPRESSED_SIGNED_RG11_EAC RG\nCOMPRESSED_RGB8_ETC2 RGB\nCOMPRESSED_SRGB8_ETC2 RGB\nCOMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2 RGBA\nCOMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2 RGBA\nCOMPRESSED_RGBA8_ETC2_EAC RGBA\nCOMPRESSED_SRGB8_ALPHA8_ETC2_EAC\n*/\n\n// WEBGL_compressed_texture_pvrtc\n\n// {gl: GL.COMPRESSED_RGB_PVRTC_4BPPV1_IMG, compressed: true, gl1: PVRTC},\n// {gl: GL.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG, compressed: true, gl1: PVRTC},\n// {gl: GL.COMPRESSED_RGB_PVRTC_2BPPV1_IMG, compressed: true, gl1: PVRTC},\n// {gl: GL.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG, compressed: true, gl1: PVRTC},\n\n// WEBGL_compressed_texture_etc1\n\n// {gl: GL.COMPRESSED_RGB_ETC1_WEBGL, compressed: true, gl1: ETC1},\n\n// WEBGL_compressed_texture_atc\n\n// {gl: GL.COMPRESSED_RGB_ATC_WEBGL, compressed: true, gl1: ETC1},\n// {gl: GL.COMPRESSED_RGBA_ATC_EXPLICIT_ALPHA_WEBGL, compressed: true, gl1: ETC1},\n// {gl: GL.COMPRESSED_RGBA_ATC_INTERPOLATED_ALPHA_WEBGL, compressed: true, gl1: ETC1}\n"],"file":"webgpu-texture-formats.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/adapter/webgl-shader.ts"],"names":["log","uid","Shader","GL","getShaderInfo","formatCompilerLog","parseShaderCompilerLog","WEBGLShader","constructor","device","props","id","getShaderIdFromProps","gl","stage","handle","createShader","VERTEX_SHADER","FRAGMENT_SHADER","Error","source","_compile","destroy","removeStats","deleteShader","compilationInfo","getShaderInfoLog","addGLSLVersion","startsWith","shaderSource","compileShader","compileStatus","getShaderParameter","COMPILE_STATUS","shaderLog","messages","filter","message","type","formattedLog","shaderName","name","shaderDescription","error"],"mappings":"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","sourcesContent":["// luma.gl, MIT license\nimport {log, uid, Shader, ShaderProps} from '@luma.gl/api';\nimport GL from '@luma.gl/constants';\nimport {getShaderInfo, CompilerMessage, formatCompilerLog} from '@luma.gl/shadertools';\nimport {parseShaderCompilerLog} from '../webgl-utils/parse-shader-compiler-log';\nimport WebGLDevice from '../adapter/webgl-device';\n\n/**\n * An immutable compiled shader program that execute portions of the GPU Pipeline\n */\n export class WEBGLShader extends Shader {\n readonly device: WebGLDevice;\n readonly gl: WebGLRenderingContext;\n readonly handle: WebGLShader;\n\n readonly stage: 'vertex' | 'fragment';\n readonly source: string;\n\n constructor(device: WebGLDevice, props: ShaderProps) {\n super(device, {id: getShaderIdFromProps(props), ...props});\n this.device = device;\n this.gl = device.gl;\n switch (this.props.stage) {\n case 'vertex':\n this.handle = this.props.handle || this.gl.createShader(GL.VERTEX_SHADER);\n break;\n case 'fragment':\n this.handle = this.props.handle || this.gl.createShader(GL.FRAGMENT_SHADER);\n break;\n default:\n throw new Error(this.props.stage);\n }\n this.stage = this.props.stage;\n this.source = this.props.source;\n this._compile(this.source);\n }\n\n destroy(): void {\n if (this.handle) {\n this.removeStats();\n this.gl.deleteShader(this.handle);\n // @ts-expect-error\n this.handle = null;\n }\n }\n\n async compilationInfo(): Promise<readonly CompilerMessage[]> {\n const log = this.gl.getShaderInfoLog(this.handle);\n return parseShaderCompilerLog(log);\n }\n\n // PRIVATE METHODS\n\n _compile(source) {\n const addGLSLVersion = source => source.startsWith('#version ') ? source : `#version 100\\n${source}`;\n source = addGLSLVersion(source);\n\n this.gl.shaderSource(this.handle, source);\n this.gl.compileShader(this.handle);\n\n // TODO - For performance reasons, avoid checking shader compilation errors on production?\n // TODO - Load log even when no error reported, to catch warnings?\n // https://gamedev.stackexchange.com/questions/30429/how-to-detect-glsl-warnings\n const compileStatus = this.gl.getShaderParameter(this.handle, GL.COMPILE_STATUS);\n if (!compileStatus) {\n const shaderLog = this.gl.getShaderInfoLog(this.handle);\n const messages = parseShaderCompilerLog(shaderLog).filter(message => message.type === 'error');\n const formattedLog = formatCompilerLog(messages, source);\n const shaderName: string = getShaderInfo(source).name;\n const shaderDescription = `${this.stage} shader ${shaderName}`;\n log.error(`GLSL compilation errors in ${shaderDescription}\\n${formattedLog}`)();\n throw new Error(`GLSL compilation errors in ${shaderName}`);\n }\n }\n}\n\n// HELPERS\n\n/** Deduce an id, from shader source, or supplied id, or shader type */\nfunction getShaderIdFromProps(props: ShaderProps): string {\n return getShaderInfo(props.source).name ||\n props.id ||\n uid(`unnamed ${props.stage}-shader`);\n}\n"],"file":"webgl-shader.js"}
@@ -1,28 +0,0 @@
1
- interface AccessorObject {
2
- buffer?: Buffer
3
- offset?: number
4
- stride?: number
5
- type?: number
6
- size?: number
7
- divisor?: number
8
- normalize?: boolean
9
- integer?: boolean
10
- }
11
-
12
- export default class Accessor {
13
- static getBytesPerElement(accessor: any): number;
14
- static getBytesPerVertex(accessor: any): number;
15
- static resolve(...accessors: any[]): Accessor;
16
- constructor(...accessors: any[]);
17
- toString(): string;
18
- get BYTES_PER_ELEMENT(): number;
19
- get BYTES_PER_VERTEX(): number;
20
-
21
- readonly offset: number;
22
- readonly stride: number;
23
- readonly type: number;
24
- readonly size: number;
25
- readonly divisor: number;
26
- readonly normalized: boolean;
27
- readonly integer: boolean;
28
- }
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/classes/accessor.js"],"names":["assert","checkProps","GL","getTypedArrayFromGLType","DEFAULT_ACCESSOR_VALUES","offset","stride","type","FLOAT","size","divisor","normalized","integer","PROP_CHECKS","deprecatedProps","instanced","isInstanced","Accessor","getBytesPerElement","accessor","ArrayType","BYTES_PER_ELEMENT","getBytesPerVertex","resolve","accessors","constructor","forEach","_assign","Object","freeze","toString","JSON","stringify","BYTES_PER_VERTEX","props","undefined","INT","UNSIGNED_INT","buffer","index"],"mappings":"AAAA,SAAQA,MAAR,EAAgBC,UAAhB,QAAiC,cAAjC;AACA,OAAOC,EAAP,MAAe,oBAAf;AACA,SAAQC,uBAAR,QAAsC,kCAAtC;AAEA,MAAMC,uBAAuB,GAAG;AAC9BC,EAAAA,MAAM,EAAE,CADsB;AAE9BC,EAAAA,MAAM,EAAE,CAFsB;AAG9BC,EAAAA,IAAI,EAAEL,EAAE,CAACM,KAHqB;AAI9BC,EAAAA,IAAI,EAAE,CAJwB;AAK9BC,EAAAA,OAAO,EAAE,CALqB;AAM9BC,EAAAA,UAAU,EAAE,KANkB;AAO9BC,EAAAA,OAAO,EAAE;AAPqB,CAAhC;AAUA,MAAMC,WAAW,GAAG;AAClBC,EAAAA,eAAe,EAAE;AACfC,IAAAA,SAAS,EAAE,SADI;AAEfC,IAAAA,WAAW,EAAE;AAFE;AADC,CAApB;AAOA,eAAe,MAAMC,QAAN,CAAe;AACH,SAAlBC,kBAAkB,CAACC,QAAD,EAAW;AAGlC,UAAMC,SAAS,GAAGjB,uBAAuB,CAACgB,QAAQ,CAACZ,IAAT,IAAiBL,EAAE,CAACM,KAArB,CAAzC;AACA,WAAOY,SAAS,CAACC,iBAAjB;AACD;;AAEuB,SAAjBC,iBAAiB,CAACH,QAAD,EAAW;AACjCnB,IAAAA,MAAM,CAACmB,QAAQ,CAACV,IAAV,CAAN;AAGA,UAAMW,SAAS,GAAGjB,uBAAuB,CAACgB,QAAQ,CAACZ,IAAT,IAAiBL,EAAE,CAACM,KAArB,CAAzC;AACA,WAAOY,SAAS,CAACC,iBAAV,GAA8BF,QAAQ,CAACV,IAA9C;AACD;;AAMa,SAAPc,OAAO,CAAC,GAAGC,SAAJ,EAAe;AAC3B,WAAO,IAAIP,QAAJ,CAAa,GAAG,CAACb,uBAAD,EAA0B,GAAGoB,SAA7B,CAAhB,CAAP;AACD;;AAEDC,EAAAA,WAAW,CAAC,GAAGD,SAAJ,EAAe;AACxBA,IAAAA,SAAS,CAACE,OAAV,CAAmBP,QAAD,IAAc,KAAKQ,OAAL,CAAaR,QAAb,CAAhC;AACAS,IAAAA,MAAM,CAACC,MAAP,CAAc,IAAd;AACD;;AAEDC,EAAAA,QAAQ,GAAG;AACT,WAAOC,IAAI,CAACC,SAAL,CAAe,IAAf,CAAP;AACD;;AAKoB,MAAjBX,iBAAiB,GAAG;AACtB,WAAOJ,QAAQ,CAACC,kBAAT,CAA4B,IAA5B,CAAP;AACD;;AAEmB,MAAhBe,gBAAgB,GAAG;AACrB,WAAOhB,QAAQ,CAACK,iBAAT,CAA2B,IAA3B,CAAP;AACD;;AAKDK,EAAAA,OAAO,CAACO,KAAK,GAAG,EAAT,EAAa;AAClBA,IAAAA,KAAK,GAAGjC,UAAU,CAAC,UAAD,EAAaiC,KAAb,EAAoBrB,WAApB,CAAlB;;AAEA,QAAIqB,KAAK,CAAC3B,IAAN,KAAe4B,SAAnB,EAA8B;AAC5B,WAAK5B,IAAL,GAAY2B,KAAK,CAAC3B,IAAlB;;AAGA,UAAI2B,KAAK,CAAC3B,IAAN,KAAeL,EAAE,CAACkC,GAAlB,IAAyBF,KAAK,CAAC3B,IAAN,KAAeL,EAAE,CAACmC,YAA/C,EAA6D;AAC3D,aAAKzB,OAAL,GAAe,IAAf;AACD;AACF;;AACD,QAAIsB,KAAK,CAACzB,IAAN,KAAe0B,SAAnB,EAA8B;AAC5B,WAAK1B,IAAL,GAAYyB,KAAK,CAACzB,IAAlB;AACD;;AACD,QAAIyB,KAAK,CAAC7B,MAAN,KAAiB8B,SAArB,EAAgC;AAC9B,WAAK9B,MAAL,GAAc6B,KAAK,CAAC7B,MAApB;AACD;;AACD,QAAI6B,KAAK,CAAC5B,MAAN,KAAiB6B,SAArB,EAAgC;AAC9B,WAAK7B,MAAL,GAAc4B,KAAK,CAAC5B,MAApB;AACD;;AACD,QAAI4B,KAAK,CAACvB,UAAN,KAAqBwB,SAAzB,EAAoC;AAClC,WAAKxB,UAAL,GAAkBuB,KAAK,CAACvB,UAAxB;AACD;;AACD,QAAIuB,KAAK,CAACtB,OAAN,KAAkBuB,SAAtB,EAAiC;AAC/B,WAAKvB,OAAL,GAAesB,KAAK,CAACtB,OAArB;AACD;;AAGD,QAAIsB,KAAK,CAACxB,OAAN,KAAkByB,SAAtB,EAAiC;AAC/B,WAAKzB,OAAL,GAAewB,KAAK,CAACxB,OAArB;AACD;;AAGD,QAAIwB,KAAK,CAACI,MAAN,KAAiBH,SAArB,EAAgC;AAC9B,WAAKG,MAAL,GAAcJ,KAAK,CAACI,MAApB;AACD;;AAID,QAAIJ,KAAK,CAACK,KAAN,KAAgBJ,SAApB,EAA+B;AAC7B,UAAI,OAAOD,KAAK,CAACK,KAAb,KAAuB,SAA3B,EAAsC;AACpC,aAAKA,KAAL,GAAaL,KAAK,CAACK,KAAN,GAAc,CAAd,GAAkB,CAA/B;AACD,OAFD,MAEO;AACL,aAAKA,KAAL,GAAaL,KAAK,CAACK,KAAnB;AACD;AACF;;AAGD,QAAIL,KAAK,CAACnB,SAAN,KAAoBoB,SAAxB,EAAmC;AACjC,WAAKzB,OAAL,GAAewB,KAAK,CAACnB,SAAN,GAAkB,CAAlB,GAAsB,CAArC;AACD;;AACD,QAAImB,KAAK,CAAClB,WAAN,KAAsBmB,SAA1B,EAAqC;AACnC,WAAKzB,OAAL,GAAewB,KAAK,CAAClB,WAAN,GAAoB,CAApB,GAAwB,CAAvC;AACD;;AAED,WAAO,IAAP;AACD;;AAvG2B;AA2G9B,SAAQZ,uBAAR","sourcesContent":["import {assert, checkProps} from '@luma.gl/api';\nimport GL from '@luma.gl/constants';\nimport {getTypedArrayFromGLType} from '../webgl-utils/typed-array-utils';\n\nconst DEFAULT_ACCESSOR_VALUES = {\n offset: 0,\n stride: 0,\n type: GL.FLOAT,\n size: 1,\n divisor: 0,\n normalized: false,\n integer: false\n};\n\nconst PROP_CHECKS = {\n deprecatedProps: {\n instanced: 'divisor',\n isInstanced: 'divisor'\n }\n};\n\nexport default class Accessor {\n static getBytesPerElement(accessor) {\n // TODO: using `FLOAT` when type is not specified,\n // ensure this assumption is valid or force API to specify type.\n const ArrayType = getTypedArrayFromGLType(accessor.type || GL.FLOAT);\n return ArrayType.BYTES_PER_ELEMENT;\n }\n\n static getBytesPerVertex(accessor) {\n assert(accessor.size);\n // TODO: using `FLOAT` when type is not specified,\n // ensure this assumption is valid or force API to specify type.\n const ArrayType = getTypedArrayFromGLType(accessor.type || GL.FLOAT);\n return ArrayType.BYTES_PER_ELEMENT * accessor.size;\n }\n\n // Combines (merges) a list of accessors. On top of default values\n // Usually [programAccessor, bufferAccessor, appAccessor]\n // All props will be set in the returned object.\n // TODO check for conflicts between values in the supplied accessors\n static resolve(...accessors) {\n return new Accessor(...[DEFAULT_ACCESSOR_VALUES, ...accessors]); // Default values\n }\n\n constructor(...accessors) {\n accessors.forEach((accessor) => this._assign(accessor)); // Merge in sequence\n Object.freeze(this);\n }\n\n toString() {\n return JSON.stringify(this);\n }\n\n // ACCESSORS\n\n // TODO - remove>\n get BYTES_PER_ELEMENT() {\n return Accessor.getBytesPerElement(this);\n }\n\n get BYTES_PER_VERTEX() {\n return Accessor.getBytesPerVertex(this);\n }\n\n // PRIVATE\n\n // eslint-disable-next-line complexity, max-statements\n _assign(props = {}) {\n props = checkProps('Accessor', props, PROP_CHECKS);\n\n if (props.type !== undefined) {\n this.type = props.type;\n\n // Auto-deduce integer type?\n if (props.type === GL.INT || props.type === GL.UNSIGNED_INT) {\n this.integer = true;\n }\n }\n if (props.size !== undefined) {\n this.size = props.size;\n }\n if (props.offset !== undefined) {\n this.offset = props.offset;\n }\n if (props.stride !== undefined) {\n this.stride = props.stride;\n }\n if (props.normalized !== undefined) {\n this.normalized = props.normalized;\n }\n if (props.integer !== undefined) {\n this.integer = props.integer;\n }\n\n // INSTANCE DIVISOR\n if (props.divisor !== undefined) {\n this.divisor = props.divisor;\n }\n\n // Buffer is optional\n if (props.buffer !== undefined) {\n this.buffer = props.buffer;\n }\n\n // The binding index (for binding e.g. Transform feedbacks and Uniform buffers)\n // TODO - should this be part of accessor?\n if (props.index !== undefined) {\n if (typeof props.index === 'boolean') {\n this.index = props.index ? 1 : 0;\n } else {\n this.index = props.index;\n }\n }\n\n // DEPRECATED\n if (props.instanced !== undefined) {\n this.divisor = props.instanced ? 1 : 0;\n }\n if (props.isInstanced !== undefined) {\n this.divisor = props.isInstanced ? 1 : 0;\n }\n\n return this;\n }\n}\n\n// TEST EXPORTS\nexport {DEFAULT_ACCESSOR_VALUES};\n"],"file":"accessor.js"}
@@ -1,105 +0,0 @@
1
- import { assert } from '@luma.gl/api';
2
- import { assertWebGL2Context } from '../context/context/webgl-checks';
3
- import { withParameters } from '../context/state-tracker/with-parameters';
4
- const GL_DEPTH_BUFFER_BIT = 0x00000100;
5
- const GL_STENCIL_BUFFER_BIT = 0x00000400;
6
- const GL_COLOR_BUFFER_BIT = 0x00004000;
7
- const GL_COLOR = 0x1800;
8
- const GL_DEPTH = 0x1801;
9
- const GL_STENCIL = 0x1802;
10
- const GL_DEPTH_STENCIL = 0x84f9;
11
- const ERR_ARGUMENTS = 'clear: bad arguments';
12
- export function clear(device, options) {
13
- const gl = device.gl || device;
14
- const {
15
- framebuffer = null,
16
- color = null,
17
- depth = null,
18
- stencil = null
19
- } = options || {};
20
- const parameters = {};
21
-
22
- if (framebuffer) {
23
- parameters.framebuffer = framebuffer;
24
- }
25
-
26
- let clearFlags = 0;
27
-
28
- if (color) {
29
- clearFlags |= GL_COLOR_BUFFER_BIT;
30
-
31
- if (color !== true) {
32
- parameters.clearColor = color;
33
- }
34
- }
35
-
36
- if (depth) {
37
- clearFlags |= GL_DEPTH_BUFFER_BIT;
38
-
39
- if (depth !== true) {
40
- parameters.clearDepth = depth;
41
- }
42
- }
43
-
44
- if (stencil) {
45
- clearFlags |= GL_STENCIL_BUFFER_BIT;
46
-
47
- if (depth !== true) {
48
- parameters.clearStencil = depth;
49
- }
50
- }
51
-
52
- assert(clearFlags !== 0, ERR_ARGUMENTS);
53
- withParameters(gl, parameters, () => {
54
- gl.clear(clearFlags);
55
- });
56
- }
57
- export function clearBuffer(device, options) {
58
- const gl = device.gl || device;
59
- assertWebGL2Context(gl);
60
- const {
61
- framebuffer = null,
62
- buffer = GL_COLOR,
63
- drawBuffer = 0,
64
- value = [0, 0, 0, 0]
65
- } = options || {};
66
- withParameters(gl, {
67
- framebuffer
68
- }, () => {
69
- switch (buffer) {
70
- case GL_COLOR:
71
- switch (value.constructor) {
72
- case Int32Array:
73
- gl.clearBufferiv(buffer, drawBuffer, value);
74
- break;
75
-
76
- case Uint32Array:
77
- gl.clearBufferuiv(buffer, drawBuffer, value);
78
- break;
79
-
80
- case Float32Array:
81
- default:
82
- gl.clearBufferfv(buffer, drawBuffer, value);
83
- }
84
-
85
- break;
86
-
87
- case GL_DEPTH:
88
- gl.clearBufferfv(GL_DEPTH, 0, [value]);
89
- break;
90
-
91
- case GL_STENCIL:
92
- gl.clearBufferiv(GL_STENCIL, 0, [value]);
93
- break;
94
-
95
- case GL_DEPTH_STENCIL:
96
- const [depth, stencil] = value;
97
- gl.clearBufferfi(GL_DEPTH_STENCIL, 0, depth, stencil);
98
- break;
99
-
100
- default:
101
- assert(false, ERR_ARGUMENTS);
102
- }
103
- });
104
- }
105
- //# sourceMappingURL=clear.js.map