@luma.gl/webgl 8.6.0-alpha.5 → 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 (749) hide show
  1. package/README.md +3 -67
  2. package/dist/adapter/converters/device-parameters.d.ts +17 -0
  3. package/dist/adapter/converters/device-parameters.d.ts.map +1 -0
  4. package/dist/adapter/converters/{set-device-parameters.js → device-parameters.js} +36 -5
  5. package/dist/adapter/converters/device-parameters.js.map +1 -0
  6. package/dist/{classes → adapter/converters}/renderbuffer-formats.d.ts +0 -0
  7. package/dist/adapter/converters/renderbuffer-formats.d.ts.map +1 -0
  8. package/dist/{classes → adapter/converters}/renderbuffer-formats.js +1 -1
  9. package/dist/adapter/converters/renderbuffer-formats.js.map +1 -0
  10. package/dist/adapter/converters/sampler-parameters.d.ts +19 -0
  11. package/dist/adapter/converters/sampler-parameters.d.ts.map +1 -0
  12. package/dist/adapter/converters/sampler-parameters.js +208 -0
  13. package/dist/adapter/converters/sampler-parameters.js.map +1 -0
  14. package/dist/adapter/converters/texture-formats.d.ts +93 -0
  15. package/dist/adapter/converters/texture-formats.d.ts.map +1 -0
  16. package/dist/adapter/converters/texture-formats.js +954 -0
  17. package/dist/adapter/converters/texture-formats.js.map +1 -0
  18. package/dist/adapter/converters/vertex-formats.d.ts +4 -0
  19. package/dist/adapter/converters/vertex-formats.d.ts.map +1 -0
  20. package/dist/adapter/converters/vertex-formats.js +35 -0
  21. package/dist/adapter/converters/vertex-formats.js.map +1 -0
  22. package/dist/adapter/device-helpers/device-features.d.ts +3 -6
  23. package/dist/adapter/device-helpers/device-features.d.ts.map +1 -1
  24. package/dist/adapter/device-helpers/device-features.js +27 -48
  25. package/dist/adapter/device-helpers/device-features.js.map +1 -1
  26. package/dist/adapter/device-helpers/device-limits.d.ts +1 -0
  27. package/dist/adapter/device-helpers/device-limits.d.ts.map +1 -1
  28. package/dist/adapter/device-helpers/device-limits.js +1 -0
  29. package/dist/adapter/device-helpers/device-limits.js.map +1 -1
  30. package/dist/adapter/device-helpers/get-device-info.js +7 -7
  31. package/dist/adapter/device-helpers/get-device-info.js.map +1 -1
  32. package/dist/adapter/helpers/attribute-utils.d.ts +11 -0
  33. package/dist/adapter/helpers/attribute-utils.d.ts.map +1 -0
  34. package/dist/adapter/helpers/attribute-utils.js +81 -0
  35. package/dist/adapter/helpers/attribute-utils.js.map +1 -0
  36. package/dist/adapter/helpers/get-shader-layout.d.ts +55 -0
  37. package/dist/adapter/helpers/get-shader-layout.d.ts.map +1 -0
  38. package/dist/adapter/helpers/get-shader-layout.js +306 -0
  39. package/dist/adapter/helpers/get-shader-layout.js.map +1 -0
  40. package/dist/{webgl-utils → adapter/helpers}/parse-shader-compiler-log.d.ts +0 -0
  41. package/dist/adapter/helpers/parse-shader-compiler-log.d.ts.map +1 -0
  42. package/dist/{esm/webgl-utils → adapter/helpers}/parse-shader-compiler-log.js +0 -0
  43. package/dist/adapter/helpers/parse-shader-compiler-log.js.map +1 -0
  44. package/dist/adapter/helpers/set-uniform.d.ts +4 -0
  45. package/dist/adapter/helpers/set-uniform.d.ts.map +1 -0
  46. package/dist/adapter/helpers/set-uniform.js +115 -0
  47. package/dist/adapter/helpers/set-uniform.js.map +1 -0
  48. package/dist/adapter/helpers/uniforms.d.ts +26 -0
  49. package/dist/adapter/helpers/uniforms.d.ts.map +1 -0
  50. package/dist/adapter/helpers/uniforms.js +99 -0
  51. package/dist/adapter/helpers/uniforms.js.map +1 -0
  52. package/dist/adapter/objects/constants-to-keys.d.ts +5 -0
  53. package/dist/adapter/objects/constants-to-keys.d.ts.map +1 -0
  54. package/dist/{esm/webgl-utils → adapter/objects}/constants-to-keys.js +1 -0
  55. package/dist/adapter/objects/constants-to-keys.js.map +1 -0
  56. package/dist/adapter/objects/webgl-renderbuffer.d.ts +40 -0
  57. package/dist/adapter/objects/webgl-renderbuffer.d.ts.map +1 -0
  58. package/dist/{esm/classes/renderbuffer.js → adapter/objects/webgl-renderbuffer.js} +38 -72
  59. package/dist/adapter/objects/webgl-renderbuffer.js.map +1 -0
  60. package/dist/{classes → adapter/objects}/webgl-resource.d.ts +15 -14
  61. package/dist/adapter/objects/webgl-resource.d.ts.map +1 -0
  62. package/dist/{classes → adapter/objects}/webgl-resource.js +7 -3
  63. package/dist/adapter/objects/webgl-resource.js.map +1 -0
  64. package/dist/adapter/objects/webgl-vertex-array-object.d.ts +27 -0
  65. package/dist/adapter/objects/webgl-vertex-array-object.d.ts.map +1 -0
  66. package/dist/adapter/objects/webgl-vertex-array-object.js +84 -0
  67. package/dist/adapter/objects/webgl-vertex-array-object.js.map +1 -0
  68. package/dist/adapter/resources/webgl-buffer.d.ts +27 -0
  69. package/dist/adapter/resources/webgl-buffer.d.ts.map +1 -0
  70. package/dist/adapter/resources/webgl-buffer.js +164 -0
  71. package/dist/adapter/resources/webgl-buffer.js.map +1 -0
  72. package/dist/adapter/resources/webgl-command-buffer.d.ts +25 -0
  73. package/dist/adapter/resources/webgl-command-buffer.d.ts.map +1 -0
  74. package/dist/adapter/resources/webgl-command-buffer.js +65 -0
  75. package/dist/adapter/resources/webgl-command-buffer.js.map +1 -0
  76. package/dist/adapter/resources/webgl-command-encoder.d.ts +18 -0
  77. package/dist/adapter/resources/webgl-command-encoder.d.ts.map +1 -0
  78. package/dist/adapter/resources/webgl-command-encoder.js +53 -0
  79. package/dist/adapter/resources/webgl-command-encoder.js.map +1 -0
  80. package/dist/adapter/resources/webgl-external-texture.d.ts +1 -0
  81. package/dist/adapter/resources/webgl-external-texture.d.ts.map +1 -0
  82. package/dist/adapter/resources/webgl-external-texture.js +2 -0
  83. package/dist/{es5/helpers/program-bindings.js.map → adapter/resources/webgl-external-texture.js.map} +1 -1
  84. package/dist/adapter/resources/webgl-framebuffer.d.ts +40 -0
  85. package/dist/adapter/resources/webgl-framebuffer.d.ts.map +1 -0
  86. package/dist/adapter/resources/webgl-framebuffer.js +265 -0
  87. package/dist/adapter/resources/webgl-framebuffer.js.map +1 -0
  88. package/dist/adapter/resources/webgl-render-pass.d.ts +11 -0
  89. package/dist/adapter/resources/webgl-render-pass.d.ts.map +1 -0
  90. package/dist/adapter/resources/webgl-render-pass.js +19 -0
  91. package/dist/adapter/resources/webgl-render-pass.js.map +1 -0
  92. package/dist/adapter/resources/webgl-render-pipeline.d.ts +55 -0
  93. package/dist/adapter/resources/webgl-render-pipeline.d.ts.map +1 -0
  94. package/dist/adapter/resources/webgl-render-pipeline.js +400 -0
  95. package/dist/adapter/resources/webgl-render-pipeline.js.map +1 -0
  96. package/dist/adapter/resources/webgl-sampler.d.ts +20 -0
  97. package/dist/adapter/resources/webgl-sampler.d.ts.map +1 -0
  98. package/dist/adapter/resources/webgl-sampler.js +50 -0
  99. package/dist/adapter/resources/webgl-sampler.js.map +1 -0
  100. package/dist/adapter/{webgl-shader.d.ts → resources/webgl-shader.d.ts} +3 -6
  101. package/dist/adapter/resources/webgl-shader.d.ts.map +1 -0
  102. package/dist/{esm/adapter → adapter/resources}/webgl-shader.js +13 -20
  103. package/dist/adapter/resources/webgl-shader.js.map +1 -0
  104. package/dist/adapter/resources/webgl-texture.d.ts +193 -0
  105. package/dist/adapter/resources/webgl-texture.d.ts.map +1 -0
  106. package/dist/{classes/texture.js → adapter/resources/webgl-texture.js} +274 -229
  107. package/dist/adapter/resources/webgl-texture.js.map +1 -0
  108. package/dist/adapter/webgl-canvas-context.d.ts +36 -0
  109. package/dist/adapter/webgl-canvas-context.d.ts.map +1 -0
  110. package/dist/adapter/webgl-canvas-context.js +54 -0
  111. package/dist/adapter/webgl-canvas-context.js.map +1 -0
  112. package/dist/adapter/webgl-device.d.ts +58 -76
  113. package/dist/adapter/webgl-device.d.ts.map +1 -1
  114. package/dist/adapter/webgl-device.js +184 -111
  115. package/dist/adapter/webgl-device.js.map +1 -1
  116. package/dist/classic/accessor.d.ts +32 -0
  117. package/dist/classic/accessor.d.ts.map +1 -0
  118. package/dist/{classes → classic}/accessor.js +33 -1
  119. package/dist/classic/accessor.js.map +1 -0
  120. package/dist/{classes/webgl-buffer.d.ts → classic/buffer.d.ts} +28 -33
  121. package/dist/classic/buffer.d.ts.map +1 -0
  122. package/dist/{esm/classes/webgl-buffer.js → classic/buffer.js} +53 -51
  123. package/dist/classic/buffer.js.map +1 -0
  124. package/dist/{webgl-utils → classic}/typed-array-utils.d.ts +3 -2
  125. package/dist/classic/typed-array-utils.d.ts.map +1 -0
  126. package/dist/{esm/webgl-utils → classic}/typed-array-utils.js +0 -0
  127. package/dist/classic/typed-array-utils.js.map +1 -0
  128. package/dist/context/context/context-state.d.ts.map +1 -1
  129. package/dist/context/context/context-state.js +1 -1
  130. package/dist/context/context/context-state.js.map +1 -1
  131. package/dist/context/context/create-context.d.ts +1 -0
  132. package/dist/context/context/create-context.d.ts.map +1 -1
  133. package/dist/context/context/create-context.js +12 -0
  134. package/dist/context/context/create-context.js.map +1 -1
  135. package/dist/context/context/device-pixels.d.ts +1 -1
  136. package/dist/context/context/device-pixels.d.ts.map +1 -1
  137. package/dist/context/context/device-pixels.js.map +1 -1
  138. package/dist/context/debug/spector.d.ts +18 -0
  139. package/dist/context/debug/spector.d.ts.map +1 -0
  140. package/dist/context/debug/spector.js +76 -0
  141. package/dist/context/debug/spector.js.map +1 -0
  142. package/dist/context/debug/webgl-developer-tools.d.ts +19 -0
  143. package/dist/context/debug/webgl-developer-tools.d.ts.map +1 -0
  144. package/dist/context/debug/webgl-developer-tools.js +121 -0
  145. package/dist/context/debug/webgl-developer-tools.js.map +1 -0
  146. package/dist/context/parameters/unified-parameter-api.d.ts +3 -2
  147. package/dist/context/parameters/unified-parameter-api.d.ts.map +1 -1
  148. package/dist/context/parameters/unified-parameter-api.js +4 -4
  149. package/dist/context/parameters/unified-parameter-api.js.map +1 -1
  150. package/dist/context/parameters/webgl-parameter-tables.d.ts +40 -36
  151. package/dist/context/parameters/webgl-parameter-tables.d.ts.map +1 -1
  152. package/dist/context/parameters/webgl-parameter-tables.js.map +1 -1
  153. package/dist/context/polyfill/get-parameter-polyfill.js.map +1 -1
  154. package/dist/context/polyfill/polyfill-context.js +4 -3
  155. package/dist/context/polyfill/polyfill-context.js.map +1 -1
  156. package/dist/context/state-tracker/deep-array-equal.d.ts.map +1 -1
  157. package/dist/context/state-tracker/deep-array-equal.js.map +1 -1
  158. package/dist/context/state-tracker/track-context-state.d.ts.map +1 -1
  159. package/dist/context/state-tracker/track-context-state.js +25 -11
  160. package/dist/context/state-tracker/track-context-state.js.map +1 -1
  161. package/dist/es5/adapter/converters/{set-device-parameters.js → device-parameters.js} +37 -5
  162. package/dist/es5/adapter/converters/device-parameters.js.map +1 -0
  163. package/dist/es5/{classes → adapter/converters}/renderbuffer-formats.js +1 -1
  164. package/dist/es5/adapter/converters/renderbuffer-formats.js.map +1 -0
  165. package/dist/es5/adapter/converters/sampler-parameters.js +226 -0
  166. package/dist/es5/adapter/converters/sampler-parameters.js.map +1 -0
  167. package/dist/es5/adapter/converters/texture-formats.js +1031 -0
  168. package/dist/es5/adapter/converters/texture-formats.js.map +1 -0
  169. package/dist/es5/adapter/converters/vertex-formats.js +45 -0
  170. package/dist/es5/adapter/converters/vertex-formats.js.map +1 -0
  171. package/dist/es5/adapter/device-helpers/device-features.js +46 -54
  172. package/dist/es5/adapter/device-helpers/device-features.js.map +1 -1
  173. package/dist/es5/adapter/device-helpers/device-limits.js +1 -1
  174. package/dist/es5/adapter/device-helpers/device-limits.js.map +1 -1
  175. package/dist/es5/adapter/device-helpers/get-device-info.js +7 -7
  176. package/dist/es5/adapter/device-helpers/get-device-info.js.map +1 -1
  177. package/dist/es5/adapter/helpers/attribute-utils.js +91 -0
  178. package/dist/es5/adapter/helpers/attribute-utils.js.map +1 -0
  179. package/dist/es5/{helpers/get-program-bindings.js → adapter/helpers/get-shader-layout.js} +184 -87
  180. package/dist/es5/adapter/helpers/get-shader-layout.js.map +1 -0
  181. package/dist/es5/{webgl-utils → adapter/helpers}/parse-shader-compiler-log.js +0 -0
  182. package/dist/es5/adapter/helpers/parse-shader-compiler-log.js.map +1 -0
  183. package/dist/es5/adapter/helpers/set-uniform.js +125 -0
  184. package/dist/es5/adapter/helpers/set-uniform.js.map +1 -0
  185. package/dist/es5/adapter/helpers/uniforms.js +112 -0
  186. package/dist/es5/adapter/helpers/uniforms.js.map +1 -0
  187. package/dist/es5/{webgl-utils → adapter/objects}/constants-to-keys.js +1 -0
  188. package/dist/es5/adapter/objects/constants-to-keys.js.map +1 -0
  189. package/dist/es5/{classes/renderbuffer.js → adapter/objects/webgl-renderbuffer.js} +48 -98
  190. package/dist/es5/adapter/objects/webgl-renderbuffer.js.map +1 -0
  191. package/dist/es5/{classes → adapter/objects}/webgl-resource.js +8 -3
  192. package/dist/es5/adapter/objects/webgl-resource.js.map +1 -0
  193. package/dist/es5/adapter/objects/webgl-vertex-array-object.js +137 -0
  194. package/dist/es5/adapter/objects/webgl-vertex-array-object.js.map +1 -0
  195. package/dist/es5/adapter/resources/webgl-buffer.js +243 -0
  196. package/dist/es5/adapter/resources/webgl-buffer.js.map +1 -0
  197. package/dist/es5/adapter/resources/webgl-command-buffer.js +96 -0
  198. package/dist/es5/adapter/resources/webgl-command-buffer.js.map +1 -0
  199. package/dist/es5/adapter/resources/webgl-command-encoder.js +98 -0
  200. package/dist/es5/adapter/resources/webgl-command-encoder.js.map +1 -0
  201. package/dist/es5/adapter/resources/webgl-external-texture.js +2 -0
  202. package/dist/{esm/helpers/program-bindings.js.map → es5/adapter/resources/webgl-external-texture.js.map} +1 -1
  203. package/dist/es5/adapter/resources/webgl-framebuffer.js +345 -0
  204. package/dist/es5/adapter/resources/webgl-framebuffer.js.map +1 -0
  205. package/dist/es5/{classes/texture-2d.js → adapter/resources/webgl-render-pass.js} +25 -45
  206. package/dist/es5/adapter/resources/webgl-render-pass.js.map +1 -0
  207. package/dist/es5/adapter/resources/webgl-render-pipeline.js +505 -0
  208. package/dist/es5/adapter/resources/webgl-render-pipeline.js.map +1 -0
  209. package/dist/es5/adapter/resources/webgl-sampler.js +96 -0
  210. package/dist/es5/adapter/resources/webgl-sampler.js.map +1 -0
  211. package/dist/es5/adapter/{webgl-shader.js → resources/webgl-shader.js} +12 -18
  212. package/dist/es5/adapter/resources/webgl-shader.js.map +1 -0
  213. package/dist/es5/{classes/texture.js → adapter/resources/webgl-texture.js} +336 -260
  214. package/dist/es5/adapter/resources/webgl-texture.js.map +1 -0
  215. package/dist/es5/adapter/webgl-canvas-context.js +97 -0
  216. package/dist/es5/adapter/webgl-canvas-context.js.map +1 -0
  217. package/dist/es5/adapter/webgl-device.js +253 -133
  218. package/dist/es5/adapter/webgl-device.js.map +1 -1
  219. package/dist/es5/{classes → classic}/accessor.js +25 -1
  220. package/dist/es5/classic/accessor.js.map +1 -0
  221. package/dist/es5/{classes/webgl-buffer.js → classic/buffer.js} +74 -66
  222. package/dist/es5/classic/buffer.js.map +1 -0
  223. package/dist/es5/{webgl-utils → classic}/typed-array-utils.js +0 -0
  224. package/dist/es5/classic/typed-array-utils.js.map +1 -0
  225. package/dist/es5/context/context/context-state.js +1 -1
  226. package/dist/es5/context/context/context-state.js.map +1 -1
  227. package/dist/es5/context/context/create-context.js +12 -0
  228. package/dist/es5/context/context/create-context.js.map +1 -1
  229. package/dist/es5/context/context/device-pixels.js.map +1 -1
  230. package/dist/es5/context/debug/spector.js +133 -0
  231. package/dist/es5/context/debug/spector.js.map +1 -0
  232. package/dist/es5/context/debug/webgl-developer-tools.js +198 -0
  233. package/dist/es5/context/debug/webgl-developer-tools.js.map +1 -0
  234. package/dist/es5/context/parameters/unified-parameter-api.js +7 -5
  235. package/dist/es5/context/parameters/unified-parameter-api.js.map +1 -1
  236. package/dist/es5/context/parameters/webgl-parameter-tables.js.map +1 -1
  237. package/dist/es5/context/polyfill/get-parameter-polyfill.js.map +1 -1
  238. package/dist/es5/context/polyfill/polyfill-context.js +4 -3
  239. package/dist/es5/context/polyfill/polyfill-context.js.map +1 -1
  240. package/dist/es5/context/state-tracker/deep-array-equal.js.map +1 -1
  241. package/dist/es5/context/state-tracker/track-context-state.js +26 -11
  242. package/dist/es5/context/state-tracker/track-context-state.js.map +1 -1
  243. package/dist/es5/index.js +65 -307
  244. package/dist/es5/index.js.map +1 -1
  245. package/dist/es5/init.js +1 -41
  246. package/dist/es5/init.js.map +1 -1
  247. package/dist/es5/{context/parameters/webgl-parameters.js → types/webgl.js} +1 -1
  248. package/dist/es5/types/webgl.js.map +1 -0
  249. package/dist/esm/adapter/converters/{set-device-parameters.js → device-parameters.js} +36 -5
  250. package/dist/esm/adapter/converters/device-parameters.js.map +1 -0
  251. package/dist/esm/{classes → adapter/converters}/renderbuffer-formats.js +1 -1
  252. package/dist/esm/adapter/converters/renderbuffer-formats.js.map +1 -0
  253. package/dist/esm/adapter/converters/sampler-parameters.js +208 -0
  254. package/dist/esm/adapter/converters/sampler-parameters.js.map +1 -0
  255. package/dist/esm/adapter/converters/texture-formats.js +954 -0
  256. package/dist/esm/adapter/converters/texture-formats.js.map +1 -0
  257. package/dist/esm/adapter/converters/vertex-formats.js +35 -0
  258. package/dist/esm/adapter/converters/vertex-formats.js.map +1 -0
  259. package/dist/esm/adapter/device-helpers/device-features.js +27 -48
  260. package/dist/esm/adapter/device-helpers/device-features.js.map +1 -1
  261. package/dist/esm/adapter/device-helpers/device-limits.js +1 -0
  262. package/dist/esm/adapter/device-helpers/device-limits.js.map +1 -1
  263. package/dist/esm/adapter/device-helpers/get-device-info.js +7 -7
  264. package/dist/esm/adapter/device-helpers/get-device-info.js.map +1 -1
  265. package/dist/esm/adapter/helpers/attribute-utils.js +81 -0
  266. package/dist/esm/adapter/helpers/attribute-utils.js.map +1 -0
  267. package/dist/esm/adapter/helpers/get-shader-layout.js +306 -0
  268. package/dist/esm/adapter/helpers/get-shader-layout.js.map +1 -0
  269. package/dist/{webgl-utils → esm/adapter/helpers}/parse-shader-compiler-log.js +0 -0
  270. package/dist/esm/adapter/helpers/parse-shader-compiler-log.js.map +1 -0
  271. package/dist/esm/adapter/helpers/set-uniform.js +115 -0
  272. package/dist/esm/adapter/helpers/set-uniform.js.map +1 -0
  273. package/dist/esm/adapter/helpers/uniforms.js +99 -0
  274. package/dist/esm/adapter/helpers/uniforms.js.map +1 -0
  275. package/dist/{webgl-utils → esm/adapter/objects}/constants-to-keys.js +1 -0
  276. package/dist/esm/adapter/objects/constants-to-keys.js.map +1 -0
  277. package/dist/{classes/renderbuffer.js → esm/adapter/objects/webgl-renderbuffer.js} +38 -72
  278. package/dist/esm/adapter/objects/webgl-renderbuffer.js.map +1 -0
  279. package/dist/esm/{classes → adapter/objects}/webgl-resource.js +7 -3
  280. package/dist/esm/adapter/objects/webgl-resource.js.map +1 -0
  281. package/dist/esm/adapter/objects/webgl-vertex-array-object.js +84 -0
  282. package/dist/esm/adapter/objects/webgl-vertex-array-object.js.map +1 -0
  283. package/dist/esm/adapter/resources/webgl-buffer.js +164 -0
  284. package/dist/esm/adapter/resources/webgl-buffer.js.map +1 -0
  285. package/dist/esm/adapter/resources/webgl-command-buffer.js +65 -0
  286. package/dist/esm/adapter/resources/webgl-command-buffer.js.map +1 -0
  287. package/dist/esm/adapter/resources/webgl-command-encoder.js +53 -0
  288. package/dist/esm/adapter/resources/webgl-command-encoder.js.map +1 -0
  289. package/dist/esm/adapter/resources/webgl-external-texture.js +2 -0
  290. package/dist/{helpers/program-bindings.js.map → esm/adapter/resources/webgl-external-texture.js.map} +1 -1
  291. package/dist/esm/adapter/resources/webgl-framebuffer.js +265 -0
  292. package/dist/esm/adapter/resources/webgl-framebuffer.js.map +1 -0
  293. package/dist/esm/adapter/resources/webgl-render-pass.js +19 -0
  294. package/dist/esm/adapter/resources/webgl-render-pass.js.map +1 -0
  295. package/dist/esm/adapter/resources/webgl-render-pipeline.js +400 -0
  296. package/dist/esm/adapter/resources/webgl-render-pipeline.js.map +1 -0
  297. package/dist/esm/adapter/resources/webgl-sampler.js +50 -0
  298. package/dist/esm/adapter/resources/webgl-sampler.js.map +1 -0
  299. package/dist/{adapter → esm/adapter/resources}/webgl-shader.js +13 -20
  300. package/dist/esm/adapter/resources/webgl-shader.js.map +1 -0
  301. package/dist/esm/{classes/texture.js → adapter/resources/webgl-texture.js} +274 -229
  302. package/dist/esm/adapter/resources/webgl-texture.js.map +1 -0
  303. package/dist/esm/adapter/webgl-canvas-context.js +54 -0
  304. package/dist/esm/adapter/webgl-canvas-context.js.map +1 -0
  305. package/dist/esm/adapter/webgl-device.js +184 -111
  306. package/dist/esm/adapter/webgl-device.js.map +1 -1
  307. package/dist/esm/{classes → classic}/accessor.js +33 -1
  308. package/dist/esm/classic/accessor.js.map +1 -0
  309. package/dist/{classes/webgl-buffer.js → esm/classic/buffer.js} +53 -51
  310. package/dist/esm/classic/buffer.js.map +1 -0
  311. package/dist/{webgl-utils → esm/classic}/typed-array-utils.js +0 -0
  312. package/dist/esm/classic/typed-array-utils.js.map +1 -0
  313. package/dist/esm/context/context/context-state.js +1 -1
  314. package/dist/esm/context/context/context-state.js.map +1 -1
  315. package/dist/esm/context/context/create-context.js +12 -0
  316. package/dist/esm/context/context/create-context.js.map +1 -1
  317. package/dist/esm/context/context/device-pixels.js.map +1 -1
  318. package/dist/esm/context/debug/spector.js +76 -0
  319. package/dist/esm/context/debug/spector.js.map +1 -0
  320. package/dist/esm/context/debug/webgl-developer-tools.js +121 -0
  321. package/dist/esm/context/debug/webgl-developer-tools.js.map +1 -0
  322. package/dist/esm/context/parameters/unified-parameter-api.js +4 -4
  323. package/dist/esm/context/parameters/unified-parameter-api.js.map +1 -1
  324. package/dist/esm/context/parameters/webgl-parameter-tables.js.map +1 -1
  325. package/dist/esm/context/polyfill/get-parameter-polyfill.js.map +1 -1
  326. package/dist/esm/context/polyfill/polyfill-context.js +4 -3
  327. package/dist/esm/context/polyfill/polyfill-context.js.map +1 -1
  328. package/dist/esm/context/state-tracker/deep-array-equal.js.map +1 -1
  329. package/dist/esm/context/state-tracker/track-context-state.js +25 -11
  330. package/dist/esm/context/state-tracker/track-context-state.js.map +1 -1
  331. package/dist/esm/index.js +19 -31
  332. package/dist/esm/index.js.map +1 -1
  333. package/dist/esm/init.js +2 -31
  334. package/dist/esm/init.js.map +1 -1
  335. package/dist/esm/types/webgl.js +2 -0
  336. package/dist/esm/types/webgl.js.map +1 -0
  337. package/dist/index.d.ts +22 -46
  338. package/dist/index.d.ts.map +1 -1
  339. package/dist/index.js +19 -31
  340. package/dist/index.js.map +1 -1
  341. package/dist/init.d.ts +1 -4
  342. package/dist/init.d.ts.map +1 -1
  343. package/dist/init.js +2 -31
  344. package/dist/init.js.map +1 -1
  345. package/dist/types/webgl.d.ts +144 -0
  346. package/dist/types/webgl.d.ts.map +1 -0
  347. package/dist/types/webgl.js +2 -0
  348. package/dist/types/webgl.js.map +1 -0
  349. package/package.json +5 -5
  350. package/src/adapter/converters/{set-device-parameters.ts → device-parameters.ts} +52 -9
  351. package/src/{classes → adapter/converters}/renderbuffer-formats.ts +1 -1
  352. package/src/adapter/converters/sampler-parameters.ts +175 -0
  353. package/src/adapter/converters/texture-formats.ts +633 -0
  354. package/src/adapter/converters/vertex-formats.ts +22 -0
  355. package/src/adapter/device-helpers/device-features.ts +46 -123
  356. package/src/adapter/device-helpers/device-limits.ts +5 -2
  357. package/src/adapter/device-helpers/get-device-info.ts +8 -8
  358. package/src/adapter/helpers/attribute-utils.ts +61 -0
  359. package/src/adapter/helpers/get-shader-layout.ts +388 -0
  360. package/src/{webgl-utils → adapter/helpers}/parse-shader-compiler-log.ts +0 -0
  361. package/src/adapter/helpers/set-uniform.ts +87 -0
  362. package/src/adapter/helpers/uniforms.ts +110 -0
  363. package/src/{webgl-utils → adapter/objects}/constants-to-keys.ts +6 -3
  364. package/src/adapter/objects/webgl-renderbuffer.ts +104 -0
  365. package/src/{classes → adapter/objects}/webgl-resource.ts +23 -17
  366. package/src/adapter/objects/webgl-vertex-array-object.ts +111 -0
  367. package/src/adapter/resources/webgl-buffer.ts +219 -0
  368. package/src/adapter/resources/webgl-command-buffer.ts +94 -0
  369. package/src/adapter/resources/webgl-command-encoder.ts +58 -0
  370. package/src/adapter/resources/webgl-external-texture.ts +92 -0
  371. package/src/adapter/resources/webgl-framebuffer.ts +279 -0
  372. package/src/adapter/resources/webgl-render-pass.ts +23 -0
  373. package/src/adapter/resources/webgl-render-pipeline.ts +413 -0
  374. package/src/adapter/resources/webgl-sampler.ts +54 -0
  375. package/src/adapter/{webgl-shader.ts → resources/webgl-shader.ts} +14 -20
  376. package/src/adapter/resources/webgl-texture.ts +1023 -0
  377. package/src/adapter/webgl-canvas-context.ts +74 -0
  378. package/src/adapter/webgl-device.ts +226 -275
  379. package/{dist/esm/classes/accessor.ts.disabled → src/classic/accessor.ts} +50 -36
  380. package/src/{classes/webgl-buffer.ts → classic/buffer.ts} +69 -77
  381. package/src/{webgl-utils → classic}/typed-array-utils.ts +3 -1
  382. package/src/context/context/context-state.ts +4 -2
  383. package/src/context/context/create-context.ts +28 -1
  384. package/src/context/context/device-pixels.ts +9 -4
  385. package/src/context/debug/spector.ts +92 -0
  386. package/src/context/debug/webgl-developer-tools.ts +162 -0
  387. package/src/context/parameters/unified-parameter-api.ts +6 -4
  388. package/src/context/parameters/webgl-parameter-tables.ts +38 -36
  389. package/src/context/polyfill/get-parameter-polyfill.ts +1 -1
  390. package/src/context/polyfill/polyfill-context.ts +4 -3
  391. package/src/context/state-tracker/deep-array-equal.ts +1 -1
  392. package/src/context/state-tracker/track-context-state.ts +27 -20
  393. package/src/index.ts +33 -102
  394. package/src/init.ts +2 -46
  395. package/src/types/webgl.ts +283 -0
  396. package/dist/_deprecated/context-api.d.ts +0 -85
  397. package/dist/_deprecated/context-api.d.ts.map +0 -1
  398. package/dist/_deprecated/context-api.js +0 -76
  399. package/dist/_deprecated/context-api.js.map +0 -1
  400. package/dist/_deprecated/features.d.ts +0 -27
  401. package/dist/_deprecated/features.d.ts.map +0 -1
  402. package/dist/_deprecated/features.js +0 -111
  403. package/dist/_deprecated/features.js.map +0 -1
  404. package/dist/adapter/converters/set-device-parameters.d.ts +0 -5
  405. package/dist/adapter/converters/set-device-parameters.d.ts.map +0 -1
  406. package/dist/adapter/converters/set-device-parameters.js.map +0 -1
  407. package/dist/adapter/converters/webgpu-texture-formats.d.ts +0 -281
  408. package/dist/adapter/converters/webgpu-texture-formats.d.ts.map +0 -1
  409. package/dist/adapter/converters/webgpu-texture-formats.js +0 -285
  410. package/dist/adapter/converters/webgpu-texture-formats.js.map +0 -1
  411. package/dist/adapter/webgl-shader.d.ts.map +0 -1
  412. package/dist/adapter/webgl-shader.js.map +0 -1
  413. package/dist/classes/accessor.d.ts +0 -28
  414. package/dist/classes/accessor.d.ts.map +0 -1
  415. package/dist/classes/accessor.js.map +0 -1
  416. package/dist/classes/accessor.ts.disabled +0 -159
  417. package/dist/classes/clear.d.ts +0 -17
  418. package/dist/classes/clear.d.ts.map +0 -1
  419. package/dist/classes/clear.js +0 -105
  420. package/dist/classes/clear.js.map +0 -1
  421. package/dist/classes/copy-and-blit.d.ts +0 -86
  422. package/dist/classes/copy-and-blit.d.ts.map +0 -1
  423. package/dist/classes/copy-and-blit.js +0 -338
  424. package/dist/classes/copy-and-blit.js.map +0 -1
  425. package/dist/classes/framebuffer.d.ts +0 -139
  426. package/dist/classes/framebuffer.d.ts.map +0 -1
  427. package/dist/classes/framebuffer.js +0 -656
  428. package/dist/classes/framebuffer.js.map +0 -1
  429. package/dist/classes/program-configuration.d.ts +0 -24
  430. package/dist/classes/program-configuration.d.ts.map +0 -1
  431. package/dist/classes/program-configuration.js +0 -73
  432. package/dist/classes/program-configuration.js.map +0 -1
  433. package/dist/classes/program.d.ts +0 -66
  434. package/dist/classes/program.d.ts.map +0 -1
  435. package/dist/classes/program.js +0 -379
  436. package/dist/classes/program.js.map +0 -1
  437. package/dist/classes/query.d.ts +0 -27
  438. package/dist/classes/query.d.ts.map +0 -1
  439. package/dist/classes/query.js +0 -145
  440. package/dist/classes/query.js.map +0 -1
  441. package/dist/classes/renderbuffer-formats.d.ts.map +0 -1
  442. package/dist/classes/renderbuffer-formats.js.map +0 -1
  443. package/dist/classes/renderbuffer.d.ts +0 -60
  444. package/dist/classes/renderbuffer.d.ts.map +0 -1
  445. package/dist/classes/renderbuffer.js.map +0 -1
  446. package/dist/classes/shader.d.ts +0 -42
  447. package/dist/classes/shader.d.ts.map +0 -1
  448. package/dist/classes/shader.js +0 -118
  449. package/dist/classes/shader.js.map +0 -1
  450. package/dist/classes/texture-2d.d.ts +0 -9
  451. package/dist/classes/texture-2d.d.ts.map +0 -1
  452. package/dist/classes/texture-2d.js +0 -36
  453. package/dist/classes/texture-2d.js.map +0 -1
  454. package/dist/classes/texture-3d.d.ts +0 -29
  455. package/dist/classes/texture-3d.d.ts.map +0 -1
  456. package/dist/classes/texture-3d.js +0 -76
  457. package/dist/classes/texture-3d.js.map +0 -1
  458. package/dist/classes/texture-cube.d.ts +0 -28
  459. package/dist/classes/texture-cube.d.ts.map +0 -1
  460. package/dist/classes/texture-cube.js +0 -130
  461. package/dist/classes/texture-cube.js.map +0 -1
  462. package/dist/classes/texture-formats.d.ts +0 -37
  463. package/dist/classes/texture-formats.d.ts.map +0 -1
  464. package/dist/classes/texture-formats.js +0 -98
  465. package/dist/classes/texture-formats.js.map +0 -1
  466. package/dist/classes/texture.d.ts +0 -123
  467. package/dist/classes/texture.d.ts.map +0 -1
  468. package/dist/classes/texture.js.map +0 -1
  469. package/dist/classes/transform-feedback.d.ts +0 -33
  470. package/dist/classes/transform-feedback.d.ts.map +0 -1
  471. package/dist/classes/transform-feedback.js +0 -198
  472. package/dist/classes/transform-feedback.js.map +0 -1
  473. package/dist/classes/uniform-buffer-layout.d.ts +0 -17
  474. package/dist/classes/uniform-buffer-layout.d.ts.map +0 -1
  475. package/dist/classes/uniform-buffer-layout.js +0 -104
  476. package/dist/classes/uniform-buffer-layout.js.map +0 -1
  477. package/dist/classes/uniforms.d.ts +0 -37
  478. package/dist/classes/uniforms.d.ts.map +0 -1
  479. package/dist/classes/uniforms.js +0 -250
  480. package/dist/classes/uniforms.js.map +0 -1
  481. package/dist/classes/vertex-array-object.d.ts +0 -76
  482. package/dist/classes/vertex-array-object.d.ts.map +0 -1
  483. package/dist/classes/vertex-array-object.js +0 -261
  484. package/dist/classes/vertex-array-object.js.map +0 -1
  485. package/dist/classes/vertex-array.d.ts +0 -75
  486. package/dist/classes/vertex-array.d.ts.map +0 -1
  487. package/dist/classes/vertex-array.js +0 -408
  488. package/dist/classes/vertex-array.js.map +0 -1
  489. package/dist/classes/webgl-buffer.d.ts.map +0 -1
  490. package/dist/classes/webgl-buffer.js.map +0 -1
  491. package/dist/classes/webgl-resource.d.ts.map +0 -1
  492. package/dist/classes/webgl-resource.js.map +0 -1
  493. package/dist/context/context/get-canvas.d.ts +0 -13
  494. package/dist/context/context/get-canvas.d.ts.map +0 -1
  495. package/dist/context/context/get-canvas.js +0 -31
  496. package/dist/context/context/get-canvas.js.map +0 -1
  497. package/dist/context/context/resize-context.d.ts +0 -20
  498. package/dist/context/context/resize-context.d.ts.map +0 -1
  499. package/dist/context/context/resize-context.js +0 -15
  500. package/dist/context/context/resize-context.js.map +0 -1
  501. package/dist/context/parameters/webgl-parameters.d.ts +0 -144
  502. package/dist/context/parameters/webgl-parameters.d.ts.map +0 -1
  503. package/dist/context/parameters/webgl-parameters.js +0 -2
  504. package/dist/context/parameters/webgl-parameters.js.map +0 -1
  505. package/dist/debug/debug-program-configuration.d.ts +0 -2
  506. package/dist/debug/debug-program-configuration.d.ts.map +0 -1
  507. package/dist/debug/debug-program-configuration.js +0 -40
  508. package/dist/debug/debug-program-configuration.js.map +0 -1
  509. package/dist/debug/debug-uniforms.d.ts +0 -12
  510. package/dist/debug/debug-uniforms.d.ts.map +0 -1
  511. package/dist/debug/debug-uniforms.js +0 -108
  512. package/dist/debug/debug-uniforms.js.map +0 -1
  513. package/dist/debug/debug-vertex-array.d.ts +0 -5
  514. package/dist/debug/debug-vertex-array.d.ts.map +0 -1
  515. package/dist/debug/debug-vertex-array.js +0 -118
  516. package/dist/debug/debug-vertex-array.js.map +0 -1
  517. package/dist/es5/_deprecated/context-api.js +0 -116
  518. package/dist/es5/_deprecated/context-api.js.map +0 -1
  519. package/dist/es5/_deprecated/features.js +0 -118
  520. package/dist/es5/_deprecated/features.js.map +0 -1
  521. package/dist/es5/adapter/converters/set-device-parameters.js.map +0 -1
  522. package/dist/es5/adapter/converters/webgpu-texture-formats.js +0 -296
  523. package/dist/es5/adapter/converters/webgpu-texture-formats.js.map +0 -1
  524. package/dist/es5/adapter/webgl-shader.js.map +0 -1
  525. package/dist/es5/classes/accessor.d.ts +0 -28
  526. package/dist/es5/classes/accessor.js.map +0 -1
  527. package/dist/es5/classes/accessor.ts.disabled +0 -159
  528. package/dist/es5/classes/clear.js +0 -135
  529. package/dist/es5/classes/clear.js.map +0 -1
  530. package/dist/es5/classes/copy-and-blit.js +0 -382
  531. package/dist/es5/classes/copy-and-blit.js.map +0 -1
  532. package/dist/es5/classes/framebuffer.js +0 -807
  533. package/dist/es5/classes/framebuffer.js.map +0 -1
  534. package/dist/es5/classes/program-configuration.js +0 -119
  535. package/dist/es5/classes/program-configuration.js.map +0 -1
  536. package/dist/es5/classes/program.js +0 -471
  537. package/dist/es5/classes/program.js.map +0 -1
  538. package/dist/es5/classes/query.js +0 -222
  539. package/dist/es5/classes/query.js.map +0 -1
  540. package/dist/es5/classes/renderbuffer-formats.js.map +0 -1
  541. package/dist/es5/classes/renderbuffer.js.map +0 -1
  542. package/dist/es5/classes/shader.js +0 -195
  543. package/dist/es5/classes/shader.js.map +0 -1
  544. package/dist/es5/classes/texture-2d.js.map +0 -1
  545. package/dist/es5/classes/texture-3d.js +0 -142
  546. package/dist/es5/classes/texture-3d.js.map +0 -1
  547. package/dist/es5/classes/texture-cube.js +0 -202
  548. package/dist/es5/classes/texture-cube.js.map +0 -1
  549. package/dist/es5/classes/texture-formats.js +0 -87
  550. package/dist/es5/classes/texture-formats.js.map +0 -1
  551. package/dist/es5/classes/texture.js.map +0 -1
  552. package/dist/es5/classes/transform-feedback.js +0 -267
  553. package/dist/es5/classes/transform-feedback.js.map +0 -1
  554. package/dist/es5/classes/uniform-buffer-layout.js +0 -130
  555. package/dist/es5/classes/uniform-buffer-layout.js.map +0 -1
  556. package/dist/es5/classes/uniforms.js +0 -232
  557. package/dist/es5/classes/uniforms.js.map +0 -1
  558. package/dist/es5/classes/vertex-array-object.js +0 -337
  559. package/dist/es5/classes/vertex-array-object.js.map +0 -1
  560. package/dist/es5/classes/vertex-array.js +0 -465
  561. package/dist/es5/classes/vertex-array.js.map +0 -1
  562. package/dist/es5/classes/webgl-buffer.js.map +0 -1
  563. package/dist/es5/classes/webgl-resource.js.map +0 -1
  564. package/dist/es5/context/context/get-canvas.js +0 -40
  565. package/dist/es5/context/context/get-canvas.js.map +0 -1
  566. package/dist/es5/context/context/resize-context.js +0 -23
  567. package/dist/es5/context/context/resize-context.js.map +0 -1
  568. package/dist/es5/context/parameters/webgl-parameters.js.map +0 -1
  569. package/dist/es5/debug/debug-program-configuration.js +0 -76
  570. package/dist/es5/debug/debug-program-configuration.js.map +0 -1
  571. package/dist/es5/debug/debug-uniforms.js +0 -156
  572. package/dist/es5/debug/debug-uniforms.js.map +0 -1
  573. package/dist/es5/debug/debug-vertex-array.js +0 -126
  574. package/dist/es5/debug/debug-vertex-array.js.map +0 -1
  575. package/dist/es5/helpers/get-program-bindings.js.map +0 -1
  576. package/dist/es5/helpers/program-bindings.js +0 -2
  577. package/dist/es5/types/accessor.d.ts +0 -29
  578. package/dist/es5/webgl-utils/attribute-utils.js +0 -186
  579. package/dist/es5/webgl-utils/attribute-utils.js.map +0 -1
  580. package/dist/es5/webgl-utils/constants-to-keys.js.map +0 -1
  581. package/dist/es5/webgl-utils/format-utils.js +0 -58
  582. package/dist/es5/webgl-utils/format-utils.js.map +0 -1
  583. package/dist/es5/webgl-utils/get-error.js +0 -49
  584. package/dist/es5/webgl-utils/get-error.js.map +0 -1
  585. package/dist/es5/webgl-utils/index.js +0 -74
  586. package/dist/es5/webgl-utils/index.js.map +0 -1
  587. package/dist/es5/webgl-utils/parse-shader-compiler-log.js.map +0 -1
  588. package/dist/es5/webgl-utils/request-animation-frame.js +0 -16
  589. package/dist/es5/webgl-utils/request-animation-frame.js.map +0 -1
  590. package/dist/es5/webgl-utils/texture-utils.js +0 -61
  591. package/dist/es5/webgl-utils/texture-utils.js.map +0 -1
  592. package/dist/es5/webgl-utils/typed-array-utils.js.map +0 -1
  593. package/dist/esm/_deprecated/context-api.js +0 -76
  594. package/dist/esm/_deprecated/context-api.js.map +0 -1
  595. package/dist/esm/_deprecated/features.js +0 -111
  596. package/dist/esm/_deprecated/features.js.map +0 -1
  597. package/dist/esm/adapter/converters/set-device-parameters.js.map +0 -1
  598. package/dist/esm/adapter/converters/webgpu-texture-formats.js +0 -285
  599. package/dist/esm/adapter/converters/webgpu-texture-formats.js.map +0 -1
  600. package/dist/esm/adapter/webgl-shader.js.map +0 -1
  601. package/dist/esm/classes/accessor.d.ts +0 -28
  602. package/dist/esm/classes/accessor.js.map +0 -1
  603. package/dist/esm/classes/clear.js +0 -105
  604. package/dist/esm/classes/clear.js.map +0 -1
  605. package/dist/esm/classes/copy-and-blit.js +0 -338
  606. package/dist/esm/classes/copy-and-blit.js.map +0 -1
  607. package/dist/esm/classes/framebuffer.js +0 -656
  608. package/dist/esm/classes/framebuffer.js.map +0 -1
  609. package/dist/esm/classes/program-configuration.js +0 -73
  610. package/dist/esm/classes/program-configuration.js.map +0 -1
  611. package/dist/esm/classes/program.js +0 -379
  612. package/dist/esm/classes/program.js.map +0 -1
  613. package/dist/esm/classes/query.js +0 -145
  614. package/dist/esm/classes/query.js.map +0 -1
  615. package/dist/esm/classes/renderbuffer-formats.js.map +0 -1
  616. package/dist/esm/classes/renderbuffer.js.map +0 -1
  617. package/dist/esm/classes/shader.js +0 -118
  618. package/dist/esm/classes/shader.js.map +0 -1
  619. package/dist/esm/classes/texture-2d.js +0 -36
  620. package/dist/esm/classes/texture-2d.js.map +0 -1
  621. package/dist/esm/classes/texture-3d.js +0 -76
  622. package/dist/esm/classes/texture-3d.js.map +0 -1
  623. package/dist/esm/classes/texture-cube.js +0 -130
  624. package/dist/esm/classes/texture-cube.js.map +0 -1
  625. package/dist/esm/classes/texture-formats.js +0 -98
  626. package/dist/esm/classes/texture-formats.js.map +0 -1
  627. package/dist/esm/classes/texture.js.map +0 -1
  628. package/dist/esm/classes/transform-feedback.js +0 -198
  629. package/dist/esm/classes/transform-feedback.js.map +0 -1
  630. package/dist/esm/classes/uniform-buffer-layout.js +0 -104
  631. package/dist/esm/classes/uniform-buffer-layout.js.map +0 -1
  632. package/dist/esm/classes/uniforms.js +0 -250
  633. package/dist/esm/classes/uniforms.js.map +0 -1
  634. package/dist/esm/classes/vertex-array-object.js +0 -261
  635. package/dist/esm/classes/vertex-array-object.js.map +0 -1
  636. package/dist/esm/classes/vertex-array.js +0 -408
  637. package/dist/esm/classes/vertex-array.js.map +0 -1
  638. package/dist/esm/classes/webgl-buffer.js.map +0 -1
  639. package/dist/esm/classes/webgl-resource.js.map +0 -1
  640. package/dist/esm/context/context/get-canvas.js +0 -31
  641. package/dist/esm/context/context/get-canvas.js.map +0 -1
  642. package/dist/esm/context/context/resize-context.js +0 -15
  643. package/dist/esm/context/context/resize-context.js.map +0 -1
  644. package/dist/esm/context/parameters/webgl-parameters.js +0 -2
  645. package/dist/esm/context/parameters/webgl-parameters.js.map +0 -1
  646. package/dist/esm/debug/debug-program-configuration.js +0 -40
  647. package/dist/esm/debug/debug-program-configuration.js.map +0 -1
  648. package/dist/esm/debug/debug-uniforms.js +0 -108
  649. package/dist/esm/debug/debug-uniforms.js.map +0 -1
  650. package/dist/esm/debug/debug-vertex-array.js +0 -118
  651. package/dist/esm/debug/debug-vertex-array.js.map +0 -1
  652. package/dist/esm/helpers/get-program-bindings.js +0 -228
  653. package/dist/esm/helpers/get-program-bindings.js.map +0 -1
  654. package/dist/esm/helpers/program-bindings.js +0 -2
  655. package/dist/esm/types/accessor.d.ts +0 -29
  656. package/dist/esm/webgl-utils/attribute-utils.js +0 -182
  657. package/dist/esm/webgl-utils/attribute-utils.js.map +0 -1
  658. package/dist/esm/webgl-utils/constants-to-keys.js.map +0 -1
  659. package/dist/esm/webgl-utils/format-utils.js +0 -45
  660. package/dist/esm/webgl-utils/format-utils.js.map +0 -1
  661. package/dist/esm/webgl-utils/get-error.js +0 -41
  662. package/dist/esm/webgl-utils/get-error.js.map +0 -1
  663. package/dist/esm/webgl-utils/index.js +0 -5
  664. package/dist/esm/webgl-utils/index.js.map +0 -1
  665. package/dist/esm/webgl-utils/parse-shader-compiler-log.js.map +0 -1
  666. package/dist/esm/webgl-utils/request-animation-frame.js +0 -7
  667. package/dist/esm/webgl-utils/request-animation-frame.js.map +0 -1
  668. package/dist/esm/webgl-utils/texture-utils.js +0 -48
  669. package/dist/esm/webgl-utils/texture-utils.js.map +0 -1
  670. package/dist/esm/webgl-utils/typed-array-utils.js.map +0 -1
  671. package/dist/helpers/get-program-bindings.d.ts +0 -8
  672. package/dist/helpers/get-program-bindings.d.ts.map +0 -1
  673. package/dist/helpers/get-program-bindings.js +0 -228
  674. package/dist/helpers/get-program-bindings.js.map +0 -1
  675. package/dist/helpers/program-bindings.d.ts +0 -41
  676. package/dist/helpers/program-bindings.d.ts.map +0 -1
  677. package/dist/helpers/program-bindings.js +0 -2
  678. package/dist/types/accessor.d.ts +0 -29
  679. package/dist/webgl-utils/attribute-utils.d.ts +0 -18
  680. package/dist/webgl-utils/attribute-utils.d.ts.map +0 -1
  681. package/dist/webgl-utils/attribute-utils.js +0 -182
  682. package/dist/webgl-utils/attribute-utils.js.map +0 -1
  683. package/dist/webgl-utils/constants-to-keys.d.ts +0 -4
  684. package/dist/webgl-utils/constants-to-keys.d.ts.map +0 -1
  685. package/dist/webgl-utils/constants-to-keys.js.map +0 -1
  686. package/dist/webgl-utils/format-utils.d.ts +0 -3
  687. package/dist/webgl-utils/format-utils.d.ts.map +0 -1
  688. package/dist/webgl-utils/format-utils.js +0 -45
  689. package/dist/webgl-utils/format-utils.js.map +0 -1
  690. package/dist/webgl-utils/get-error.d.ts +0 -3
  691. package/dist/webgl-utils/get-error.d.ts.map +0 -1
  692. package/dist/webgl-utils/get-error.js +0 -41
  693. package/dist/webgl-utils/get-error.js.map +0 -1
  694. package/dist/webgl-utils/index.d.ts +0 -5
  695. package/dist/webgl-utils/index.d.ts.map +0 -1
  696. package/dist/webgl-utils/index.js +0 -5
  697. package/dist/webgl-utils/index.js.map +0 -1
  698. package/dist/webgl-utils/parse-shader-compiler-log.d.ts.map +0 -1
  699. package/dist/webgl-utils/parse-shader-compiler-log.js.map +0 -1
  700. package/dist/webgl-utils/request-animation-frame.d.ts +0 -4
  701. package/dist/webgl-utils/request-animation-frame.d.ts.map +0 -1
  702. package/dist/webgl-utils/request-animation-frame.js +0 -7
  703. package/dist/webgl-utils/request-animation-frame.js.map +0 -1
  704. package/dist/webgl-utils/texture-utils.d.ts +0 -15
  705. package/dist/webgl-utils/texture-utils.d.ts.map +0 -1
  706. package/dist/webgl-utils/texture-utils.js +0 -48
  707. package/dist/webgl-utils/texture-utils.js.map +0 -1
  708. package/dist/webgl-utils/typed-array-utils.d.ts.map +0 -1
  709. package/dist/webgl-utils/typed-array-utils.js.map +0 -1
  710. package/src/.DS_Store +0 -0
  711. package/src/_deprecated/context-api.ts +0 -146
  712. package/src/_deprecated/features.ts +0 -159
  713. package/src/adapter/converters/webgpu-texture-formats.ts +0 -167
  714. package/src/classes/accessor.d.ts +0 -28
  715. package/src/classes/accessor.js +0 -129
  716. package/src/classes/accessor.ts.disabled +0 -159
  717. package/src/classes/clear.ts +0 -108
  718. package/src/classes/copy-and-blit.ts +0 -460
  719. package/src/classes/framebuffer.ts +0 -763
  720. package/src/classes/program-configuration.ts +0 -77
  721. package/src/classes/program.ts +0 -431
  722. package/src/classes/query.ts +0 -171
  723. package/src/classes/renderbuffer.ts +0 -154
  724. package/src/classes/shader.ts +0 -129
  725. package/src/classes/texture-2d.ts +0 -35
  726. package/src/classes/texture-3d.ts +0 -123
  727. package/src/classes/texture-cube.ts +0 -162
  728. package/src/classes/texture-formats.ts +0 -171
  729. package/src/classes/texture.ts +0 -965
  730. package/src/classes/transform-feedback.ts +0 -191
  731. package/src/classes/uniform-buffer-layout.ts +0 -113
  732. package/src/classes/uniforms.ts +0 -394
  733. package/src/classes/vertex-array-object.ts +0 -339
  734. package/src/classes/vertex-array.ts +0 -484
  735. package/src/context/context/get-canvas.ts +0 -37
  736. package/src/context/context/resize-context.ts +0 -37
  737. package/src/context/parameters/webgl-parameters.ts +0 -197
  738. package/src/debug/debug-program-configuration.ts +0 -32
  739. package/src/debug/debug-uniforms.ts +0 -100
  740. package/src/debug/debug-vertex-array.ts +0 -123
  741. package/src/helpers/get-program-bindings.ts +0 -244
  742. package/src/helpers/program-bindings.ts +0 -46
  743. package/src/types/accessor.d.ts +0 -29
  744. package/src/webgl-utils/attribute-utils.ts +0 -171
  745. package/src/webgl-utils/format-utils.ts +0 -43
  746. package/src/webgl-utils/get-error.ts +0 -56
  747. package/src/webgl-utils/index.ts +0 -12
  748. package/src/webgl-utils/request-animation-frame.ts +0 -14
  749. package/src/webgl-utils/texture-utils.ts +0 -60
@@ -1,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