@luma.gl/webgl 9.0.0-alpha.2 → 9.0.0-alpha.21

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 (468) hide show
  1. package/dist/adapter/converters/device-parameters.d.ts +11 -1
  2. package/dist/adapter/converters/device-parameters.d.ts.map +1 -1
  3. package/dist/adapter/converters/device-parameters.js +17 -35
  4. package/dist/adapter/converters/device-parameters.js.map +1 -1
  5. package/dist/adapter/converters/renderbuffer-formats.d.ts +2 -2
  6. package/dist/adapter/converters/renderbuffer-formats.d.ts.map +1 -1
  7. package/dist/adapter/converters/renderbuffer-formats.js +2 -7
  8. package/dist/adapter/converters/renderbuffer-formats.js.map +1 -1
  9. package/dist/adapter/converters/sampler-parameters.d.ts +4 -4
  10. package/dist/adapter/converters/sampler-parameters.d.ts.map +1 -1
  11. package/dist/adapter/converters/sampler-parameters.js +19 -55
  12. package/dist/adapter/converters/sampler-parameters.js.map +1 -1
  13. package/dist/adapter/converters/texture-formats.d.ts.map +1 -1
  14. package/dist/adapter/converters/texture-formats.js +13 -66
  15. package/dist/adapter/converters/texture-formats.js.map +1 -1
  16. package/dist/adapter/converters/vertex-formats.d.ts.map +1 -1
  17. package/dist/adapter/converters/vertex-formats.js +2 -8
  18. package/dist/adapter/converters/vertex-formats.js.map +1 -1
  19. package/dist/adapter/device-helpers/device-features.d.ts.map +1 -1
  20. package/dist/adapter/device-helpers/device-features.js +13 -20
  21. package/dist/adapter/device-helpers/device-features.js.map +1 -1
  22. package/dist/adapter/device-helpers/device-limits.js +1 -4
  23. package/dist/adapter/device-helpers/device-limits.js.map +1 -1
  24. package/dist/adapter/device-helpers/get-device-info.js +8 -10
  25. package/dist/adapter/device-helpers/get-device-info.js.map +1 -1
  26. package/dist/adapter/device-helpers/is-old-ie.js +2 -1
  27. package/dist/adapter/device-helpers/is-old-ie.js.map +1 -1
  28. package/dist/adapter/helpers/attribute-utils.js +0 -17
  29. package/dist/adapter/helpers/attribute-utils.js.map +1 -1
  30. package/dist/adapter/helpers/get-shader-info.d.ts +9 -0
  31. package/dist/adapter/helpers/get-shader-info.d.ts.map +1 -0
  32. package/dist/adapter/helpers/get-shader-info.js +25 -0
  33. package/dist/adapter/helpers/get-shader-info.js.map +1 -0
  34. package/dist/adapter/helpers/get-shader-layout.d.ts +1 -1
  35. package/dist/adapter/helpers/get-shader-layout.d.ts.map +1 -1
  36. package/dist/adapter/helpers/get-shader-layout.js +41 -67
  37. package/dist/adapter/helpers/get-shader-layout.js.map +1 -1
  38. package/dist/adapter/helpers/parse-shader-compiler-log.d.ts +1 -1
  39. package/dist/adapter/helpers/parse-shader-compiler-log.d.ts.map +1 -1
  40. package/dist/adapter/helpers/parse-shader-compiler-log.js +0 -7
  41. package/dist/adapter/helpers/parse-shader-compiler-log.js.map +1 -1
  42. package/dist/adapter/helpers/set-uniform.d.ts.map +1 -1
  43. package/dist/adapter/helpers/set-uniform.js +1 -31
  44. package/dist/adapter/helpers/set-uniform.js.map +1 -1
  45. package/dist/adapter/helpers/uniforms.d.ts +1 -1
  46. package/dist/adapter/helpers/uniforms.d.ts.map +1 -1
  47. package/dist/adapter/helpers/uniforms.js +4 -14
  48. package/dist/adapter/helpers/uniforms.js.map +1 -1
  49. package/dist/adapter/objects/constants-to-keys.d.ts.map +1 -1
  50. package/dist/adapter/objects/constants-to-keys.js +0 -7
  51. package/dist/adapter/objects/constants-to-keys.js.map +1 -1
  52. package/dist/adapter/objects/webgl-renderbuffer.d.ts +3 -3
  53. package/dist/adapter/objects/webgl-renderbuffer.d.ts.map +1 -1
  54. package/dist/adapter/objects/webgl-renderbuffer.js +6 -22
  55. package/dist/adapter/objects/webgl-renderbuffer.js.map +1 -1
  56. package/dist/adapter/objects/webgl-resource.d.ts +3 -5
  57. package/dist/adapter/objects/webgl-resource.d.ts.map +1 -1
  58. package/dist/adapter/objects/webgl-resource.js +15 -68
  59. package/dist/adapter/objects/webgl-resource.js.map +1 -1
  60. package/dist/adapter/objects/webgl-vertex-array-object.d.ts +6 -6
  61. package/dist/adapter/objects/webgl-vertex-array-object.d.ts.map +1 -1
  62. package/dist/adapter/objects/webgl-vertex-array-object.js +7 -17
  63. package/dist/adapter/objects/webgl-vertex-array-object.js.map +1 -1
  64. package/dist/adapter/resources/webgl-buffer.d.ts +3 -4
  65. package/dist/adapter/resources/webgl-buffer.d.ts.map +1 -1
  66. package/dist/adapter/resources/webgl-buffer.js +18 -49
  67. package/dist/adapter/resources/webgl-buffer.js.map +1 -1
  68. package/dist/adapter/resources/webgl-command-buffer.d.ts +2 -2
  69. package/dist/adapter/resources/webgl-command-buffer.d.ts.map +1 -1
  70. package/dist/adapter/resources/webgl-command-buffer.js +3 -18
  71. package/dist/adapter/resources/webgl-command-buffer.js.map +1 -1
  72. package/dist/adapter/resources/webgl-command-encoder.d.ts +3 -3
  73. package/dist/adapter/resources/webgl-command-encoder.d.ts.map +1 -1
  74. package/dist/adapter/resources/webgl-command-encoder.js +2 -15
  75. package/dist/adapter/resources/webgl-command-encoder.js.map +1 -1
  76. package/dist/adapter/resources/webgl-external-texture.js.map +1 -1
  77. package/dist/adapter/resources/webgl-framebuffer.d.ts +16 -16
  78. package/dist/adapter/resources/webgl-framebuffer.d.ts.map +1 -1
  79. package/dist/adapter/resources/webgl-framebuffer.js +17 -75
  80. package/dist/adapter/resources/webgl-framebuffer.js.map +1 -1
  81. package/dist/adapter/resources/webgl-render-pass.d.ts +3 -3
  82. package/dist/adapter/resources/webgl-render-pass.d.ts.map +1 -1
  83. package/dist/adapter/resources/webgl-render-pass.js +3 -8
  84. package/dist/adapter/resources/webgl-render-pass.js.map +1 -1
  85. package/dist/adapter/resources/webgl-render-pipeline.d.ts +5 -5
  86. package/dist/adapter/resources/webgl-render-pipeline.d.ts.map +1 -1
  87. package/dist/adapter/resources/webgl-render-pipeline.js +51 -140
  88. package/dist/adapter/resources/webgl-render-pipeline.js.map +1 -1
  89. package/dist/adapter/resources/webgl-sampler.d.ts +5 -4
  90. package/dist/adapter/resources/webgl-sampler.d.ts.map +1 -1
  91. package/dist/adapter/resources/webgl-sampler.js +5 -13
  92. package/dist/adapter/resources/webgl-sampler.js.map +1 -1
  93. package/dist/adapter/resources/webgl-shader.d.ts +3 -4
  94. package/dist/adapter/resources/webgl-shader.d.ts.map +1 -1
  95. package/dist/adapter/resources/webgl-shader.js +8 -21
  96. package/dist/adapter/resources/webgl-shader.js.map +1 -1
  97. package/dist/adapter/resources/webgl-texture.d.ts +26 -26
  98. package/dist/adapter/resources/webgl-texture.d.ts.map +1 -1
  99. package/dist/adapter/resources/webgl-texture.js +66 -183
  100. package/dist/adapter/resources/webgl-texture.js.map +1 -1
  101. package/dist/adapter/webgl-canvas-context.d.ts +3 -3
  102. package/dist/adapter/webgl-canvas-context.d.ts.map +1 -1
  103. package/dist/adapter/webgl-canvas-context.js +6 -19
  104. package/dist/adapter/webgl-canvas-context.js.map +1 -1
  105. package/dist/adapter/webgl-device.d.ts +53 -37
  106. package/dist/adapter/webgl-device.d.ts.map +1 -1
  107. package/dist/adapter/webgl-device.js +108 -109
  108. package/dist/adapter/webgl-device.js.map +1 -1
  109. package/dist/classic/accessor.d.ts +1 -1
  110. package/dist/classic/accessor.d.ts.map +1 -1
  111. package/dist/classic/accessor.js +12 -36
  112. package/dist/classic/accessor.js.map +1 -1
  113. package/dist/classic/buffer.d.ts +3 -4
  114. package/dist/classic/buffer.d.ts.map +1 -1
  115. package/dist/classic/buffer.js +30 -87
  116. package/dist/classic/buffer.js.map +1 -1
  117. package/dist/classic/typed-array-utils.d.ts +1 -1
  118. package/dist/classic/typed-array-utils.d.ts.map +1 -1
  119. package/dist/classic/typed-array-utils.js +0 -20
  120. package/dist/classic/typed-array-utils.js.map +1 -1
  121. package/dist/context/context/{create-context.d.ts → create-browser-context.d.ts} +2 -1
  122. package/dist/context/context/create-browser-context.d.ts.map +1 -0
  123. package/dist/context/context/{create-context.js → create-browser-context.js} +19 -15
  124. package/dist/context/context/create-browser-context.js.map +1 -0
  125. package/dist/context/context/create-headless-context.d.ts +9 -0
  126. package/dist/context/context/create-headless-context.d.ts.map +1 -0
  127. package/dist/context/context/create-headless-context.js +42 -0
  128. package/dist/context/context/create-headless-context.js.map +1 -0
  129. package/dist/context/context/webgl-checks.js +0 -3
  130. package/dist/context/context/webgl-checks.js.map +1 -1
  131. package/dist/context/debug/spector.d.ts +1 -0
  132. package/dist/context/debug/spector.d.ts.map +1 -1
  133. package/dist/context/debug/spector.js +7 -19
  134. package/dist/context/debug/spector.js.map +1 -1
  135. package/dist/context/debug/webgl-developer-tools.d.ts +1 -1
  136. package/dist/context/debug/webgl-developer-tools.d.ts.map +1 -1
  137. package/dist/context/debug/webgl-developer-tools.js +8 -32
  138. package/dist/context/debug/webgl-developer-tools.js.map +1 -1
  139. package/dist/context/parameters/unified-parameter-api.d.ts +6 -5
  140. package/dist/context/parameters/unified-parameter-api.d.ts.map +1 -1
  141. package/dist/context/parameters/unified-parameter-api.js +8 -18
  142. package/dist/context/parameters/unified-parameter-api.js.map +1 -1
  143. package/dist/context/parameters/webgl-parameter-tables.d.ts +103 -103
  144. package/dist/context/parameters/webgl-parameter-tables.d.ts.map +1 -1
  145. package/dist/context/parameters/webgl-parameter-tables.js +16 -34
  146. package/dist/context/parameters/webgl-parameter-tables.js.map +1 -1
  147. package/dist/context/polyfill/context-data.d.ts +13 -0
  148. package/dist/context/polyfill/context-data.d.ts.map +1 -0
  149. package/dist/context/polyfill/context-data.js +12 -0
  150. package/dist/context/polyfill/context-data.js.map +1 -0
  151. package/dist/context/polyfill/get-parameter-polyfill.d.ts +1 -1
  152. package/dist/context/polyfill/get-parameter-polyfill.d.ts.map +1 -1
  153. package/dist/context/polyfill/get-parameter-polyfill.js +1 -6
  154. package/dist/context/polyfill/get-parameter-polyfill.js.map +1 -1
  155. package/dist/context/polyfill/polyfill-context.js +20 -28
  156. package/dist/context/polyfill/polyfill-context.js.map +1 -1
  157. package/dist/context/polyfill/polyfill-table.d.ts +8 -8
  158. package/dist/context/polyfill/polyfill-table.d.ts.map +1 -1
  159. package/dist/context/polyfill/polyfill-table.js +8 -30
  160. package/dist/context/polyfill/polyfill-table.js.map +1 -1
  161. package/dist/context/polyfill/polyfill-vertex-array-object.d.ts.map +1 -1
  162. package/dist/context/polyfill/polyfill-vertex-array-object.js +0 -70
  163. package/dist/context/polyfill/polyfill-vertex-array-object.js.map +1 -1
  164. package/dist/context/state-tracker/deep-array-equal.js +0 -4
  165. package/dist/context/state-tracker/deep-array-equal.js.map +1 -1
  166. package/dist/context/state-tracker/track-context-state.d.ts.map +1 -1
  167. package/dist/context/state-tracker/track-context-state.js +15 -50
  168. package/dist/context/state-tracker/track-context-state.js.map +1 -1
  169. package/dist/context/state-tracker/with-parameters.d.ts +2 -1
  170. package/dist/context/state-tracker/with-parameters.d.ts.map +1 -1
  171. package/dist/context/state-tracker/with-parameters.js +7 -9
  172. package/dist/context/state-tracker/with-parameters.js.map +1 -1
  173. package/dist/dist.dev.js +9204 -0
  174. package/dist/index.cjs +5948 -0
  175. package/dist/index.d.ts +19 -19
  176. package/dist/index.d.ts.map +1 -1
  177. package/dist/index.js +24 -26
  178. package/dist/index.js.map +1 -1
  179. package/dist/types/webgl.d.ts +8 -7
  180. package/dist/types/webgl.d.ts.map +1 -1
  181. package/dist/types/webgl.js.map +1 -1
  182. package/dist/types.js.map +1 -1
  183. package/dist.min.js +36 -0
  184. package/package.json +18 -9
  185. package/src/.DS_Store +0 -0
  186. package/src/adapter/.DS_Store +0 -0
  187. package/src/adapter/converters/device-parameters.ts +45 -16
  188. package/src/adapter/converters/renderbuffer-formats.ts +1 -3
  189. package/src/adapter/converters/sampler-parameters.ts +18 -7
  190. package/src/adapter/converters/texture-formats.ts +18 -16
  191. package/src/adapter/converters/vertex-formats.ts +1 -0
  192. package/src/adapter/device-helpers/device-features.ts +9 -2
  193. package/src/adapter/device-helpers/device-limits.ts +1 -1
  194. package/src/adapter/device-helpers/get-device-info.ts +12 -8
  195. package/src/adapter/helpers/get-shader-info.ts +37 -0
  196. package/src/adapter/helpers/get-shader-layout.ts +59 -37
  197. package/src/adapter/helpers/parse-shader-compiler-log.ts +2 -2
  198. package/src/adapter/helpers/set-uniform.ts +3 -1
  199. package/src/adapter/helpers/uniforms.ts +21 -10
  200. package/src/adapter/objects/constants-to-keys.ts +4 -1
  201. package/src/adapter/objects/webgl-renderbuffer.ts +8 -8
  202. package/src/adapter/objects/webgl-resource.ts +8 -13
  203. package/src/adapter/objects/webgl-vertex-array-object.ts +10 -10
  204. package/src/adapter/resources/webgl-buffer.ts +16 -16
  205. package/src/adapter/resources/webgl-command-buffer.ts +3 -3
  206. package/src/adapter/resources/webgl-command-encoder.ts +8 -8
  207. package/src/adapter/resources/webgl-external-texture.ts +1 -1
  208. package/src/adapter/resources/webgl-framebuffer.ts +36 -33
  209. package/src/adapter/resources/webgl-render-pass.ts +4 -3
  210. package/src/adapter/resources/webgl-render-pipeline.ts +89 -77
  211. package/src/adapter/resources/webgl-sampler.ts +12 -6
  212. package/src/adapter/resources/webgl-shader.ts +10 -9
  213. package/src/adapter/resources/webgl-texture.ts +55 -45
  214. package/src/adapter/webgl-canvas-context.ts +8 -9
  215. package/src/adapter/webgl-device.ts +153 -69
  216. package/src/classic/accessor.ts +2 -15
  217. package/src/classic/buffer.ts +18 -25
  218. package/src/classic/typed-array-utils.ts +4 -2
  219. package/src/context/.DS_Store +0 -0
  220. package/src/context/context/{create-context.ts → create-browser-context.ts} +17 -7
  221. package/src/context/context/create-headless-context.ts +48 -0
  222. package/src/context/debug/spector.ts +6 -5
  223. package/src/context/debug/webgl-developer-tools.ts +13 -13
  224. package/src/context/parameters/unified-parameter-api.ts +18 -12
  225. package/src/context/parameters/webgl-parameter-tables.ts +113 -94
  226. package/src/context/polyfill/context-data.ts +27 -0
  227. package/src/context/polyfill/get-parameter-polyfill.ts +7 -6
  228. package/src/context/polyfill/polyfill-context.ts +6 -8
  229. package/src/context/polyfill/polyfill-table.ts +16 -14
  230. package/src/context/polyfill/polyfill-vertex-array-object.ts +2 -0
  231. package/src/context/state-tracker/track-context-state.ts +13 -12
  232. package/src/context/state-tracker/with-parameters.ts +8 -2
  233. package/src/index.ts +28 -26
  234. package/src/types/webgl.ts +10 -7
  235. package/dist/bundle.d.ts +0 -2
  236. package/dist/bundle.d.ts.map +0 -1
  237. package/dist/bundle.js +0 -5
  238. package/dist/bundle.js.map +0 -1
  239. package/dist/context/context/context-state.d.ts +0 -18
  240. package/dist/context/context/context-state.d.ts.map +0 -1
  241. package/dist/context/context/context-state.js +0 -26
  242. package/dist/context/context/context-state.js.map +0 -1
  243. package/dist/context/context/create-context.d.ts.map +0 -1
  244. package/dist/context/context/create-context.js.map +0 -1
  245. package/dist/context/context/device-pixels.d.ts +0 -25
  246. package/dist/context/context/device-pixels.d.ts.map +0 -1
  247. package/dist/context/context/device-pixels.js +0 -98
  248. package/dist/context/context/device-pixels.js.map +0 -1
  249. package/dist/es5/adapter/converters/device-parameters.js +0 -170
  250. package/dist/es5/adapter/converters/device-parameters.js.map +0 -1
  251. package/dist/es5/adapter/converters/renderbuffer-formats.js +0 -163
  252. package/dist/es5/adapter/converters/renderbuffer-formats.js.map +0 -1
  253. package/dist/es5/adapter/converters/sampler-parameters.js +0 -226
  254. package/dist/es5/adapter/converters/sampler-parameters.js.map +0 -1
  255. package/dist/es5/adapter/converters/texture-formats.js +0 -1031
  256. package/dist/es5/adapter/converters/texture-formats.js.map +0 -1
  257. package/dist/es5/adapter/converters/vertex-formats.js +0 -45
  258. package/dist/es5/adapter/converters/vertex-formats.js.map +0 -1
  259. package/dist/es5/adapter/device-helpers/device-features.js +0 -144
  260. package/dist/es5/adapter/device-helpers/device-features.js.map +0 -1
  261. package/dist/es5/adapter/device-helpers/device-limits.js +0 -64
  262. package/dist/es5/adapter/device-helpers/device-limits.js.map +0 -1
  263. package/dist/es5/adapter/device-helpers/get-device-info.js +0 -55
  264. package/dist/es5/adapter/device-helpers/get-device-info.js.map +0 -1
  265. package/dist/es5/adapter/device-helpers/is-old-ie.js +0 -16
  266. package/dist/es5/adapter/device-helpers/is-old-ie.js.map +0 -1
  267. package/dist/es5/adapter/helpers/attribute-utils.js +0 -91
  268. package/dist/es5/adapter/helpers/attribute-utils.js.map +0 -1
  269. package/dist/es5/adapter/helpers/get-shader-layout.js +0 -371
  270. package/dist/es5/adapter/helpers/get-shader-layout.js.map +0 -1
  271. package/dist/es5/adapter/helpers/parse-shader-compiler-log.js +0 -72
  272. package/dist/es5/adapter/helpers/parse-shader-compiler-log.js.map +0 -1
  273. package/dist/es5/adapter/helpers/set-uniform.js +0 -125
  274. package/dist/es5/adapter/helpers/set-uniform.js.map +0 -1
  275. package/dist/es5/adapter/helpers/uniforms.js +0 -112
  276. package/dist/es5/adapter/helpers/uniforms.js.map +0 -1
  277. package/dist/es5/adapter/objects/constants-to-keys.js +0 -54
  278. package/dist/es5/adapter/objects/constants-to-keys.js.map +0 -1
  279. package/dist/es5/adapter/objects/webgl-renderbuffer.js +0 -150
  280. package/dist/es5/adapter/objects/webgl-renderbuffer.js.map +0 -1
  281. package/dist/es5/adapter/objects/webgl-resource.js +0 -292
  282. package/dist/es5/adapter/objects/webgl-resource.js.map +0 -1
  283. package/dist/es5/adapter/objects/webgl-vertex-array-object.js +0 -137
  284. package/dist/es5/adapter/objects/webgl-vertex-array-object.js.map +0 -1
  285. package/dist/es5/adapter/resources/webgl-buffer.js +0 -243
  286. package/dist/es5/adapter/resources/webgl-buffer.js.map +0 -1
  287. package/dist/es5/adapter/resources/webgl-command-buffer.js +0 -96
  288. package/dist/es5/adapter/resources/webgl-command-buffer.js.map +0 -1
  289. package/dist/es5/adapter/resources/webgl-command-encoder.js +0 -98
  290. package/dist/es5/adapter/resources/webgl-command-encoder.js.map +0 -1
  291. package/dist/es5/adapter/resources/webgl-external-texture.js +0 -2
  292. package/dist/es5/adapter/resources/webgl-external-texture.js.map +0 -1
  293. package/dist/es5/adapter/resources/webgl-framebuffer.js +0 -345
  294. package/dist/es5/adapter/resources/webgl-framebuffer.js.map +0 -1
  295. package/dist/es5/adapter/resources/webgl-render-pass.js +0 -61
  296. package/dist/es5/adapter/resources/webgl-render-pass.js.map +0 -1
  297. package/dist/es5/adapter/resources/webgl-render-pipeline.js +0 -505
  298. package/dist/es5/adapter/resources/webgl-render-pipeline.js.map +0 -1
  299. package/dist/es5/adapter/resources/webgl-sampler.js +0 -96
  300. package/dist/es5/adapter/resources/webgl-sampler.js.map +0 -1
  301. package/dist/es5/adapter/resources/webgl-shader.js +0 -149
  302. package/dist/es5/adapter/resources/webgl-shader.js.map +0 -1
  303. package/dist/es5/adapter/resources/webgl-texture.js +0 -986
  304. package/dist/es5/adapter/resources/webgl-texture.js.map +0 -1
  305. package/dist/es5/adapter/webgl-canvas-context.js +0 -97
  306. package/dist/es5/adapter/webgl-canvas-context.js.map +0 -1
  307. package/dist/es5/adapter/webgl-device.js +0 -399
  308. package/dist/es5/adapter/webgl-device.js.map +0 -1
  309. package/dist/es5/bundle.js +0 -7
  310. package/dist/es5/bundle.js.map +0 -1
  311. package/dist/es5/classic/accessor.js +0 -181
  312. package/dist/es5/classic/accessor.js.map +0 -1
  313. package/dist/es5/classic/buffer.js +0 -470
  314. package/dist/es5/classic/buffer.js.map +0 -1
  315. package/dist/es5/classic/typed-array-utils.js +0 -126
  316. package/dist/es5/classic/typed-array-utils.js.map +0 -1
  317. package/dist/es5/context/context/context-state.js +0 -31
  318. package/dist/es5/context/context/context-state.js.map +0 -1
  319. package/dist/es5/context/context/create-context.js +0 -69
  320. package/dist/es5/context/context/create-context.js.map +0 -1
  321. package/dist/es5/context/context/device-pixels.js +0 -115
  322. package/dist/es5/context/context/device-pixels.js.map +0 -1
  323. package/dist/es5/context/context/webgl-checks.js +0 -54
  324. package/dist/es5/context/context/webgl-checks.js.map +0 -1
  325. package/dist/es5/context/debug/spector.js +0 -133
  326. package/dist/es5/context/debug/spector.js.map +0 -1
  327. package/dist/es5/context/debug/webgl-developer-tools.js +0 -198
  328. package/dist/es5/context/debug/webgl-developer-tools.js.map +0 -1
  329. package/dist/es5/context/parameters/unified-parameter-api.js +0 -97
  330. package/dist/es5/context/parameters/unified-parameter-api.js.map +0 -1
  331. package/dist/es5/context/parameters/webgl-parameter-tables.js +0 -392
  332. package/dist/es5/context/parameters/webgl-parameter-tables.js.map +0 -1
  333. package/dist/es5/context/polyfill/get-parameter-polyfill.js +0 -81
  334. package/dist/es5/context/polyfill/get-parameter-polyfill.js.map +0 -1
  335. package/dist/es5/context/polyfill/polyfill-context.js +0 -135
  336. package/dist/es5/context/polyfill/polyfill-context.js.map +0 -1
  337. package/dist/es5/context/polyfill/polyfill-table.js +0 -166
  338. package/dist/es5/context/polyfill/polyfill-table.js.map +0 -1
  339. package/dist/es5/context/polyfill/polyfill-vertex-array-object.js +0 -341
  340. package/dist/es5/context/polyfill/polyfill-vertex-array-object.js.map +0 -1
  341. package/dist/es5/context/state-tracker/deep-array-equal.js +0 -28
  342. package/dist/es5/context/state-tracker/deep-array-equal.js.map +0 -1
  343. package/dist/es5/context/state-tracker/track-context-state.js +0 -211
  344. package/dist/es5/context/state-tracker/track-context-state.js.map +0 -1
  345. package/dist/es5/context/state-tracker/with-parameters.js +0 -44
  346. package/dist/es5/context/state-tracker/with-parameters.js.map +0 -1
  347. package/dist/es5/index.js +0 -276
  348. package/dist/es5/index.js.map +0 -1
  349. package/dist/es5/init.js +0 -10
  350. package/dist/es5/init.js.map +0 -1
  351. package/dist/es5/types/webgl.js +0 -6
  352. package/dist/es5/types/webgl.js.map +0 -1
  353. package/dist/es5/types.js +0 -2
  354. package/dist/es5/types.js.map +0 -1
  355. package/dist/esm/adapter/converters/device-parameters.js +0 -155
  356. package/dist/esm/adapter/converters/device-parameters.js.map +0 -1
  357. package/dist/esm/adapter/converters/renderbuffer-formats.js +0 -185
  358. package/dist/esm/adapter/converters/renderbuffer-formats.js.map +0 -1
  359. package/dist/esm/adapter/converters/sampler-parameters.js +0 -208
  360. package/dist/esm/adapter/converters/sampler-parameters.js.map +0 -1
  361. package/dist/esm/adapter/converters/texture-formats.js +0 -954
  362. package/dist/esm/adapter/converters/texture-formats.js.map +0 -1
  363. package/dist/esm/adapter/converters/vertex-formats.js +0 -35
  364. package/dist/esm/adapter/converters/vertex-formats.js.map +0 -1
  365. package/dist/esm/adapter/device-helpers/device-features.js +0 -102
  366. package/dist/esm/adapter/device-helpers/device-features.js.map +0 -1
  367. package/dist/esm/adapter/device-helpers/device-limits.js +0 -91
  368. package/dist/esm/adapter/device-helpers/device-limits.js.map +0 -1
  369. package/dist/esm/adapter/device-helpers/get-device-info.js +0 -44
  370. package/dist/esm/adapter/device-helpers/get-device-info.js.map +0 -1
  371. package/dist/esm/adapter/device-helpers/is-old-ie.js +0 -8
  372. package/dist/esm/adapter/device-helpers/is-old-ie.js.map +0 -1
  373. package/dist/esm/adapter/helpers/attribute-utils.js +0 -81
  374. package/dist/esm/adapter/helpers/attribute-utils.js.map +0 -1
  375. package/dist/esm/adapter/helpers/get-shader-layout.js +0 -306
  376. package/dist/esm/adapter/helpers/get-shader-layout.js.map +0 -1
  377. package/dist/esm/adapter/helpers/parse-shader-compiler-log.js +0 -37
  378. package/dist/esm/adapter/helpers/parse-shader-compiler-log.js.map +0 -1
  379. package/dist/esm/adapter/helpers/set-uniform.js +0 -115
  380. package/dist/esm/adapter/helpers/set-uniform.js.map +0 -1
  381. package/dist/esm/adapter/helpers/uniforms.js +0 -99
  382. package/dist/esm/adapter/helpers/uniforms.js.map +0 -1
  383. package/dist/esm/adapter/objects/constants-to-keys.js +0 -42
  384. package/dist/esm/adapter/objects/constants-to-keys.js.map +0 -1
  385. package/dist/esm/adapter/objects/webgl-renderbuffer.js +0 -94
  386. package/dist/esm/adapter/objects/webgl-renderbuffer.js.map +0 -1
  387. package/dist/esm/adapter/objects/webgl-resource.js +0 -216
  388. package/dist/esm/adapter/objects/webgl-resource.js.map +0 -1
  389. package/dist/esm/adapter/objects/webgl-vertex-array-object.js +0 -84
  390. package/dist/esm/adapter/objects/webgl-vertex-array-object.js.map +0 -1
  391. package/dist/esm/adapter/resources/webgl-buffer.js +0 -164
  392. package/dist/esm/adapter/resources/webgl-buffer.js.map +0 -1
  393. package/dist/esm/adapter/resources/webgl-command-buffer.js +0 -65
  394. package/dist/esm/adapter/resources/webgl-command-buffer.js.map +0 -1
  395. package/dist/esm/adapter/resources/webgl-command-encoder.js +0 -53
  396. package/dist/esm/adapter/resources/webgl-command-encoder.js.map +0 -1
  397. package/dist/esm/adapter/resources/webgl-external-texture.js +0 -2
  398. package/dist/esm/adapter/resources/webgl-external-texture.js.map +0 -1
  399. package/dist/esm/adapter/resources/webgl-framebuffer.js +0 -265
  400. package/dist/esm/adapter/resources/webgl-framebuffer.js.map +0 -1
  401. package/dist/esm/adapter/resources/webgl-render-pass.js +0 -19
  402. package/dist/esm/adapter/resources/webgl-render-pass.js.map +0 -1
  403. package/dist/esm/adapter/resources/webgl-render-pipeline.js +0 -400
  404. package/dist/esm/adapter/resources/webgl-render-pipeline.js.map +0 -1
  405. package/dist/esm/adapter/resources/webgl-sampler.js +0 -50
  406. package/dist/esm/adapter/resources/webgl-sampler.js.map +0 -1
  407. package/dist/esm/adapter/resources/webgl-shader.js +0 -75
  408. package/dist/esm/adapter/resources/webgl-shader.js.map +0 -1
  409. package/dist/esm/adapter/resources/webgl-texture.js +0 -831
  410. package/dist/esm/adapter/resources/webgl-texture.js.map +0 -1
  411. package/dist/esm/adapter/webgl-canvas-context.js +0 -54
  412. package/dist/esm/adapter/webgl-canvas-context.js.map +0 -1
  413. package/dist/esm/adapter/webgl-device.js +0 -280
  414. package/dist/esm/adapter/webgl-device.js.map +0 -1
  415. package/dist/esm/bundle.js +0 -5
  416. package/dist/esm/bundle.js.map +0 -1
  417. package/dist/esm/classic/accessor.js +0 -144
  418. package/dist/esm/classic/accessor.js.map +0 -1
  419. package/dist/esm/classic/buffer.js +0 -384
  420. package/dist/esm/classic/buffer.js.map +0 -1
  421. package/dist/esm/classic/typed-array-utils.js +0 -112
  422. package/dist/esm/classic/typed-array-utils.js.map +0 -1
  423. package/dist/esm/context/context/context-state.js +0 -26
  424. package/dist/esm/context/context/context-state.js.map +0 -1
  425. package/dist/esm/context/context/create-context.js +0 -49
  426. package/dist/esm/context/context/create-context.js.map +0 -1
  427. package/dist/esm/context/context/device-pixels.js +0 -98
  428. package/dist/esm/context/context/device-pixels.js.map +0 -1
  429. package/dist/esm/context/context/webgl-checks.js +0 -34
  430. package/dist/esm/context/context/webgl-checks.js.map +0 -1
  431. package/dist/esm/context/debug/spector.js +0 -76
  432. package/dist/esm/context/debug/spector.js.map +0 -1
  433. package/dist/esm/context/debug/webgl-developer-tools.js +0 -121
  434. package/dist/esm/context/debug/webgl-developer-tools.js.map +0 -1
  435. package/dist/esm/context/parameters/unified-parameter-api.js +0 -65
  436. package/dist/esm/context/parameters/unified-parameter-api.js.map +0 -1
  437. package/dist/esm/context/parameters/webgl-parameter-tables.js +0 -445
  438. package/dist/esm/context/parameters/webgl-parameter-tables.js.map +0 -1
  439. package/dist/esm/context/polyfill/get-parameter-polyfill.js +0 -91
  440. package/dist/esm/context/polyfill/get-parameter-polyfill.js.map +0 -1
  441. package/dist/esm/context/polyfill/polyfill-context.js +0 -92
  442. package/dist/esm/context/polyfill/polyfill-context.js.map +0 -1
  443. package/dist/esm/context/polyfill/polyfill-table.js +0 -160
  444. package/dist/esm/context/polyfill/polyfill-table.js.map +0 -1
  445. package/dist/esm/context/polyfill/polyfill-vertex-array-object.js +0 -335
  446. package/dist/esm/context/polyfill/polyfill-vertex-array-object.js.map +0 -1
  447. package/dist/esm/context/state-tracker/deep-array-equal.js +0 -21
  448. package/dist/esm/context/state-tracker/deep-array-equal.js.map +0 -1
  449. package/dist/esm/context/state-tracker/track-context-state.js +0 -183
  450. package/dist/esm/context/state-tracker/track-context-state.js.map +0 -1
  451. package/dist/esm/context/state-tracker/with-parameters.js +0 -36
  452. package/dist/esm/context/state-tracker/with-parameters.js.map +0 -1
  453. package/dist/esm/index.js +0 -27
  454. package/dist/esm/index.js.map +0 -1
  455. package/dist/esm/init.js +0 -4
  456. package/dist/esm/init.js.map +0 -1
  457. package/dist/esm/types/webgl.js +0 -2
  458. package/dist/esm/types/webgl.js.map +0 -1
  459. package/dist/esm/types.js +0 -2
  460. package/dist/esm/types.js.map +0 -1
  461. package/dist/init.d.ts +0 -2
  462. package/dist/init.d.ts.map +0 -1
  463. package/dist/init.js +0 -4
  464. package/dist/init.js.map +0 -1
  465. package/src/bundle.ts +0 -4
  466. package/src/context/context/context-state.ts +0 -41
  467. package/src/context/context/device-pixels.ts +0 -152
  468. package/src/init.ts +0 -4
