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

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 (731) 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/{esm/adapter/converters/set-device-parameters.js → adapter/converters/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/{esm/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/{esm/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/adapter/{webgl-shader.js → 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/{esm/classes/texture.js → adapter/resources/webgl-texture.js} +274 -229
  107. package/dist/adapter/resources/webgl-texture.js.map +1 -0
  108. package/dist/adapter/webgl-canvas-context.d.ts +36 -0
  109. package/dist/adapter/webgl-canvas-context.d.ts.map +1 -0
  110. package/dist/adapter/webgl-canvas-context.js +54 -0
  111. package/dist/adapter/webgl-canvas-context.js.map +1 -0
  112. package/dist/adapter/webgl-device.d.ts +58 -77
  113. package/dist/adapter/webgl-device.d.ts.map +1 -1
  114. package/dist/adapter/webgl-device.js +185 -113
  115. package/dist/adapter/webgl-device.js.map +1 -1
  116. package/dist/classic/accessor.d.ts +32 -0
  117. package/dist/classic/accessor.d.ts.map +1 -0
  118. package/dist/{classes → classic}/accessor.js +33 -1
  119. package/dist/classic/accessor.js.map +1 -0
  120. package/dist/{classes/webgl-buffer.d.ts → classic/buffer.d.ts} +28 -33
  121. package/dist/classic/buffer.d.ts.map +1 -0
  122. package/dist/{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 +255 -135
  218. package/dist/es5/adapter/webgl-device.js.map +1 -1
  219. package/dist/es5/{classes → classic}/accessor.js +25 -1
  220. package/dist/es5/classic/accessor.js.map +1 -0
  221. package/dist/es5/{classes/webgl-buffer.js → classic/buffer.js} +74 -66
  222. package/dist/es5/classic/buffer.js.map +1 -0
  223. package/dist/es5/{webgl-utils → classic}/typed-array-utils.js +0 -0
  224. package/dist/es5/classic/typed-array-utils.js.map +1 -0
  225. package/dist/es5/context/context/context-state.js +1 -1
  226. package/dist/es5/context/context/context-state.js.map +1 -1
  227. package/dist/es5/context/context/create-context.js +12 -0
  228. package/dist/es5/context/context/create-context.js.map +1 -1
  229. package/dist/es5/context/context/device-pixels.js.map +1 -1
  230. package/dist/es5/context/debug/spector.js +133 -0
  231. package/dist/es5/context/debug/spector.js.map +1 -0
  232. package/dist/es5/context/debug/webgl-developer-tools.js +198 -0
  233. package/dist/es5/context/debug/webgl-developer-tools.js.map +1 -0
  234. package/dist/es5/context/parameters/unified-parameter-api.js +7 -5
  235. package/dist/es5/context/parameters/unified-parameter-api.js.map +1 -1
  236. package/dist/es5/context/parameters/webgl-parameter-tables.js.map +1 -1
  237. package/dist/es5/context/polyfill/get-parameter-polyfill.js.map +1 -1
  238. package/dist/es5/context/polyfill/polyfill-context.js +4 -3
  239. package/dist/es5/context/polyfill/polyfill-context.js.map +1 -1
  240. package/dist/es5/context/state-tracker/deep-array-equal.js.map +1 -1
  241. package/dist/es5/context/state-tracker/track-context-state.js +26 -11
  242. package/dist/es5/context/state-tracker/track-context-state.js.map +1 -1
  243. package/dist/es5/index.js +66 -238
  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/{adapter/converters/set-device-parameters.js → esm/adapter/converters/device-parameters.js} +36 -5
  250. package/dist/esm/adapter/converters/device-parameters.js.map +1 -0
  251. package/dist/{classes → esm/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/{classes → esm/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/esm/adapter/{webgl-shader.js → resources/webgl-shader.js} +13 -20
  300. package/dist/esm/adapter/resources/webgl-shader.js.map +1 -0
  301. package/dist/{classes/texture.js → esm/adapter/resources/webgl-texture.js} +274 -229
  302. package/dist/esm/adapter/resources/webgl-texture.js.map +1 -0
  303. package/dist/esm/adapter/webgl-canvas-context.js +54 -0
  304. package/dist/esm/adapter/webgl-canvas-context.js.map +1 -0
  305. package/dist/esm/adapter/webgl-device.js +185 -113
  306. package/dist/esm/adapter/webgl-device.js.map +1 -1
  307. package/dist/esm/{classes → classic}/accessor.js +33 -1
  308. package/dist/esm/classic/accessor.js.map +1 -0
  309. package/dist/{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 -29
  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 -43
  338. package/dist/index.d.ts.map +1 -1
  339. package/dist/index.js +19 -29
  340. package/dist/index.js.map +1 -1
  341. package/dist/init.d.ts +1 -4
  342. package/dist/init.d.ts.map +1 -1
  343. package/dist/init.js +2 -31
  344. package/dist/init.js.map +1 -1
  345. package/dist/types/webgl.d.ts +144 -0
  346. package/dist/types/webgl.d.ts.map +1 -0
  347. package/dist/types/webgl.js +2 -0
  348. package/dist/types/webgl.js.map +1 -0
  349. package/package.json +5 -5
  350. package/src/adapter/converters/{set-device-parameters.ts → device-parameters.ts} +52 -9
  351. package/src/{classes → adapter/converters}/renderbuffer-formats.ts +1 -1
  352. package/src/adapter/converters/sampler-parameters.ts +175 -0
  353. package/src/adapter/converters/texture-formats.ts +633 -0
  354. package/src/adapter/converters/vertex-formats.ts +22 -0
  355. package/src/adapter/device-helpers/device-features.ts +46 -123
  356. package/src/adapter/device-helpers/device-limits.ts +5 -2
  357. package/src/adapter/device-helpers/get-device-info.ts +8 -8
  358. package/src/adapter/helpers/attribute-utils.ts +61 -0
  359. package/src/adapter/helpers/get-shader-layout.ts +388 -0
  360. package/src/{webgl-utils → adapter/helpers}/parse-shader-compiler-log.ts +0 -0
  361. package/src/adapter/helpers/set-uniform.ts +87 -0
  362. package/src/adapter/helpers/uniforms.ts +110 -0
  363. package/src/{webgl-utils → adapter/objects}/constants-to-keys.ts +6 -3
  364. package/src/adapter/objects/webgl-renderbuffer.ts +104 -0
  365. package/src/{classes → adapter/objects}/webgl-resource.ts +23 -17
  366. package/src/adapter/objects/webgl-vertex-array-object.ts +111 -0
  367. package/src/adapter/resources/webgl-buffer.ts +219 -0
  368. package/src/adapter/resources/webgl-command-buffer.ts +94 -0
  369. package/src/adapter/resources/webgl-command-encoder.ts +58 -0
  370. package/src/adapter/resources/webgl-external-texture.ts +92 -0
  371. package/src/adapter/resources/webgl-framebuffer.ts +279 -0
  372. package/src/adapter/resources/webgl-render-pass.ts +23 -0
  373. package/src/adapter/resources/webgl-render-pipeline.ts +413 -0
  374. package/src/adapter/resources/webgl-sampler.ts +54 -0
  375. package/src/adapter/{webgl-shader.ts → resources/webgl-shader.ts} +14 -20
  376. package/src/adapter/resources/webgl-texture.ts +1023 -0
  377. package/src/adapter/webgl-canvas-context.ts +74 -0
  378. package/src/adapter/webgl-device.ts +229 -285
  379. package/{dist/esm/classes/accessor.ts.disabled → src/classic/accessor.ts} +50 -36
  380. package/src/{classes/webgl-buffer.ts → classic/buffer.ts} +69 -77
  381. package/src/{webgl-utils → classic}/typed-array-utils.ts +3 -1
  382. package/src/context/context/context-state.ts +4 -2
  383. package/src/context/context/create-context.ts +28 -1
  384. package/src/context/context/device-pixels.ts +9 -4
  385. package/src/context/debug/spector.ts +92 -0
  386. package/src/context/debug/webgl-developer-tools.ts +162 -0
  387. package/src/context/parameters/unified-parameter-api.ts +6 -4
  388. package/src/context/parameters/webgl-parameter-tables.ts +38 -36
  389. package/src/context/polyfill/get-parameter-polyfill.ts +1 -1
  390. package/src/context/polyfill/polyfill-context.ts +4 -3
  391. package/src/context/state-tracker/deep-array-equal.ts +1 -1
  392. package/src/context/state-tracker/track-context-state.ts +27 -20
  393. package/src/index.ts +33 -91
  394. package/src/init.ts +2 -46
  395. package/src/types/webgl.ts +283 -0
  396. package/dist/adapter/converters/set-device-parameters.d.ts +0 -5
  397. package/dist/adapter/converters/set-device-parameters.d.ts.map +0 -1
  398. package/dist/adapter/converters/set-device-parameters.js.map +0 -1
  399. package/dist/adapter/converters/webgpu-texture-formats.d.ts +0 -281
  400. package/dist/adapter/converters/webgpu-texture-formats.d.ts.map +0 -1
  401. package/dist/adapter/converters/webgpu-texture-formats.js +0 -285
  402. package/dist/adapter/converters/webgpu-texture-formats.js.map +0 -1
  403. package/dist/adapter/webgl-shader.d.ts.map +0 -1
  404. package/dist/adapter/webgl-shader.js.map +0 -1
  405. package/dist/classes/accessor.d.ts +0 -28
  406. package/dist/classes/accessor.d.ts.map +0 -1
  407. package/dist/classes/accessor.js.map +0 -1
  408. package/dist/classes/accessor.ts.disabled +0 -159
  409. package/dist/classes/clear.d.ts +0 -17
  410. package/dist/classes/clear.d.ts.map +0 -1
  411. package/dist/classes/clear.js +0 -105
  412. package/dist/classes/clear.js.map +0 -1
  413. package/dist/classes/copy-and-blit.d.ts +0 -86
  414. package/dist/classes/copy-and-blit.d.ts.map +0 -1
  415. package/dist/classes/copy-and-blit.js +0 -338
  416. package/dist/classes/copy-and-blit.js.map +0 -1
  417. package/dist/classes/framebuffer.d.ts +0 -139
  418. package/dist/classes/framebuffer.d.ts.map +0 -1
  419. package/dist/classes/framebuffer.js +0 -656
  420. package/dist/classes/framebuffer.js.map +0 -1
  421. package/dist/classes/program-configuration.d.ts +0 -24
  422. package/dist/classes/program-configuration.d.ts.map +0 -1
  423. package/dist/classes/program-configuration.js +0 -73
  424. package/dist/classes/program-configuration.js.map +0 -1
  425. package/dist/classes/program.d.ts +0 -66
  426. package/dist/classes/program.d.ts.map +0 -1
  427. package/dist/classes/program.js +0 -379
  428. package/dist/classes/program.js.map +0 -1
  429. package/dist/classes/query.d.ts +0 -27
  430. package/dist/classes/query.d.ts.map +0 -1
  431. package/dist/classes/query.js +0 -145
  432. package/dist/classes/query.js.map +0 -1
  433. package/dist/classes/renderbuffer-formats.d.ts.map +0 -1
  434. package/dist/classes/renderbuffer-formats.js.map +0 -1
  435. package/dist/classes/renderbuffer.d.ts +0 -60
  436. package/dist/classes/renderbuffer.d.ts.map +0 -1
  437. package/dist/classes/renderbuffer.js.map +0 -1
  438. package/dist/classes/shader.d.ts +0 -42
  439. package/dist/classes/shader.d.ts.map +0 -1
  440. package/dist/classes/shader.js +0 -118
  441. package/dist/classes/shader.js.map +0 -1
  442. package/dist/classes/texture-2d.d.ts +0 -9
  443. package/dist/classes/texture-2d.d.ts.map +0 -1
  444. package/dist/classes/texture-2d.js +0 -36
  445. package/dist/classes/texture-2d.js.map +0 -1
  446. package/dist/classes/texture-3d.d.ts +0 -29
  447. package/dist/classes/texture-3d.d.ts.map +0 -1
  448. package/dist/classes/texture-3d.js +0 -76
  449. package/dist/classes/texture-3d.js.map +0 -1
  450. package/dist/classes/texture-cube.d.ts +0 -28
  451. package/dist/classes/texture-cube.d.ts.map +0 -1
  452. package/dist/classes/texture-cube.js +0 -130
  453. package/dist/classes/texture-cube.js.map +0 -1
  454. package/dist/classes/texture-formats.d.ts +0 -37
  455. package/dist/classes/texture-formats.d.ts.map +0 -1
  456. package/dist/classes/texture-formats.js +0 -98
  457. package/dist/classes/texture-formats.js.map +0 -1
  458. package/dist/classes/texture.d.ts +0 -123
  459. package/dist/classes/texture.d.ts.map +0 -1
  460. package/dist/classes/texture.js.map +0 -1
  461. package/dist/classes/transform-feedback.d.ts +0 -33
  462. package/dist/classes/transform-feedback.d.ts.map +0 -1
  463. package/dist/classes/transform-feedback.js +0 -198
  464. package/dist/classes/transform-feedback.js.map +0 -1
  465. package/dist/classes/uniform-buffer-layout.d.ts +0 -17
  466. package/dist/classes/uniform-buffer-layout.d.ts.map +0 -1
  467. package/dist/classes/uniform-buffer-layout.js +0 -104
  468. package/dist/classes/uniform-buffer-layout.js.map +0 -1
  469. package/dist/classes/uniforms.d.ts +0 -37
  470. package/dist/classes/uniforms.d.ts.map +0 -1
  471. package/dist/classes/uniforms.js +0 -250
  472. package/dist/classes/uniforms.js.map +0 -1
  473. package/dist/classes/vertex-array-object.d.ts +0 -76
  474. package/dist/classes/vertex-array-object.d.ts.map +0 -1
  475. package/dist/classes/vertex-array-object.js +0 -261
  476. package/dist/classes/vertex-array-object.js.map +0 -1
  477. package/dist/classes/vertex-array.d.ts +0 -75
  478. package/dist/classes/vertex-array.d.ts.map +0 -1
  479. package/dist/classes/vertex-array.js +0 -408
  480. package/dist/classes/vertex-array.js.map +0 -1
  481. package/dist/classes/webgl-buffer.d.ts.map +0 -1
  482. package/dist/classes/webgl-buffer.js.map +0 -1
  483. package/dist/classes/webgl-resource.d.ts.map +0 -1
  484. package/dist/classes/webgl-resource.js.map +0 -1
  485. package/dist/context/context/get-canvas.d.ts +0 -13
  486. package/dist/context/context/get-canvas.d.ts.map +0 -1
  487. package/dist/context/context/get-canvas.js +0 -31
  488. package/dist/context/context/get-canvas.js.map +0 -1
  489. package/dist/context/context/resize-context.d.ts +0 -20
  490. package/dist/context/context/resize-context.d.ts.map +0 -1
  491. package/dist/context/context/resize-context.js +0 -15
  492. package/dist/context/context/resize-context.js.map +0 -1
  493. package/dist/context/parameters/webgl-parameters.d.ts +0 -144
  494. package/dist/context/parameters/webgl-parameters.d.ts.map +0 -1
  495. package/dist/context/parameters/webgl-parameters.js +0 -2
  496. package/dist/context/parameters/webgl-parameters.js.map +0 -1
  497. package/dist/debug/debug-program-configuration.d.ts +0 -2
  498. package/dist/debug/debug-program-configuration.d.ts.map +0 -1
  499. package/dist/debug/debug-program-configuration.js +0 -40
  500. package/dist/debug/debug-program-configuration.js.map +0 -1
  501. package/dist/debug/debug-uniforms.d.ts +0 -12
  502. package/dist/debug/debug-uniforms.d.ts.map +0 -1
  503. package/dist/debug/debug-uniforms.js +0 -108
  504. package/dist/debug/debug-uniforms.js.map +0 -1
  505. package/dist/debug/debug-vertex-array.d.ts +0 -5
  506. package/dist/debug/debug-vertex-array.d.ts.map +0 -1
  507. package/dist/debug/debug-vertex-array.js +0 -118
  508. package/dist/debug/debug-vertex-array.js.map +0 -1
  509. package/dist/es5/adapter/converters/set-device-parameters.js.map +0 -1
  510. package/dist/es5/adapter/converters/webgpu-texture-formats.js +0 -296
  511. package/dist/es5/adapter/converters/webgpu-texture-formats.js.map +0 -1
  512. package/dist/es5/adapter/webgl-shader.js.map +0 -1
  513. package/dist/es5/classes/accessor.d.ts +0 -28
  514. package/dist/es5/classes/accessor.js.map +0 -1
  515. package/dist/es5/classes/accessor.ts.disabled +0 -159
  516. package/dist/es5/classes/clear.js +0 -135
  517. package/dist/es5/classes/clear.js.map +0 -1
  518. package/dist/es5/classes/copy-and-blit.js +0 -382
  519. package/dist/es5/classes/copy-and-blit.js.map +0 -1
  520. package/dist/es5/classes/framebuffer.js +0 -807
  521. package/dist/es5/classes/framebuffer.js.map +0 -1
  522. package/dist/es5/classes/program-configuration.js +0 -119
  523. package/dist/es5/classes/program-configuration.js.map +0 -1
  524. package/dist/es5/classes/program.js +0 -471
  525. package/dist/es5/classes/program.js.map +0 -1
  526. package/dist/es5/classes/query.js +0 -222
  527. package/dist/es5/classes/query.js.map +0 -1
  528. package/dist/es5/classes/renderbuffer-formats.js.map +0 -1
  529. package/dist/es5/classes/renderbuffer.js.map +0 -1
  530. package/dist/es5/classes/shader.js +0 -195
  531. package/dist/es5/classes/shader.js.map +0 -1
  532. package/dist/es5/classes/texture-2d.js.map +0 -1
  533. package/dist/es5/classes/texture-3d.js +0 -142
  534. package/dist/es5/classes/texture-3d.js.map +0 -1
  535. package/dist/es5/classes/texture-cube.js +0 -202
  536. package/dist/es5/classes/texture-cube.js.map +0 -1
  537. package/dist/es5/classes/texture-formats.js +0 -87
  538. package/dist/es5/classes/texture-formats.js.map +0 -1
  539. package/dist/es5/classes/texture.js.map +0 -1
  540. package/dist/es5/classes/transform-feedback.js +0 -267
  541. package/dist/es5/classes/transform-feedback.js.map +0 -1
  542. package/dist/es5/classes/uniform-buffer-layout.js +0 -130
  543. package/dist/es5/classes/uniform-buffer-layout.js.map +0 -1
  544. package/dist/es5/classes/uniforms.js +0 -232
  545. package/dist/es5/classes/uniforms.js.map +0 -1
  546. package/dist/es5/classes/vertex-array-object.js +0 -337
  547. package/dist/es5/classes/vertex-array-object.js.map +0 -1
  548. package/dist/es5/classes/vertex-array.js +0 -465
  549. package/dist/es5/classes/vertex-array.js.map +0 -1
  550. package/dist/es5/classes/webgl-buffer.js.map +0 -1
  551. package/dist/es5/classes/webgl-resource.js.map +0 -1
  552. package/dist/es5/context/context/get-canvas.js +0 -40
  553. package/dist/es5/context/context/get-canvas.js.map +0 -1
  554. package/dist/es5/context/context/resize-context.js +0 -23
  555. package/dist/es5/context/context/resize-context.js.map +0 -1
  556. package/dist/es5/context/parameters/webgl-parameters.js.map +0 -1
  557. package/dist/es5/debug/debug-program-configuration.js +0 -76
  558. package/dist/es5/debug/debug-program-configuration.js.map +0 -1
  559. package/dist/es5/debug/debug-uniforms.js +0 -156
  560. package/dist/es5/debug/debug-uniforms.js.map +0 -1
  561. package/dist/es5/debug/debug-vertex-array.js +0 -126
  562. package/dist/es5/debug/debug-vertex-array.js.map +0 -1
  563. package/dist/es5/helpers/get-program-bindings.js.map +0 -1
  564. package/dist/es5/helpers/program-bindings.js +0 -2
  565. package/dist/es5/types/accessor.d.ts +0 -29
  566. package/dist/es5/webgl-utils/attribute-utils.js +0 -186
  567. package/dist/es5/webgl-utils/attribute-utils.js.map +0 -1
  568. package/dist/es5/webgl-utils/constants-to-keys.js.map +0 -1
  569. package/dist/es5/webgl-utils/format-utils.js +0 -58
  570. package/dist/es5/webgl-utils/format-utils.js.map +0 -1
  571. package/dist/es5/webgl-utils/get-error.js +0 -49
  572. package/dist/es5/webgl-utils/get-error.js.map +0 -1
  573. package/dist/es5/webgl-utils/index.js +0 -74
  574. package/dist/es5/webgl-utils/index.js.map +0 -1
  575. package/dist/es5/webgl-utils/parse-shader-compiler-log.js.map +0 -1
  576. package/dist/es5/webgl-utils/request-animation-frame.js +0 -16
  577. package/dist/es5/webgl-utils/request-animation-frame.js.map +0 -1
  578. package/dist/es5/webgl-utils/texture-utils.js +0 -61
  579. package/dist/es5/webgl-utils/texture-utils.js.map +0 -1
  580. package/dist/es5/webgl-utils/typed-array-utils.js.map +0 -1
  581. package/dist/esm/adapter/converters/set-device-parameters.js.map +0 -1
  582. package/dist/esm/adapter/converters/webgpu-texture-formats.js +0 -285
  583. package/dist/esm/adapter/converters/webgpu-texture-formats.js.map +0 -1
  584. package/dist/esm/adapter/webgl-shader.js.map +0 -1
  585. package/dist/esm/classes/accessor.d.ts +0 -28
  586. package/dist/esm/classes/accessor.js.map +0 -1
  587. package/dist/esm/classes/clear.js +0 -105
  588. package/dist/esm/classes/clear.js.map +0 -1
  589. package/dist/esm/classes/copy-and-blit.js +0 -338
  590. package/dist/esm/classes/copy-and-blit.js.map +0 -1
  591. package/dist/esm/classes/framebuffer.js +0 -656
  592. package/dist/esm/classes/framebuffer.js.map +0 -1
  593. package/dist/esm/classes/program-configuration.js +0 -73
  594. package/dist/esm/classes/program-configuration.js.map +0 -1
  595. package/dist/esm/classes/program.js +0 -379
  596. package/dist/esm/classes/program.js.map +0 -1
  597. package/dist/esm/classes/query.js +0 -145
  598. package/dist/esm/classes/query.js.map +0 -1
  599. package/dist/esm/classes/renderbuffer-formats.js.map +0 -1
  600. package/dist/esm/classes/renderbuffer.js.map +0 -1
  601. package/dist/esm/classes/shader.js +0 -118
  602. package/dist/esm/classes/shader.js.map +0 -1
  603. package/dist/esm/classes/texture-2d.js +0 -36
  604. package/dist/esm/classes/texture-2d.js.map +0 -1
  605. package/dist/esm/classes/texture-3d.js +0 -76
  606. package/dist/esm/classes/texture-3d.js.map +0 -1
  607. package/dist/esm/classes/texture-cube.js +0 -130
  608. package/dist/esm/classes/texture-cube.js.map +0 -1
  609. package/dist/esm/classes/texture-formats.js +0 -98
  610. package/dist/esm/classes/texture-formats.js.map +0 -1
  611. package/dist/esm/classes/texture.js.map +0 -1
  612. package/dist/esm/classes/transform-feedback.js +0 -198
  613. package/dist/esm/classes/transform-feedback.js.map +0 -1
  614. package/dist/esm/classes/uniform-buffer-layout.js +0 -104
  615. package/dist/esm/classes/uniform-buffer-layout.js.map +0 -1
  616. package/dist/esm/classes/uniforms.js +0 -250
  617. package/dist/esm/classes/uniforms.js.map +0 -1
  618. package/dist/esm/classes/vertex-array-object.js +0 -261
  619. package/dist/esm/classes/vertex-array-object.js.map +0 -1
  620. package/dist/esm/classes/vertex-array.js +0 -408
  621. package/dist/esm/classes/vertex-array.js.map +0 -1
  622. package/dist/esm/classes/webgl-buffer.js.map +0 -1
  623. package/dist/esm/classes/webgl-resource.js.map +0 -1
  624. package/dist/esm/context/context/get-canvas.js +0 -31
  625. package/dist/esm/context/context/get-canvas.js.map +0 -1
  626. package/dist/esm/context/context/resize-context.js +0 -15
  627. package/dist/esm/context/context/resize-context.js.map +0 -1
  628. package/dist/esm/context/parameters/webgl-parameters.js +0 -2
  629. package/dist/esm/context/parameters/webgl-parameters.js.map +0 -1
  630. package/dist/esm/debug/debug-program-configuration.js +0 -40
  631. package/dist/esm/debug/debug-program-configuration.js.map +0 -1
  632. package/dist/esm/debug/debug-uniforms.js +0 -108
  633. package/dist/esm/debug/debug-uniforms.js.map +0 -1
  634. package/dist/esm/debug/debug-vertex-array.js +0 -118
  635. package/dist/esm/debug/debug-vertex-array.js.map +0 -1
  636. package/dist/esm/helpers/get-program-bindings.js +0 -228
  637. package/dist/esm/helpers/get-program-bindings.js.map +0 -1
  638. package/dist/esm/helpers/program-bindings.js +0 -2
  639. package/dist/esm/types/accessor.d.ts +0 -29
  640. package/dist/esm/webgl-utils/attribute-utils.js +0 -182
  641. package/dist/esm/webgl-utils/attribute-utils.js.map +0 -1
  642. package/dist/esm/webgl-utils/constants-to-keys.js.map +0 -1
  643. package/dist/esm/webgl-utils/format-utils.js +0 -45
  644. package/dist/esm/webgl-utils/format-utils.js.map +0 -1
  645. package/dist/esm/webgl-utils/get-error.js +0 -41
  646. package/dist/esm/webgl-utils/get-error.js.map +0 -1
  647. package/dist/esm/webgl-utils/index.js +0 -5
  648. package/dist/esm/webgl-utils/index.js.map +0 -1
  649. package/dist/esm/webgl-utils/parse-shader-compiler-log.js.map +0 -1
  650. package/dist/esm/webgl-utils/request-animation-frame.js +0 -7
  651. package/dist/esm/webgl-utils/request-animation-frame.js.map +0 -1
  652. package/dist/esm/webgl-utils/texture-utils.js +0 -48
  653. package/dist/esm/webgl-utils/texture-utils.js.map +0 -1
  654. package/dist/esm/webgl-utils/typed-array-utils.js.map +0 -1
  655. package/dist/helpers/get-program-bindings.d.ts +0 -8
  656. package/dist/helpers/get-program-bindings.d.ts.map +0 -1
  657. package/dist/helpers/get-program-bindings.js +0 -228
  658. package/dist/helpers/get-program-bindings.js.map +0 -1
  659. package/dist/helpers/program-bindings.d.ts +0 -41
  660. package/dist/helpers/program-bindings.d.ts.map +0 -1
  661. package/dist/helpers/program-bindings.js +0 -2
  662. package/dist/types/accessor.d.ts +0 -29
  663. package/dist/webgl-utils/attribute-utils.d.ts +0 -18
  664. package/dist/webgl-utils/attribute-utils.d.ts.map +0 -1
  665. package/dist/webgl-utils/attribute-utils.js +0 -182
  666. package/dist/webgl-utils/attribute-utils.js.map +0 -1
  667. package/dist/webgl-utils/constants-to-keys.d.ts +0 -4
  668. package/dist/webgl-utils/constants-to-keys.d.ts.map +0 -1
  669. package/dist/webgl-utils/constants-to-keys.js.map +0 -1
  670. package/dist/webgl-utils/format-utils.d.ts +0 -3
  671. package/dist/webgl-utils/format-utils.d.ts.map +0 -1
  672. package/dist/webgl-utils/format-utils.js +0 -45
  673. package/dist/webgl-utils/format-utils.js.map +0 -1
  674. package/dist/webgl-utils/get-error.d.ts +0 -3
  675. package/dist/webgl-utils/get-error.d.ts.map +0 -1
  676. package/dist/webgl-utils/get-error.js +0 -41
  677. package/dist/webgl-utils/get-error.js.map +0 -1
  678. package/dist/webgl-utils/index.d.ts +0 -5
  679. package/dist/webgl-utils/index.d.ts.map +0 -1
  680. package/dist/webgl-utils/index.js +0 -5
  681. package/dist/webgl-utils/index.js.map +0 -1
  682. package/dist/webgl-utils/parse-shader-compiler-log.d.ts.map +0 -1
  683. package/dist/webgl-utils/parse-shader-compiler-log.js.map +0 -1
  684. package/dist/webgl-utils/request-animation-frame.d.ts +0 -4
  685. package/dist/webgl-utils/request-animation-frame.d.ts.map +0 -1
  686. package/dist/webgl-utils/request-animation-frame.js +0 -7
  687. package/dist/webgl-utils/request-animation-frame.js.map +0 -1
  688. package/dist/webgl-utils/texture-utils.d.ts +0 -15
  689. package/dist/webgl-utils/texture-utils.d.ts.map +0 -1
  690. package/dist/webgl-utils/texture-utils.js +0 -48
  691. package/dist/webgl-utils/texture-utils.js.map +0 -1
  692. package/dist/webgl-utils/typed-array-utils.d.ts.map +0 -1
  693. package/dist/webgl-utils/typed-array-utils.js.map +0 -1
  694. package/src/.DS_Store +0 -0
  695. package/src/adapter/converters/webgpu-texture-formats.ts +0 -167
  696. package/src/classes/accessor.d.ts +0 -28
  697. package/src/classes/accessor.js +0 -129
  698. package/src/classes/accessor.ts.disabled +0 -159
  699. package/src/classes/clear.ts +0 -108
  700. package/src/classes/copy-and-blit.ts +0 -460
  701. package/src/classes/framebuffer.ts +0 -763
  702. package/src/classes/program-configuration.ts +0 -77
  703. package/src/classes/program.ts +0 -431
  704. package/src/classes/query.ts +0 -171
  705. package/src/classes/renderbuffer.ts +0 -154
  706. package/src/classes/shader.ts +0 -129
  707. package/src/classes/texture-2d.ts +0 -35
  708. package/src/classes/texture-3d.ts +0 -123
  709. package/src/classes/texture-cube.ts +0 -162
  710. package/src/classes/texture-formats.ts +0 -171
  711. package/src/classes/texture.ts +0 -965
  712. package/src/classes/transform-feedback.ts +0 -191
  713. package/src/classes/uniform-buffer-layout.ts +0 -113
  714. package/src/classes/uniforms.ts +0 -394
  715. package/src/classes/vertex-array-object.ts +0 -339
  716. package/src/classes/vertex-array.ts +0 -484
  717. package/src/context/context/get-canvas.ts +0 -37
  718. package/src/context/context/resize-context.ts +0 -37
  719. package/src/context/parameters/webgl-parameters.ts +0 -197
  720. package/src/debug/debug-program-configuration.ts +0 -32
  721. package/src/debug/debug-uniforms.ts +0 -100
  722. package/src/debug/debug-vertex-array.ts +0 -123
  723. package/src/helpers/get-program-bindings.ts +0 -244
  724. package/src/helpers/program-bindings.ts +0 -46
  725. package/src/types/accessor.d.ts +0 -29
  726. package/src/webgl-utils/attribute-utils.ts +0 -171
  727. package/src/webgl-utils/format-utils.ts +0 -43
  728. package/src/webgl-utils/get-error.ts +0 -56
  729. package/src/webgl-utils/index.ts +0 -12
  730. package/src/webgl-utils/request-animation-frame.ts +0 -14
  731. package/src/webgl-utils/texture-utils.ts +0 -60
@@ -1,40 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.getCanvas = getCanvas;
7
-
8
- var _env = require("probe.gl/env");
9
-
10
- var isPage = (0, _env.isBrowser)() && typeof document !== 'undefined';
11
-
12
- function getCanvas(options) {
13
- var canvas = options.canvas,
14
- _options$width = options.width,
15
- width = _options$width === void 0 ? 800 : _options$width,
16
- _options$height = options.height,
17
- height = _options$height === void 0 ? 600 : _options$height;
18
-
19
- if (!canvas) {
20
- var targetCanvas = document.createElement('canvas');
21
- targetCanvas.id = 'lumagl-canvas';
22
- targetCanvas.style.width = Number.isFinite(width) ? "".concat(width, "px") : '100%';
23
- targetCanvas.style.height = Number.isFinite(height) ? "".concat(height, "px") : '100%';
24
- document.body.insertBefore(targetCanvas, document.body.firstChild);
25
- return targetCanvas;
26
- }
27
-
28
- if (typeof canvas === 'string') {
29
- var isPageLoaded = isPage && document.readyState === 'complete';
30
-
31
- if (!isPageLoaded) {
32
- throw new Error("createGLContext called on canvas '".concat(canvas, "' before page was loaded"));
33
- }
34
-
35
- return document.getElementById(canvas);
36
- }
37
-
38
- return canvas;
39
- }
40
- //# sourceMappingURL=get-canvas.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../src/context/context/get-canvas.ts"],"names":["isPage","document","getCanvas","options","canvas","width","height","targetCanvas","createElement","id","style","Number","isFinite","body","insertBefore","firstChild","isPageLoaded","readyState","Error","getElementById"],"mappings":";;;;;;;AACA;;AACA,IAAMA,MAAM,GAAG,yBAAe,OAAOC,QAAP,KAAoB,WAAlD;;AAQO,SAASC,SAAT,CAAmBC,OAAnB,EAIiC;AACtC,MAAOC,MAAP,GAA4CD,OAA5C,CAAOC,MAAP;AAAA,uBAA4CD,OAA5C,CAAeE,KAAf;AAAA,MAAeA,KAAf,+BAAuB,GAAvB;AAAA,wBAA4CF,OAA5C,CAA4BG,MAA5B;AAAA,MAA4BA,MAA5B,gCAAqC,GAArC;;AAEA,MAAI,CAACF,MAAL,EAAa;AACX,QAAMG,YAAY,GAAGN,QAAQ,CAACO,aAAT,CAAuB,QAAvB,CAArB;AACAD,IAAAA,YAAY,CAACE,EAAb,GAAkB,eAAlB;AACAF,IAAAA,YAAY,CAACG,KAAb,CAAmBL,KAAnB,GAA2BM,MAAM,CAACC,QAAP,CAAgBP,KAAhB,cAA4BA,KAA5B,UAAwC,MAAnE;AACAE,IAAAA,YAAY,CAACG,KAAb,CAAmBJ,MAAnB,GAA4BK,MAAM,CAACC,QAAP,CAAgBN,MAAhB,cAA6BA,MAA7B,UAA0C,MAAtE;AACAL,IAAAA,QAAQ,CAACY,IAAT,CAAcC,YAAd,CAA2BP,YAA3B,EAAyCN,QAAQ,CAACY,IAAT,CAAcE,UAAvD;AACA,WAAOR,YAAP;AACD;;AAED,MAAI,OAAOH,MAAP,KAAkB,QAAtB,EAAgC;AAC9B,QAAMY,YAAY,GAAGhB,MAAM,IAAIC,QAAQ,CAACgB,UAAT,KAAwB,UAAvD;;AACA,QAAI,CAACD,YAAL,EAAmB;AACjB,YAAM,IAAIE,KAAJ,6CAA+Cd,MAA/C,8BAAN;AACD;;AAED,WAAOH,QAAQ,CAACkB,cAAT,CAAwBf,MAAxB,CAAP;AACD;;AAED,SAAOA,MAAP;AACD","sourcesContent":["// luma.gl, MIT license\nimport {isBrowser} from 'probe.gl/env';\nconst isPage = isBrowser() && typeof document !== 'undefined';\n\n/**\n * Creates a new canvas or returns the HTML element for a canvas.\n * @param width\n * @param height\n * @returns\n */\nexport function getCanvas(options: {\n canvas?: string | HTMLCanvasElement | OffscreenCanvas,\n width: number,\n height: number\n}): HTMLCanvasElement | OffscreenCanvas {\n const {canvas, width = 800, height = 600} = options;\n\n if (!canvas) {\n const targetCanvas = document.createElement('canvas');\n targetCanvas.id = 'lumagl-canvas';\n targetCanvas.style.width = Number.isFinite(width) ? `${width}px` : '100%';\n targetCanvas.style.height = Number.isFinite(height) ? `${height}px` : '100%';\n document.body.insertBefore(targetCanvas, document.body.firstChild);\n return targetCanvas;\n }\n\n if (typeof canvas === 'string') {\n const isPageLoaded = isPage && document.readyState === 'complete';\n if (!isPageLoaded) {\n throw new Error(`createGLContext called on canvas '${canvas}' before page was loaded`);\n }\n // TODO - check type?\n return document.getElementById(canvas) as HTMLCanvasElement;\n }\n\n return canvas;\n}\n"],"file":"get-canvas.js"}
@@ -1,23 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.resizeGLContext = resizeGLContext;
7
-
8
- var _devicePixels = require("./device-pixels");
9
-
10
- function resizeGLContext(gl, options) {
11
- if (gl.canvas) {
12
- var devicePixelRatio = (0, _devicePixels.getDevicePixelRatio)(options === null || options === void 0 ? void 0 : options.useDevicePixels);
13
- (0, _devicePixels.setDevicePixelRatio)(gl, devicePixelRatio, options);
14
- return;
15
- }
16
-
17
- var ext = gl.getExtension('STACKGL_resize_drawingbuffer');
18
-
19
- if (ext && options && "width" in options && "height" in options) {
20
- ext.resize(options.width, options.height);
21
- }
22
- }
23
- //# sourceMappingURL=resize-context.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../src/context/context/resize-context.ts"],"names":["resizeGLContext","gl","options","canvas","devicePixelRatio","useDevicePixels","ext","getExtension","resize","width","height"],"mappings":";;;;;;;AACA;;AAeQ,SAASA,eAAT,CACNC,EADM,EAENC,OAFM,EAON;AAEA,MAAID,EAAE,CAACE,MAAP,EAAe;AACb,QAAMC,gBAAgB,GAAG,uCAAoBF,OAApB,aAAoBA,OAApB,uBAAoBA,OAAO,CAAEG,eAA7B,CAAzB;AACA,2CAAoBJ,EAApB,EAAwBG,gBAAxB,EAA0CF,OAA1C;AACA;AACD;;AAGD,MAAMI,GAAG,GAAGL,EAAE,CAACM,YAAH,CAAgB,8BAAhB,CAAZ;;AACA,MAAID,GAAG,IAAIJ,OAAP,IAAkB,WAAWA,OAA7B,IAAwC,YAAYA,OAAxD,EAAiE;AAC/DI,IAAAA,GAAG,CAACE,MAAJ,CAAWN,OAAO,CAACO,KAAnB,EAA0BP,OAAO,CAACQ,MAAlC;AACD;AACF","sourcesContent":["// luma.gl, MIT license\nimport { getDevicePixelRatio, setDevicePixelRatio } from \"./device-pixels\";\n/**\n * Resize the canvas' drawing buffer.\n *\n * Can match the canvas CSS size, and optionally also consider devicePixelRatio\n * Can be called every frame\n *\n * Regardless of size, the drawing buffer will always be scaled to the viewport, but\n * for best visual results, usually set to either:\n * canvas CSS width x canvas CSS height\n * canvas CSS width * devicePixelRatio x canvas CSS height * devicePixelRatio\n * See http://webgl2fundamentals.org/webgl/lessons/webgl-resizing-the-canvas.html\n *\n * resizeGLContext(gl, {width, height, useDevicePixels})\n */\n export function resizeGLContext(\n gl: WebGLRenderingContext,\n options?: {\n width?: number;\n height?: number;\n useDevicePixels?: boolean | number;\n }\n) {\n // Resize browser context .\n if (gl.canvas) {\n const devicePixelRatio = getDevicePixelRatio(options?.useDevicePixels);\n setDevicePixelRatio(gl, devicePixelRatio, options);\n return;\n }\n\n // Resize headless gl context\n const ext = gl.getExtension('STACKGL_resize_drawingbuffer');\n if (ext && options && `width` in options && `height` in options) {\n ext.resize(options.width, options.height);\n }\n}\n"],"file":"resize-context.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../src/context/parameters/webgl-parameters.ts"],"names":[],"mappings":";;;;AACA","sourcesContent":["// WebGL parameter types\nimport GL from '@luma.gl/constants';\n\nexport type TypedArray =\n | Int8Array\n | Uint8Array\n | Int16Array\n | Uint16Array\n | Int32Array\n | Uint32Array\n | Uint8ClampedArray\n | Float32Array\n | Float64Array;\n\n/**\n * TypeScript type covering all typed arrays and classic arrays consisting of numbers\n */\nexport type NumberArray = number[] | TypedArray;\n\ntype Framebuffer = any;\n\ntype GL_FUNCTION =\n GL.NEVER |\n GL.LESS |\n GL.EQUAL |\n GL.LEQUAL |\n GL.GREATER |\n GL.NOTEQUAL |\n GL.GEQUAL |\n GL.ALWAYS;\n\ntype GL_BLEND_EQUATION = GL.FUNC_ADD | GL.FUNC_SUBTRACT | GL.FUNC_REVERSE_SUBTRACT | GL.MIN_EXT | GL.MAX_EXT;\n\ntype GL_BLEND_FUNCTION =\n GL.ZERO |\n GL.ONE |\n GL.SRC_COLOR |\n GL.ONE_MINUS_SRC_COLOR |\n GL.DST_COLOR |\n GL.ONE_MINUS_DST_COLOR |\n GL.SRC_ALPHA |\n GL.ONE_MINUS_SRC_ALPHA |\n GL.DST_ALPHA |\n GL.ONE_MINUS_DST_ALPHA |\n GL.CONSTANT_COLOR |\n GL.ONE_MINUS_CONSTANT_COLOR |\n GL.CONSTANT_ALPHA |\n GL.ONE_MINUS_CONSTANT_ALPHA |\n GL.SRC_ALPHA_SATURATE;\n\ntype GL_STENCIL_OP =\n GL.KEEP |\n GL.ZERO |\n GL.REPLACE |\n GL.INCR |\n GL.INCR_WRAP |\n GL.DECR |\n GL.DECR_WRAP |\n GL.INVERT;\n\nexport type GLValueParameters = {\n [GL.BLEND]?: boolean;\n [GL.BLEND_COLOR]?: [number, number, number, number] | NumberArray;\n [GL.BLEND_EQUATION_RGB]?: GL_BLEND_EQUATION;\n [GL.BLEND_EQUATION_ALPHA]?: GL_BLEND_EQUATION;\n [GL.BLEND_SRC_RGB]?: GL_BLEND_FUNCTION;\n [GL.BLEND_DST_RGB]?: GL_BLEND_FUNCTION;\n [GL.BLEND_SRC_ALPHA]?: GL_BLEND_FUNCTION;\n [GL.BLEND_DST_ALPHA]?: GL_BLEND_FUNCTION;\n [GL.COLOR_CLEAR_VALUE]?: [number, number, number, number] | NumberArray;\n [GL.COLOR_WRITEMASK]?: [boolean, boolean, boolean, boolean] | boolean[];\n [GL.CULL_FACE]?: boolean;\n [GL.CULL_FACE_MODE]?: GL.FRONT | GL.BACK | GL.FRONT_AND_BACK;\n [GL.DEPTH_TEST]?: boolean;\n [GL.DEPTH_CLEAR_VALUE]?: number;\n [GL.DEPTH_FUNC]?: GL_FUNCTION;\n [GL.DEPTH_RANGE]?: [number, number] | NumberArray;\n [GL.DEPTH_WRITEMASK]?: boolean;\n [GL.DITHER]?: boolean;\n [GL.FRAGMENT_SHADER_DERIVATIVE_HINT]?: GL.FASTEST | GL.NICEST | GL.DONT_CARE;\n [GL.CURRENT_PROGRAM]?: WebGLProgram | null,\n [GL.FRAMEBUFFER_BINDING]?: WebGLFramebuffer | null;\n [GL.RENDERBUFFER_BINDING]?: WebGLRenderbuffer | null,\n [GL.TRANSFORM_FEEDBACK_BINDING]?: WebGLTransformFeedback | null,\n [GL.VERTEX_ARRAY_BINDING]?: WebGLVertexArrayObject | null,\n [GL.ARRAY_BUFFER_BINDING]?: WebGLBuffer | null,\n [GL.COPY_READ_BUFFER_BINDING]?: WebGLBuffer | null,\n [GL.COPY_WRITE_BUFFER_BINDING]?: WebGLBuffer | null,\n [GL.PIXEL_PACK_BUFFER_BINDING]?: WebGLBuffer | null,\n [GL.PIXEL_UNPACK_BUFFER_BINDING]?: WebGLBuffer | null,\n [GL.TEXTURE_BINDING_2D]?: WebGLTexture | null,\n [GL.TEXTURE_BINDING_2D_ARRAY]?: WebGLTexture | null,\n [GL.TEXTURE_BINDING_3D]?: WebGLTexture | null,\n [GL.TEXTURE_BINDING_CUBE_MAP]?: WebGLTexture | null,\n [GL.FRONT_FACE]?: GL.CW | GL.CCW;\n [GL.GENERATE_MIPMAP_HINT]?: GL.FASTEST | GL.NICEST | GL.DONT_CARE;\n [GL.LINE_WIDTH]?: number;\n [GL.POLYGON_OFFSET_FILL]?: boolean;\n [GL.POLYGON_OFFSET_FACTOR]?: number;\n [GL.POLYGON_OFFSET_UNITS]?: number;\n [GL.SAMPLE_ALPHA_TO_COVERAGE]?: boolean,\n [GL.SAMPLE_COVERAGE]?: boolean,\n [GL.RASTERIZER_DISCARD]?: boolean;\n [GL.SAMPLE_COVERAGE_VALUE]?: number;\n [GL.SAMPLE_COVERAGE_INVERT]?: boolean;\n [GL.SCISSOR_TEST]?: boolean;\n [GL.SCISSOR_BOX]?: [number, number, number, number] | NumberArray;\n [GL.STENCIL_TEST]?: boolean;\n [GL.STENCIL_CLEAR_VALUE]?: number;\n [GL.STENCIL_WRITEMASK]?: number;\n [GL.STENCIL_BACK_WRITEMASK]?: number;\n [GL.STENCIL_FUNC]?: GL_FUNCTION;\n [GL.STENCIL_REF]?: GL_FUNCTION;\n [GL.STENCIL_VALUE_MASK]?: GL_FUNCTION;\n [GL.STENCIL_BACK_FUNC]?: GL_FUNCTION;\n [GL.STENCIL_BACK_REF]?: GL_FUNCTION;\n [GL.STENCIL_BACK_VALUE_MASK]?: GL_FUNCTION;\n [GL.STENCIL_FAIL]?: GL_STENCIL_OP;\n [GL.STENCIL_PASS_DEPTH_FAIL]?: GL_STENCIL_OP;\n [GL.STENCIL_PASS_DEPTH_PASS]?: GL_STENCIL_OP;\n [GL.STENCIL_BACK_FAIL]?: GL_STENCIL_OP;\n [GL.STENCIL_BACK_PASS_DEPTH_FAIL]?: GL_STENCIL_OP;\n [GL.STENCIL_BACK_PASS_DEPTH_PASS]?: GL_STENCIL_OP;\n [GL.VIEWPORT]?: [number, number, number, number] | NumberArray;\n\n // WEBGL1 PIXEL PACK/UNPACK MODES\n [GL.PACK_ALIGNMENT]?: number;\n [GL.UNPACK_ALIGNMENT]?: number;\n [GL.UNPACK_FLIP_Y_WEBGL]?: boolean;\n [GL.UNPACK_PREMULTIPLY_ALPHA_WEBGL]?: boolean;\n [GL.UNPACK_COLORSPACE_CONVERSION_WEBGL]?: GL.NONE | GL.BROWSER_DEFAULT_WEBGL;\n\n // WEBGL2 PIXEL PACK/UNPACK MODES\n // RASTERIZER_DISCARD ...\n [GL.PACK_ROW_LENGTH]?: number;\n [GL.PACK_SKIP_PIXELS]?: number;\n [GL.PACK_SKIP_ROWS]?: number;\n [GL.READ_FRAMEBUFFER_BINDING]?: Framebuffer | null;\n [GL.UNPACK_ROW_LENGTH]?: number;\n [GL.UNPACK_IMAGE_HEIGHT]?: number;\n [GL.UNPACK_SKIP_PIXELS]?: number;\n [GL.UNPACK_SKIP_ROWS]?: number;\n [GL.UNPACK_SKIP_IMAGES]?: number;\n};\n\nexport type GLFunctionStyleParameters = {\n // Function-style setters\n framebuffer?: Framebuffer | null;\n blend?: boolean;\n blendColor?: [number, number, number, number] | NumberArray;\n blendEquation?: GL_BLEND_EQUATION | [GL_BLEND_EQUATION, GL_BLEND_EQUATION];\n blendFunc?:\n [GL_BLEND_FUNCTION, GL_BLEND_FUNCTION] |\n [GL_BLEND_FUNCTION, GL_BLEND_FUNCTION, GL_BLEND_FUNCTION, GL_BLEND_FUNCTION];\n\n clearColor?: [number, number, number, number] | NumberArray;\n clearDepth?: number;\n clearStencil?: number;\n\n colorMask?: [boolean, boolean, boolean, boolean];\n\n cull?: boolean;\n cullFace?: GL.FRONT | GL.BACK | GL.FRONT_AND_BACK;\n\n depthTest?: boolean;\n depthFunc?: GL_FUNCTION;\n depthMask?: boolean;\n depthRange?: [number, number] | NumberArray;\n\n dither?: boolean;\n\n derivativeHint?: GL.FASTEST | GL.NICEST | GL.DONT_CARE;\n\n frontFace?: GL.CW | GL.CCW;\n\n mipmapHint?: GL.FASTEST | GL.NICEST | GL.DONT_CARE;\n\n lineWidth?: number;\n\n polygonOffsetFill?: boolean;\n polygonOffset?: [number, number];\n\n sampleCoverage?: [number, boolean];\n\n scissorTest?: boolean;\n scissor?: [number, number, number, number] | NumberArray;\n\n stencilTest?: boolean;\n stencilMask?: number | [number, number];\n stencilFunc?: [GL_FUNCTION, number, number] | [GL_FUNCTION, number, number, GL_FUNCTION, number, number];\n stencilOp?:\n [GL_STENCIL_OP, GL_STENCIL_OP, GL_STENCIL_OP] |\n [GL_STENCIL_OP, GL_STENCIL_OP, GL_STENCIL_OP, GL_STENCIL_OP, GL_STENCIL_OP, GL_STENCIL_OP];\n viewport?: [number, number, number, number] | NumberArray;\n};\n\nexport type GLParameters = GLValueParameters | GLFunctionStyleParameters;\n"],"file":"webgl-parameters.js"}
@@ -1,76 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- exports.getDebugTableForProgramConfiguration = getDebugTableForProgramConfiguration;
9
-
10
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
-
12
- var _attributeUtils = require("../webgl-utils/attribute-utils");
13
-
14
- function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
15
-
16
- function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
17
-
18
- function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
19
-
20
- function getDebugTableForProgramConfiguration(config) {
21
- var table = {};
22
- var header = "Accessors for ".concat(config.id);
23
-
24
- var _iterator = _createForOfIteratorHelper(config.attributeInfos),
25
- _step;
26
-
27
- try {
28
- for (_iterator.s(); !(_step = _iterator.n()).done;) {
29
- var attributeInfo = _step.value;
30
-
31
- if (attributeInfo) {
32
- var glslDeclaration = getGLSLDeclaration(attributeInfo);
33
- table["in ".concat(glslDeclaration)] = (0, _defineProperty2.default)({}, header, JSON.stringify(attributeInfo.accessor));
34
- }
35
- }
36
- } catch (err) {
37
- _iterator.e(err);
38
- } finally {
39
- _iterator.f();
40
- }
41
-
42
- var _iterator2 = _createForOfIteratorHelper(config.varyingInfos),
43
- _step2;
44
-
45
- try {
46
- for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
47
- var varyingInfo = _step2.value;
48
-
49
- if (varyingInfo) {
50
- var _glslDeclaration = getGLSLDeclaration(varyingInfo);
51
-
52
- table["out ".concat(_glslDeclaration)] = (0, _defineProperty2.default)({}, header, JSON.stringify(varyingInfo.accessor));
53
- }
54
- }
55
- } catch (err) {
56
- _iterator2.e(err);
57
- } finally {
58
- _iterator2.f();
59
- }
60
-
61
- return table;
62
- }
63
-
64
- function getGLSLDeclaration(attributeInfo) {
65
- var _attributeInfo$access = attributeInfo.accessor,
66
- type = _attributeInfo$access.type,
67
- size = _attributeInfo$access.size;
68
- var typeAndName = (0, _attributeUtils.getCompositeGLType)(type, size);
69
-
70
- if (typeAndName) {
71
- return "".concat(typeAndName.name, " ").concat(attributeInfo.name);
72
- }
73
-
74
- return attributeInfo.name;
75
- }
76
- //# sourceMappingURL=debug-program-configuration.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/debug/debug-program-configuration.ts"],"names":["getDebugTableForProgramConfiguration","config","table","header","id","attributeInfos","attributeInfo","glslDeclaration","getGLSLDeclaration","JSON","stringify","accessor","varyingInfos","varyingInfo","type","size","typeAndName","name"],"mappings":";;;;;;;;;;;AAAA;;;;;;;;AAEO,SAASA,oCAAT,CAA8CC,MAA9C,EAAsD;AAC3D,MAAMC,KAAK,GAAG,EAAd;AAEA,MAAMC,MAAM,2BAAoBF,MAAM,CAACG,EAA3B,CAAZ;;AAH2D,6CAK/BH,MAAM,CAACI,cALwB;AAAA;;AAAA;AAK3D,wDAAmD;AAAA,UAAxCC,aAAwC;;AACjD,UAAIA,aAAJ,EAAmB;AACjB,YAAMC,eAAe,GAAGC,kBAAkB,CAACF,aAAD,CAA1C;AACAJ,QAAAA,KAAK,cAAOK,eAAP,EAAL,qCAAmCJ,MAAnC,EAA4CM,IAAI,CAACC,SAAL,CAAeJ,aAAa,CAACK,QAA7B,CAA5C;AACD;AACF;AAV0D;AAAA;AAAA;AAAA;AAAA;;AAAA,8CAYjCV,MAAM,CAACW,YAZ0B;AAAA;;AAAA;AAY3D,2DAA+C;AAAA,UAApCC,WAAoC;;AAC7C,UAAIA,WAAJ,EAAiB;AACf,YAAMN,gBAAe,GAAGC,kBAAkB,CAACK,WAAD,CAA1C;;AACAX,QAAAA,KAAK,eAAQK,gBAAR,EAAL,qCAAoCJ,MAApC,EAA6CM,IAAI,CAACC,SAAL,CAAeG,WAAW,CAACF,QAA3B,CAA7C;AACD;AACF;AAjB0D;AAAA;AAAA;AAAA;AAAA;;AAmB3D,SAAOT,KAAP;AACD;;AAED,SAASM,kBAAT,CAA4BF,aAA5B,EAA2C;AACzC,8BAAqBA,aAAa,CAACK,QAAnC;AAAA,MAAOG,IAAP,yBAAOA,IAAP;AAAA,MAAaC,IAAb,yBAAaA,IAAb;AACA,MAAMC,WAAW,GAAG,wCAAmBF,IAAnB,EAAyBC,IAAzB,CAApB;;AACA,MAAIC,WAAJ,EAAiB;AACf,qBAAUA,WAAW,CAACC,IAAtB,cAA8BX,aAAa,CAACW,IAA5C;AACD;;AACD,SAAOX,aAAa,CAACW,IAArB;AACD","sourcesContent":["import {getCompositeGLType} from '../webgl-utils/attribute-utils';\n\nexport function getDebugTableForProgramConfiguration(config) {\n const table = {};\n\n const header = `Accessors for ${config.id}`;\n\n for (const attributeInfo of config.attributeInfos) {\n if (attributeInfo) {\n const glslDeclaration = getGLSLDeclaration(attributeInfo);\n table[`in ${glslDeclaration}`] = {[header]: JSON.stringify(attributeInfo.accessor)};\n }\n }\n\n for (const varyingInfo of config.varyingInfos) {\n if (varyingInfo) {\n const glslDeclaration = getGLSLDeclaration(varyingInfo);\n table[`out ${glslDeclaration}`] = {[header]: JSON.stringify(varyingInfo.accessor)};\n }\n }\n\n return table;\n}\n\nfunction getGLSLDeclaration(attributeInfo) {\n const {type, size} = attributeInfo.accessor;\n const typeAndName = getCompositeGLType(type, size);\n if (typeAndName) {\n return `${typeAndName.name} ${attributeInfo.name}`;\n }\n return attributeInfo.name;\n}\n"],"file":"debug-program-configuration.js"}
@@ -1,156 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- exports.getDebugTableForUniforms = getDebugTableForUniforms;
9
-
10
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
-
12
- var _api = require("@luma.gl/api");
13
-
14
- function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
15
-
16
- function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
17
-
18
- function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
19
-
20
- function getDebugTableForUniforms(options) {
21
- var _options$header = options.header,
22
- header = _options$header === void 0 ? 'Uniforms' : _options$header,
23
- program = options.program,
24
- uniforms = options.uniforms,
25
- _options$undefinedOnl = options.undefinedOnly,
26
- undefinedOnly = _options$undefinedOnl === void 0 ? false : _options$undefinedOnl;
27
- (0, _api.assert)(program);
28
- var SHADER_MODULE_UNIFORM_REGEXP = '.*_.*';
29
- var PROJECT_MODULE_UNIFORM_REGEXP = '.*Matrix';
30
- var uniformLocations = program._uniformSetters;
31
- var table = {};
32
- var uniformNames = Object.keys(uniformLocations).sort();
33
- var count = 0;
34
-
35
- var _iterator = _createForOfIteratorHelper(uniformNames),
36
- _step;
37
-
38
- try {
39
- for (_iterator.s(); !(_step = _iterator.n()).done;) {
40
- var _uniformName = _step.value;
41
-
42
- if (!_uniformName.match(SHADER_MODULE_UNIFORM_REGEXP) && !_uniformName.match(PROJECT_MODULE_UNIFORM_REGEXP)) {
43
- if (addUniformToTable({
44
- table: table,
45
- header: header,
46
- uniforms: uniforms,
47
- uniformName: _uniformName,
48
- undefinedOnly: undefinedOnly
49
- })) {
50
- count++;
51
- }
52
- }
53
- }
54
- } catch (err) {
55
- _iterator.e(err);
56
- } finally {
57
- _iterator.f();
58
- }
59
-
60
- var _iterator2 = _createForOfIteratorHelper(uniformNames),
61
- _step2;
62
-
63
- try {
64
- for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
65
- var _uniformName2 = _step2.value;
66
-
67
- if (_uniformName2.match(PROJECT_MODULE_UNIFORM_REGEXP)) {
68
- if (addUniformToTable({
69
- table: table,
70
- header: header,
71
- uniforms: uniforms,
72
- uniformName: _uniformName2,
73
- undefinedOnly: undefinedOnly
74
- })) {
75
- count++;
76
- }
77
- }
78
- }
79
- } catch (err) {
80
- _iterator2.e(err);
81
- } finally {
82
- _iterator2.f();
83
- }
84
-
85
- var _iterator3 = _createForOfIteratorHelper(uniformNames),
86
- _step3;
87
-
88
- try {
89
- for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
90
- var _uniformName3 = _step3.value;
91
-
92
- if (!table[_uniformName3]) {
93
- if (addUniformToTable({
94
- table: table,
95
- header: header,
96
- uniforms: uniforms,
97
- uniformName: _uniformName3,
98
- undefinedOnly: undefinedOnly
99
- })) {
100
- count++;
101
- }
102
- }
103
- }
104
- } catch (err) {
105
- _iterator3.e(err);
106
- } finally {
107
- _iterator3.f();
108
- }
109
-
110
- var unusedCount = 0;
111
- var unusedTable = {};
112
-
113
- if (!undefinedOnly) {
114
- for (var uniformName in uniforms) {
115
- var uniform = uniforms[uniformName];
116
-
117
- if (!table[uniformName]) {
118
- unusedCount++;
119
- unusedTable[uniformName] = (0, _defineProperty2.default)({
120
- Type: "NOT USED: ".concat(uniform)
121
- }, header, (0, _api.formatValue)(uniform));
122
- }
123
- }
124
- }
125
-
126
- return {
127
- table: table,
128
- count: count,
129
- unusedTable: unusedTable,
130
- unusedCount: unusedCount
131
- };
132
- }
133
-
134
- function addUniformToTable(_ref) {
135
- var table = _ref.table,
136
- header = _ref.header,
137
- uniforms = _ref.uniforms,
138
- uniformName = _ref.uniformName,
139
- undefinedOnly = _ref.undefinedOnly;
140
- var value = uniforms[uniformName];
141
- var isDefined = isUniformDefined(value);
142
-
143
- if (!undefinedOnly || !isDefined) {
144
- var _table$uniformName;
145
-
146
- table[uniformName] = (_table$uniformName = {}, (0, _defineProperty2.default)(_table$uniformName, header, isDefined ? (0, _api.formatValue)(value) : 'N/A'), (0, _defineProperty2.default)(_table$uniformName, 'Uniform Type', isDefined ? value : 'NOT PROVIDED'), _table$uniformName);
147
- return true;
148
- }
149
-
150
- return false;
151
- }
152
-
153
- function isUniformDefined(value) {
154
- return value !== undefined && value !== null;
155
- }
156
- //# sourceMappingURL=debug-uniforms.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/debug/debug-uniforms.ts"],"names":["getDebugTableForUniforms","options","header","program","uniforms","undefinedOnly","SHADER_MODULE_UNIFORM_REGEXP","PROJECT_MODULE_UNIFORM_REGEXP","uniformLocations","_uniformSetters","table","uniformNames","Object","keys","sort","count","uniformName","match","addUniformToTable","unusedCount","unusedTable","uniform","Type","value","isDefined","isUniformDefined","undefined"],"mappings":"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","sourcesContent":["import {assert, formatValue} from '@luma.gl/api';\n\n// Prepares a table suitable for console.table\n/* eslint-disable max-statements, complexity */\nexport function getDebugTableForUniforms(options?: {\n header?: string;\n program: any;\n uniforms: any;\n undefinedOnly?: boolean;\n}): {\n table: {};\n count: number;\n unusedTable: {};\n unusedCount: number;\n} {\n const {\n header = 'Uniforms',\n program,\n uniforms,\n undefinedOnly = false\n } = options;\n assert(program);\n\n const SHADER_MODULE_UNIFORM_REGEXP = '.*_.*';\n const PROJECT_MODULE_UNIFORM_REGEXP = '.*Matrix'; // TODO - Use explicit list\n\n const uniformLocations = program._uniformSetters;\n const table = {}; // {[header]: {}};\n\n // Add program's provided uniforms (in alphabetical order)\n const uniformNames = Object.keys(uniformLocations).sort();\n\n let count = 0;\n\n // First add non-underscored uniforms (assumed not coming from shader modules)\n for (const uniformName of uniformNames) {\n if (\n !uniformName.match(SHADER_MODULE_UNIFORM_REGEXP) &&\n !uniformName.match(PROJECT_MODULE_UNIFORM_REGEXP)\n ) {\n if (addUniformToTable({table, header, uniforms, uniformName, undefinedOnly})) {\n count++;\n }\n }\n }\n\n // add underscored uniforms (assumed from shader modules)\n for (const uniformName of uniformNames) {\n if (uniformName.match(PROJECT_MODULE_UNIFORM_REGEXP)) {\n if (addUniformToTable({table, header, uniforms, uniformName, undefinedOnly})) {\n count++;\n }\n }\n }\n\n for (const uniformName of uniformNames) {\n if (!table[uniformName]) {\n if (addUniformToTable({table, header, uniforms, uniformName, undefinedOnly})) {\n count++;\n }\n }\n }\n\n // Create a table of unused uniforms\n let unusedCount = 0;\n const unusedTable = {};\n if (!undefinedOnly) {\n for (const uniformName in uniforms) {\n const uniform = uniforms[uniformName];\n if (!table[uniformName]) {\n unusedCount++;\n unusedTable[uniformName] = {\n Type: `NOT USED: ${uniform}`,\n [header]: formatValue(uniform)\n };\n }\n }\n }\n\n return {table, count, unusedTable, unusedCount};\n}\n\n// Helper\nfunction addUniformToTable({table, header, uniforms, uniformName, undefinedOnly}) {\n const value = uniforms[uniformName];\n const isDefined = isUniformDefined(value);\n if (!undefinedOnly || !isDefined) {\n table[uniformName] = {\n // Add program's unprovided uniforms\n [header]: isDefined ? formatValue(value) : 'N/A',\n 'Uniform Type': isDefined ? value : 'NOT PROVIDED'\n };\n return true;\n }\n return false;\n}\n\nfunction isUniformDefined(value) {\n return value !== undefined && value !== null;\n}\n"],"file":"debug-uniforms.js"}
@@ -1,126 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- exports.getDebugTableForVertexArray = getDebugTableForVertexArray;
9
-
10
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
-
12
- var _api = require("@luma.gl/api");
13
-
14
- var _webglBuffer = _interopRequireDefault(require("../classes/webgl-buffer"));
15
-
16
- var _constantsToKeys = require("../webgl-utils/constants-to-keys");
17
-
18
- var _attributeUtils = require("../webgl-utils/attribute-utils");
19
-
20
- function getDebugTableForVertexArray(options) {
21
- var vertexArray = options.vertexArray,
22
- _options$header = options.header,
23
- header = _options$header === void 0 ? 'Attributes' : _options$header;
24
-
25
- if (!vertexArray.configuration) {
26
- return {};
27
- }
28
-
29
- var table = {};
30
-
31
- if (vertexArray.elements) {
32
- table.ELEMENT_ARRAY_BUFFER = getDebugTableRow(vertexArray, vertexArray.elements, null, header);
33
- }
34
-
35
- var attributes = vertexArray.values;
36
-
37
- for (var attributeLocation in attributes) {
38
- var info = vertexArray._getAttributeInfo(attributeLocation);
39
-
40
- if (info) {
41
- var rowHeader = "".concat(attributeLocation, ": ").concat(info.name);
42
- var accessor = vertexArray.accessors[info.location];
43
-
44
- if (accessor) {
45
- rowHeader = "".concat(attributeLocation, ": ").concat(getGLSLDeclaration(info.name, accessor));
46
- }
47
-
48
- table[rowHeader] = getDebugTableRow(vertexArray, attributes[attributeLocation], accessor, header);
49
- }
50
- }
51
-
52
- return table;
53
- }
54
-
55
- function getDebugTableRow(vertexArray, attribute, accessor, header) {
56
- var _ref3;
57
-
58
- var gl = vertexArray.gl;
59
-
60
- if (!attribute) {
61
- var _ref;
62
-
63
- return _ref = {}, (0, _defineProperty2.default)(_ref, header, 'null'), (0, _defineProperty2.default)(_ref, 'Format ', 'N/A'), _ref;
64
- }
65
-
66
- var type = 'NOT PROVIDED';
67
- var size = 1;
68
- var verts = 0;
69
- var bytes = 0;
70
- var isInteger;
71
- var marker;
72
- var value;
73
-
74
- if (accessor) {
75
- type = accessor.type;
76
- size = accessor.size;
77
- type = String(type).replace('Array', '');
78
- isInteger = type.indexOf('nt') !== -1;
79
- }
80
-
81
- if (attribute instanceof _webglBuffer.default) {
82
- var _ref2;
83
-
84
- var buffer = attribute;
85
-
86
- var _buffer$getDebugData = buffer.getDebugData(),
87
- data = _buffer$getDebugData.data,
88
- changed = _buffer$getDebugData.changed;
89
-
90
- marker = changed ? '*' : '';
91
- value = data;
92
- bytes = buffer.byteLength;
93
- verts = bytes / data.BYTES_PER_ELEMENT / size;
94
- var format;
95
-
96
- if (accessor) {
97
- var instanced = accessor.divisor > 0;
98
- format = "".concat(instanced ? 'I ' : 'P ', " ").concat(verts, " (x").concat(size, "=").concat(bytes, " bytes ").concat((0, _constantsToKeys.getKey)(gl, type), ")");
99
- } else {
100
- isInteger = true;
101
- format = "".concat(bytes, " bytes");
102
- }
103
-
104
- return _ref2 = {}, (0, _defineProperty2.default)(_ref2, header, "".concat(marker).concat((0, _api.formatValue)(value, {
105
- size: size,
106
- isInteger: isInteger
107
- }))), (0, _defineProperty2.default)(_ref2, 'Format ', format), _ref2;
108
- }
109
-
110
- value = attribute;
111
- size = attribute.length;
112
- type = String(attribute.constructor.name).replace('Array', '');
113
- isInteger = type.indexOf('nt') !== -1;
114
- return _ref3 = {}, (0, _defineProperty2.default)(_ref3, header, "".concat((0, _api.formatValue)(value, {
115
- size: size,
116
- isInteger: isInteger
117
- }), " (constant)")), (0, _defineProperty2.default)(_ref3, 'Format ', "".concat(size, "x").concat(type, " (constant)")), _ref3;
118
- }
119
-
120
- function getGLSLDeclaration(name, accessor) {
121
- var type = accessor.type,
122
- size = accessor.size;
123
- var typeAndName = (0, _attributeUtils.getCompositeGLType)(type, size);
124
- return typeAndName ? "".concat(name, " (").concat(typeAndName.name, ")") : name;
125
- }
126
- //# sourceMappingURL=debug-vertex-array.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/debug/debug-vertex-array.ts"],"names":["getDebugTableForVertexArray","options","vertexArray","header","configuration","table","elements","ELEMENT_ARRAY_BUFFER","getDebugTableRow","attributes","values","attributeLocation","info","_getAttributeInfo","rowHeader","name","accessor","accessors","location","getGLSLDeclaration","attribute","gl","type","size","verts","bytes","isInteger","marker","value","String","replace","indexOf","Buffer","buffer","getDebugData","data","changed","byteLength","BYTES_PER_ELEMENT","format","instanced","divisor","length","constructor","typeAndName"],"mappings":";;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AAGO,SAASA,2BAAT,CAAqCC,OAArC,EAAwF;AAC7F,MAAOC,WAAP,GAA6CD,OAA7C,CAAOC,WAAP;AAAA,wBAA6CD,OAA7C,CAAoBE,MAApB;AAAA,MAAoBA,MAApB,gCAA6B,YAA7B;;AAEA,MAAI,CAACD,WAAW,CAACE,aAAjB,EAAgC;AAC9B,WAAO,EAAP;AACD;;AAED,MAAMC,KAAK,GAAG,EAAd;;AAGA,MAAIH,WAAW,CAACI,QAAhB,EAA0B;AAGxBD,IAAAA,KAAK,CAACE,oBAAN,GAA6BC,gBAAgB,CAACN,WAAD,EAAcA,WAAW,CAACI,QAA1B,EAAoC,IAApC,EAA0CH,MAA1C,CAA7C;AACD;;AAGD,MAAMM,UAAU,GAAGP,WAAW,CAACQ,MAA/B;;AAEA,OAAK,IAAMC,iBAAX,IAAgCF,UAAhC,EAA4C;AAC1C,QAAMG,IAAI,GAAGV,WAAW,CAACW,iBAAZ,CAA8BF,iBAA9B,CAAb;;AACA,QAAIC,IAAJ,EAAU;AACR,UAAIE,SAAS,aAAMH,iBAAN,eAA4BC,IAAI,CAACG,IAAjC,CAAb;AACA,UAAMC,QAAQ,GAAGd,WAAW,CAACe,SAAZ,CAAsBL,IAAI,CAACM,QAA3B,CAAjB;;AACA,UAAIF,QAAJ,EAAc;AACZF,QAAAA,SAAS,aAAMH,iBAAN,eAA4BQ,kBAAkB,CAACP,IAAI,CAACG,IAAN,EAAYC,QAAZ,CAA9C,CAAT;AACD;;AACDX,MAAAA,KAAK,CAACS,SAAD,CAAL,GAAmBN,gBAAgB,CACjCN,WADiC,EAEjCO,UAAU,CAACE,iBAAD,CAFuB,EAGjCK,QAHiC,EAIjCb,MAJiC,CAAnC;AAMD;AACF;;AAED,SAAOE,KAAP;AACD;;AAGD,SAASG,gBAAT,CAA0BN,WAA1B,EAAuCkB,SAAvC,EAAkDJ,QAAlD,EAA4Db,MAA5D,EAAoE;AAAA;;AAClE,MAAOkB,EAAP,GAAanB,WAAb,CAAOmB,EAAP;;AAEA,MAAI,CAACD,SAAL,EAAgB;AAAA;;AACd,0DACGjB,MADH,EACY,MADZ,uCAEE,SAFF,EAEa,KAFb;AAID;;AAED,MAAImB,IAAI,GAAG,cAAX;AACA,MAAIC,IAAI,GAAG,CAAX;AACA,MAAIC,KAAK,GAAG,CAAZ;AACA,MAAIC,KAAK,GAAG,CAAZ;AAEA,MAAIC,SAAJ;AACA,MAAIC,MAAJ;AACA,MAAIC,KAAJ;;AAEA,MAAIZ,QAAJ,EAAc;AACZM,IAAAA,IAAI,GAAGN,QAAQ,CAACM,IAAhB;AACAC,IAAAA,IAAI,GAAGP,QAAQ,CAACO,IAAhB;AAGAD,IAAAA,IAAI,GAAGO,MAAM,CAACP,IAAD,CAAN,CAAaQ,OAAb,CAAqB,OAArB,EAA8B,EAA9B,CAAP;AAGAJ,IAAAA,SAAS,GAAGJ,IAAI,CAACS,OAAL,CAAa,IAAb,MAAuB,CAAC,CAApC;AACD;;AAED,MAAIX,SAAS,YAAYY,oBAAzB,EAAiC;AAAA;;AAC/B,QAAMC,MAAM,GAAGb,SAAf;;AAEA,+BAAwBa,MAAM,CAACC,YAAP,EAAxB;AAAA,QAAOC,IAAP,wBAAOA,IAAP;AAAA,QAAaC,OAAb,wBAAaA,OAAb;;AACAT,IAAAA,MAAM,GAAGS,OAAO,GAAG,GAAH,GAAS,EAAzB;AAEAR,IAAAA,KAAK,GAAGO,IAAR;AACAV,IAAAA,KAAK,GAAGQ,MAAM,CAACI,UAAf;AACAb,IAAAA,KAAK,GAAGC,KAAK,GAAGU,IAAI,CAACG,iBAAb,GAAiCf,IAAzC;AAEA,QAAIgB,MAAJ;;AAEA,QAAIvB,QAAJ,EAAc;AACZ,UAAMwB,SAAS,GAAGxB,QAAQ,CAACyB,OAAT,GAAmB,CAArC;AACAF,MAAAA,MAAM,aAAMC,SAAS,GAAG,IAAH,GAAU,IAAzB,cAAiChB,KAAjC,gBAA4CD,IAA5C,cAAoDE,KAApD,oBAAmE,6BAAOJ,EAAP,EAAWC,IAAX,CAAnE,MAAN;AACD,KAHD,MAGO;AAELI,MAAAA,SAAS,GAAG,IAAZ;AACAa,MAAAA,MAAM,aAAMd,KAAN,WAAN;AACD;;AAED,4DACGtB,MADH,YACewB,MADf,SACwB,sBAAYC,KAAZ,EAAmB;AAACL,MAAAA,IAAI,EAAJA,IAAD;AAAOG,MAAAA,SAAS,EAATA;AAAP,KAAnB,CADxB,yCAEE,SAFF,EAEaa,MAFb;AAID;;AAGDX,EAAAA,KAAK,GAAGR,SAAR;AACAG,EAAAA,IAAI,GAAGH,SAAS,CAACsB,MAAjB;AAEApB,EAAAA,IAAI,GAAGO,MAAM,CAACT,SAAS,CAACuB,WAAV,CAAsB5B,IAAvB,CAAN,CAAmCe,OAAnC,CAA2C,OAA3C,EAAoD,EAApD,CAAP;AAEAJ,EAAAA,SAAS,GAAGJ,IAAI,CAACS,OAAL,CAAa,IAAb,MAAuB,CAAC,CAApC;AAEA,0DACG5B,MADH,YACe,sBAAYyB,KAAZ,EAAmB;AAACL,IAAAA,IAAI,EAAJA,IAAD;AAAOG,IAAAA,SAAS,EAATA;AAAP,GAAnB,CADf,wDAEE,SAFF,YAEgBH,IAFhB,cAEwBD,IAFxB;AAID;;AAGD,SAASH,kBAAT,CAA4BJ,IAA5B,EAAkCC,QAAlC,EAA4C;AAC1C,MAAOM,IAAP,GAAqBN,QAArB,CAAOM,IAAP;AAAA,MAAaC,IAAb,GAAqBP,QAArB,CAAaO,IAAb;AACA,MAAMqB,WAAW,GAAG,wCAAmBtB,IAAnB,EAAyBC,IAAzB,CAApB;AACA,SAAOqB,WAAW,aAAM7B,IAAN,eAAe6B,WAAW,CAAC7B,IAA3B,SAAqCA,IAAvD;AACD","sourcesContent":["import {formatValue} from '@luma.gl/api';\nimport Buffer from '../classes/webgl-buffer';\nimport {getKey} from '../webgl-utils/constants-to-keys';\nimport {getCompositeGLType} from '../webgl-utils/attribute-utils';\n\n// Creates object suitable as input for console.table\nexport function getDebugTableForVertexArray(options?: {vertexArray: any; header?: string}): {} {\n const {vertexArray, header = 'Attributes'} = options;\n\n if (!vertexArray.configuration) {\n return {};\n }\n\n const table = {}; // {[header]: {}};\n\n // Add index (elements) if available\n if (vertexArray.elements) {\n // const elements = Object.assign({size: 1}, vertexArray.elements);\n // @ts-expect-error\n table.ELEMENT_ARRAY_BUFFER = getDebugTableRow(vertexArray, vertexArray.elements, null, header);\n }\n\n // Add used attributes\n const attributes = vertexArray.values;\n\n for (const attributeLocation in attributes) {\n const info = vertexArray._getAttributeInfo(attributeLocation);\n if (info) {\n let rowHeader = `${attributeLocation}: ${info.name}`;\n const accessor = vertexArray.accessors[info.location];\n if (accessor) {\n rowHeader = `${attributeLocation}: ${getGLSLDeclaration(info.name, accessor)}`;\n }\n table[rowHeader] = getDebugTableRow(\n vertexArray,\n attributes[attributeLocation],\n accessor,\n header\n );\n }\n }\n\n return table;\n}\n\n/* eslint-disable max-statements */\nfunction getDebugTableRow(vertexArray, attribute, accessor, header) {\n const {gl} = vertexArray;\n\n if (!attribute) {\n return {\n [header]: 'null',\n 'Format ': 'N/A'\n };\n }\n\n let type = 'NOT PROVIDED';\n let size = 1;\n let verts = 0;\n let bytes = 0;\n\n let isInteger;\n let marker;\n let value;\n\n if (accessor) {\n type = accessor.type;\n size = accessor.size;\n\n // Generate a type name by dropping Array from Float32Array etc.\n type = String(type).replace('Array', '');\n\n // Look for 'nt' to detect integer types, e.g. Int32Array, Uint32Array\n isInteger = type.indexOf('nt') !== -1;\n }\n\n if (attribute instanceof Buffer) {\n const buffer = attribute;\n\n const {data, changed} = buffer.getDebugData();\n marker = changed ? '*' : '';\n\n value = data;\n bytes = buffer.byteLength;\n verts = bytes / data.BYTES_PER_ELEMENT / size;\n\n let format;\n\n if (accessor) {\n const instanced = accessor.divisor > 0;\n format = `${instanced ? 'I ' : 'P '} ${verts} (x${size}=${bytes} bytes ${getKey(gl, type)})`;\n } else {\n // element buffer\n isInteger = true;\n format = `${bytes} bytes`;\n }\n\n return {\n [header]: `${marker}${formatValue(value, {size, isInteger})}`,\n 'Format ': format\n };\n }\n\n // CONSTANT VALUE\n value = attribute;\n size = attribute.length;\n // Generate a type name by dropping Array from Float32Array etc.\n type = String(attribute.constructor.name).replace('Array', '');\n // Look for 'nt' to detect integer types, e.g. Int32Array, Uint32Array\n isInteger = type.indexOf('nt') !== -1;\n\n return {\n [header]: `${formatValue(value, {size, isInteger})} (constant)`,\n 'Format ': `${size}x${type} (constant)`\n };\n}\n/* eslint-ensable max-statements */\n\nfunction getGLSLDeclaration(name, accessor) {\n const {type, size} = accessor;\n const typeAndName = getCompositeGLType(type, size);\n return typeAndName ? `${name} (${typeAndName.name})` : name;\n}\n"],"file":"debug-vertex-array.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/helpers/get-program-bindings.ts"],"names":["getProgramBindings","gl","program","config","attributes","readAttributeBindings","uniforms","readUniformBindings","uniformBlocks","readUniformBlocks","varyings","readVaryings","Object","seal","count","getProgramParameter","ACTIVE_ATTRIBUTES","index","getActiveAttrib","name","compositeType","type","size","location","getAttribLocation","components","accessor","inferProperties","attributeInfo","Accessor","push","sort","a","b","TRANSFORM_FEEDBACK_VARYINGS","getTransformFeedbackVarying","varying","uniformCount","ACTIVE_UNIFORMS","i","getActiveUniform","rawName","parseUniformName","isArray","webglLocation","getUniformLocation","uniformInfo","j","elementName","arrayElementUniformInfo","getBlockParameter","blockIndex","pname","getActiveUniformBlockParameter","blockCount","ACTIVE_UNIFORM_BLOCKS","blockInfo","getActiveUniformBlockName","UNIFORM_BLOCK_BINDING","byteLength","UNIFORM_BLOCK_DATA_SIZE","vertex","UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER","fragment","UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER","UNIFORM_BLOCK_ACTIVE_UNIFORMS","uniformIndices","UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES","uniformIndex","SAMPLER_UNIFORMS_GL_TO_GPU","GL","SAMPLER_2D","SAMPLER_CUBE","SAMPLER_3D","SAMPLER_2D_SHADOW","SAMPLER_2D_ARRAY","SAMPLER_2D_ARRAY_SHADOW","SAMPLER_CUBE_SHADOW","INT_SAMPLER_2D","INT_SAMPLER_3D","INT_SAMPLER_CUBE","INT_SAMPLER_2D_ARRAY","UNSIGNED_INT_SAMPLER_2D","UNSIGNED_INT_SAMPLER_3D","UNSIGNED_INT_SAMPLER_CUBE","UNSIGNED_INT_SAMPLER_2D_ARRAY","generateWebGPUStyleBindings","bindings","binding","visibility","buffer","sampler","viewDimension","sampleType","texture","length","UNIFORM_NAME_REGEXP","matches","match","Error","Boolean","test","divisor"],"mappings":"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","sourcesContent":["import GL from '@luma.gl/constants';\nimport {isWebGL2} from '../context/context/webgl-checks';\nimport {ProgramBindings, AttributeBinding, UniformBinding, UniformBlockBinding, VaryingBinding} from './program-bindings'\nimport Accessor from '../classes/accessor';\nimport {decomposeCompositeGLType} from '../webgl-utils/attribute-utils';\n\n/**\n * Extract metadata describing binding information for a program's shaders\n * Note: `linkProgram()` needs to have been called\n * (although linking does not need to have been successful).\n*/\nexport function getProgramBindings(gl: WebGL2RenderingContext, program: WebGLProgram): ProgramBindings {\n const config: ProgramBindings = {\n attributes: readAttributeBindings(gl, program),\n uniforms: readUniformBindings(gl, program),\n uniformBlocks: readUniformBlocks(gl, program),\n varyings: readVaryings(gl, program)\n };\n\n Object.seal(config);\n return config;\n // generateWebGPUStyleBindings(bindings);\n}\n\n\n/**\n * Extract info about all transform feedback varyings\n *\n * linkProgram needs to have been called, although linking does not need to have been successful\n */\nfunction readAttributeBindings(gl: WebGL2RenderingContext, program: WebGLProgram): AttributeBinding[] {\n const attributes: AttributeBinding[] = [];\n\n const count = gl.getProgramParameter(program, gl.ACTIVE_ATTRIBUTES);\n\n for (let index = 0; index < count; index++) {\n const {name, type: compositeType, size} = gl.getActiveAttrib(program, index);\n const location = gl.getAttribLocation(program, name);\n // Add only user provided attributes, for built-in attributes like\n // `gl_InstanceID` locaiton will be < 0\n if (location >= 0) {\n const {type, components} = decomposeCompositeGLType(compositeType);\n const accessor = {type, size: size * components};\n inferProperties(location, name, accessor);\n \n const attributeInfo = {location, name, accessor: new Accessor(accessor)}; // Base values\n attributes.push(attributeInfo);\n }\n }\n\n attributes.sort((a, b) => a.location - b.location);\n return attributes;\n}\n\n/**\n * Extract info about all transform feedback varyings\n *\n * linkProgram needs to have been called, although linking does not need to have been successful\n */\nfunction readVaryings(gl: WebGL2RenderingContext, program: WebGLProgram): VaryingBinding[] {\n if (!isWebGL2(gl)) {\n return [];\n }\n\n const varyings = [];\n\n const count = gl.getProgramParameter(program, gl.TRANSFORM_FEEDBACK_VARYINGS);\n for (let location = 0; location < count; location++) {\n const {name, type: compositeType, size} = gl.getTransformFeedbackVarying(program, location);\n const {type, components} = decomposeCompositeGLType(compositeType);\n const accessor = new Accessor({type, size: size * components});\n const varying = {location, name, accessor}; // Base values\n varyings.push(varying);\n }\n\n varyings.sort((a, b) => a.location - b.location);\n return varyings;\n}\n\n/**\n * Extract info about all uniforms\n *\n * Query uniform locations and build name to setter map.\n */\nfunction readUniformBindings(gl: WebGL2RenderingContext, program: WebGLProgram): UniformBinding[] {\n const uniforms: UniformBinding[] = [];\n\n const uniformCount = gl.getProgramParameter(program, gl.ACTIVE_UNIFORMS);\n for (let i = 0; i < uniformCount; i++) {\n const {name: rawName, size, type} = gl.getActiveUniform(program, i);\n const {name, isArray} = parseUniformName(rawName);\n let webglLocation = gl.getUniformLocation(program, name);\n const uniformInfo = {\n // WebGL locations are uniquely typed but just numbers\n location: webglLocation as number,\n name,\n size,\n type,\n isArray\n };\n uniforms.push(uniformInfo);\n\n // Array (e.g. matrix) uniforms can occupy several 4x4 byte banks\n if (uniformInfo.size > 1) {\n for (let j = 0; j < uniformInfo.size; j++) {\n const elementName = `${name}[${j}]`;\n\n webglLocation = gl.getUniformLocation(program, elementName);\n\n const arrayElementUniformInfo = {\n ...uniformInfo,\n name: elementName,\n location: webglLocation as number\n };\n\n uniforms.push(arrayElementUniformInfo);\n }\n }\n }\n return uniforms;\n}\n\n/**\n * Extract info about all \"active\" uniform blocks\n *\n * (\"Active\" just means that unused (aka inactive) blocks may have been\n * optimized away during linking)\n */\nfunction readUniformBlocks(gl: WebGL2RenderingContext, program: WebGLProgram): UniformBlockBinding[] {\n const getBlockParameter = (blockIndex, pname) => gl.getActiveUniformBlockParameter(program, blockIndex, pname);\n\n const uniformBlocks: UniformBlockBinding[] = [];\n\n const blockCount = gl.getProgramParameter(program, gl.ACTIVE_UNIFORM_BLOCKS);\n for (let blockIndex = 0; blockIndex < blockCount; blockIndex++) {\n\n const blockInfo = {\n name: gl.getActiveUniformBlockName(program, blockIndex),\n location: getBlockParameter(blockIndex, gl.UNIFORM_BLOCK_BINDING),\n byteLength: getBlockParameter(blockIndex, gl.UNIFORM_BLOCK_DATA_SIZE),\n vertex: getBlockParameter(blockIndex, gl.UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER),\n fragment: getBlockParameter(blockIndex, gl.UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER),\n uniformCount: getBlockParameter(blockIndex, gl.UNIFORM_BLOCK_ACTIVE_UNIFORMS),\n uniformIndices: getBlockParameter(blockIndex, gl.UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES),\n uniforms: []\n }\n\n for (let uniformIndex = 0; uniformIndex < blockInfo.uniformCount; ++uniformIndex) {\n // TODO - Can we extract more?\n }\n\n uniformBlocks.push(blockInfo);\n }\n\n uniformBlocks.sort((a, b) => a.location - b.location);\n return uniformBlocks;\n}\n\nconst SAMPLER_UNIFORMS_GL_TO_GPU = {\n [GL.SAMPLER_2D]: ['2d', 'float'],\n [GL.SAMPLER_CUBE]: ['cube', 'float'],\n [GL.SAMPLER_3D]: ['3d', 'float'],\n [GL.SAMPLER_2D_SHADOW]: ['3d', 'depth'],\n [GL.SAMPLER_2D_ARRAY]: ['2d-array', 'float'],\n [GL.SAMPLER_2D_ARRAY_SHADOW]: ['2d-array', 'depth'],\n [GL.SAMPLER_CUBE_SHADOW]: ['cube', 'float'],\n [GL.INT_SAMPLER_2D]: ['2d', 'sint'],\n [GL.INT_SAMPLER_3D]: ['3d', 'sint'],\n [GL.INT_SAMPLER_CUBE]: ['cube', 'sint'],\n [GL.INT_SAMPLER_2D_ARRAY]: ['2d-array', 'sint'],\n [GL.UNSIGNED_INT_SAMPLER_2D]: ['2d', 'sint'],\n [GL.UNSIGNED_INT_SAMPLER_3D]: ['3d', 'sint'],\n [GL.UNSIGNED_INT_SAMPLER_CUBE]: ['cube', 'sint'],\n [GL.UNSIGNED_INT_SAMPLER_2D_ARRAY]: ['2d-array', 'sint']\n};\n\n/**\n * Generate a list of \"WebGPU-style\" bindings for this program\n */\nfunction generateWebGPUStyleBindings(config: ProgramBindings) {\n const bindings: any = [];\n\n // Uniform blocks\n for (const blockInfo of config.uniformBlocks) {\n bindings.push({\n binding: blockInfo.location,\n visibility: (blockInfo.vertex ? 0x1 : 0) & (blockInfo.fragment ? 0x2 : 0),\n buffer: {\n type: 'uniform',\n // minBindingSize: blockInfo.size\n }\n })\n }\n\n // Sampler uniforms\n for (const uniformInfo of config.uniforms) {\n let sampler = SAMPLER_UNIFORMS_GL_TO_GPU[uniformInfo.type];\n if (sampler) {\n const [viewDimension, sampleType] = sampler;\n bindings.push({\n binding: uniformInfo.location,\n visibility: 0, // Not available in WebGL on individual uniforms?\n texture: {\n viewDimension,\n sampleType\n }\n });\n }\n }\n}\n\n// HELPERS\n\nfunction parseUniformName(name) {\n // Shortcut to avoid redundant or bad matches\n if (name[name.length - 1] !== ']'){\n return {\n name,\n length: 1,\n isArray: false\n };\n }\n\n // if array name then clean the array brackets\n const UNIFORM_NAME_REGEXP = /([^[]*)(\\[[0-9]+\\])?/;\n const matches = name.match(UNIFORM_NAME_REGEXP);\n if (!matches || matches.length < 2) {\n throw new Error(`Failed to parse GLSL uniform name ${name}`);\n }\n\n return {\n name: matches[1],\n length: matches[2] || 1,\n isArray: Boolean(matches[2])\n };\n}\n\n// Extract additional attribute metadata from shader names (based on attribute naming conventions)\nfunction inferProperties(accessor, location, name) {\n if (/instance/i.test(name)) {\n // Any attribute containing the word \"instance\" will be assumed to be instanced\n accessor.divisor = 1;\n }\n}\n"],"file":"get-program-bindings.js"}
@@ -1,2 +0,0 @@
1
- "use strict";
2
- //# sourceMappingURL=program-bindings.js.map
@@ -1,29 +0,0 @@
1
- // ACCESSORS
2
-
3
- /**
4
- * Attribute descriptor object
5
- */
6
- export type Accessor = {
7
- format?: string;
8
- offset?: number;
9
- location?: number;
10
-
11
- // can now be described with single WebGPU-style `format` string
12
- type?: number;
13
- size?: number;
14
- normalized?: boolean;
15
- integer?: boolean;
16
-
17
- // deprecated - now shared between accessors in the surrounding BufferAccessor object
18
- stride?: number;
19
- divisor?: number;
20
- };
21
-
22
- /**
23
- * List of attribute descriptors for one interleaved buffer
24
- */
25
- export type BufferAccessors = {
26
- stride?: number;
27
- stepMode?: 'vertex' | 'instance';
28
- attributes: Accessor[];
29
- }