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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (784) hide show
  1. package/README.md +3 -67
  2. package/dist/adapter/converters/device-parameters.d.ts +27 -0
  3. package/dist/adapter/converters/device-parameters.d.ts.map +1 -0
  4. package/dist/adapter/converters/{set-device-parameters.js → device-parameters.js} +50 -6
  5. package/dist/adapter/converters/device-parameters.js.map +1 -0
  6. package/dist/{classes → adapter/converters}/renderbuffer-formats.d.ts +0 -0
  7. package/dist/adapter/converters/renderbuffer-formats.d.ts.map +1 -0
  8. package/dist/{classes → adapter/converters}/renderbuffer-formats.js +1 -1
  9. package/dist/adapter/converters/renderbuffer-formats.js.map +1 -0
  10. package/dist/adapter/converters/sampler-parameters.d.ts +19 -0
  11. package/dist/adapter/converters/sampler-parameters.d.ts.map +1 -0
  12. package/dist/adapter/converters/sampler-parameters.js +227 -0
  13. package/dist/adapter/converters/sampler-parameters.js.map +1 -0
  14. package/dist/adapter/converters/texture-formats.d.ts +93 -0
  15. package/dist/adapter/converters/texture-formats.d.ts.map +1 -0
  16. package/dist/adapter/converters/texture-formats.js +954 -0
  17. package/dist/adapter/converters/texture-formats.js.map +1 -0
  18. package/dist/adapter/converters/vertex-formats.d.ts +4 -0
  19. package/dist/adapter/converters/vertex-formats.d.ts.map +1 -0
  20. package/dist/adapter/converters/vertex-formats.js +35 -0
  21. package/dist/adapter/converters/vertex-formats.js.map +1 -0
  22. package/dist/adapter/device-helpers/device-features.d.ts +3 -6
  23. package/dist/adapter/device-helpers/device-features.d.ts.map +1 -1
  24. package/dist/adapter/device-helpers/device-features.js +39 -50
  25. package/dist/adapter/device-helpers/device-features.js.map +1 -1
  26. package/dist/adapter/device-helpers/device-limits.d.ts +1 -0
  27. package/dist/adapter/device-helpers/device-limits.d.ts.map +1 -1
  28. package/dist/adapter/device-helpers/device-limits.js +1 -0
  29. package/dist/adapter/device-helpers/device-limits.js.map +1 -1
  30. package/dist/adapter/device-helpers/get-device-info.js +7 -7
  31. package/dist/adapter/device-helpers/get-device-info.js.map +1 -1
  32. package/dist/adapter/helpers/attribute-utils.d.ts +11 -0
  33. package/dist/adapter/helpers/attribute-utils.d.ts.map +1 -0
  34. package/dist/adapter/helpers/attribute-utils.js +81 -0
  35. package/dist/adapter/helpers/attribute-utils.js.map +1 -0
  36. package/dist/adapter/helpers/get-shader-layout.d.ts +55 -0
  37. package/dist/adapter/helpers/get-shader-layout.d.ts.map +1 -0
  38. package/dist/adapter/helpers/get-shader-layout.js +330 -0
  39. package/dist/adapter/helpers/get-shader-layout.js.map +1 -0
  40. package/dist/{webgl-utils → adapter/helpers}/parse-shader-compiler-log.d.ts +0 -0
  41. package/dist/adapter/helpers/parse-shader-compiler-log.d.ts.map +1 -0
  42. package/dist/{esm/webgl-utils → adapter/helpers}/parse-shader-compiler-log.js +0 -0
  43. package/dist/adapter/helpers/parse-shader-compiler-log.js.map +1 -0
  44. package/dist/adapter/helpers/set-uniform.d.ts +4 -0
  45. package/dist/adapter/helpers/set-uniform.d.ts.map +1 -0
  46. package/dist/adapter/helpers/set-uniform.js +115 -0
  47. package/dist/adapter/helpers/set-uniform.js.map +1 -0
  48. package/dist/adapter/helpers/uniforms.d.ts +26 -0
  49. package/dist/adapter/helpers/uniforms.d.ts.map +1 -0
  50. package/dist/adapter/helpers/uniforms.js +99 -0
  51. package/dist/adapter/helpers/uniforms.js.map +1 -0
  52. package/dist/adapter/objects/constants-to-keys.d.ts +5 -0
  53. package/dist/adapter/objects/constants-to-keys.d.ts.map +1 -0
  54. package/dist/{esm/webgl-utils → adapter/objects}/constants-to-keys.js +1 -0
  55. package/dist/adapter/objects/constants-to-keys.js.map +1 -0
  56. package/dist/adapter/objects/webgl-renderbuffer.d.ts +40 -0
  57. package/dist/adapter/objects/webgl-renderbuffer.d.ts.map +1 -0
  58. package/dist/{esm/classes/renderbuffer.js → adapter/objects/webgl-renderbuffer.js} +38 -72
  59. package/dist/adapter/objects/webgl-renderbuffer.js.map +1 -0
  60. package/dist/{classes → adapter/objects}/webgl-resource.d.ts +15 -14
  61. package/dist/adapter/objects/webgl-resource.d.ts.map +1 -0
  62. package/dist/{classes → adapter/objects}/webgl-resource.js +7 -3
  63. package/dist/adapter/objects/webgl-resource.js.map +1 -0
  64. package/dist/adapter/objects/webgl-vertex-array-object.d.ts +27 -0
  65. package/dist/adapter/objects/webgl-vertex-array-object.d.ts.map +1 -0
  66. package/dist/adapter/objects/webgl-vertex-array-object.js +84 -0
  67. package/dist/adapter/objects/webgl-vertex-array-object.js.map +1 -0
  68. package/dist/adapter/resources/webgl-buffer.d.ts +27 -0
  69. package/dist/adapter/resources/webgl-buffer.d.ts.map +1 -0
  70. package/dist/adapter/resources/webgl-buffer.js +164 -0
  71. package/dist/adapter/resources/webgl-buffer.js.map +1 -0
  72. package/dist/adapter/resources/webgl-command-buffer.d.ts +25 -0
  73. package/dist/adapter/resources/webgl-command-buffer.d.ts.map +1 -0
  74. package/dist/adapter/resources/webgl-command-buffer.js +65 -0
  75. package/dist/adapter/resources/webgl-command-buffer.js.map +1 -0
  76. package/dist/adapter/resources/webgl-command-encoder.d.ts +18 -0
  77. package/dist/adapter/resources/webgl-command-encoder.d.ts.map +1 -0
  78. package/dist/adapter/resources/webgl-command-encoder.js +53 -0
  79. package/dist/adapter/resources/webgl-command-encoder.js.map +1 -0
  80. package/dist/adapter/resources/webgl-external-texture.d.ts +1 -0
  81. package/dist/adapter/resources/webgl-external-texture.d.ts.map +1 -0
  82. package/dist/adapter/resources/webgl-external-texture.js +2 -0
  83. package/dist/{es5/helpers/program-bindings.js.map → adapter/resources/webgl-external-texture.js.map} +1 -1
  84. package/dist/adapter/resources/webgl-framebuffer.d.ts +41 -0
  85. package/dist/adapter/resources/webgl-framebuffer.d.ts.map +1 -0
  86. package/dist/adapter/resources/webgl-framebuffer.js +267 -0
  87. package/dist/adapter/resources/webgl-framebuffer.js.map +1 -0
  88. package/dist/adapter/resources/webgl-render-pass.d.ts +11 -0
  89. package/dist/adapter/resources/webgl-render-pass.d.ts.map +1 -0
  90. package/dist/adapter/resources/webgl-render-pass.js +21 -0
  91. package/dist/adapter/resources/webgl-render-pass.js.map +1 -0
  92. package/dist/adapter/resources/webgl-render-pipeline.d.ts +55 -0
  93. package/dist/adapter/resources/webgl-render-pipeline.d.ts.map +1 -0
  94. package/dist/adapter/resources/webgl-render-pipeline.js +428 -0
  95. package/dist/adapter/resources/webgl-render-pipeline.js.map +1 -0
  96. package/dist/adapter/resources/webgl-sampler.d.ts +20 -0
  97. package/dist/adapter/resources/webgl-sampler.d.ts.map +1 -0
  98. package/dist/adapter/resources/webgl-sampler.js +50 -0
  99. package/dist/adapter/resources/webgl-sampler.js.map +1 -0
  100. package/dist/adapter/{webgl-shader.d.ts → resources/webgl-shader.d.ts} +3 -6
  101. package/dist/adapter/resources/webgl-shader.d.ts.map +1 -0
  102. package/dist/{esm/adapter → adapter/resources}/webgl-shader.js +17 -23
  103. package/dist/adapter/resources/webgl-shader.js.map +1 -0
  104. package/dist/adapter/resources/webgl-texture.d.ts +193 -0
  105. package/dist/adapter/resources/webgl-texture.d.ts.map +1 -0
  106. package/dist/{classes/texture.js → adapter/resources/webgl-texture.js} +280 -232
  107. package/dist/adapter/resources/webgl-texture.js.map +1 -0
  108. package/dist/adapter/webgl-canvas-context.d.ts +36 -0
  109. package/dist/adapter/webgl-canvas-context.d.ts.map +1 -0
  110. package/dist/adapter/webgl-canvas-context.js +52 -0
  111. package/dist/adapter/webgl-canvas-context.js.map +1 -0
  112. package/dist/adapter/webgl-device.d.ts +77 -83
  113. package/dist/adapter/webgl-device.d.ts.map +1 -1
  114. package/dist/adapter/webgl-device.js +253 -115
  115. package/dist/adapter/webgl-device.js.map +1 -1
  116. package/dist/classic/accessor.d.ts +32 -0
  117. package/dist/classic/accessor.d.ts.map +1 -0
  118. package/dist/{classes → classic}/accessor.js +33 -1
  119. package/dist/classic/accessor.js.map +1 -0
  120. package/dist/{classes/webgl-buffer.d.ts → classic/buffer.d.ts} +28 -33
  121. package/dist/classic/buffer.d.ts.map +1 -0
  122. package/dist/{classes/webgl-buffer.js → classic/buffer.js} +67 -57
  123. package/dist/classic/buffer.js.map +1 -0
  124. package/dist/{webgl-utils → classic}/typed-array-utils.d.ts +3 -2
  125. package/dist/classic/typed-array-utils.d.ts.map +1 -0
  126. package/dist/{esm/webgl-utils → classic}/typed-array-utils.js +0 -0
  127. package/dist/classic/typed-array-utils.js.map +1 -0
  128. package/dist/context/context/context-state.d.ts +0 -5
  129. package/dist/context/context/context-state.d.ts.map +1 -1
  130. package/dist/context/context/context-state.js +1 -6
  131. package/dist/context/context/context-state.js.map +1 -1
  132. package/dist/context/context/{create-context.d.ts → create-browser-context.d.ts} +2 -1
  133. package/dist/context/context/create-browser-context.d.ts.map +1 -0
  134. package/dist/{esm/context/context/create-context.js → context/context/create-browser-context.js} +27 -3
  135. package/dist/context/context/create-browser-context.js.map +1 -0
  136. package/dist/context/context/create-headless-context.d.ts +9 -0
  137. package/dist/context/context/create-headless-context.d.ts.map +1 -0
  138. package/dist/context/context/create-headless-context.js +43 -0
  139. package/dist/context/context/create-headless-context.js.map +1 -0
  140. package/dist/context/debug/spector.d.ts +18 -0
  141. package/dist/context/debug/spector.d.ts.map +1 -0
  142. package/dist/context/debug/spector.js +76 -0
  143. package/dist/context/debug/spector.js.map +1 -0
  144. package/dist/context/debug/webgl-developer-tools.d.ts +19 -0
  145. package/dist/context/debug/webgl-developer-tools.d.ts.map +1 -0
  146. package/dist/context/debug/webgl-developer-tools.js +121 -0
  147. package/dist/context/debug/webgl-developer-tools.js.map +1 -0
  148. package/dist/context/parameters/unified-parameter-api.d.ts +9 -7
  149. package/dist/context/parameters/unified-parameter-api.d.ts.map +1 -1
  150. package/dist/context/parameters/unified-parameter-api.js +9 -8
  151. package/dist/context/parameters/unified-parameter-api.js.map +1 -1
  152. package/dist/context/parameters/webgl-parameter-tables.d.ts +40 -36
  153. package/dist/context/parameters/webgl-parameter-tables.d.ts.map +1 -1
  154. package/dist/context/parameters/webgl-parameter-tables.js.map +1 -1
  155. package/dist/context/polyfill/get-parameter-polyfill.js.map +1 -1
  156. package/dist/context/polyfill/polyfill-context.js +3 -3
  157. package/dist/context/polyfill/polyfill-context.js.map +1 -1
  158. package/dist/context/polyfill/polyfill-table.d.ts +1 -1
  159. package/dist/context/polyfill/polyfill-table.d.ts.map +1 -1
  160. package/dist/context/polyfill/polyfill-table.js +1 -1
  161. package/dist/context/polyfill/polyfill-table.js.map +1 -1
  162. package/dist/context/state-tracker/deep-array-equal.d.ts.map +1 -1
  163. package/dist/context/state-tracker/deep-array-equal.js.map +1 -1
  164. package/dist/context/state-tracker/track-context-state.d.ts.map +1 -1
  165. package/dist/context/state-tracker/track-context-state.js +26 -12
  166. package/dist/context/state-tracker/track-context-state.js.map +1 -1
  167. package/dist/context/state-tracker/with-parameters.d.ts +2 -1
  168. package/dist/context/state-tracker/with-parameters.d.ts.map +1 -1
  169. package/dist/context/state-tracker/with-parameters.js +6 -2
  170. package/dist/context/state-tracker/with-parameters.js.map +1 -1
  171. package/dist/es5/adapter/converters/{set-device-parameters.js → device-parameters.js} +53 -6
  172. package/dist/es5/adapter/converters/device-parameters.js.map +1 -0
  173. package/dist/es5/{classes → adapter/converters}/renderbuffer-formats.js +1 -1
  174. package/dist/es5/adapter/converters/renderbuffer-formats.js.map +1 -0
  175. package/dist/es5/adapter/converters/sampler-parameters.js +245 -0
  176. package/dist/es5/adapter/converters/sampler-parameters.js.map +1 -0
  177. package/dist/es5/adapter/converters/texture-formats.js +1031 -0
  178. package/dist/es5/adapter/converters/texture-formats.js.map +1 -0
  179. package/dist/es5/adapter/converters/vertex-formats.js +45 -0
  180. package/dist/es5/adapter/converters/vertex-formats.js.map +1 -0
  181. package/dist/es5/adapter/device-helpers/device-features.js +61 -58
  182. package/dist/es5/adapter/device-helpers/device-features.js.map +1 -1
  183. package/dist/es5/adapter/device-helpers/device-limits.js +1 -1
  184. package/dist/es5/adapter/device-helpers/device-limits.js.map +1 -1
  185. package/dist/es5/adapter/device-helpers/get-device-info.js +7 -7
  186. package/dist/es5/adapter/device-helpers/get-device-info.js.map +1 -1
  187. package/dist/es5/adapter/helpers/attribute-utils.js +91 -0
  188. package/dist/es5/adapter/helpers/attribute-utils.js.map +1 -0
  189. package/dist/es5/{helpers/get-program-bindings.js → adapter/helpers/get-shader-layout.js} +211 -94
  190. package/dist/es5/adapter/helpers/get-shader-layout.js.map +1 -0
  191. package/dist/es5/{webgl-utils → adapter/helpers}/parse-shader-compiler-log.js +0 -0
  192. package/dist/es5/adapter/helpers/parse-shader-compiler-log.js.map +1 -0
  193. package/dist/es5/adapter/helpers/set-uniform.js +125 -0
  194. package/dist/es5/adapter/helpers/set-uniform.js.map +1 -0
  195. package/dist/es5/adapter/helpers/uniforms.js +112 -0
  196. package/dist/es5/adapter/helpers/uniforms.js.map +1 -0
  197. package/dist/es5/{webgl-utils → adapter/objects}/constants-to-keys.js +1 -0
  198. package/dist/es5/adapter/objects/constants-to-keys.js.map +1 -0
  199. package/dist/es5/{classes/renderbuffer.js → adapter/objects/webgl-renderbuffer.js} +48 -98
  200. package/dist/es5/adapter/objects/webgl-renderbuffer.js.map +1 -0
  201. package/dist/es5/{classes → adapter/objects}/webgl-resource.js +8 -3
  202. package/dist/es5/adapter/objects/webgl-resource.js.map +1 -0
  203. package/dist/es5/adapter/objects/webgl-vertex-array-object.js +137 -0
  204. package/dist/es5/adapter/objects/webgl-vertex-array-object.js.map +1 -0
  205. package/dist/es5/adapter/resources/webgl-buffer.js +243 -0
  206. package/dist/es5/adapter/resources/webgl-buffer.js.map +1 -0
  207. package/dist/es5/adapter/resources/webgl-command-buffer.js +96 -0
  208. package/dist/es5/adapter/resources/webgl-command-buffer.js.map +1 -0
  209. package/dist/es5/adapter/resources/webgl-command-encoder.js +98 -0
  210. package/dist/es5/adapter/resources/webgl-command-encoder.js.map +1 -0
  211. package/dist/es5/adapter/resources/webgl-external-texture.js +2 -0
  212. package/dist/{esm/helpers/program-bindings.js.map → es5/adapter/resources/webgl-external-texture.js.map} +1 -1
  213. package/dist/es5/adapter/resources/webgl-framebuffer.js +346 -0
  214. package/dist/es5/adapter/resources/webgl-framebuffer.js.map +1 -0
  215. package/dist/es5/{classes/texture-2d.js → adapter/resources/webgl-render-pass.js} +26 -45
  216. package/dist/es5/adapter/resources/webgl-render-pass.js.map +1 -0
  217. package/dist/es5/adapter/resources/webgl-render-pipeline.js +530 -0
  218. package/dist/es5/adapter/resources/webgl-render-pipeline.js.map +1 -0
  219. package/dist/es5/adapter/resources/webgl-sampler.js +96 -0
  220. package/dist/es5/adapter/resources/webgl-sampler.js.map +1 -0
  221. package/dist/es5/adapter/{webgl-shader.js → resources/webgl-shader.js} +16 -21
  222. package/dist/es5/adapter/resources/webgl-shader.js.map +1 -0
  223. package/dist/es5/{classes/texture.js → adapter/resources/webgl-texture.js} +374 -298
  224. package/dist/es5/adapter/resources/webgl-texture.js.map +1 -0
  225. package/dist/es5/adapter/webgl-canvas-context.js +94 -0
  226. package/dist/es5/adapter/webgl-canvas-context.js.map +1 -0
  227. package/dist/es5/adapter/webgl-device.js +325 -131
  228. package/dist/es5/adapter/webgl-device.js.map +1 -1
  229. package/dist/es5/{classes → classic}/accessor.js +25 -1
  230. package/dist/es5/classic/accessor.js.map +1 -0
  231. package/dist/es5/{classes/webgl-buffer.js → classic/buffer.js} +88 -72
  232. package/dist/es5/classic/buffer.js.map +1 -0
  233. package/dist/es5/{webgl-utils → classic}/typed-array-utils.js +0 -0
  234. package/dist/es5/classic/typed-array-utils.js.map +1 -0
  235. package/dist/es5/context/context/context-state.js +1 -6
  236. package/dist/es5/context/context/context-state.js.map +1 -1
  237. package/dist/es5/context/context/{create-context.js → create-browser-context.js} +29 -3
  238. package/dist/es5/context/context/create-browser-context.js.map +1 -0
  239. package/dist/es5/context/context/create-headless-context.js +60 -0
  240. package/dist/es5/context/context/create-headless-context.js.map +1 -0
  241. package/dist/es5/context/debug/spector.js +133 -0
  242. package/dist/es5/context/debug/spector.js.map +1 -0
  243. package/dist/es5/context/debug/webgl-developer-tools.js +198 -0
  244. package/dist/es5/context/debug/webgl-developer-tools.js.map +1 -0
  245. package/dist/es5/context/parameters/unified-parameter-api.js +15 -9
  246. package/dist/es5/context/parameters/unified-parameter-api.js.map +1 -1
  247. package/dist/es5/context/parameters/webgl-parameter-tables.js.map +1 -1
  248. package/dist/es5/context/polyfill/get-parameter-polyfill.js.map +1 -1
  249. package/dist/es5/context/polyfill/polyfill-context.js +3 -3
  250. package/dist/es5/context/polyfill/polyfill-context.js.map +1 -1
  251. package/dist/es5/context/polyfill/polyfill-table.js +1 -1
  252. package/dist/es5/context/polyfill/polyfill-table.js.map +1 -1
  253. package/dist/es5/context/state-tracker/deep-array-equal.js.map +1 -1
  254. package/dist/es5/context/state-tracker/track-context-state.js +39 -24
  255. package/dist/es5/context/state-tracker/track-context-state.js.map +1 -1
  256. package/dist/es5/context/state-tracker/with-parameters.js +8 -2
  257. package/dist/es5/context/state-tracker/with-parameters.js.map +1 -1
  258. package/dist/es5/index.js +63 -305
  259. package/dist/es5/index.js.map +1 -1
  260. package/dist/es5/init.js +1 -41
  261. package/dist/es5/init.js.map +1 -1
  262. package/dist/es5/{context/parameters/webgl-parameters.js → types/webgl.js} +1 -1
  263. package/dist/es5/types/webgl.js.map +1 -0
  264. package/dist/esm/adapter/converters/{set-device-parameters.js → device-parameters.js} +50 -6
  265. package/dist/esm/adapter/converters/device-parameters.js.map +1 -0
  266. package/dist/esm/{classes → adapter/converters}/renderbuffer-formats.js +1 -1
  267. package/dist/esm/adapter/converters/renderbuffer-formats.js.map +1 -0
  268. package/dist/esm/adapter/converters/sampler-parameters.js +227 -0
  269. package/dist/esm/adapter/converters/sampler-parameters.js.map +1 -0
  270. package/dist/esm/adapter/converters/texture-formats.js +954 -0
  271. package/dist/esm/adapter/converters/texture-formats.js.map +1 -0
  272. package/dist/esm/adapter/converters/vertex-formats.js +35 -0
  273. package/dist/esm/adapter/converters/vertex-formats.js.map +1 -0
  274. package/dist/esm/adapter/device-helpers/device-features.js +39 -50
  275. package/dist/esm/adapter/device-helpers/device-features.js.map +1 -1
  276. package/dist/esm/adapter/device-helpers/device-limits.js +1 -0
  277. package/dist/esm/adapter/device-helpers/device-limits.js.map +1 -1
  278. package/dist/esm/adapter/device-helpers/get-device-info.js +7 -7
  279. package/dist/esm/adapter/device-helpers/get-device-info.js.map +1 -1
  280. package/dist/esm/adapter/helpers/attribute-utils.js +81 -0
  281. package/dist/esm/adapter/helpers/attribute-utils.js.map +1 -0
  282. package/dist/esm/adapter/helpers/get-shader-layout.js +330 -0
  283. package/dist/esm/adapter/helpers/get-shader-layout.js.map +1 -0
  284. package/dist/{webgl-utils → esm/adapter/helpers}/parse-shader-compiler-log.js +0 -0
  285. package/dist/esm/adapter/helpers/parse-shader-compiler-log.js.map +1 -0
  286. package/dist/esm/adapter/helpers/set-uniform.js +115 -0
  287. package/dist/esm/adapter/helpers/set-uniform.js.map +1 -0
  288. package/dist/esm/adapter/helpers/uniforms.js +99 -0
  289. package/dist/esm/adapter/helpers/uniforms.js.map +1 -0
  290. package/dist/{webgl-utils → esm/adapter/objects}/constants-to-keys.js +1 -0
  291. package/dist/esm/adapter/objects/constants-to-keys.js.map +1 -0
  292. package/dist/{classes/renderbuffer.js → esm/adapter/objects/webgl-renderbuffer.js} +38 -72
  293. package/dist/esm/adapter/objects/webgl-renderbuffer.js.map +1 -0
  294. package/dist/esm/{classes → adapter/objects}/webgl-resource.js +7 -3
  295. package/dist/esm/adapter/objects/webgl-resource.js.map +1 -0
  296. package/dist/esm/adapter/objects/webgl-vertex-array-object.js +84 -0
  297. package/dist/esm/adapter/objects/webgl-vertex-array-object.js.map +1 -0
  298. package/dist/esm/adapter/resources/webgl-buffer.js +164 -0
  299. package/dist/esm/adapter/resources/webgl-buffer.js.map +1 -0
  300. package/dist/esm/adapter/resources/webgl-command-buffer.js +65 -0
  301. package/dist/esm/adapter/resources/webgl-command-buffer.js.map +1 -0
  302. package/dist/esm/adapter/resources/webgl-command-encoder.js +53 -0
  303. package/dist/esm/adapter/resources/webgl-command-encoder.js.map +1 -0
  304. package/dist/esm/adapter/resources/webgl-external-texture.js +2 -0
  305. package/dist/{helpers/program-bindings.js.map → esm/adapter/resources/webgl-external-texture.js.map} +1 -1
  306. package/dist/esm/adapter/resources/webgl-framebuffer.js +267 -0
  307. package/dist/esm/adapter/resources/webgl-framebuffer.js.map +1 -0
  308. package/dist/esm/adapter/resources/webgl-render-pass.js +21 -0
  309. package/dist/esm/adapter/resources/webgl-render-pass.js.map +1 -0
  310. package/dist/esm/adapter/resources/webgl-render-pipeline.js +428 -0
  311. package/dist/esm/adapter/resources/webgl-render-pipeline.js.map +1 -0
  312. package/dist/esm/adapter/resources/webgl-sampler.js +50 -0
  313. package/dist/esm/adapter/resources/webgl-sampler.js.map +1 -0
  314. package/dist/{adapter → esm/adapter/resources}/webgl-shader.js +17 -23
  315. package/dist/esm/adapter/resources/webgl-shader.js.map +1 -0
  316. package/dist/esm/{classes/texture.js → adapter/resources/webgl-texture.js} +280 -232
  317. package/dist/esm/adapter/resources/webgl-texture.js.map +1 -0
  318. package/dist/esm/adapter/webgl-canvas-context.js +52 -0
  319. package/dist/esm/adapter/webgl-canvas-context.js.map +1 -0
  320. package/dist/esm/adapter/webgl-device.js +253 -115
  321. package/dist/esm/adapter/webgl-device.js.map +1 -1
  322. package/dist/esm/{classes → classic}/accessor.js +33 -1
  323. package/dist/esm/classic/accessor.js.map +1 -0
  324. package/dist/esm/{classes/webgl-buffer.js → classic/buffer.js} +67 -57
  325. package/dist/esm/classic/buffer.js.map +1 -0
  326. package/dist/{webgl-utils → esm/classic}/typed-array-utils.js +0 -0
  327. package/dist/esm/classic/typed-array-utils.js.map +1 -0
  328. package/dist/esm/context/context/context-state.js +1 -6
  329. package/dist/esm/context/context/context-state.js.map +1 -1
  330. package/dist/{context/context/create-context.js → esm/context/context/create-browser-context.js} +27 -3
  331. package/dist/esm/context/context/create-browser-context.js.map +1 -0
  332. package/dist/esm/context/context/create-headless-context.js +43 -0
  333. package/dist/esm/context/context/create-headless-context.js.map +1 -0
  334. package/dist/esm/context/debug/spector.js +76 -0
  335. package/dist/esm/context/debug/spector.js.map +1 -0
  336. package/dist/esm/context/debug/webgl-developer-tools.js +121 -0
  337. package/dist/esm/context/debug/webgl-developer-tools.js.map +1 -0
  338. package/dist/esm/context/parameters/unified-parameter-api.js +9 -8
  339. package/dist/esm/context/parameters/unified-parameter-api.js.map +1 -1
  340. package/dist/esm/context/parameters/webgl-parameter-tables.js.map +1 -1
  341. package/dist/esm/context/polyfill/get-parameter-polyfill.js.map +1 -1
  342. package/dist/esm/context/polyfill/polyfill-context.js +3 -3
  343. package/dist/esm/context/polyfill/polyfill-context.js.map +1 -1
  344. package/dist/esm/context/polyfill/polyfill-table.js +1 -1
  345. package/dist/esm/context/polyfill/polyfill-table.js.map +1 -1
  346. package/dist/esm/context/state-tracker/deep-array-equal.js.map +1 -1
  347. package/dist/esm/context/state-tracker/track-context-state.js +26 -12
  348. package/dist/esm/context/state-tracker/track-context-state.js.map +1 -1
  349. package/dist/esm/context/state-tracker/with-parameters.js +6 -2
  350. package/dist/esm/context/state-tracker/with-parameters.js.map +1 -1
  351. package/dist/esm/index.js +20 -32
  352. package/dist/esm/index.js.map +1 -1
  353. package/dist/esm/init.js +2 -31
  354. package/dist/esm/init.js.map +1 -1
  355. package/dist/esm/types/webgl.js +2 -0
  356. package/dist/esm/types/webgl.js.map +1 -0
  357. package/dist/index.d.ts +25 -47
  358. package/dist/index.d.ts.map +1 -1
  359. package/dist/index.js +20 -32
  360. package/dist/index.js.map +1 -1
  361. package/dist/init.d.ts +1 -4
  362. package/dist/init.d.ts.map +1 -1
  363. package/dist/init.js +2 -31
  364. package/dist/init.js.map +1 -1
  365. package/dist/types/webgl.d.ts +145 -0
  366. package/dist/types/webgl.d.ts.map +1 -0
  367. package/dist/types/webgl.js +2 -0
  368. package/dist/types/webgl.js.map +1 -0
  369. package/package.json +5 -5
  370. package/src/adapter/converters/{set-device-parameters.ts → device-parameters.ts} +81 -12
  371. package/src/{classes → adapter/converters}/renderbuffer-formats.ts +1 -1
  372. package/src/adapter/converters/sampler-parameters.ts +184 -0
  373. package/src/adapter/converters/texture-formats.ts +633 -0
  374. package/src/adapter/converters/vertex-formats.ts +22 -0
  375. package/src/adapter/device-helpers/device-features.ts +55 -124
  376. package/src/adapter/device-helpers/device-limits.ts +6 -3
  377. package/src/adapter/device-helpers/get-device-info.ts +8 -8
  378. package/src/adapter/helpers/attribute-utils.ts +61 -0
  379. package/src/adapter/helpers/get-shader-layout.ts +407 -0
  380. package/src/{webgl-utils → adapter/helpers}/parse-shader-compiler-log.ts +0 -0
  381. package/src/adapter/helpers/set-uniform.ts +87 -0
  382. package/src/adapter/helpers/uniforms.ts +121 -0
  383. package/src/{webgl-utils → adapter/objects}/constants-to-keys.ts +6 -3
  384. package/src/adapter/objects/webgl-renderbuffer.ts +104 -0
  385. package/src/{classes → adapter/objects}/webgl-resource.ts +23 -17
  386. package/src/adapter/objects/webgl-vertex-array-object.ts +111 -0
  387. package/src/adapter/resources/webgl-buffer.ts +219 -0
  388. package/src/adapter/resources/webgl-command-buffer.ts +94 -0
  389. package/src/adapter/resources/webgl-command-encoder.ts +58 -0
  390. package/src/adapter/resources/webgl-external-texture.ts +92 -0
  391. package/src/adapter/resources/webgl-framebuffer.ts +282 -0
  392. package/src/adapter/resources/webgl-render-pass.ts +24 -0
  393. package/src/adapter/resources/webgl-render-pipeline.ts +425 -0
  394. package/src/adapter/resources/webgl-sampler.ts +56 -0
  395. package/src/adapter/{webgl-shader.ts → resources/webgl-shader.ts} +19 -24
  396. package/src/adapter/resources/webgl-texture.ts +1036 -0
  397. package/src/adapter/webgl-canvas-context.ts +72 -0
  398. package/src/adapter/webgl-device.ts +312 -285
  399. package/{dist/esm/classes/accessor.ts.disabled → src/classic/accessor.ts} +38 -37
  400. package/src/{classes/webgl-buffer.ts → classic/buffer.ts} +76 -84
  401. package/src/{webgl-utils → classic}/typed-array-utils.ts +5 -1
  402. package/src/context/context/context-state.ts +4 -12
  403. package/src/context/context/{create-context.ts → create-browser-context.ts} +41 -6
  404. package/src/context/context/create-headless-context.ts +48 -0
  405. package/src/context/debug/spector.ts +92 -0
  406. package/src/context/debug/webgl-developer-tools.ts +162 -0
  407. package/src/context/parameters/unified-parameter-api.ts +21 -13
  408. package/src/context/parameters/webgl-parameter-tables.ts +38 -36
  409. package/src/context/polyfill/get-parameter-polyfill.ts +1 -1
  410. package/src/context/polyfill/polyfill-context.ts +4 -5
  411. package/src/context/polyfill/polyfill-table.ts +1 -1
  412. package/src/context/state-tracker/deep-array-equal.ts +1 -1
  413. package/src/context/state-tracker/track-context-state.ts +34 -26
  414. package/src/context/state-tracker/with-parameters.ts +7 -2
  415. package/src/index.ts +42 -105
  416. package/src/init.ts +2 -46
  417. package/src/types/webgl.ts +284 -0
  418. package/dist/_deprecated/context-api.d.ts +0 -85
  419. package/dist/_deprecated/context-api.d.ts.map +0 -1
  420. package/dist/_deprecated/context-api.js +0 -76
  421. package/dist/_deprecated/context-api.js.map +0 -1
  422. package/dist/_deprecated/features.d.ts +0 -27
  423. package/dist/_deprecated/features.d.ts.map +0 -1
  424. package/dist/_deprecated/features.js +0 -111
  425. package/dist/_deprecated/features.js.map +0 -1
  426. package/dist/adapter/converters/set-device-parameters.d.ts +0 -5
  427. package/dist/adapter/converters/set-device-parameters.d.ts.map +0 -1
  428. package/dist/adapter/converters/set-device-parameters.js.map +0 -1
  429. package/dist/adapter/converters/webgpu-texture-formats.d.ts +0 -281
  430. package/dist/adapter/converters/webgpu-texture-formats.d.ts.map +0 -1
  431. package/dist/adapter/converters/webgpu-texture-formats.js +0 -285
  432. package/dist/adapter/converters/webgpu-texture-formats.js.map +0 -1
  433. package/dist/adapter/webgl-shader.d.ts.map +0 -1
  434. package/dist/adapter/webgl-shader.js.map +0 -1
  435. package/dist/classes/accessor.d.ts +0 -28
  436. package/dist/classes/accessor.d.ts.map +0 -1
  437. package/dist/classes/accessor.js.map +0 -1
  438. package/dist/classes/accessor.ts.disabled +0 -159
  439. package/dist/classes/clear.d.ts +0 -17
  440. package/dist/classes/clear.d.ts.map +0 -1
  441. package/dist/classes/clear.js +0 -105
  442. package/dist/classes/clear.js.map +0 -1
  443. package/dist/classes/copy-and-blit.d.ts +0 -86
  444. package/dist/classes/copy-and-blit.d.ts.map +0 -1
  445. package/dist/classes/copy-and-blit.js +0 -338
  446. package/dist/classes/copy-and-blit.js.map +0 -1
  447. package/dist/classes/framebuffer.d.ts +0 -139
  448. package/dist/classes/framebuffer.d.ts.map +0 -1
  449. package/dist/classes/framebuffer.js +0 -656
  450. package/dist/classes/framebuffer.js.map +0 -1
  451. package/dist/classes/program-configuration.d.ts +0 -24
  452. package/dist/classes/program-configuration.d.ts.map +0 -1
  453. package/dist/classes/program-configuration.js +0 -73
  454. package/dist/classes/program-configuration.js.map +0 -1
  455. package/dist/classes/program.d.ts +0 -66
  456. package/dist/classes/program.d.ts.map +0 -1
  457. package/dist/classes/program.js +0 -379
  458. package/dist/classes/program.js.map +0 -1
  459. package/dist/classes/query.d.ts +0 -27
  460. package/dist/classes/query.d.ts.map +0 -1
  461. package/dist/classes/query.js +0 -145
  462. package/dist/classes/query.js.map +0 -1
  463. package/dist/classes/renderbuffer-formats.d.ts.map +0 -1
  464. package/dist/classes/renderbuffer-formats.js.map +0 -1
  465. package/dist/classes/renderbuffer.d.ts +0 -60
  466. package/dist/classes/renderbuffer.d.ts.map +0 -1
  467. package/dist/classes/renderbuffer.js.map +0 -1
  468. package/dist/classes/shader.d.ts +0 -42
  469. package/dist/classes/shader.d.ts.map +0 -1
  470. package/dist/classes/shader.js +0 -118
  471. package/dist/classes/shader.js.map +0 -1
  472. package/dist/classes/texture-2d.d.ts +0 -9
  473. package/dist/classes/texture-2d.d.ts.map +0 -1
  474. package/dist/classes/texture-2d.js +0 -36
  475. package/dist/classes/texture-2d.js.map +0 -1
  476. package/dist/classes/texture-3d.d.ts +0 -29
  477. package/dist/classes/texture-3d.d.ts.map +0 -1
  478. package/dist/classes/texture-3d.js +0 -76
  479. package/dist/classes/texture-3d.js.map +0 -1
  480. package/dist/classes/texture-cube.d.ts +0 -28
  481. package/dist/classes/texture-cube.d.ts.map +0 -1
  482. package/dist/classes/texture-cube.js +0 -130
  483. package/dist/classes/texture-cube.js.map +0 -1
  484. package/dist/classes/texture-formats.d.ts +0 -37
  485. package/dist/classes/texture-formats.d.ts.map +0 -1
  486. package/dist/classes/texture-formats.js +0 -98
  487. package/dist/classes/texture-formats.js.map +0 -1
  488. package/dist/classes/texture.d.ts +0 -123
  489. package/dist/classes/texture.d.ts.map +0 -1
  490. package/dist/classes/texture.js.map +0 -1
  491. package/dist/classes/transform-feedback.d.ts +0 -33
  492. package/dist/classes/transform-feedback.d.ts.map +0 -1
  493. package/dist/classes/transform-feedback.js +0 -198
  494. package/dist/classes/transform-feedback.js.map +0 -1
  495. package/dist/classes/uniform-buffer-layout.d.ts +0 -17
  496. package/dist/classes/uniform-buffer-layout.d.ts.map +0 -1
  497. package/dist/classes/uniform-buffer-layout.js +0 -104
  498. package/dist/classes/uniform-buffer-layout.js.map +0 -1
  499. package/dist/classes/uniforms.d.ts +0 -37
  500. package/dist/classes/uniforms.d.ts.map +0 -1
  501. package/dist/classes/uniforms.js +0 -250
  502. package/dist/classes/uniforms.js.map +0 -1
  503. package/dist/classes/vertex-array-object.d.ts +0 -76
  504. package/dist/classes/vertex-array-object.d.ts.map +0 -1
  505. package/dist/classes/vertex-array-object.js +0 -261
  506. package/dist/classes/vertex-array-object.js.map +0 -1
  507. package/dist/classes/vertex-array.d.ts +0 -75
  508. package/dist/classes/vertex-array.d.ts.map +0 -1
  509. package/dist/classes/vertex-array.js +0 -408
  510. package/dist/classes/vertex-array.js.map +0 -1
  511. package/dist/classes/webgl-buffer.d.ts.map +0 -1
  512. package/dist/classes/webgl-buffer.js.map +0 -1
  513. package/dist/classes/webgl-resource.d.ts.map +0 -1
  514. package/dist/classes/webgl-resource.js.map +0 -1
  515. package/dist/context/context/create-context.d.ts.map +0 -1
  516. package/dist/context/context/create-context.js.map +0 -1
  517. package/dist/context/context/device-pixels.d.ts +0 -25
  518. package/dist/context/context/device-pixels.d.ts.map +0 -1
  519. package/dist/context/context/device-pixels.js +0 -98
  520. package/dist/context/context/device-pixels.js.map +0 -1
  521. package/dist/context/context/get-canvas.d.ts +0 -13
  522. package/dist/context/context/get-canvas.d.ts.map +0 -1
  523. package/dist/context/context/get-canvas.js +0 -31
  524. package/dist/context/context/get-canvas.js.map +0 -1
  525. package/dist/context/context/resize-context.d.ts +0 -20
  526. package/dist/context/context/resize-context.d.ts.map +0 -1
  527. package/dist/context/context/resize-context.js +0 -15
  528. package/dist/context/context/resize-context.js.map +0 -1
  529. package/dist/context/parameters/webgl-parameters.d.ts +0 -144
  530. package/dist/context/parameters/webgl-parameters.d.ts.map +0 -1
  531. package/dist/context/parameters/webgl-parameters.js +0 -2
  532. package/dist/context/parameters/webgl-parameters.js.map +0 -1
  533. package/dist/debug/debug-program-configuration.d.ts +0 -2
  534. package/dist/debug/debug-program-configuration.d.ts.map +0 -1
  535. package/dist/debug/debug-program-configuration.js +0 -40
  536. package/dist/debug/debug-program-configuration.js.map +0 -1
  537. package/dist/debug/debug-uniforms.d.ts +0 -12
  538. package/dist/debug/debug-uniforms.d.ts.map +0 -1
  539. package/dist/debug/debug-uniforms.js +0 -108
  540. package/dist/debug/debug-uniforms.js.map +0 -1
  541. package/dist/debug/debug-vertex-array.d.ts +0 -5
  542. package/dist/debug/debug-vertex-array.d.ts.map +0 -1
  543. package/dist/debug/debug-vertex-array.js +0 -118
  544. package/dist/debug/debug-vertex-array.js.map +0 -1
  545. package/dist/es5/_deprecated/context-api.js +0 -116
  546. package/dist/es5/_deprecated/context-api.js.map +0 -1
  547. package/dist/es5/_deprecated/features.js +0 -118
  548. package/dist/es5/_deprecated/features.js.map +0 -1
  549. package/dist/es5/adapter/converters/set-device-parameters.js.map +0 -1
  550. package/dist/es5/adapter/converters/webgpu-texture-formats.js +0 -296
  551. package/dist/es5/adapter/converters/webgpu-texture-formats.js.map +0 -1
  552. package/dist/es5/adapter/webgl-shader.js.map +0 -1
  553. package/dist/es5/classes/accessor.d.ts +0 -28
  554. package/dist/es5/classes/accessor.js.map +0 -1
  555. package/dist/es5/classes/accessor.ts.disabled +0 -159
  556. package/dist/es5/classes/clear.js +0 -135
  557. package/dist/es5/classes/clear.js.map +0 -1
  558. package/dist/es5/classes/copy-and-blit.js +0 -382
  559. package/dist/es5/classes/copy-and-blit.js.map +0 -1
  560. package/dist/es5/classes/framebuffer.js +0 -807
  561. package/dist/es5/classes/framebuffer.js.map +0 -1
  562. package/dist/es5/classes/program-configuration.js +0 -119
  563. package/dist/es5/classes/program-configuration.js.map +0 -1
  564. package/dist/es5/classes/program.js +0 -471
  565. package/dist/es5/classes/program.js.map +0 -1
  566. package/dist/es5/classes/query.js +0 -222
  567. package/dist/es5/classes/query.js.map +0 -1
  568. package/dist/es5/classes/renderbuffer-formats.js.map +0 -1
  569. package/dist/es5/classes/renderbuffer.js.map +0 -1
  570. package/dist/es5/classes/shader.js +0 -195
  571. package/dist/es5/classes/shader.js.map +0 -1
  572. package/dist/es5/classes/texture-2d.js.map +0 -1
  573. package/dist/es5/classes/texture-3d.js +0 -142
  574. package/dist/es5/classes/texture-3d.js.map +0 -1
  575. package/dist/es5/classes/texture-cube.js +0 -202
  576. package/dist/es5/classes/texture-cube.js.map +0 -1
  577. package/dist/es5/classes/texture-formats.js +0 -87
  578. package/dist/es5/classes/texture-formats.js.map +0 -1
  579. package/dist/es5/classes/texture.js.map +0 -1
  580. package/dist/es5/classes/transform-feedback.js +0 -267
  581. package/dist/es5/classes/transform-feedback.js.map +0 -1
  582. package/dist/es5/classes/uniform-buffer-layout.js +0 -130
  583. package/dist/es5/classes/uniform-buffer-layout.js.map +0 -1
  584. package/dist/es5/classes/uniforms.js +0 -232
  585. package/dist/es5/classes/uniforms.js.map +0 -1
  586. package/dist/es5/classes/vertex-array-object.js +0 -337
  587. package/dist/es5/classes/vertex-array-object.js.map +0 -1
  588. package/dist/es5/classes/vertex-array.js +0 -465
  589. package/dist/es5/classes/vertex-array.js.map +0 -1
  590. package/dist/es5/classes/webgl-buffer.js.map +0 -1
  591. package/dist/es5/classes/webgl-resource.js.map +0 -1
  592. package/dist/es5/context/context/create-context.js.map +0 -1
  593. package/dist/es5/context/context/device-pixels.js +0 -115
  594. package/dist/es5/context/context/device-pixels.js.map +0 -1
  595. package/dist/es5/context/context/get-canvas.js +0 -40
  596. package/dist/es5/context/context/get-canvas.js.map +0 -1
  597. package/dist/es5/context/context/resize-context.js +0 -23
  598. package/dist/es5/context/context/resize-context.js.map +0 -1
  599. package/dist/es5/context/parameters/webgl-parameters.js.map +0 -1
  600. package/dist/es5/debug/debug-program-configuration.js +0 -76
  601. package/dist/es5/debug/debug-program-configuration.js.map +0 -1
  602. package/dist/es5/debug/debug-uniforms.js +0 -156
  603. package/dist/es5/debug/debug-uniforms.js.map +0 -1
  604. package/dist/es5/debug/debug-vertex-array.js +0 -126
  605. package/dist/es5/debug/debug-vertex-array.js.map +0 -1
  606. package/dist/es5/helpers/get-program-bindings.js.map +0 -1
  607. package/dist/es5/helpers/program-bindings.js +0 -2
  608. package/dist/es5/types/accessor.d.ts +0 -29
  609. package/dist/es5/webgl-utils/attribute-utils.js +0 -186
  610. package/dist/es5/webgl-utils/attribute-utils.js.map +0 -1
  611. package/dist/es5/webgl-utils/constants-to-keys.js.map +0 -1
  612. package/dist/es5/webgl-utils/format-utils.js +0 -58
  613. package/dist/es5/webgl-utils/format-utils.js.map +0 -1
  614. package/dist/es5/webgl-utils/get-error.js +0 -49
  615. package/dist/es5/webgl-utils/get-error.js.map +0 -1
  616. package/dist/es5/webgl-utils/index.js +0 -74
  617. package/dist/es5/webgl-utils/index.js.map +0 -1
  618. package/dist/es5/webgl-utils/parse-shader-compiler-log.js.map +0 -1
  619. package/dist/es5/webgl-utils/request-animation-frame.js +0 -16
  620. package/dist/es5/webgl-utils/request-animation-frame.js.map +0 -1
  621. package/dist/es5/webgl-utils/texture-utils.js +0 -61
  622. package/dist/es5/webgl-utils/texture-utils.js.map +0 -1
  623. package/dist/es5/webgl-utils/typed-array-utils.js.map +0 -1
  624. package/dist/esm/_deprecated/context-api.js +0 -76
  625. package/dist/esm/_deprecated/context-api.js.map +0 -1
  626. package/dist/esm/_deprecated/features.js +0 -111
  627. package/dist/esm/_deprecated/features.js.map +0 -1
  628. package/dist/esm/adapter/converters/set-device-parameters.js.map +0 -1
  629. package/dist/esm/adapter/converters/webgpu-texture-formats.js +0 -285
  630. package/dist/esm/adapter/converters/webgpu-texture-formats.js.map +0 -1
  631. package/dist/esm/adapter/webgl-shader.js.map +0 -1
  632. package/dist/esm/classes/accessor.d.ts +0 -28
  633. package/dist/esm/classes/accessor.js.map +0 -1
  634. package/dist/esm/classes/clear.js +0 -105
  635. package/dist/esm/classes/clear.js.map +0 -1
  636. package/dist/esm/classes/copy-and-blit.js +0 -338
  637. package/dist/esm/classes/copy-and-blit.js.map +0 -1
  638. package/dist/esm/classes/framebuffer.js +0 -656
  639. package/dist/esm/classes/framebuffer.js.map +0 -1
  640. package/dist/esm/classes/program-configuration.js +0 -73
  641. package/dist/esm/classes/program-configuration.js.map +0 -1
  642. package/dist/esm/classes/program.js +0 -379
  643. package/dist/esm/classes/program.js.map +0 -1
  644. package/dist/esm/classes/query.js +0 -145
  645. package/dist/esm/classes/query.js.map +0 -1
  646. package/dist/esm/classes/renderbuffer-formats.js.map +0 -1
  647. package/dist/esm/classes/renderbuffer.js.map +0 -1
  648. package/dist/esm/classes/shader.js +0 -118
  649. package/dist/esm/classes/shader.js.map +0 -1
  650. package/dist/esm/classes/texture-2d.js +0 -36
  651. package/dist/esm/classes/texture-2d.js.map +0 -1
  652. package/dist/esm/classes/texture-3d.js +0 -76
  653. package/dist/esm/classes/texture-3d.js.map +0 -1
  654. package/dist/esm/classes/texture-cube.js +0 -130
  655. package/dist/esm/classes/texture-cube.js.map +0 -1
  656. package/dist/esm/classes/texture-formats.js +0 -98
  657. package/dist/esm/classes/texture-formats.js.map +0 -1
  658. package/dist/esm/classes/texture.js.map +0 -1
  659. package/dist/esm/classes/transform-feedback.js +0 -198
  660. package/dist/esm/classes/transform-feedback.js.map +0 -1
  661. package/dist/esm/classes/uniform-buffer-layout.js +0 -104
  662. package/dist/esm/classes/uniform-buffer-layout.js.map +0 -1
  663. package/dist/esm/classes/uniforms.js +0 -250
  664. package/dist/esm/classes/uniforms.js.map +0 -1
  665. package/dist/esm/classes/vertex-array-object.js +0 -261
  666. package/dist/esm/classes/vertex-array-object.js.map +0 -1
  667. package/dist/esm/classes/vertex-array.js +0 -408
  668. package/dist/esm/classes/vertex-array.js.map +0 -1
  669. package/dist/esm/classes/webgl-buffer.js.map +0 -1
  670. package/dist/esm/classes/webgl-resource.js.map +0 -1
  671. package/dist/esm/context/context/create-context.js.map +0 -1
  672. package/dist/esm/context/context/device-pixels.js +0 -98
  673. package/dist/esm/context/context/device-pixels.js.map +0 -1
  674. package/dist/esm/context/context/get-canvas.js +0 -31
  675. package/dist/esm/context/context/get-canvas.js.map +0 -1
  676. package/dist/esm/context/context/resize-context.js +0 -15
  677. package/dist/esm/context/context/resize-context.js.map +0 -1
  678. package/dist/esm/context/parameters/webgl-parameters.js +0 -2
  679. package/dist/esm/context/parameters/webgl-parameters.js.map +0 -1
  680. package/dist/esm/debug/debug-program-configuration.js +0 -40
  681. package/dist/esm/debug/debug-program-configuration.js.map +0 -1
  682. package/dist/esm/debug/debug-uniforms.js +0 -108
  683. package/dist/esm/debug/debug-uniforms.js.map +0 -1
  684. package/dist/esm/debug/debug-vertex-array.js +0 -118
  685. package/dist/esm/debug/debug-vertex-array.js.map +0 -1
  686. package/dist/esm/helpers/get-program-bindings.js +0 -228
  687. package/dist/esm/helpers/get-program-bindings.js.map +0 -1
  688. package/dist/esm/helpers/program-bindings.js +0 -2
  689. package/dist/esm/types/accessor.d.ts +0 -29
  690. package/dist/esm/webgl-utils/attribute-utils.js +0 -182
  691. package/dist/esm/webgl-utils/attribute-utils.js.map +0 -1
  692. package/dist/esm/webgl-utils/constants-to-keys.js.map +0 -1
  693. package/dist/esm/webgl-utils/format-utils.js +0 -45
  694. package/dist/esm/webgl-utils/format-utils.js.map +0 -1
  695. package/dist/esm/webgl-utils/get-error.js +0 -41
  696. package/dist/esm/webgl-utils/get-error.js.map +0 -1
  697. package/dist/esm/webgl-utils/index.js +0 -5
  698. package/dist/esm/webgl-utils/index.js.map +0 -1
  699. package/dist/esm/webgl-utils/parse-shader-compiler-log.js.map +0 -1
  700. package/dist/esm/webgl-utils/request-animation-frame.js +0 -7
  701. package/dist/esm/webgl-utils/request-animation-frame.js.map +0 -1
  702. package/dist/esm/webgl-utils/texture-utils.js +0 -48
  703. package/dist/esm/webgl-utils/texture-utils.js.map +0 -1
  704. package/dist/esm/webgl-utils/typed-array-utils.js.map +0 -1
  705. package/dist/helpers/get-program-bindings.d.ts +0 -8
  706. package/dist/helpers/get-program-bindings.d.ts.map +0 -1
  707. package/dist/helpers/get-program-bindings.js +0 -228
  708. package/dist/helpers/get-program-bindings.js.map +0 -1
  709. package/dist/helpers/program-bindings.d.ts +0 -41
  710. package/dist/helpers/program-bindings.d.ts.map +0 -1
  711. package/dist/helpers/program-bindings.js +0 -2
  712. package/dist/types/accessor.d.ts +0 -29
  713. package/dist/webgl-utils/attribute-utils.d.ts +0 -18
  714. package/dist/webgl-utils/attribute-utils.d.ts.map +0 -1
  715. package/dist/webgl-utils/attribute-utils.js +0 -182
  716. package/dist/webgl-utils/attribute-utils.js.map +0 -1
  717. package/dist/webgl-utils/constants-to-keys.d.ts +0 -4
  718. package/dist/webgl-utils/constants-to-keys.d.ts.map +0 -1
  719. package/dist/webgl-utils/constants-to-keys.js.map +0 -1
  720. package/dist/webgl-utils/format-utils.d.ts +0 -3
  721. package/dist/webgl-utils/format-utils.d.ts.map +0 -1
  722. package/dist/webgl-utils/format-utils.js +0 -45
  723. package/dist/webgl-utils/format-utils.js.map +0 -1
  724. package/dist/webgl-utils/get-error.d.ts +0 -3
  725. package/dist/webgl-utils/get-error.d.ts.map +0 -1
  726. package/dist/webgl-utils/get-error.js +0 -41
  727. package/dist/webgl-utils/get-error.js.map +0 -1
  728. package/dist/webgl-utils/index.d.ts +0 -5
  729. package/dist/webgl-utils/index.d.ts.map +0 -1
  730. package/dist/webgl-utils/index.js +0 -5
  731. package/dist/webgl-utils/index.js.map +0 -1
  732. package/dist/webgl-utils/parse-shader-compiler-log.d.ts.map +0 -1
  733. package/dist/webgl-utils/parse-shader-compiler-log.js.map +0 -1
  734. package/dist/webgl-utils/request-animation-frame.d.ts +0 -4
  735. package/dist/webgl-utils/request-animation-frame.d.ts.map +0 -1
  736. package/dist/webgl-utils/request-animation-frame.js +0 -7
  737. package/dist/webgl-utils/request-animation-frame.js.map +0 -1
  738. package/dist/webgl-utils/texture-utils.d.ts +0 -15
  739. package/dist/webgl-utils/texture-utils.d.ts.map +0 -1
  740. package/dist/webgl-utils/texture-utils.js +0 -48
  741. package/dist/webgl-utils/texture-utils.js.map +0 -1
  742. package/dist/webgl-utils/typed-array-utils.d.ts.map +0 -1
  743. package/dist/webgl-utils/typed-array-utils.js.map +0 -1
  744. package/src/.DS_Store +0 -0
  745. package/src/_deprecated/context-api.ts +0 -146
  746. package/src/_deprecated/features.ts +0 -159
  747. package/src/adapter/converters/webgpu-texture-formats.ts +0 -167
  748. package/src/classes/accessor.d.ts +0 -28
  749. package/src/classes/accessor.js +0 -129
  750. package/src/classes/accessor.ts.disabled +0 -159
  751. package/src/classes/clear.ts +0 -108
  752. package/src/classes/copy-and-blit.ts +0 -460
  753. package/src/classes/framebuffer.ts +0 -763
  754. package/src/classes/program-configuration.ts +0 -77
  755. package/src/classes/program.ts +0 -431
  756. package/src/classes/query.ts +0 -171
  757. package/src/classes/renderbuffer.ts +0 -154
  758. package/src/classes/shader.ts +0 -129
  759. package/src/classes/texture-2d.ts +0 -35
  760. package/src/classes/texture-3d.ts +0 -123
  761. package/src/classes/texture-cube.ts +0 -162
  762. package/src/classes/texture-formats.ts +0 -171
  763. package/src/classes/texture.ts +0 -965
  764. package/src/classes/transform-feedback.ts +0 -191
  765. package/src/classes/uniform-buffer-layout.ts +0 -113
  766. package/src/classes/uniforms.ts +0 -394
  767. package/src/classes/vertex-array-object.ts +0 -339
  768. package/src/classes/vertex-array.ts +0 -484
  769. package/src/context/context/device-pixels.ts +0 -147
  770. package/src/context/context/get-canvas.ts +0 -37
  771. package/src/context/context/resize-context.ts +0 -37
  772. package/src/context/parameters/webgl-parameters.ts +0 -197
  773. package/src/debug/debug-program-configuration.ts +0 -32
  774. package/src/debug/debug-uniforms.ts +0 -100
  775. package/src/debug/debug-vertex-array.ts +0 -123
  776. package/src/helpers/get-program-bindings.ts +0 -244
  777. package/src/helpers/program-bindings.ts +0 -46
  778. package/src/types/accessor.d.ts +0 -29
  779. package/src/webgl-utils/attribute-utils.ts +0 -171
  780. package/src/webgl-utils/format-utils.ts +0 -43
  781. package/src/webgl-utils/get-error.ts +0 -56
  782. package/src/webgl-utils/index.ts +0 -12
  783. package/src/webgl-utils/request-animation-frame.ts +0 -14
  784. package/src/webgl-utils/texture-utils.ts +0 -60