@@ -1,345 +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 = void 0;
9
-
10
- var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
11
-
12
- var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
13
-
14
- var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
15
-
16
- var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
17
-
18
- var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
19
-
20
- var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
21
-
22
- var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
23
-
24
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
25
-
26
- var _api = require("@luma.gl/api");
27
-
28
- var _constants = _interopRequireDefault(require("@luma.gl/constants"));
29
-
30
- var _webglTexture = _interopRequireDefault(require("./webgl-texture"));
31
-
32
- var _webglRenderbuffer = _interopRequireDefault(require("../objects/webgl-renderbuffer"));
33
-
34
- var _textureFormats = require("../converters/texture-formats");
35
-
36
- 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; } } }; }
37
-
38
- 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); }
39
-
40
- 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; }
41
-
42
- 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); }; }
43
-
44
- 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; } }
45
-
46
- var WEBGLFramebuffer = function (_Framebuffer) {
47
- (0, _inherits2.default)(WEBGLFramebuffer, _Framebuffer);
48
-
49
- var _super = _createSuper(WEBGLFramebuffer);
50
-
51
- function WEBGLFramebuffer(device, props) {
52
- var _this;
53
-
54
- (0, _classCallCheck2.default)(this, WEBGLFramebuffer);
55
- _this = _super.call(this, device, props);
56
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "device", void 0);
57
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "gl", void 0);
58
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "handle", void 0);
59
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "colorAttachments", []);
60
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "depthStencilAttachment", undefined);
61
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "_ownResources", []);
62
- _this.device = device;
63
- _this.gl = device.gl;
64
- _this.handle = _this.props.handle !== undefined ? _this.props.handle : _this.gl.createFramebuffer();
65
-
66
- if (_this.handle) {
67
- _this.handle.__SPECTOR_Metadata = {
68
- id: _this.props.id,
69
- props: _this.props
70
- };
71
- }
72
-
73
- _this.colorAttachments = _this._createColorAttachments();
74
- _this.depthStencilAttachment = _this._createDepthStencilAttachment();
75
-
76
- var prevHandle = _this.gl.bindFramebuffer(_constants.default.FRAMEBUFFER, _this.handle);
77
-
78
- for (var i = 0; i < _this.colorAttachments.length; ++i) {
79
- var attachment = _this.colorAttachments[i];
80
- var attachmentPoint = _constants.default.COLOR_ATTACHMENT0 + i;
81
-
82
- if (attachment) {
83
- _this._attachOne(attachmentPoint, attachment);
84
- }
85
- }
86
-
87
- if (_this.props.depthStencilAttachment) {
88
- _this._attachOne((0, _textureFormats.getWebGLDepthStencilAttachment)(_this.depthStencilAttachment.format), _this.depthStencilAttachment);
89
- }
90
-
91
- _this.gl.bindFramebuffer(_constants.default.FRAMEBUFFER, prevHandle || null);
92
-
93
- if (props.check !== false) {
94
- _this._checkStatus();
95
- }
96
-
97
- return _this;
98
- }
99
-
100
- (0, _createClass2.default)(WEBGLFramebuffer, [{
101
- key: "texture",
102
- get: function get() {
103
- return this.colorAttachments[0];
104
- }
105
- }, {
106
- key: "destroy",
107
- value: function destroy() {
108
- if (this.handle !== null) {
109
- var _iterator = _createForOfIteratorHelper(this._ownResources),
110
- _step;
111
-
112
- try {
113
- for (_iterator.s(); !(_step = _iterator.n()).done;) {
114
- var resource = _step.value;
115
- resource.destroy();
116
- }
117
- } catch (err) {
118
- _iterator.e(err);
119
- } finally {
120
- _iterator.f();
121
- }
122
-
123
- this.gl.deleteFramebuffer(this.handle);
124
- this.handle = null;
125
- }
126
- }
127
- }, {
128
- key: "_checkStatus",
129
- value: function _checkStatus() {
130
- var gl = this.gl;
131
- var prevHandle = gl.bindFramebuffer(_constants.default.FRAMEBUFFER, this.handle);
132
- var status = gl.checkFramebufferStatus(_constants.default.FRAMEBUFFER);
133
- gl.bindFramebuffer(_constants.default.FRAMEBUFFER, prevHandle || null);
134
-
135
- if (status !== gl.FRAMEBUFFER_COMPLETE) {
136
- throw new Error("Framebuffer ".concat(_getFrameBufferStatus(status)));
137
- }
138
- }
139
- }, {
140
- key: "_createColorAttachments",
141
- value: function _createColorAttachments() {
142
- var _this2 = this;
143
-
144
- return this.props.colorAttachments.map(function (colorAttachment) {
145
- if (!colorAttachment) {
146
- return undefined;
147
- }
148
-
149
- if (colorAttachment instanceof _webglTexture.default) {
150
- return colorAttachment;
151
- }
152
-
153
- return _this2._createColorAttachment(colorAttachment, _this2.width, _this2.height);
154
- });
155
- }
156
- }, {
157
- key: "_createColorAttachment",
158
- value: function _createColorAttachment(format, width, height) {
159
- var texture = this.device._createTexture({
160
- id: "".concat(this.id, "-color"),
161
- data: null,
162
- format: format,
163
- width: width,
164
- height: height,
165
- mipmaps: false,
166
- sampler: {
167
- minFilter: 'linear',
168
- magFilter: 'linear',
169
- addressModeU: 'clamp-to-edge',
170
- addressModeV: 'clamp-to-edge'
171
- }
172
- });
173
-
174
- this._ownResources.push(texture);
175
-
176
- return texture;
177
- }
178
- }, {
179
- key: "_createDepthStencilAttachment",
180
- value: function _createDepthStencilAttachment() {
181
- if (!this.props.depthStencilAttachment) {
182
- return undefined;
183
- }
184
-
185
- if (this.props.depthStencilAttachment instanceof _webglRenderbuffer.default) {
186
- return this.props.depthStencilAttachment;
187
- }
188
-
189
- if (this.props.depthStencilAttachment instanceof _api.Texture) {
190
- return this.props.depthStencilAttachment;
191
- }
192
-
193
- var format = this.props.depthStencilAttachment;
194
- var webglFormat = (0, _textureFormats.getWebGLTextureFormat)(this.gl, format);
195
- var texture = new _webglRenderbuffer.default(this.device, {
196
- id: "".concat(this.id, "-depth-stencil"),
197
- format: webglFormat,
198
- width: this.width,
199
- height: this.height
200
- });
201
-
202
- this._ownResources.push(texture);
203
-
204
- return texture;
205
- }
206
- }, {
207
- key: "_resizeAttachments",
208
- value: function _resizeAttachments(width, height) {
209
- var _this$depthStencilAtt;
210
-
211
- if (this.handle === null) {
212
- this.width = this.gl.drawingBufferWidth;
213
- this.height = this.gl.drawingBufferHeight;
214
- return this;
215
- }
216
-
217
- if (width === undefined) {
218
- width = this.gl.drawingBufferWidth;
219
- }
220
-
221
- if (height === undefined) {
222
- height = this.gl.drawingBufferHeight;
223
- }
224
-
225
- if (width !== this.width && height !== this.height) {
226
- _api.log.log(2, "Resizing framebuffer ".concat(this.id, " to ").concat(width, "x").concat(height))();
227
- }
228
-
229
- var _iterator2 = _createForOfIteratorHelper(this.colorAttachments),
230
- _step2;
231
-
232
- try {
233
- for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
234
- var colorAttachment = _step2.value;
235
- colorAttachment.resize({
236
- width: width,
237
- height: height
238
- });
239
- }
240
- } catch (err) {
241
- _iterator2.e(err);
242
- } finally {
243
- _iterator2.f();
244
- }
245
-
246
- (_this$depthStencilAtt = this.depthStencilAttachment) === null || _this$depthStencilAtt === void 0 ? void 0 : _this$depthStencilAtt.resize({
247
- width: width,
248
- height: height
249
- });
250
- return this;
251
- }
252
- }, {
253
- key: "_attachOne",
254
- value: function _attachOne(attachmentPoint, attachment) {
255
- if (attachment instanceof _webglRenderbuffer.default) {
256
- this._attachRenderbuffer(attachmentPoint, attachment);
257
-
258
- return attachment;
259
- } else if (Array.isArray(attachment)) {
260
- var _attachment = (0, _slicedToArray2.default)(attachment, 3),
261
- texture = _attachment[0],
262
- _attachment$ = _attachment[1],
263
- layer = _attachment$ === void 0 ? 0 : _attachment$,
264
- _attachment$2 = _attachment[2],
265
- level = _attachment$2 === void 0 ? 0 : _attachment$2;
266
-
267
- this._attachTexture(attachmentPoint, texture, layer, level);
268
-
269
- return texture;
270
- } else if (attachment instanceof _webglTexture.default) {
271
- this._attachTexture(attachmentPoint, attachment, 0, 0);
272
-
273
- return attachment;
274
- }
275
- }
276
- }, {
277
- key: "_attachRenderbuffer",
278
- value: function _attachRenderbuffer(attachment, renderbuffer) {
279
- this.gl.framebufferRenderbuffer(_constants.default.FRAMEBUFFER, attachment, _constants.default.RENDERBUFFER, renderbuffer.handle);
280
- }
281
- }, {
282
- key: "_attachTexture",
283
- value: function _attachTexture(attachment, texture, layer, level) {
284
- var _this$device = this.device,
285
- gl = _this$device.gl,
286
- gl2 = _this$device.gl2;
287
- gl.bindTexture(texture.target, texture.handle);
288
-
289
- switch (texture.target) {
290
- case _constants.default.TEXTURE_2D_ARRAY:
291
- case _constants.default.TEXTURE_3D:
292
- this.device.assertWebGL2();
293
- gl2.framebufferTextureLayer(_constants.default.FRAMEBUFFER, attachment, texture.target, level, layer);
294
- break;
295
-
296
- case _constants.default.TEXTURE_CUBE_MAP:
297
- var face = mapIndexToCubeMapFace(layer);
298
- gl.framebufferTexture2D(_constants.default.FRAMEBUFFER, attachment, face, texture.handle, level);
299
- break;
300
-
301
- case _constants.default.TEXTURE_2D:
302
- gl.framebufferTexture2D(_constants.default.FRAMEBUFFER, attachment, _constants.default.TEXTURE_2D, texture.handle, level);
303
- break;
304
-
305
- default:
306
- (0, _api.assert)(false, 'Illegal texture type');
307
- }
308
-
309
- gl.bindTexture(texture.target, null);
310
- }
311
- }]);
312
- return WEBGLFramebuffer;
313
- }(_api.Framebuffer);
314
-
315
- exports.default = WEBGLFramebuffer;
316
-
317
- function mapIndexToCubeMapFace(layer) {
318
- return layer < _constants.default.TEXTURE_CUBE_MAP_POSITIVE_X ? layer + _constants.default.TEXTURE_CUBE_MAP_POSITIVE_X : layer;
319
- }
320
-
321
- function _getFrameBufferStatus(status) {
322
- switch (status) {
323
- case _constants.default.FRAMEBUFFER_COMPLETE:
324
- return 'success';
325
-
326
- case _constants.default.FRAMEBUFFER_INCOMPLETE_ATTACHMENT:
327
- return 'Mismatched attachments';
328
-
329
- case _constants.default.FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT:
330
- return 'No attachments';
331
-
332
- case _constants.default.FRAMEBUFFER_INCOMPLETE_DIMENSIONS:
333
- return 'Height/width mismatch';
334
-
335
- case _constants.default.FRAMEBUFFER_UNSUPPORTED:
336
- return 'Unsupported or split attachments';
337
-
338
- case _constants.default.FRAMEBUFFER_INCOMPLETE_MULTISAMPLE:
339
- return 'Samples mismatch';
340
-
341
- default:
342
- return "".concat(status);
343
- }
344
- }
345
- //# sourceMappingURL=webgl-framebuffer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../src/adapter/resources/webgl-framebuffer.ts"],"names":["WEBGLFramebuffer","device","props","undefined","gl","handle","createFramebuffer","__SPECTOR_Metadata","id","colorAttachments","_createColorAttachments","depthStencilAttachment","_createDepthStencilAttachment","prevHandle","bindFramebuffer","GL","FRAMEBUFFER","i","length","attachment","attachmentPoint","COLOR_ATTACHMENT0","_attachOne","format","check","_checkStatus","_ownResources","resource","destroy","deleteFramebuffer","status","checkFramebufferStatus","FRAMEBUFFER_COMPLETE","Error","_getFrameBufferStatus","map","colorAttachment","WebGLTexture","_createColorAttachment","width","height","texture","_createTexture","data","mipmaps","sampler","minFilter","magFilter","addressModeU","addressModeV","push","Renderbuffer","Texture","webglFormat","drawingBufferWidth","drawingBufferHeight","log","resize","_attachRenderbuffer","Array","isArray","layer","level","_attachTexture","renderbuffer","framebufferRenderbuffer","RENDERBUFFER","gl2","bindTexture","target","TEXTURE_2D_ARRAY","TEXTURE_3D","assertWebGL2","framebufferTextureLayer","TEXTURE_CUBE_MAP","face","mapIndexToCubeMapFace","framebufferTexture2D","TEXTURE_2D","Framebuffer","TEXTURE_CUBE_MAP_POSITIVE_X","FRAMEBUFFER_INCOMPLETE_ATTACHMENT","FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT","FRAMEBUFFER_INCOMPLETE_DIMENSIONS","FRAMEBUFFER_UNSUPPORTED","FRAMEBUFFER_INCOMPLETE_MULTISAMPLE"],"mappings":"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","sourcesContent":["import type {FramebufferProps, DepthStencilTextureFormat, ColorTextureFormat} from '@luma.gl/api';\nimport {Framebuffer, Texture, log, assert} from '@luma.gl/api';\nimport GL from '@luma.gl/constants';\nimport WebGLDevice from '../webgl-device';\nimport WebGLTexture from './webgl-texture';\nimport Renderbuffer from '../objects/webgl-renderbuffer';\nimport {getWebGLTextureFormat, getWebGLDepthStencilAttachment} from '../converters/texture-formats';\n\nexport type TextureAttachment = [Texture, number?, number?];\nexport type Attachment = WebGLTexture | Renderbuffer | TextureAttachment;\n\n/** luma.gl Framebuffer, WebGL implementation */\nexport default class WEBGLFramebuffer extends Framebuffer {\n device: WebGLDevice;\n gl: WebGLRenderingContext;\n handle: WebGLFramebuffer;\n\n get texture() { return this.colorAttachments[0]; }\n readonly colorAttachments: WebGLTexture[] = [];\n readonly depthStencilAttachment: WebGLTexture | undefined = undefined;\n protected _ownResources: (WebGLTexture | Renderbuffer)[] = [];\n\n constructor(device: WebGLDevice, props: FramebufferProps) {\n super(device, props);\n this.device = device;\n this.gl = device.gl;\n this.handle = this.props.handle !== undefined ? this.props.handle : this.gl.createFramebuffer();\n\n if (this.handle) { // default framebuffer is null...\n // @ts-expect-error Per SPECTOR docs\n this.handle.__SPECTOR_Metadata = {id: this.props.id, props: this.props};\n }\n\n this.colorAttachments = this._createColorAttachments();\n // @ts-expect-error\n this.depthStencilAttachment = this._createDepthStencilAttachment();\n\n /** Attach from a map of attachments */\n const prevHandle = this.gl.bindFramebuffer(GL.FRAMEBUFFER, this.handle);\n\n // Walk the attachments\n for (let i = 0; i < this.colorAttachments.length; ++i) {\n const attachment = this.colorAttachments[i];\n const attachmentPoint = GL.COLOR_ATTACHMENT0 + i;\n if (attachment) {\n this._attachOne(attachmentPoint, attachment);\n }\n }\n\n if (this.props.depthStencilAttachment) {\n this._attachOne(getWebGLDepthStencilAttachment(this.depthStencilAttachment.format), this.depthStencilAttachment);\n }\n\n // @ts-expect-error\n this.gl.bindFramebuffer(GL.FRAMEBUFFER, prevHandle || null);\n\n // @ts-expect-error\n if (props.check !== false) {\n this._checkStatus();\n }\n }\n\n destroy() {\n if (this.handle !== null) {\n for (const resource of this._ownResources) {\n resource.destroy();\n }\n this.gl.deleteFramebuffer(this.handle);\n this.handle = null;\n }\n }\n\n // PRIVATE\n\n /** Check the status */\n protected _checkStatus(): void {\n const {gl} = this;\n const prevHandle = gl.bindFramebuffer(GL.FRAMEBUFFER, this.handle);\n const status = gl.checkFramebufferStatus(GL.FRAMEBUFFER);\n // @ts-expect-error\n gl.bindFramebuffer(GL.FRAMEBUFFER, prevHandle || null);\n if (status !== gl.FRAMEBUFFER_COMPLETE) {\n throw new Error(`Framebuffer ${_getFrameBufferStatus(status)}`);\n }\n }\n\n _createColorAttachments(): WebGLTexture[] {\n return this.props.colorAttachments.map(colorAttachment => {\n if (!colorAttachment) {\n return undefined;\n }\n if (colorAttachment instanceof WebGLTexture) {\n return colorAttachment;\n }\n // if (typeof colorAttachment === 'default') {\n // return this._createColorAttachment('rgba8unorm', this.width, this.height);\n // }\n // @ts-expect-error\n return this._createColorAttachment(colorAttachment, this.width, this.height);\n });\n }\n\n /** Create a color attachment */\n protected _createColorAttachment(format: ColorTextureFormat, width: number, height: number): WebGLTexture {\n const texture = this.device._createTexture({\n id: `${this.id}-color`,\n data: null, // reserves texture memory, but texels are undefined\n format,\n // type: GL.UNSIGNED_BYTE,\n width,\n height,\n // Note: Mipmapping can be disabled by texture resource when we resize the texture\n // to a non-power-of-two dimenstion (NPOT texture) under WebGL1. To have consistant\n // behavior we always disable mipmaps.\n mipmaps: false,\n // Set MIN and MAG filtering parameters so mipmaps are not used in sampling.\n // Use LINEAR so subpixel algos like fxaa work.\n // Set WRAP modes that support NPOT textures too.\n sampler: {\n minFilter: 'linear',\n magFilter: 'linear',\n addressModeU: 'clamp-to-edge',\n addressModeV: 'clamp-to-edge'\n },\n // parameters: {\n // [GL.TEXTURE_MIN_FILTER]: GL.LINEAR,\n // [GL.TEXTURE_MAG_FILTER]: GL.LINEAR,\n // [GL.TEXTURE_WRAP_S]: GL.CLAMP_TO_EDGE,\n // [GL.TEXTURE_WRAP_T]: GL.CLAMP_TO_EDGE\n // }\n }) as WebGLTexture;\n this._ownResources.push(texture);\n return texture;\n }\n\n /** Create a depth stencil attachment GL.DEPTH24_STENCIL8 */\n protected _createDepthStencilAttachment(): Renderbuffer | WebGLTexture {\n if (!this.props.depthStencilAttachment) {\n return undefined;\n }\n if (this.props.depthStencilAttachment instanceof Renderbuffer) {\n return this.props.depthStencilAttachment;\n }\n if (this.props.depthStencilAttachment instanceof Texture) {\n return this.props.depthStencilAttachment as unknown as WebGLTexture;\n }\n const format = this.props.depthStencilAttachment;\n const webglFormat = getWebGLTextureFormat(this.gl, format);\n\n const texture = new Renderbuffer(this.device, {\n id: `${this.id}-depth-stencil`, // TODO misleading if not depth and stencil?\n format: webglFormat,\n // dataFormat: GL.DEPTH_STENCIL,\n // type: GL.UNSIGNED_INT_24_8,\n width: this.width,\n height: this.height\n });\n this._ownResources.push(texture);\n return texture;\n }\n\n /** Attachment resize is expected to be a noop if size is same */\n protected _resizeAttachments(width: number, height: number): this {\n // for default framebuffer, just update the stored size\n if (this.handle === null) {\n // assert(width === undefined && height === undefined);\n this.width = this.gl.drawingBufferWidth;\n this.height = this.gl.drawingBufferHeight;\n return this;\n }\n if (width === undefined) {\n width = this.gl.drawingBufferWidth;\n }\n if (height === undefined) {\n height = this.gl.drawingBufferHeight;\n }\n\n if (width !== this.width && height !== this.height) {\n log.log(2, `Resizing framebuffer ${this.id} to ${width}x${height}`)();\n }\n\n for (const colorAttachment of this.colorAttachments) {\n colorAttachment.resize({width, height});\n }\n this.depthStencilAttachment?.resize({width, height});\n return this;\n }\n\n /** Attach one attachment */\n protected _attachOne(attachmentPoint: GL, attachment: Attachment): WebGLTexture | Renderbuffer {\n if (attachment instanceof Renderbuffer) {\n this._attachRenderbuffer(attachmentPoint, attachment);\n return attachment;\n } else if (Array.isArray(attachment)) {\n const [texture, layer = 0, level = 0] = attachment;\n this._attachTexture(attachmentPoint, texture as unknown as WebGLTexture, layer, level);\n return texture as unknown as WebGLTexture;\n } else if (attachment instanceof WebGLTexture) {\n this._attachTexture(attachmentPoint, attachment, 0, 0);\n return attachment;\n }\n }\n\n protected _attachRenderbuffer(attachment: GL, renderbuffer: Renderbuffer): void {\n this.gl.framebufferRenderbuffer(\n GL.FRAMEBUFFER,\n attachment,\n GL.RENDERBUFFER,\n renderbuffer.handle\n );\n }\n\n /**\n * @param attachment\n * @param texture\n * @param layer = 0 - index into WebGLTextureArray and Texture3D or face for `TextureCubeMap`\n * @param level = 0 - mipmapLevel (must be 0 in WebGL1)\n */\n protected _attachTexture(attachment: GL, texture: WebGLTexture, layer: number, level: number): void {\n const {gl, gl2} = this.device;\n gl.bindTexture(texture.target, texture.handle);\n\n switch (texture.target) {\n case GL.TEXTURE_2D_ARRAY:\n case GL.TEXTURE_3D:\n this.device.assertWebGL2();\n gl2.framebufferTextureLayer(GL.FRAMEBUFFER, attachment, texture.target, level, layer);\n break;\n\n case GL.TEXTURE_CUBE_MAP:\n // layer must be a cubemap face (or if index, converted to cube map face)\n const face = mapIndexToCubeMapFace(layer);\n gl.framebufferTexture2D(GL.FRAMEBUFFER, attachment, face, texture.handle, level);\n break;\n\n case GL.TEXTURE_2D:\n gl.framebufferTexture2D(GL.FRAMEBUFFER, attachment, GL.TEXTURE_2D, texture.handle, level);\n break;\n\n default:\n assert(false, 'Illegal texture type');\n }\n\n gl.bindTexture(texture.target, null);\n }\n}\n\n// Helper functions\n\n// Map an index to a cube map face constant\nfunction mapIndexToCubeMapFace(layer) {\n // TEXTURE_CUBE_MAP_POSITIVE_X is a big value (0x8515)\n // if smaller assume layer is index, otherwise assume it is already a cube map face constant\n return layer < GL.TEXTURE_CUBE_MAP_POSITIVE_X ? layer + GL.TEXTURE_CUBE_MAP_POSITIVE_X : layer;\n}\n\n// Helper METHODS\n// Get a string describing the framebuffer error if installed\nfunction _getFrameBufferStatus(status) {\n switch (status) {\n case GL.FRAMEBUFFER_COMPLETE:\n return 'success';\n case GL.FRAMEBUFFER_INCOMPLETE_ATTACHMENT:\n return 'Mismatched attachments';\n case GL.FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT:\n return 'No attachments';\n case GL.FRAMEBUFFER_INCOMPLETE_DIMENSIONS:\n return 'Height/width mismatch';\n case GL.FRAMEBUFFER_UNSUPPORTED:\n return 'Unsupported or split attachments';\n // WebGL2\n case GL.FRAMEBUFFER_INCOMPLETE_MULTISAMPLE:\n return 'Samples mismatch';\n // OVR_multiview2 extension\n // case GL.FRAMEBUFFER_INCOMPLETE_VIEW_TARGETS_OVR: return 'baseViewIndex mismatch';\n default:\n return `${status}`;\n }\n}\n"],"file":"webgl-framebuffer.js"}
@@ -1,61 +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 = void 0;
9
-
10
- var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
11
-
12
- var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
13
-
14
- var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
15
-
16
- var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
17
-
18
- var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
19
-
20
- var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
21
-
22
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
23
-
24
- var _api = require("@luma.gl/api");
25
-
26
- 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); }; }
27
-
28
- 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; } }
29
-
30
- var WEBGLRenderPass = function (_RenderPass) {
31
- (0, _inherits2.default)(WEBGLRenderPass, _RenderPass);
32
-
33
- var _super = _createSuper(WEBGLRenderPass);
34
-
35
- function WEBGLRenderPass(device, props) {
36
- var _this;
37
-
38
- (0, _classCallCheck2.default)(this, WEBGLRenderPass);
39
- _this = _super.call(this, device, props);
40
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "device", void 0);
41
- return _this;
42
- }
43
-
44
- (0, _createClass2.default)(WEBGLRenderPass, [{
45
- key: "endPass",
46
- value: function endPass() {}
47
- }, {
48
- key: "pushDebugGroup",
49
- value: function pushDebugGroup(groupLabel) {}
50
- }, {
51
- key: "popDebugGroup",
52
- value: function popDebugGroup() {}
53
- }, {
54
- key: "insertDebugMarker",
55
- value: function insertDebugMarker(markerLabel) {}
56
- }]);
57
- return WEBGLRenderPass;
58
- }(_api.RenderPass);
59
-
60
- exports.default = WEBGLRenderPass;
61
- //# sourceMappingURL=webgl-render-pass.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../src/adapter/resources/webgl-render-pass.ts"],"names":["WEBGLRenderPass","device","props","groupLabel","markerLabel","RenderPass"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;;;IAGqBA,e;;;;;AAGnB,2BAAYC,MAAZ,EAAiCC,KAAjC,EAAyD;AAAA;;AAAA;AACvD,8BAAMD,MAAN,EAAcC,KAAd;AADuD;AAAA;AAExD;;;;WAED,mBAAgB,CAAE;;;WAElB,wBAAeC,UAAf,EAAyC,CAAE;;;WAC3C,yBAAsB,CAAE;;;WACxB,2BAAkBC,WAAlB,EAA6C,CAAE;;;EAXJC,e","sourcesContent":["import {RenderPass, RenderPassProps} from '@luma.gl/api';\nimport WebGLDevice from '../webgl-device';\n\nexport default class WEBGLRenderPass extends RenderPass {\n readonly device: WebGLDevice;\n\n constructor(device: WebGLDevice, props: RenderPassProps) {\n super(device, props);\n }\n\n endPass(): void {}\n\n pushDebugGroup(groupLabel: string): void {}\n popDebugGroup(): void {}\n insertDebugMarker(markerLabel: string): void {}\n\n // writeTimestamp(querySet: GPUQuerySet, queryIndex: number): void;\n\n // beginOcclusionQuery(queryIndex: number): void;\n // endOcclusionQuery(): void;\n\n // executeBundles(bundles: Iterable<GPURenderBundle>): void;\n}\n"],"file":"webgl-render-pass.js"}