@@ -1,807 +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.default = exports.ImmutableFramebuffer = void 0;
9
-
10
- var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
11
-
12
- var _get2 = _interopRequireDefault(require("@babel/runtime/helpers/get"));
13
-
14
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
15
-
16
- var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
17
-
18
- var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
19
-
20
- var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
21
-
22
- var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
23
-
24
- var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
25
-
26
- var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
27
-
28
- var _api = require("@luma.gl/api");
29
-
30
- var _constants = _interopRequireDefault(require("@luma.gl/constants"));
31
-
32
- var _webglDevice = _interopRequireDefault(require("../adapter/webgl-device"));
33
-
34
- var _webglChecks = require("../context/context/webgl-checks");
35
-
36
- var _constantsToKeys = require("../webgl-utils/constants-to-keys");
37
-
38
- var _webglResource = _interopRequireDefault(require("./webgl-resource"));
39
-
40
- var _texture2d = _interopRequireDefault(require("./texture-2d"));
41
-
42
- var _renderbuffer = _interopRequireDefault(require("./renderbuffer"));
43
-
44
- var _clear2 = require("./clear");
45
-
46
- var _copyAndBlit = require("./copy-and-blit");
47
-
48
- 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; } } }; }
49
-
50
- 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); }
51
-
52
- 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; }
53
-
54
- function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
55
-
56
- function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
57
-
58
- var ERR_MULTIPLE_RENDERTARGETS = 'Multiple render targets not supported';
59
-
60
- var ImmutableFramebuffer = function (_Resource) {
61
- (0, _inherits2.default)(ImmutableFramebuffer, _Resource);
62
-
63
- var _super = _createSuper(ImmutableFramebuffer);
64
-
65
- function ImmutableFramebuffer(gl, props) {
66
- var _this;
67
-
68
- (0, _classCallCheck2.default)(this, ImmutableFramebuffer);
69
- _this = _super.call(this, _webglDevice.default.attach(gl), props, {});
70
-
71
- _this._initialize({
72
- attachments: (props === null || props === void 0 ? void 0 : props.attachments) || {},
73
- readBuffer: props === null || props === void 0 ? void 0 : props.readBuffer,
74
- drawBuffers: props === null || props === void 0 ? void 0 : props.drawBuffers
75
- });
76
-
77
- return _this;
78
- }
79
-
80
- (0, _createClass2.default)(ImmutableFramebuffer, [{
81
- key: "checkStatus",
82
- value: function checkStatus() {
83
- var gl = this.gl;
84
- var status = this.getStatus();
85
-
86
- if (status !== gl.FRAMEBUFFER_COMPLETE) {
87
- throw new Error(_getFrameBufferStatus(status));
88
- }
89
-
90
- return this;
91
- }
92
- }, {
93
- key: "getStatus",
94
- value: function getStatus() {
95
- var gl = this.gl;
96
- var prevHandle = gl.bindFramebuffer(_constants.default.FRAMEBUFFER, this.handle);
97
- var status = gl.checkFramebufferStatus(_constants.default.FRAMEBUFFER);
98
- gl.bindFramebuffer(_constants.default.FRAMEBUFFER, prevHandle || null);
99
- return status;
100
- }
101
- }, {
102
- key: "show",
103
- value: function show() {
104
- if (typeof window !== 'undefined') {
105
- window.open((0, _copyAndBlit.copyToDataUrl)(this), 'luma-debug-texture');
106
- }
107
-
108
- return this;
109
- }
110
- }, {
111
- key: "log",
112
- value: function log() {
113
- var logLevel = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
114
- var message = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
115
-
116
- if (logLevel > _api.log.level || typeof window === 'undefined') {
117
- return this;
118
- }
119
-
120
- message = message || "Framebuffer ".concat(this.id);
121
- var image = (0, _copyAndBlit.copyToDataUrl)(this, {
122
- targetMaxHeight: 100
123
- });
124
-
125
- _api.log.image({
126
- logLevel: logLevel,
127
- message: message,
128
- image: image
129
- })();
130
-
131
- return this;
132
- }
133
- }, {
134
- key: "bind",
135
- value: function bind() {
136
- var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
137
- _ref$target = _ref.target,
138
- target = _ref$target === void 0 ? _constants.default.FRAMEBUFFER : _ref$target;
139
-
140
- this.gl.bindFramebuffer(target, this.handle);
141
- return this;
142
- }
143
- }, {
144
- key: "unbind",
145
- value: function unbind() {
146
- var _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
147
- _ref2$target = _ref2.target,
148
- target = _ref2$target === void 0 ? _constants.default.FRAMEBUFFER : _ref2$target;
149
-
150
- this.gl.bindFramebuffer(target, null);
151
- return this;
152
- }
153
- }, {
154
- key: "_initialize",
155
- value: function _initialize(options) {
156
- var _options$attachments = options.attachments,
157
- attachments = _options$attachments === void 0 ? {} : _options$attachments,
158
- readBuffer = options.readBuffer,
159
- drawBuffers = options.drawBuffers;
160
-
161
- this._attach(attachments);
162
-
163
- var prevHandle = this.gl.bindFramebuffer(_constants.default.FRAMEBUFFER, this.handle);
164
-
165
- if (readBuffer) {
166
- this._setReadBuffer(readBuffer);
167
- }
168
-
169
- if (drawBuffers) {
170
- this._setDrawBuffers(drawBuffers);
171
- }
172
-
173
- this.gl.bindFramebuffer(_constants.default.FRAMEBUFFER, prevHandle || null);
174
- return this;
175
- }
176
- }, {
177
- key: "_attach",
178
- value: function _attach(attachments) {
179
- var prevHandle = this.gl.bindFramebuffer(_constants.default.FRAMEBUFFER, this.handle);
180
-
181
- for (var key in attachments) {
182
- (0, _api.assert)(key !== undefined, 'Misspelled framebuffer binding point?');
183
- var attachmentPoint = Number(key);
184
- var attachment = attachments[attachmentPoint];
185
-
186
- this._attachOne(attachmentPoint, attachment);
187
- }
188
-
189
- this.gl.bindFramebuffer(_constants.default.FRAMEBUFFER, prevHandle || null);
190
- }
191
- }, {
192
- key: "_attachOne",
193
- value: function _attachOne(attachmentPoint, attachment) {
194
- if (attachment instanceof _renderbuffer.default) {
195
- this._attachRenderbuffer(attachmentPoint, attachment);
196
-
197
- return attachment;
198
- } else if (Array.isArray(attachment)) {
199
- var _attachment = (0, _slicedToArray2.default)(attachment, 3),
200
- texture = _attachment[0],
201
- _attachment$ = _attachment[1],
202
- layer = _attachment$ === void 0 ? 0 : _attachment$,
203
- _attachment$2 = _attachment[2],
204
- level = _attachment$2 === void 0 ? 0 : _attachment$2;
205
-
206
- this._attachTexture(attachmentPoint, texture, layer, level);
207
-
208
- return texture;
209
- } else if (attachment instanceof _texture2d.default) {
210
- this._attachTexture(attachmentPoint, attachment, 0, 0);
211
-
212
- return attachment;
213
- }
214
- }
215
- }, {
216
- key: "_attachRenderbuffer",
217
- value: function _attachRenderbuffer(attachment, renderbuffer) {
218
- this.gl.framebufferRenderbuffer(_constants.default.FRAMEBUFFER, attachment, _constants.default.RENDERBUFFER, renderbuffer.handle);
219
- }
220
- }, {
221
- key: "_attachTexture",
222
- value: function _attachTexture(attachment, texture, layer, level) {
223
- var gl = this.gl;
224
- gl.bindTexture(texture.target, texture.handle);
225
-
226
- switch (texture.target) {
227
- case _constants.default.TEXTURE_2D_ARRAY:
228
- case _constants.default.TEXTURE_3D:
229
- var gl2 = (0, _webglChecks.assertWebGL2Context)(gl);
230
- gl2.framebufferTextureLayer(_constants.default.FRAMEBUFFER, attachment, texture.target, level, layer);
231
- break;
232
-
233
- case _constants.default.TEXTURE_CUBE_MAP:
234
- var face = mapIndexToCubeMapFace(layer);
235
- gl.framebufferTexture2D(_constants.default.FRAMEBUFFER, attachment, face, texture.handle, level);
236
- break;
237
-
238
- case _constants.default.TEXTURE_2D:
239
- gl.framebufferTexture2D(_constants.default.FRAMEBUFFER, attachment, _constants.default.TEXTURE_2D, texture.handle, level);
240
- break;
241
-
242
- default:
243
- (0, _api.assert)(false, 'Illegal texture type');
244
- }
245
-
246
- gl.bindTexture(texture.target, null);
247
- }
248
- }, {
249
- key: "_setReadBuffer",
250
- value: function _setReadBuffer(readBuffer) {
251
- var gl2 = (0, _webglChecks.getWebGL2Context)(this.gl);
252
-
253
- if (gl2) {
254
- gl2.readBuffer(readBuffer);
255
- } else {
256
- (0, _api.assert)(readBuffer === _constants.default.COLOR_ATTACHMENT0 || readBuffer === _constants.default.BACK, ERR_MULTIPLE_RENDERTARGETS);
257
- }
258
- }
259
- }, {
260
- key: "_setDrawBuffers",
261
- value: function _setDrawBuffers(drawBuffers) {
262
- var gl = this.gl;
263
- var gl2 = (0, _webglChecks.assertWebGL2Context)(gl);
264
-
265
- if (gl2) {
266
- gl2.drawBuffers(drawBuffers);
267
- } else {
268
- var ext = gl.getExtension('WEBGL_draw_buffers');
269
-
270
- if (ext) {
271
- ext.drawBuffersWEBGL(drawBuffers);
272
- } else {
273
- (0, _api.assert)(drawBuffers.length === 1 && (drawBuffers[0] === _constants.default.COLOR_ATTACHMENT0 || drawBuffers[0] === _constants.default.BACK), ERR_MULTIPLE_RENDERTARGETS);
274
- }
275
- }
276
- }
277
- }, {
278
- key: "_createHandle",
279
- value: function _createHandle() {
280
- return this.gl.createFramebuffer();
281
- }
282
- }, {
283
- key: "_deleteHandle",
284
- value: function _deleteHandle() {
285
- this.gl.deleteFramebuffer(this.handle);
286
- }
287
- }, {
288
- key: "_bindHandle",
289
- value: function _bindHandle(handle) {
290
- return this.gl.bindFramebuffer(_constants.default.FRAMEBUFFER, handle);
291
- }
292
- }]);
293
- return ImmutableFramebuffer;
294
- }(_webglResource.default);
295
-
296
- exports.ImmutableFramebuffer = ImmutableFramebuffer;
297
-
298
- var Framebuffer = function (_ImmutableFramebuffer) {
299
- (0, _inherits2.default)(Framebuffer, _ImmutableFramebuffer);
300
-
301
- var _super2 = _createSuper(Framebuffer);
302
-
303
- function Framebuffer(gl, props) {
304
- var _this2;
305
-
306
- (0, _classCallCheck2.default)(this, Framebuffer);
307
- _this2 = _super2.call(this, gl, props);
308
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this2), "width", null);
309
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this2), "height", null);
310
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this2), "attachments", {});
311
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this2), "readBuffer", _constants.default.COLOR_ATTACHMENT0);
312
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this2), "drawBuffers", [_constants.default.COLOR_ATTACHMENT0]);
313
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this2), "ownResources", []);
314
-
315
- _this2.initialize(props);
316
-
317
- Object.seal((0, _assertThisInitialized2.default)(_this2));
318
- return _this2;
319
- }
320
-
321
- (0, _createClass2.default)(Framebuffer, [{
322
- key: "MAX_COLOR_ATTACHMENTS",
323
- get: function get() {
324
- var gl2 = (0, _webglChecks.assertWebGL2Context)(this.gl);
325
- return gl2.getParameter(gl2.MAX_COLOR_ATTACHMENTS);
326
- }
327
- }, {
328
- key: "MAX_DRAW_BUFFERS",
329
- get: function get() {
330
- var gl2 = (0, _webglChecks.assertWebGL2Context)(this.gl);
331
- return gl2.getParameter(gl2.MAX_DRAW_BUFFERS);
332
- }
333
- }, {
334
- key: "color",
335
- get: function get() {
336
- return this.attachments[_constants.default.COLOR_ATTACHMENT0] || null;
337
- }
338
- }, {
339
- key: "texture",
340
- get: function get() {
341
- return this.attachments[_constants.default.COLOR_ATTACHMENT0] || null;
342
- }
343
- }, {
344
- key: "depth",
345
- get: function get() {
346
- return this.attachments[_constants.default.DEPTH_ATTACHMENT] || this.attachments[_constants.default.DEPTH_STENCIL_ATTACHMENT] || null;
347
- }
348
- }, {
349
- key: "stencil",
350
- get: function get() {
351
- return this.attachments[_constants.default.STENCIL_ATTACHMENT] || this.attachments[_constants.default.DEPTH_STENCIL_ATTACHMENT] || null;
352
- }
353
- }, {
354
- key: "initialize",
355
- value: function initialize(props) {
356
- var _ref3 = props || {},
357
- _ref3$attachments = _ref3.attachments,
358
- attachments = _ref3$attachments === void 0 ? null : _ref3$attachments;
359
-
360
- var _ref4 = props || {},
361
- _ref4$width = _ref4.width,
362
- width = _ref4$width === void 0 ? 1 : _ref4$width,
363
- _ref4$height = _ref4.height,
364
- height = _ref4$height === void 0 ? 1 : _ref4$height,
365
- _ref4$color = _ref4.color,
366
- color = _ref4$color === void 0 ? true : _ref4$color,
367
- _ref4$depth = _ref4.depth,
368
- depth = _ref4$depth === void 0 ? true : _ref4$depth,
369
- _ref4$stencil = _ref4.stencil,
370
- stencil = _ref4$stencil === void 0 ? false : _ref4$stencil,
371
- _ref4$check = _ref4.check,
372
- check = _ref4$check === void 0 ? true : _ref4$check,
373
- _ref4$readBuffer = _ref4.readBuffer,
374
- readBuffer = _ref4$readBuffer === void 0 ? undefined : _ref4$readBuffer,
375
- _ref4$drawBuffers = _ref4.drawBuffers,
376
- drawBuffers = _ref4$drawBuffers === void 0 ? undefined : _ref4$drawBuffers;
377
-
378
- (0, _api.assert)(width >= 0 && height >= 0, 'Width and height need to be integers');
379
- this.width = width;
380
- this.height = height;
381
-
382
- if (attachments) {
383
- for (var attachment in attachments) {
384
- var target = attachments[attachment];
385
- var object = Array.isArray(target) ? target[0] : target;
386
- object.resize({
387
- width: width,
388
- height: height
389
- });
390
- }
391
- } else {
392
- attachments = this._createDefaultAttachments(color, depth, stencil, width, height);
393
- }
394
-
395
- this.update({
396
- clearAttachments: true,
397
- attachments: attachments,
398
- readBuffer: readBuffer,
399
- drawBuffers: drawBuffers
400
- });
401
-
402
- if (attachments && check) {
403
- this.checkStatus();
404
- }
405
- }
406
- }, {
407
- key: "delete",
408
- value: function _delete() {
409
- var _iterator = _createForOfIteratorHelper(this.ownResources),
410
- _step;
411
-
412
- try {
413
- for (_iterator.s(); !(_step = _iterator.n()).done;) {
414
- var resource = _step.value;
415
- resource.delete();
416
- }
417
- } catch (err) {
418
- _iterator.e(err);
419
- } finally {
420
- _iterator.f();
421
- }
422
-
423
- (0, _get2.default)((0, _getPrototypeOf2.default)(Framebuffer.prototype), "delete", this).call(this);
424
- return this;
425
- }
426
- }, {
427
- key: "update",
428
- value: function update(options) {
429
- var _options$attachments2 = options.attachments,
430
- attachments = _options$attachments2 === void 0 ? {} : _options$attachments2,
431
- readBuffer = options.readBuffer,
432
- drawBuffers = options.drawBuffers,
433
- _options$clearAttachm = options.clearAttachments,
434
- clearAttachments = _options$clearAttachm === void 0 ? false : _options$clearAttachm,
435
- _options$resizeAttach = options.resizeAttachments,
436
- resizeAttachments = _options$resizeAttach === void 0 ? true : _options$resizeAttach;
437
- this.attach(attachments, {
438
- clearAttachments: clearAttachments,
439
- resizeAttachments: resizeAttachments
440
- });
441
- var gl = this.gl;
442
- var prevHandle = gl.bindFramebuffer(_constants.default.FRAMEBUFFER, this.handle);
443
-
444
- if (readBuffer) {
445
- this._setReadBuffer(readBuffer);
446
-
447
- this.readBuffer = readBuffer;
448
- }
449
-
450
- if (drawBuffers) {
451
- this._setDrawBuffers(drawBuffers);
452
-
453
- this.drawBuffers = drawBuffers;
454
- }
455
-
456
- gl.bindFramebuffer(_constants.default.FRAMEBUFFER, prevHandle || null);
457
- return this;
458
- }
459
- }, {
460
- key: "resize",
461
- value: function resize(size) {
462
- var _ref5 = size || {},
463
- width = _ref5.width,
464
- height = _ref5.height;
465
-
466
- if (this.handle === null) {
467
- (0, _api.assert)(width === undefined && height === undefined);
468
- this.width = this.gl.drawingBufferWidth;
469
- this.height = this.gl.drawingBufferHeight;
470
- return this;
471
- }
472
-
473
- if (width === undefined) {
474
- width = this.gl.drawingBufferWidth;
475
- }
476
-
477
- if (height === undefined) {
478
- height = this.gl.drawingBufferHeight;
479
- }
480
-
481
- if (width !== this.width && height !== this.height) {
482
- _api.log.log(2, "Resizing framebuffer ".concat(this.id, " to ").concat(width, "x").concat(height))();
483
- }
484
-
485
- for (var attachmentPoint in this.attachments) {
486
- this.attachments[attachmentPoint].resize({
487
- width: width,
488
- height: height
489
- });
490
- }
491
-
492
- this.width = width;
493
- this.height = height;
494
- return this;
495
- }
496
- }, {
497
- key: "attach",
498
- value: function attach(attachments) {
499
- var _this3 = this;
500
-
501
- var _ref6 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
502
- _ref6$clearAttachment = _ref6.clearAttachments,
503
- clearAttachments = _ref6$clearAttachment === void 0 ? false : _ref6$clearAttachment,
504
- _ref6$resizeAttachmen = _ref6.resizeAttachments,
505
- resizeAttachments = _ref6$resizeAttachmen === void 0 ? true : _ref6$resizeAttachmen;
506
-
507
- var newAttachments = {};
508
-
509
- if (clearAttachments) {
510
- Object.keys(this.attachments).forEach(function (key) {
511
- newAttachments[key] = null;
512
- });
513
- }
514
-
515
- Object.assign(newAttachments, attachments);
516
- var prevHandle = this.gl.bindFramebuffer(_constants.default.FRAMEBUFFER, this.handle);
517
-
518
- for (var key in newAttachments) {
519
- (0, _api.assert)(key !== undefined, 'Misspelled framebuffer binding point?');
520
- var attachment = Number(key);
521
- var descriptor = newAttachments[attachment];
522
- var object = descriptor;
523
-
524
- if (!object) {
525
- this._unattach(attachment);
526
- } else {
527
- object = this._attachOne(attachment, object);
528
- this.attachments[attachment] = object;
529
- }
530
-
531
- if (resizeAttachments && object) {
532
- object.resize({
533
- width: this.width,
534
- height: this.height
535
- });
536
- }
537
- }
538
-
539
- this.gl.bindFramebuffer(_constants.default.FRAMEBUFFER, prevHandle || null);
540
- Object.assign(this.attachments, attachments);
541
- Object.keys(this.attachments).filter(function (key) {
542
- return !_this3.attachments[key];
543
- }).forEach(function (key) {
544
- delete _this3.attachments[key];
545
- });
546
- }
547
- }, {
548
- key: "clear",
549
- value: function clear(options) {
550
- var _this4 = this;
551
-
552
- var color = options.color,
553
- depth = options.depth,
554
- stencil = options.stencil,
555
- _options$drawBuffers = options.drawBuffers,
556
- drawBuffers = _options$drawBuffers === void 0 ? [] : _options$drawBuffers;
557
- var prevHandle = this.gl.bindFramebuffer(_constants.default.FRAMEBUFFER, this.handle);
558
-
559
- if (color || depth || stencil) {
560
- (0, _clear2.clear)(this.gl, {
561
- color: color,
562
- depth: depth,
563
- stencil: stencil
564
- });
565
- }
566
-
567
- drawBuffers.forEach(function (value, drawBuffer) {
568
- (0, _clear2.clearBuffer)(_this4.gl, {
569
- drawBuffer: drawBuffer,
570
- value: value
571
- });
572
- });
573
- this.gl.bindFramebuffer(_constants.default.FRAMEBUFFER, prevHandle || null);
574
- return this;
575
- }
576
- }, {
577
- key: "blit",
578
- value: function blit() {
579
- var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
580
-
581
- _api.log.error('Framebuffer.blit({...}) is no logner supported, use blit(source, target, opts)')();
582
-
583
- return null;
584
- }
585
- }, {
586
- key: "invalidate",
587
- value: function invalidate(options) {
588
- var _options$attachments3 = options.attachments,
589
- attachments = _options$attachments3 === void 0 ? [] : _options$attachments3,
590
- _options$x = options.x,
591
- x = _options$x === void 0 ? 0 : _options$x,
592
- _options$y = options.y,
593
- y = _options$y === void 0 ? 0 : _options$y,
594
- width = options.width,
595
- height = options.height;
596
- var gl2 = (0, _webglChecks.assertWebGL2Context)(this.gl);
597
- var prevHandle = gl2.bindFramebuffer(_constants.default.READ_FRAMEBUFFER, this.handle);
598
- var invalidateAll = x === 0 && y === 0 && width === undefined && height === undefined;
599
-
600
- if (invalidateAll) {
601
- gl2.invalidateFramebuffer(_constants.default.READ_FRAMEBUFFER, attachments);
602
- } else {
603
- gl2.invalidateFramebuffer(_constants.default.READ_FRAMEBUFFER, attachments, x, y, width, height);
604
- }
605
-
606
- gl2.bindFramebuffer(_constants.default.READ_FRAMEBUFFER, prevHandle);
607
- return this;
608
- }
609
- }, {
610
- key: "getAttachmentParameter",
611
- value: function getAttachmentParameter(attachment, pname, keys) {
612
- var value = this._getAttachmentParameterFallback(pname);
613
-
614
- if (value === null) {
615
- this.gl.bindFramebuffer(_constants.default.FRAMEBUFFER, this.handle);
616
- value = this.gl.getFramebufferAttachmentParameter(_constants.default.FRAMEBUFFER, attachment, pname);
617
- this.gl.bindFramebuffer(_constants.default.FRAMEBUFFER, null);
618
- }
619
-
620
- if (keys && value > 1000) {
621
- value = (0, _constantsToKeys.getKey)(this.gl, value);
622
- }
623
-
624
- return value;
625
- }
626
- }, {
627
- key: "getAttachmentParameters",
628
- value: function getAttachmentParameters() {
629
- var attachment = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : _constants.default.COLOR_ATTACHMENT0;
630
- var keys = arguments.length > 1 ? arguments[1] : undefined;
631
- var parameters = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : this.constructor.ATTACHMENT_PARAMETERS || [];
632
- var values = {};
633
-
634
- var _iterator2 = _createForOfIteratorHelper(parameters),
635
- _step2;
636
-
637
- try {
638
- for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
639
- var pname = _step2.value;
640
- var key = keys ? (0, _constantsToKeys.getKey)(this.gl, pname) : pname;
641
- values[key] = this.getAttachmentParameter(attachment, pname, keys);
642
- }
643
- } catch (err) {
644
- _iterator2.e(err);
645
- } finally {
646
- _iterator2.f();
647
- }
648
-
649
- return values;
650
- }
651
- }, {
652
- key: "getParameters",
653
- value: function getParameters() {
654
- var keys = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
655
- var attachments = Object.keys(this.attachments);
656
- var parameters = {};
657
-
658
- for (var _i = 0, _attachments = attachments; _i < _attachments.length; _i++) {
659
- var attachmentName = _attachments[_i];
660
- var attachment = Number(attachmentName);
661
- var key = keys ? (0, _constantsToKeys.getKey)(this.gl, attachment) : attachment;
662
- parameters[key] = this.getAttachmentParameters(attachment, keys);
663
- }
664
-
665
- return parameters;
666
- }
667
- }, {
668
- key: "_createDefaultAttachments",
669
- value: function _createDefaultAttachments(color, depth, stencil, width, height) {
670
- var defaultAttachments = null;
671
-
672
- if (color) {
673
- var _parameters;
674
-
675
- defaultAttachments = defaultAttachments || {};
676
- defaultAttachments[_constants.default.COLOR_ATTACHMENT0] = new _texture2d.default(this.gl, {
677
- id: "".concat(this.id, "-color0"),
678
- pixels: null,
679
- format: _constants.default.RGBA,
680
- type: _constants.default.UNSIGNED_BYTE,
681
- width: width,
682
- height: height,
683
- mipmaps: false,
684
- parameters: (_parameters = {}, (0, _defineProperty2.default)(_parameters, _constants.default.TEXTURE_MIN_FILTER, _constants.default.LINEAR), (0, _defineProperty2.default)(_parameters, _constants.default.TEXTURE_MAG_FILTER, _constants.default.LINEAR), (0, _defineProperty2.default)(_parameters, _constants.default.TEXTURE_WRAP_S, _constants.default.CLAMP_TO_EDGE), (0, _defineProperty2.default)(_parameters, _constants.default.TEXTURE_WRAP_T, _constants.default.CLAMP_TO_EDGE), _parameters)
685
- });
686
- this.ownResources.push(defaultAttachments[_constants.default.COLOR_ATTACHMENT0]);
687
- }
688
-
689
- if (depth && stencil) {
690
- defaultAttachments = defaultAttachments || {};
691
- defaultAttachments[_constants.default.DEPTH_STENCIL_ATTACHMENT] = new _renderbuffer.default(this.gl, {
692
- id: "".concat(this.id, "-depth-stencil"),
693
- format: _constants.default.DEPTH24_STENCIL8,
694
- width: width,
695
- height: 111
696
- });
697
- this.ownResources.push(defaultAttachments[_constants.default.DEPTH_STENCIL_ATTACHMENT]);
698
- } else if (depth) {
699
- defaultAttachments = defaultAttachments || {};
700
- defaultAttachments[_constants.default.DEPTH_ATTACHMENT] = new _renderbuffer.default(this.gl, {
701
- id: "".concat(this.id, "-depth"),
702
- format: _constants.default.DEPTH_COMPONENT16,
703
- width: width,
704
- height: height
705
- });
706
- this.ownResources.push(defaultAttachments[_constants.default.DEPTH_ATTACHMENT]);
707
- } else if (stencil) {
708
- (0, _api.assert)(false);
709
- }
710
-
711
- return defaultAttachments;
712
- }
713
- }, {
714
- key: "_unattach",
715
- value: function _unattach(attachment) {
716
- var oldAttachment = this.attachments[attachment];
717
-
718
- if (!oldAttachment) {
719
- return;
720
- }
721
-
722
- if (oldAttachment instanceof _renderbuffer.default) {
723
- this.gl.framebufferRenderbuffer(_constants.default.FRAMEBUFFER, attachment, _constants.default.RENDERBUFFER, null);
724
- } else {
725
- this.gl.framebufferTexture2D(_constants.default.FRAMEBUFFER, attachment, _constants.default.TEXTURE_2D, null, 0);
726
- }
727
-
728
- delete this.attachments[attachment];
729
- }
730
- }, {
731
- key: "_getAttachmentParameterFallback",
732
- value: function _getAttachmentParameterFallback(pname) {
733
- var webglDevice = _webglDevice.default.fromContext(this.gl);
734
-
735
- var features = webglDevice.features;
736
-
737
- switch (pname) {
738
- case _constants.default.FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER:
739
- return !features.has('webgl2') ? 0 : null;
740
-
741
- case _constants.default.FRAMEBUFFER_ATTACHMENT_RED_SIZE:
742
- case _constants.default.FRAMEBUFFER_ATTACHMENT_GREEN_SIZE:
743
- case _constants.default.FRAMEBUFFER_ATTACHMENT_BLUE_SIZE:
744
- case _constants.default.FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE:
745
- case _constants.default.FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE:
746
- case _constants.default.FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE:
747
- return !features.has('webgl2') ? 8 : null;
748
-
749
- case _constants.default.FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE:
750
- return !features.has('webgl2') ? _constants.default.UNSIGNED_INT : null;
751
-
752
- case _constants.default.FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING:
753
- return !features.has('webgl2') && !features.has('webgl-color-encoding-srgb') ? _constants.default.LINEAR : null;
754
-
755
- default:
756
- return null;
757
- }
758
- }
759
- }], [{
760
- key: "isSupported",
761
- value: function isSupported(gl, options) {
762
- return isFloatColorBufferSupported(gl, options);
763
- }
764
- }, {
765
- key: "getDefaultFramebuffer",
766
- value: function getDefaultFramebuffer(gl) {
767
- var webglDevice = _webglDevice.default.fromContext(gl);
768
-
769
- webglDevice.defaultFramebuffer = webglDevice.defaultFramebuffer || new Framebuffer(gl, {
770
- id: 'default-framebuffer',
771
- handle: null,
772
- attachments: {}
773
- });
774
- return webglDevice.defaultFramebuffer;
775
- }
776
- }]);
777
- return Framebuffer;
778
- }(ImmutableFramebuffer);
779
-
780
- exports.default = Framebuffer;
781
- (0, _defineProperty2.default)(Framebuffer, "FRAMEBUFFER_ATTACHMENT_PARAMETERS", [_constants.default.FRAMEBUFFER_ATTACHMENT_OBJECT_NAME, _constants.default.FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE, _constants.default.FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING, _constants.default.FRAMEBUFFER_ATTACHMENT_RED_SIZE, _constants.default.FRAMEBUFFER_ATTACHMENT_GREEN_SIZE, _constants.default.FRAMEBUFFER_ATTACHMENT_BLUE_SIZE, _constants.default.FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE, _constants.default.FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE, _constants.default.FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE]);
782
-
783
- function mapIndexToCubeMapFace(layer) {
784
- return layer < _constants.default.TEXTURE_CUBE_MAP_POSITIVE_X ? layer + _constants.default.TEXTURE_CUBE_MAP_POSITIVE_X : layer;
785
- }
786
-
787
- function _getFrameBufferStatus(status) {
788
- var STATUS = Framebuffer.STATUS || {};
789
- return STATUS[status] || "Framebuffer error ".concat(status);
790
- }
791
-
792
- function isFloatColorBufferSupported(gl, options) {
793
- var colorBufferFloat = options.colorBufferFloat,
794
- colorBufferHalfFloat = options.colorBufferHalfFloat;
795
- var supported = true;
796
-
797
- if (colorBufferFloat) {
798
- supported = Boolean(gl.getExtension('EXT_color_buffer_float') || gl.getExtension('WEBGL_color_buffer_float') || gl.getExtension('OES_texture_float'));
799
- }
800
-
801
- if (colorBufferHalfFloat) {
802
- supported = supported && Boolean(gl.getExtension('EXT_color_buffer_float') || gl.getExtension('EXT_color_buffer_half_float'));
803
- }
804
-
805
- return supported;
806
- }
807
- //# sourceMappingURL=framebuffer.js.map