@luma.gl/webgl 9.0.0-alpha.16 → 9.0.0-alpha.19

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 (417) hide show
  1. package/dist/adapter/converters/device-parameters.d.ts.map +1 -1
  2. package/dist/adapter/converters/device-parameters.js +117 -200
  3. package/dist/adapter/converters/device-parameters.js.map +1 -0
  4. package/dist/adapter/converters/renderbuffer-formats.d.ts +1 -1
  5. package/dist/adapter/converters/renderbuffer-formats.d.ts.map +1 -1
  6. package/dist/adapter/converters/renderbuffer-formats.js +172 -62
  7. package/dist/adapter/converters/renderbuffer-formats.js.map +1 -0
  8. package/dist/adapter/converters/sampler-parameters.d.ts.map +1 -1
  9. package/dist/adapter/converters/sampler-parameters.js +151 -149
  10. package/dist/adapter/converters/sampler-parameters.js.map +1 -0
  11. package/dist/adapter/converters/texture-formats.d.ts +2 -2
  12. package/dist/adapter/converters/texture-formats.d.ts.map +1 -1
  13. package/dist/adapter/converters/texture-formats.js +847 -438
  14. package/dist/adapter/converters/texture-formats.js.map +1 -0
  15. package/dist/adapter/converters/vertex-formats.js +24 -15
  16. package/dist/adapter/converters/vertex-formats.js.map +1 -0
  17. package/dist/adapter/device-helpers/device-features.js +84 -120
  18. package/dist/adapter/device-helpers/device-features.js.map +1 -0
  19. package/dist/adapter/device-helpers/device-limits.d.ts +1 -1
  20. package/dist/adapter/device-helpers/device-limits.d.ts.map +1 -1
  21. package/dist/adapter/device-helpers/device-limits.js +83 -88
  22. package/dist/adapter/device-helpers/device-limits.js.map +1 -0
  23. package/dist/adapter/device-helpers/get-device-info.js +37 -42
  24. package/dist/adapter/device-helpers/get-device-info.js.map +1 -0
  25. package/dist/adapter/device-helpers/is-old-ie.js +8 -10
  26. package/dist/adapter/device-helpers/is-old-ie.js.map +1 -0
  27. package/dist/adapter/helpers/attribute-utils.js +57 -50
  28. package/dist/adapter/helpers/attribute-utils.js.map +1 -0
  29. package/dist/adapter/helpers/get-shader-info.d.ts +1 -1
  30. package/dist/adapter/helpers/get-shader-info.d.ts.map +1 -1
  31. package/dist/adapter/helpers/get-shader-info.js +19 -21
  32. package/dist/adapter/helpers/get-shader-info.js.map +1 -0
  33. package/dist/adapter/helpers/get-shader-layout.js +251 -310
  34. package/dist/adapter/helpers/get-shader-layout.js.map +1 -0
  35. package/dist/adapter/helpers/parse-shader-compiler-log.js +26 -32
  36. package/dist/adapter/helpers/parse-shader-compiler-log.js.map +1 -0
  37. package/dist/adapter/helpers/set-uniform.d.ts.map +1 -1
  38. package/dist/adapter/helpers/set-uniform.js +80 -67
  39. package/dist/adapter/helpers/set-uniform.js.map +1 -0
  40. package/dist/adapter/helpers/uniforms.js +75 -80
  41. package/dist/adapter/helpers/uniforms.js.map +1 -0
  42. package/dist/adapter/objects/constants-to-keys.js +26 -33
  43. package/dist/adapter/objects/constants-to-keys.js.map +1 -0
  44. package/dist/adapter/objects/webgl-renderbuffer.d.ts +1 -1
  45. package/dist/adapter/objects/webgl-renderbuffer.d.ts.map +1 -1
  46. package/dist/adapter/objects/webgl-renderbuffer.js +70 -67
  47. package/dist/adapter/objects/webgl-renderbuffer.js.map +1 -0
  48. package/dist/adapter/objects/webgl-resource.d.ts.map +1 -1
  49. package/dist/adapter/objects/webgl-resource.js +158 -213
  50. package/dist/adapter/objects/webgl-resource.js.map +1 -0
  51. package/dist/adapter/objects/webgl-vertex-array-object.d.ts +1 -1
  52. package/dist/adapter/objects/webgl-vertex-array-object.d.ts.map +1 -1
  53. package/dist/adapter/objects/webgl-vertex-array-object.js +66 -74
  54. package/dist/adapter/objects/webgl-vertex-array-object.js.map +1 -0
  55. package/dist/adapter/resources/webgl-buffer.d.ts.map +1 -1
  56. package/dist/adapter/resources/webgl-buffer.js +118 -150
  57. package/dist/adapter/resources/webgl-buffer.js.map +1 -0
  58. package/dist/adapter/resources/webgl-command-buffer.d.ts +5 -5
  59. package/dist/adapter/resources/webgl-command-buffer.d.ts.map +1 -1
  60. package/dist/adapter/resources/webgl-command-buffer.js +41 -40
  61. package/dist/adapter/resources/webgl-command-buffer.js.map +1 -0
  62. package/dist/adapter/resources/webgl-command-encoder.js +37 -26
  63. package/dist/adapter/resources/webgl-command-encoder.js.map +1 -0
  64. package/dist/adapter/resources/webgl-external-texture.js +1 -91
  65. package/dist/adapter/resources/webgl-external-texture.js.map +1 -0
  66. package/dist/adapter/resources/webgl-framebuffer.d.ts +2 -2
  67. package/dist/adapter/resources/webgl-framebuffer.d.ts.map +1 -1
  68. package/dist/adapter/resources/webgl-framebuffer.js +198 -231
  69. package/dist/adapter/resources/webgl-framebuffer.js.map +1 -0
  70. package/dist/adapter/resources/webgl-render-pass.js +11 -8
  71. package/dist/adapter/resources/webgl-render-pass.js.map +1 -0
  72. package/dist/adapter/resources/webgl-render-pipeline.d.ts.map +1 -1
  73. package/dist/adapter/resources/webgl-render-pipeline.js +289 -316
  74. package/dist/adapter/resources/webgl-render-pipeline.js.map +1 -0
  75. package/dist/adapter/resources/webgl-sampler.js +35 -42
  76. package/dist/adapter/resources/webgl-sampler.js.map +1 -0
  77. package/dist/adapter/resources/webgl-shader.d.ts.map +1 -1
  78. package/dist/adapter/resources/webgl-shader.js +53 -57
  79. package/dist/adapter/resources/webgl-shader.js.map +1 -0
  80. package/dist/adapter/resources/webgl-texture.d.ts +4 -4
  81. package/dist/adapter/resources/webgl-texture.d.ts.map +1 -1
  82. package/dist/adapter/resources/webgl-texture.js +697 -661
  83. package/dist/adapter/resources/webgl-texture.js.map +1 -0
  84. package/dist/adapter/webgl-canvas-context.d.ts.map +1 -1
  85. package/dist/adapter/webgl-canvas-context.js +35 -55
  86. package/dist/adapter/webgl-canvas-context.js.map +1 -0
  87. package/dist/adapter/webgl-device.d.ts +5 -0
  88. package/dist/adapter/webgl-device.d.ts.map +1 -1
  89. package/dist/adapter/webgl-device.js +270 -287
  90. package/dist/adapter/webgl-device.js.map +1 -0
  91. package/dist/classic/accessor.js +103 -120
  92. package/dist/classic/accessor.js.map +1 -0
  93. package/dist/classic/buffer.d.ts +1 -1
  94. package/dist/classic/buffer.d.ts.map +1 -1
  95. package/dist/classic/buffer.js +300 -325
  96. package/dist/classic/buffer.js.map +1 -0
  97. package/dist/classic/typed-array-utils.d.ts +1 -1
  98. package/dist/classic/typed-array-utils.d.ts.map +1 -1
  99. package/dist/classic/typed-array-utils.js +81 -91
  100. package/dist/classic/typed-array-utils.js.map +1 -0
  101. package/dist/context/context/create-browser-context.d.ts +3 -1
  102. package/dist/context/context/create-browser-context.d.ts.map +1 -1
  103. package/dist/context/context/create-browser-context.js +49 -66
  104. package/dist/context/context/create-browser-context.js.map +1 -0
  105. package/dist/context/context/create-headless-context.d.ts +1 -1
  106. package/dist/context/context/create-headless-context.d.ts.map +1 -1
  107. package/dist/context/context/create-headless-context.js +30 -24
  108. package/dist/context/context/create-headless-context.js.map +1 -0
  109. package/dist/context/context/webgl-checks.js +17 -25
  110. package/dist/context/context/webgl-checks.js.map +1 -0
  111. package/dist/context/debug/spector.d.ts +3 -1
  112. package/dist/context/debug/spector.d.ts.map +1 -1
  113. package/dist/context/debug/spector.js +50 -53
  114. package/dist/context/debug/spector.js.map +1 -0
  115. package/dist/context/debug/webgl-developer-tools.d.ts +1 -1
  116. package/dist/context/debug/webgl-developer-tools.d.ts.map +1 -1
  117. package/dist/context/debug/webgl-developer-tools.js +76 -107
  118. package/dist/context/debug/webgl-developer-tools.js.map +1 -0
  119. package/dist/context/parameters/unified-parameter-api.js +46 -93
  120. package/dist/context/parameters/unified-parameter-api.js.map +1 -0
  121. package/dist/context/parameters/webgl-parameter-tables.d.ts +1 -1
  122. package/dist/context/parameters/webgl-parameter-tables.d.ts.map +1 -1
  123. package/dist/context/parameters/webgl-parameter-tables.js +404 -462
  124. package/dist/context/parameters/webgl-parameter-tables.js.map +1 -0
  125. package/dist/context/polyfill/context-data.js +10 -16
  126. package/dist/context/polyfill/context-data.js.map +1 -0
  127. package/dist/context/polyfill/get-parameter-polyfill.js +71 -91
  128. package/dist/context/polyfill/get-parameter-polyfill.js.map +1 -0
  129. package/dist/context/polyfill/polyfill-context.js +73 -75
  130. package/dist/context/polyfill/polyfill-context.js.map +1 -0
  131. package/dist/context/polyfill/polyfill-table.d.ts.map +1 -1
  132. package/dist/context/polyfill/polyfill-table.js +116 -133
  133. package/dist/context/polyfill/polyfill-table.js.map +1 -0
  134. package/dist/context/polyfill/polyfill-vertex-array-object.d.ts.map +1 -1
  135. package/dist/context/polyfill/polyfill-vertex-array-object.js +227 -255
  136. package/dist/context/polyfill/polyfill-vertex-array-object.js.map +1 -0
  137. package/dist/context/state-tracker/deep-array-equal.js +14 -16
  138. package/dist/context/state-tracker/deep-array-equal.js.map +1 -0
  139. package/dist/context/state-tracker/track-context-state.d.ts.map +1 -1
  140. package/dist/context/state-tracker/track-context-state.js +127 -183
  141. package/dist/context/state-tracker/track-context-state.js.map +1 -0
  142. package/dist/context/state-tracker/with-parameters.d.ts.map +1 -1
  143. package/dist/context/state-tracker/with-parameters.js +29 -43
  144. package/dist/context/state-tracker/with-parameters.js.map +1 -0
  145. package/dist/dist.dev.js +9205 -0
  146. package/dist/index.cjs +5948 -0
  147. package/dist/index.d.ts +0 -2
  148. package/dist/index.d.ts.map +1 -1
  149. package/dist/index.js +25 -41
  150. package/dist/index.js.map +1 -0
  151. package/dist/types/webgl.d.ts +16 -16
  152. package/dist/types/webgl.d.ts.map +1 -1
  153. package/dist/types/webgl.js +1 -0
  154. package/dist/types/webgl.js.map +1 -0
  155. package/dist/types.d.ts +1 -1
  156. package/dist/types.d.ts.map +1 -1
  157. package/dist/types.js +1 -0
  158. package/dist/types.js.map +1 -0
  159. package/dist.min.js +36 -0
  160. package/package.json +18 -9
  161. package/src/adapter/converters/device-parameters.ts +5 -2
  162. package/src/adapter/converters/sampler-parameters.ts +4 -2
  163. package/src/adapter/converters/texture-formats.ts +3 -1
  164. package/src/adapter/device-helpers/get-device-info.ts +8 -8
  165. package/src/adapter/helpers/get-shader-info.ts +1 -1
  166. package/src/adapter/helpers/get-shader-layout.ts +4 -4
  167. package/src/adapter/helpers/parse-shader-compiler-log.ts +1 -1
  168. package/src/adapter/helpers/set-uniform.ts +2 -0
  169. package/src/adapter/objects/webgl-renderbuffer.ts +1 -1
  170. package/src/adapter/objects/webgl-resource.ts +1 -1
  171. package/src/adapter/objects/webgl-vertex-array-object.ts +1 -1
  172. package/src/adapter/resources/webgl-buffer.ts +6 -6
  173. package/src/adapter/resources/webgl-command-encoder.ts +1 -1
  174. package/src/adapter/resources/webgl-framebuffer.ts +3 -4
  175. package/src/adapter/resources/webgl-render-pipeline.ts +19 -20
  176. package/src/adapter/resources/webgl-shader.ts +1 -1
  177. package/src/adapter/resources/webgl-texture.ts +8 -9
  178. package/src/adapter/webgl-canvas-context.ts +2 -2
  179. package/src/adapter/webgl-device.ts +12 -2
  180. package/src/classic/accessor.ts +1 -1
  181. package/src/classic/buffer.ts +3 -3
  182. package/src/classic/typed-array-utils.ts +1 -1
  183. package/src/context/context/create-browser-context.ts +4 -2
  184. package/src/context/context/create-headless-context.ts +2 -2
  185. package/src/context/debug/spector.ts +5 -4
  186. package/src/context/debug/webgl-developer-tools.ts +1 -0
  187. package/src/context/polyfill/polyfill-table.ts +1 -0
  188. package/src/context/polyfill/polyfill-vertex-array-object.ts +2 -0
  189. package/src/context/state-tracker/track-context-state.ts +6 -5
  190. package/src/context/state-tracker/with-parameters.ts +1 -1
  191. package/src/index.ts +1 -5
  192. package/src/types/webgl.ts +2 -0
  193. package/dist/bundle.d.ts +0 -2
  194. package/dist/bundle.d.ts.map +0 -1
  195. package/dist/bundle.js +0 -4
  196. package/dist/dist.min.js +0 -1
  197. package/dist/es5/adapter/converters/device-parameters.js +0 -139
  198. package/dist/es5/adapter/converters/device-parameters.js.map +0 -1
  199. package/dist/es5/adapter/converters/renderbuffer-formats.js +0 -151
  200. package/dist/es5/adapter/converters/renderbuffer-formats.js.map +0 -1
  201. package/dist/es5/adapter/converters/sampler-parameters.js +0 -182
  202. package/dist/es5/adapter/converters/sampler-parameters.js.map +0 -1
  203. package/dist/es5/adapter/converters/texture-formats.js +0 -950
  204. package/dist/es5/adapter/converters/texture-formats.js.map +0 -1
  205. package/dist/es5/adapter/converters/vertex-formats.js +0 -36
  206. package/dist/es5/adapter/converters/vertex-formats.js.map +0 -1
  207. package/dist/es5/adapter/device-helpers/device-features.js +0 -121
  208. package/dist/es5/adapter/device-helpers/device-features.js.map +0 -1
  209. package/dist/es5/adapter/device-helpers/device-limits.js +0 -54
  210. package/dist/es5/adapter/device-helpers/device-limits.js.map +0 -1
  211. package/dist/es5/adapter/device-helpers/get-device-info.js +0 -49
  212. package/dist/es5/adapter/device-helpers/get-device-info.js.map +0 -1
  213. package/dist/es5/adapter/device-helpers/is-old-ie.js +0 -15
  214. package/dist/es5/adapter/device-helpers/is-old-ie.js.map +0 -1
  215. package/dist/es5/adapter/helpers/attribute-utils.js +0 -69
  216. package/dist/es5/adapter/helpers/attribute-utils.js.map +0 -1
  217. package/dist/es5/adapter/helpers/get-shader-info.js +0 -31
  218. package/dist/es5/adapter/helpers/get-shader-info.js.map +0 -1
  219. package/dist/es5/adapter/helpers/get-shader-layout.js +0 -311
  220. package/dist/es5/adapter/helpers/get-shader-layout.js.map +0 -1
  221. package/dist/es5/adapter/helpers/parse-shader-compiler-log.js +0 -54
  222. package/dist/es5/adapter/helpers/parse-shader-compiler-log.js.map +0 -1
  223. package/dist/es5/adapter/helpers/set-uniform.js +0 -92
  224. package/dist/es5/adapter/helpers/set-uniform.js.map +0 -1
  225. package/dist/es5/adapter/helpers/uniforms.js +0 -88
  226. package/dist/es5/adapter/helpers/uniforms.js.map +0 -1
  227. package/dist/es5/adapter/objects/constants-to-keys.js +0 -43
  228. package/dist/es5/adapter/objects/constants-to-keys.js.map +0 -1
  229. package/dist/es5/adapter/objects/webgl-renderbuffer.js +0 -122
  230. package/dist/es5/adapter/objects/webgl-renderbuffer.js.map +0 -1
  231. package/dist/es5/adapter/objects/webgl-resource.js +0 -233
  232. package/dist/es5/adapter/objects/webgl-resource.js.map +0 -1
  233. package/dist/es5/adapter/objects/webgl-vertex-array-object.js +0 -109
  234. package/dist/es5/adapter/objects/webgl-vertex-array-object.js.map +0 -1
  235. package/dist/es5/adapter/resources/webgl-buffer.js +0 -196
  236. package/dist/es5/adapter/resources/webgl-buffer.js.map +0 -1
  237. package/dist/es5/adapter/resources/webgl-command-buffer.js +0 -70
  238. package/dist/es5/adapter/resources/webgl-command-buffer.js.map +0 -1
  239. package/dist/es5/adapter/resources/webgl-command-encoder.js +0 -80
  240. package/dist/es5/adapter/resources/webgl-command-encoder.js.map +0 -1
  241. package/dist/es5/adapter/resources/webgl-external-texture.js +0 -2
  242. package/dist/es5/adapter/resources/webgl-external-texture.js.map +0 -1
  243. package/dist/es5/adapter/resources/webgl-framebuffer.js +0 -275
  244. package/dist/es5/adapter/resources/webgl-framebuffer.js.map +0 -1
  245. package/dist/es5/adapter/resources/webgl-render-pass.js +0 -45
  246. package/dist/es5/adapter/resources/webgl-render-pass.js.map +0 -1
  247. package/dist/es5/adapter/resources/webgl-render-pipeline.js +0 -385
  248. package/dist/es5/adapter/resources/webgl-render-pipeline.js.map +0 -1
  249. package/dist/es5/adapter/resources/webgl-sampler.js +0 -75
  250. package/dist/es5/adapter/resources/webgl-sampler.js.map +0 -1
  251. package/dist/es5/adapter/resources/webgl-shader.js +0 -111
  252. package/dist/es5/adapter/resources/webgl-shader.js.map +0 -1
  253. package/dist/es5/adapter/resources/webgl-texture.js +0 -826
  254. package/dist/es5/adapter/resources/webgl-texture.js.map +0 -1
  255. package/dist/es5/adapter/webgl-canvas-context.js +0 -72
  256. package/dist/es5/adapter/webgl-canvas-context.js.map +0 -1
  257. package/dist/es5/adapter/webgl-device.js +0 -387
  258. package/dist/es5/adapter/webgl-device.js.map +0 -1
  259. package/dist/es5/bundle.js +0 -6
  260. package/dist/es5/bundle.js.map +0 -1
  261. package/dist/es5/classic/accessor.js +0 -151
  262. package/dist/es5/classic/accessor.js.map +0 -1
  263. package/dist/es5/classic/buffer.js +0 -398
  264. package/dist/es5/classic/buffer.js.map +0 -1
  265. package/dist/es5/classic/typed-array-utils.js +0 -99
  266. package/dist/es5/classic/typed-array-utils.js.map +0 -1
  267. package/dist/es5/context/context/create-browser-context.js +0 -66
  268. package/dist/es5/context/context/create-browser-context.js.map +0 -1
  269. package/dist/es5/context/context/create-headless-context.js +0 -47
  270. package/dist/es5/context/context/create-headless-context.js.map +0 -1
  271. package/dist/es5/context/context/webgl-checks.js +0 -44
  272. package/dist/es5/context/context/webgl-checks.js.map +0 -1
  273. package/dist/es5/context/debug/spector.js +0 -99
  274. package/dist/es5/context/debug/spector.js.map +0 -1
  275. package/dist/es5/context/debug/webgl-developer-tools.js +0 -146
  276. package/dist/es5/context/debug/webgl-developer-tools.js.map +0 -1
  277. package/dist/es5/context/parameters/unified-parameter-api.js +0 -76
  278. package/dist/es5/context/parameters/unified-parameter-api.js.map +0 -1
  279. package/dist/es5/context/parameters/webgl-parameter-tables.js +0 -346
  280. package/dist/es5/context/parameters/webgl-parameter-tables.js.map +0 -1
  281. package/dist/es5/context/polyfill/context-data.js +0 -18
  282. package/dist/es5/context/polyfill/context-data.js.map +0 -1
  283. package/dist/es5/context/polyfill/get-parameter-polyfill.js +0 -69
  284. package/dist/es5/context/polyfill/get-parameter-polyfill.js.map +0 -1
  285. package/dist/es5/context/polyfill/polyfill-context.js +0 -109
  286. package/dist/es5/context/polyfill/polyfill-context.js.map +0 -1
  287. package/dist/es5/context/polyfill/polyfill-table.js +0 -143
  288. package/dist/es5/context/polyfill/polyfill-table.js.map +0 -1
  289. package/dist/es5/context/polyfill/polyfill-vertex-array-object.js +0 -271
  290. package/dist/es5/context/polyfill/polyfill-vertex-array-object.js.map +0 -1
  291. package/dist/es5/context/state-tracker/deep-array-equal.js +0 -23
  292. package/dist/es5/context/state-tracker/deep-array-equal.js.map +0 -1
  293. package/dist/es5/context/state-tracker/track-context-state.js +0 -167
  294. package/dist/es5/context/state-tracker/track-context-state.js.map +0 -1
  295. package/dist/es5/context/state-tracker/with-parameters.js +0 -40
  296. package/dist/es5/context/state-tracker/with-parameters.js.map +0 -1
  297. package/dist/es5/index.js +0 -249
  298. package/dist/es5/index.js.map +0 -1
  299. package/dist/es5/init.js +0 -7
  300. package/dist/es5/init.js.map +0 -1
  301. package/dist/es5/types/webgl.js +0 -5
  302. package/dist/es5/types/webgl.js.map +0 -1
  303. package/dist/es5/types.js +0 -2
  304. package/dist/es5/types.js.map +0 -1
  305. package/dist/esm/adapter/converters/device-parameters.js +0 -137
  306. package/dist/esm/adapter/converters/device-parameters.js.map +0 -1
  307. package/dist/esm/adapter/converters/renderbuffer-formats.js +0 -181
  308. package/dist/esm/adapter/converters/renderbuffer-formats.js.map +0 -1
  309. package/dist/esm/adapter/converters/sampler-parameters.js +0 -172
  310. package/dist/esm/adapter/converters/sampler-parameters.js.map +0 -1
  311. package/dist/esm/adapter/converters/texture-formats.js +0 -901
  312. package/dist/esm/adapter/converters/texture-formats.js.map +0 -1
  313. package/dist/esm/adapter/converters/vertex-formats.js +0 -29
  314. package/dist/esm/adapter/converters/vertex-formats.js.map +0 -1
  315. package/dist/esm/adapter/device-helpers/device-features.js +0 -95
  316. package/dist/esm/adapter/device-helpers/device-features.js.map +0 -1
  317. package/dist/esm/adapter/device-helpers/device-limits.js +0 -88
  318. package/dist/esm/adapter/device-helpers/device-limits.js.map +0 -1
  319. package/dist/esm/adapter/device-helpers/get-device-info.js +0 -42
  320. package/dist/esm/adapter/device-helpers/get-device-info.js.map +0 -1
  321. package/dist/esm/adapter/device-helpers/is-old-ie.js +0 -9
  322. package/dist/esm/adapter/device-helpers/is-old-ie.js.map +0 -1
  323. package/dist/esm/adapter/helpers/attribute-utils.js +0 -64
  324. package/dist/esm/adapter/helpers/attribute-utils.js.map +0 -1
  325. package/dist/esm/adapter/helpers/get-shader-info.js +0 -25
  326. package/dist/esm/adapter/helpers/get-shader-info.js.map +0 -1
  327. package/dist/esm/adapter/helpers/get-shader-layout.js +0 -282
  328. package/dist/esm/adapter/helpers/get-shader-layout.js.map +0 -1
  329. package/dist/esm/adapter/helpers/parse-shader-compiler-log.js +0 -30
  330. package/dist/esm/adapter/helpers/parse-shader-compiler-log.js.map +0 -1
  331. package/dist/esm/adapter/helpers/set-uniform.js +0 -85
  332. package/dist/esm/adapter/helpers/set-uniform.js.map +0 -1
  333. package/dist/esm/adapter/helpers/uniforms.js +0 -89
  334. package/dist/esm/adapter/helpers/uniforms.js.map +0 -1
  335. package/dist/esm/adapter/objects/constants-to-keys.js +0 -35
  336. package/dist/esm/adapter/objects/constants-to-keys.js.map +0 -1
  337. package/dist/esm/adapter/objects/webgl-renderbuffer.js +0 -78
  338. package/dist/esm/adapter/objects/webgl-renderbuffer.js.map +0 -1
  339. package/dist/esm/adapter/objects/webgl-resource.js +0 -163
  340. package/dist/esm/adapter/objects/webgl-resource.js.map +0 -1
  341. package/dist/esm/adapter/objects/webgl-vertex-array-object.js +0 -74
  342. package/dist/esm/adapter/objects/webgl-vertex-array-object.js.map +0 -1
  343. package/dist/esm/adapter/resources/webgl-buffer.js +0 -134
  344. package/dist/esm/adapter/resources/webgl-buffer.js.map +0 -1
  345. package/dist/esm/adapter/resources/webgl-command-buffer.js +0 -50
  346. package/dist/esm/adapter/resources/webgl-command-buffer.js.map +0 -1
  347. package/dist/esm/adapter/resources/webgl-command-encoder.js +0 -41
  348. package/dist/esm/adapter/resources/webgl-command-encoder.js.map +0 -1
  349. package/dist/esm/adapter/resources/webgl-external-texture.js +0 -2
  350. package/dist/esm/adapter/resources/webgl-external-texture.js.map +0 -1
  351. package/dist/esm/adapter/resources/webgl-framebuffer.js +0 -207
  352. package/dist/esm/adapter/resources/webgl-framebuffer.js.map +0 -1
  353. package/dist/esm/adapter/resources/webgl-render-pass.js +0 -14
  354. package/dist/esm/adapter/resources/webgl-render-pass.js.map +0 -1
  355. package/dist/esm/adapter/resources/webgl-render-pipeline.js +0 -311
  356. package/dist/esm/adapter/resources/webgl-render-pipeline.js.map +0 -1
  357. package/dist/esm/adapter/resources/webgl-sampler.js +0 -42
  358. package/dist/esm/adapter/resources/webgl-sampler.js.map +0 -1
  359. package/dist/esm/adapter/resources/webgl-shader.js +0 -62
  360. package/dist/esm/adapter/resources/webgl-shader.js.map +0 -1
  361. package/dist/esm/adapter/resources/webgl-texture.js +0 -714
  362. package/dist/esm/adapter/resources/webgl-texture.js.map +0 -1
  363. package/dist/esm/adapter/webgl-canvas-context.js +0 -41
  364. package/dist/esm/adapter/webgl-canvas-context.js.map +0 -1
  365. package/dist/esm/adapter/webgl-device.js +0 -276
  366. package/dist/esm/adapter/webgl-device.js.map +0 -1
  367. package/dist/esm/bundle.js +0 -4
  368. package/dist/esm/bundle.js.map +0 -1
  369. package/dist/esm/classic/accessor.js +0 -120
  370. package/dist/esm/classic/accessor.js.map +0 -1
  371. package/dist/esm/classic/buffer.js +0 -327
  372. package/dist/esm/classic/buffer.js.map +0 -1
  373. package/dist/esm/classic/typed-array-utils.js +0 -92
  374. package/dist/esm/classic/typed-array-utils.js.map +0 -1
  375. package/dist/esm/context/context/create-browser-context.js +0 -53
  376. package/dist/esm/context/context/create-browser-context.js.map +0 -1
  377. package/dist/esm/context/context/create-headless-context.js +0 -39
  378. package/dist/esm/context/context/create-headless-context.js.map +0 -1
  379. package/dist/esm/context/context/webgl-checks.js +0 -31
  380. package/dist/esm/context/context/webgl-checks.js.map +0 -1
  381. package/dist/esm/context/debug/spector.js +0 -64
  382. package/dist/esm/context/debug/spector.js.map +0 -1
  383. package/dist/esm/context/debug/webgl-developer-tools.js +0 -97
  384. package/dist/esm/context/debug/webgl-developer-tools.js.map +0 -1
  385. package/dist/esm/context/parameters/unified-parameter-api.js +0 -55
  386. package/dist/esm/context/parameters/unified-parameter-api.js.map +0 -1
  387. package/dist/esm/context/parameters/webgl-parameter-tables.js +0 -427
  388. package/dist/esm/context/parameters/webgl-parameter-tables.js.map +0 -1
  389. package/dist/esm/context/polyfill/context-data.js +0 -12
  390. package/dist/esm/context/polyfill/context-data.js.map +0 -1
  391. package/dist/esm/context/polyfill/get-parameter-polyfill.js +0 -86
  392. package/dist/esm/context/polyfill/get-parameter-polyfill.js.map +0 -1
  393. package/dist/esm/context/polyfill/polyfill-context.js +0 -84
  394. package/dist/esm/context/polyfill/polyfill-context.js.map +0 -1
  395. package/dist/esm/context/polyfill/polyfill-table.js +0 -138
  396. package/dist/esm/context/polyfill/polyfill-table.js.map +0 -1
  397. package/dist/esm/context/polyfill/polyfill-vertex-array-object.js +0 -265
  398. package/dist/esm/context/polyfill/polyfill-vertex-array-object.js.map +0 -1
  399. package/dist/esm/context/state-tracker/deep-array-equal.js +0 -17
  400. package/dist/esm/context/state-tracker/deep-array-equal.js.map +0 -1
  401. package/dist/esm/context/state-tracker/track-context-state.js +0 -148
  402. package/dist/esm/context/state-tracker/track-context-state.js.map +0 -1
  403. package/dist/esm/context/state-tracker/with-parameters.js +0 -34
  404. package/dist/esm/context/state-tracker/with-parameters.js.map +0 -1
  405. package/dist/esm/index.js +0 -27
  406. package/dist/esm/index.js.map +0 -1
  407. package/dist/esm/init.js +0 -4
  408. package/dist/esm/init.js.map +0 -1
  409. package/dist/esm/types/webgl.js +0 -2
  410. package/dist/esm/types/webgl.js.map +0 -1
  411. package/dist/esm/types.js +0 -2
  412. package/dist/esm/types.js.map +0 -1
  413. package/dist/init.d.ts +0 -2
  414. package/dist/init.d.ts.map +0 -1
  415. package/dist/init.js +0 -3
  416. package/src/bundle.ts +0 -4
  417. package/src/init.ts +0 -4
@@ -1,275 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- exports.default = void 0;
8
- var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
9
- var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
10
- var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
11
- var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
12
- var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
13
- var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
14
- var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
15
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
16
- var _api = require("@luma.gl/api");
17
- var _constants = _interopRequireDefault(require("@luma.gl/constants"));
18
- var _webglTexture = _interopRequireDefault(require("./webgl-texture"));
19
- var _webglRenderbuffer = _interopRequireDefault(require("../objects/webgl-renderbuffer"));
20
- var _textureFormats = require("../converters/texture-formats");
21
- 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; } } }; }
22
- 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); }
23
- 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; }
24
- 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); }; }
25
- 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; } }
26
- var WEBGLFramebuffer = function (_Framebuffer) {
27
- (0, _inherits2.default)(WEBGLFramebuffer, _Framebuffer);
28
- var _super = _createSuper(WEBGLFramebuffer);
29
- function WEBGLFramebuffer(device, props) {
30
- var _this;
31
- (0, _classCallCheck2.default)(this, WEBGLFramebuffer);
32
- _this = _super.call(this, device, props);
33
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "device", void 0);
34
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "gl", void 0);
35
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "handle", void 0);
36
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "colorAttachments", []);
37
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "depthStencilAttachment", null);
38
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "_ownResources", []);
39
- _this.device = device;
40
- _this.gl = device.gl;
41
- _this.handle = _this.props.handle !== undefined ? _this.props.handle : _this.gl.createFramebuffer();
42
- if (_this.handle) {
43
- _this.handle.__SPECTOR_Metadata = {
44
- id: _this.props.id,
45
- props: _this.props
46
- };
47
- }
48
- _this.colorAttachments = _this._createColorAttachments();
49
- _this.depthStencilAttachment = _this._createDepthStencilAttachment();
50
- var prevHandle = _this.gl.bindFramebuffer(_constants.default.FRAMEBUFFER, _this.handle);
51
- for (var i = 0; i < _this.colorAttachments.length; ++i) {
52
- var attachment = _this.colorAttachments[i];
53
- var attachmentPoint = _constants.default.COLOR_ATTACHMENT0 + i;
54
- if (attachment) {
55
- _this._attachOne(attachmentPoint, attachment);
56
- }
57
- }
58
- if (_this.props.depthStencilAttachment) {
59
- _this._attachOne((0, _textureFormats.getWebGLDepthStencilAttachment)(_this.depthStencilAttachment.format), _this.depthStencilAttachment);
60
- }
61
- _this.gl.bindFramebuffer(_constants.default.FRAMEBUFFER, prevHandle || null);
62
- if (props.check !== false) {
63
- _this._checkStatus();
64
- }
65
- return _this;
66
- }
67
- (0, _createClass2.default)(WEBGLFramebuffer, [{
68
- key: "texture",
69
- get: function get() {
70
- return this.colorAttachments[0];
71
- }
72
- }, {
73
- key: "destroy",
74
- value: function destroy() {
75
- if (this.handle !== null) {
76
- var _iterator = _createForOfIteratorHelper(this._ownResources),
77
- _step;
78
- try {
79
- for (_iterator.s(); !(_step = _iterator.n()).done;) {
80
- var resource = _step.value;
81
- resource.destroy();
82
- }
83
- } catch (err) {
84
- _iterator.e(err);
85
- } finally {
86
- _iterator.f();
87
- }
88
- this.gl.deleteFramebuffer(this.handle);
89
- this.destroyed = true;
90
- }
91
- }
92
- }, {
93
- key: "_checkStatus",
94
- value: function _checkStatus() {
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
- if (status !== gl.FRAMEBUFFER_COMPLETE) {
100
- throw new Error("Framebuffer ".concat(_getFrameBufferStatus(status)));
101
- }
102
- }
103
- }, {
104
- key: "_createColorAttachments",
105
- value: function _createColorAttachments() {
106
- var _this2 = this;
107
- return this.props.colorAttachments.map(function (colorAttachment) {
108
- if (!colorAttachment) {
109
- return undefined;
110
- }
111
- if (colorAttachment instanceof _webglTexture.default) {
112
- return colorAttachment;
113
- }
114
- return _this2._createColorAttachment(colorAttachment, _this2.width, _this2.height);
115
- });
116
- }
117
- }, {
118
- key: "_createColorAttachment",
119
- value: function _createColorAttachment(format, width, height) {
120
- var texture = this.device._createTexture({
121
- id: "".concat(this.id, "-color"),
122
- data: null,
123
- format: format,
124
- width: width,
125
- height: height,
126
- mipmaps: false,
127
- sampler: {
128
- minFilter: 'linear',
129
- magFilter: 'linear',
130
- addressModeU: 'clamp-to-edge',
131
- addressModeV: 'clamp-to-edge'
132
- }
133
- });
134
- this._ownResources.push(texture);
135
- return texture;
136
- }
137
- }, {
138
- key: "_createDepthStencilAttachment",
139
- value: function _createDepthStencilAttachment() {
140
- if (!this.props.depthStencilAttachment) {
141
- return undefined;
142
- }
143
- if (this.props.depthStencilAttachment instanceof _webglRenderbuffer.default) {
144
- return this.props.depthStencilAttachment;
145
- }
146
- if (this.props.depthStencilAttachment instanceof _api.Texture) {
147
- return this.props.depthStencilAttachment;
148
- }
149
- var format = this.props.depthStencilAttachment;
150
- var webglFormat = (0, _textureFormats.getWebGLTextureFormat)(this.gl, format);
151
- var texture = new _webglRenderbuffer.default(this.device, {
152
- id: "".concat(this.id, "-depth-stencil"),
153
- format: webglFormat,
154
- width: this.width,
155
- height: this.height
156
- });
157
- this._ownResources.push(texture);
158
- return texture;
159
- }
160
- }, {
161
- key: "_resizeAttachments",
162
- value: function _resizeAttachments(width, height) {
163
- var _this$depthStencilAtt;
164
- if (this.handle === null) {
165
- this.width = this.gl.drawingBufferWidth;
166
- this.height = this.gl.drawingBufferHeight;
167
- return this;
168
- }
169
- if (width === undefined) {
170
- width = this.gl.drawingBufferWidth;
171
- }
172
- if (height === undefined) {
173
- height = this.gl.drawingBufferHeight;
174
- }
175
- if (width !== this.width && height !== this.height) {
176
- _api.log.log(2, "Resizing framebuffer ".concat(this.id, " to ").concat(width, "x").concat(height))();
177
- }
178
- var _iterator2 = _createForOfIteratorHelper(this.colorAttachments),
179
- _step2;
180
- try {
181
- for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
182
- var colorAttachment = _step2.value;
183
- colorAttachment.resize({
184
- width: width,
185
- height: height
186
- });
187
- }
188
- } catch (err) {
189
- _iterator2.e(err);
190
- } finally {
191
- _iterator2.f();
192
- }
193
- (_this$depthStencilAtt = this.depthStencilAttachment) === null || _this$depthStencilAtt === void 0 ? void 0 : _this$depthStencilAtt.resize({
194
- width: width,
195
- height: height
196
- });
197
- return this;
198
- }
199
- }, {
200
- key: "_attachOne",
201
- value: function _attachOne(attachmentPoint, attachment) {
202
- if (attachment instanceof _webglRenderbuffer.default) {
203
- this._attachRenderbuffer(attachmentPoint, attachment);
204
- return attachment;
205
- } else if (Array.isArray(attachment)) {
206
- var _attachment = (0, _slicedToArray2.default)(attachment, 3),
207
- texture = _attachment[0],
208
- _attachment$ = _attachment[1],
209
- layer = _attachment$ === void 0 ? 0 : _attachment$,
210
- _attachment$2 = _attachment[2],
211
- level = _attachment$2 === void 0 ? 0 : _attachment$2;
212
- this._attachTexture(attachmentPoint, texture, layer, level);
213
- return texture;
214
- } else if (attachment instanceof _webglTexture.default) {
215
- this._attachTexture(attachmentPoint, attachment, 0, 0);
216
- return attachment;
217
- }
218
- throw new Error('attach');
219
- }
220
- }, {
221
- key: "_attachRenderbuffer",
222
- value: function _attachRenderbuffer(attachment, renderbuffer) {
223
- this.gl.framebufferRenderbuffer(_constants.default.FRAMEBUFFER, attachment, _constants.default.RENDERBUFFER, renderbuffer.handle);
224
- }
225
- }, {
226
- key: "_attachTexture",
227
- value: function _attachTexture(attachment, texture, layer, level) {
228
- var _this$device = this.device,
229
- gl = _this$device.gl,
230
- gl2 = _this$device.gl2;
231
- gl.bindTexture(texture.target, texture.handle);
232
- switch (texture.target) {
233
- case _constants.default.TEXTURE_2D_ARRAY:
234
- case _constants.default.TEXTURE_3D:
235
- this.device.assertWebGL2();
236
- gl2 === null || gl2 === void 0 ? void 0 : gl2.framebufferTextureLayer(_constants.default.FRAMEBUFFER, attachment, texture.target, level, layer);
237
- break;
238
- case _constants.default.TEXTURE_CUBE_MAP:
239
- var face = mapIndexToCubeMapFace(layer);
240
- gl.framebufferTexture2D(_constants.default.FRAMEBUFFER, attachment, face, texture.handle, level);
241
- break;
242
- case _constants.default.TEXTURE_2D:
243
- gl.framebufferTexture2D(_constants.default.FRAMEBUFFER, attachment, _constants.default.TEXTURE_2D, texture.handle, level);
244
- break;
245
- default:
246
- (0, _api.assert)(false, 'Illegal texture type');
247
- }
248
- gl.bindTexture(texture.target, null);
249
- }
250
- }]);
251
- return WEBGLFramebuffer;
252
- }(_api.Framebuffer);
253
- exports.default = WEBGLFramebuffer;
254
- function mapIndexToCubeMapFace(layer) {
255
- return layer < _constants.default.TEXTURE_CUBE_MAP_POSITIVE_X ? layer + _constants.default.TEXTURE_CUBE_MAP_POSITIVE_X : layer;
256
- }
257
- function _getFrameBufferStatus(status) {
258
- switch (status) {
259
- case _constants.default.FRAMEBUFFER_COMPLETE:
260
- return 'success';
261
- case _constants.default.FRAMEBUFFER_INCOMPLETE_ATTACHMENT:
262
- return 'Mismatched attachments';
263
- case _constants.default.FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT:
264
- return 'No attachments';
265
- case _constants.default.FRAMEBUFFER_INCOMPLETE_DIMENSIONS:
266
- return 'Height/width mismatch';
267
- case _constants.default.FRAMEBUFFER_UNSUPPORTED:
268
- return 'Unsupported or split attachments';
269
- case _constants.default.FRAMEBUFFER_INCOMPLETE_MULTISAMPLE:
270
- return 'Samples mismatch';
271
- default:
272
- return "".concat(status);
273
- }
274
- }
275
- //# sourceMappingURL=webgl-framebuffer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"webgl-framebuffer.js","names":["_api","require","_constants","_interopRequireDefault","_webglTexture","_webglRenderbuffer","_textureFormats","_createForOfIteratorHelper","o","allowArrayLike","it","Symbol","iterator","Array","isArray","_unsupportedIterableToArray","length","i","F","s","n","done","value","e","_e","f","TypeError","normalCompletion","didErr","err","call","step","next","_e2","return","minLen","_arrayLikeToArray","Object","prototype","toString","slice","constructor","name","from","test","arr","len","arr2","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","default","result","NewTarget","Reflect","construct","arguments","apply","_possibleConstructorReturn2","sham","Proxy","Boolean","valueOf","WEBGLFramebuffer","_Framebuffer","_inherits2","_super","device","props","_this","_classCallCheck2","_defineProperty2","_assertThisInitialized2","gl","handle","undefined","createFramebuffer","__SPECTOR_Metadata","id","colorAttachments","_createColorAttachments","depthStencilAttachment","_createDepthStencilAttachment","prevHandle","bindFramebuffer","GL","FRAMEBUFFER","attachment","attachmentPoint","COLOR_ATTACHMENT0","_attachOne","getWebGLDepthStencilAttachment","format","check","_checkStatus","_createClass2","key","get","destroy","_iterator","_ownResources","_step","resource","deleteFramebuffer","destroyed","status","checkFramebufferStatus","FRAMEBUFFER_COMPLETE","Error","concat","_getFrameBufferStatus","_this2","map","colorAttachment","WebGLTexture","_createColorAttachment","width","height","texture","_createTexture","data","mipmaps","sampler","minFilter","magFilter","addressModeU","addressModeV","push","Renderbuffer","Texture","webglFormat","getWebGLTextureFormat","_resizeAttachments","_this$depthStencilAtt","drawingBufferWidth","drawingBufferHeight","log","_iterator2","_step2","resize","_attachRenderbuffer","_attachment","_slicedToArray2","_attachment$","layer","_attachment$2","level","_attachTexture","renderbuffer","framebufferRenderbuffer","RENDERBUFFER","_this$device","gl2","bindTexture","target","TEXTURE_2D_ARRAY","TEXTURE_3D","assertWebGL2","framebufferTextureLayer","TEXTURE_CUBE_MAP","face","mapIndexToCubeMapFace","framebufferTexture2D","TEXTURE_2D","assert","Framebuffer","exports","TEXTURE_CUBE_MAP_POSITIVE_X","FRAMEBUFFER_INCOMPLETE_ATTACHMENT","FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT","FRAMEBUFFER_INCOMPLETE_DIMENSIONS","FRAMEBUFFER_UNSUPPORTED","FRAMEBUFFER_INCOMPLETE_MULTISAMPLE"],"sources":["../../../../src/adapter/resources/webgl-framebuffer.ts"],"sourcesContent":["// luma.gl, MIT license\n\nimport type {FramebufferProps, 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 | null = null;\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 override destroy(): void {\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 this.destroyed = true;\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 throw new Error('attach');\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: number | GL): GL {\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: GL) {\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"],"mappings":";;;;;;;;;;;;;;;AAGA,IAAAA,IAAA,GAAAC,OAAA;AACA,IAAAC,UAAA,GAAAC,sBAAA,CAAAF,OAAA;AAEA,IAAAG,aAAA,GAAAD,sBAAA,CAAAF,OAAA;AACA,IAAAI,kBAAA,GAAAF,sBAAA,CAAAF,OAAA;AACA,IAAAK,eAAA,GAAAL,OAAA;AAAoG,SAAAM,2BAAAC,CAAA,EAAAC,cAAA,QAAAC,EAAA,UAAAC,MAAA,oBAAAH,CAAA,CAAAG,MAAA,CAAAC,QAAA,KAAAJ,CAAA,qBAAAE,EAAA,QAAAG,KAAA,CAAAC,OAAA,CAAAN,CAAA,MAAAE,EAAA,GAAAK,2BAAA,CAAAP,CAAA,MAAAC,cAAA,IAAAD,CAAA,WAAAA,CAAA,CAAAQ,MAAA,qBAAAN,EAAA,EAAAF,CAAA,GAAAE,EAAA,MAAAO,CAAA,UAAAC,CAAA,YAAAA,EAAA,eAAAC,CAAA,EAAAD,CAAA,EAAAE,CAAA,WAAAA,EAAA,QAAAH,CAAA,IAAAT,CAAA,CAAAQ,MAAA,WAAAK,IAAA,mBAAAA,IAAA,SAAAC,KAAA,EAAAd,CAAA,CAAAS,CAAA,UAAAM,CAAA,WAAAA,EAAAC,EAAA,UAAAA,EAAA,KAAAC,CAAA,EAAAP,CAAA,gBAAAQ,SAAA,iJAAAC,gBAAA,SAAAC,MAAA,UAAAC,GAAA,WAAAV,CAAA,WAAAA,EAAA,IAAAT,EAAA,GAAAA,EAAA,CAAAoB,IAAA,CAAAtB,CAAA,MAAAY,CAAA,WAAAA,EAAA,QAAAW,IAAA,GAAArB,EAAA,CAAAsB,IAAA,IAAAL,gBAAA,GAAAI,IAAA,CAAAV,IAAA,SAAAU,IAAA,KAAAR,CAAA,WAAAA,EAAAU,GAAA,IAAAL,MAAA,SAAAC,GAAA,GAAAI,GAAA,KAAAR,CAAA,WAAAA,EAAA,eAAAE,gBAAA,IAAAjB,EAAA,CAAAwB,MAAA,UAAAxB,EAAA,CAAAwB,MAAA,oBAAAN,MAAA,QAAAC,GAAA;AAAA,SAAAd,4BAAAP,CAAA,EAAA2B,MAAA,SAAA3B,CAAA,qBAAAA,CAAA,sBAAA4B,iBAAA,CAAA5B,CAAA,EAAA2B,MAAA,OAAAf,CAAA,GAAAiB,MAAA,CAAAC,SAAA,CAAAC,QAAA,CAAAT,IAAA,CAAAtB,CAAA,EAAAgC,KAAA,aAAApB,CAAA,iBAAAZ,CAAA,CAAAiC,WAAA,EAAArB,CAAA,GAAAZ,CAAA,CAAAiC,WAAA,CAAAC,IAAA,MAAAtB,CAAA,cAAAA,CAAA,mBAAAP,KAAA,CAAA8B,IAAA,CAAAnC,CAAA,OAAAY,CAAA,+DAAAwB,IAAA,CAAAxB,CAAA,UAAAgB,iBAAA,CAAA5B,CAAA,EAAA2B,MAAA;AAAA,SAAAC,kBAAAS,GAAA,EAAAC,GAAA,QAAAA,GAAA,YAAAA,GAAA,GAAAD,GAAA,CAAA7B,MAAA,EAAA8B,GAAA,GAAAD,GAAA,CAAA7B,MAAA,WAAAC,CAAA,MAAA8B,IAAA,OAAAlC,KAAA,CAAAiC,GAAA,GAAA7B,CAAA,GAAA6B,GAAA,EAAA7B,CAAA,IAAA8B,IAAA,CAAA9B,CAAA,IAAA4B,GAAA,CAAA5B,CAAA,UAAA8B,IAAA;AAAA,SAAAC,aAAAC,OAAA,QAAAC,yBAAA,GAAAC,yBAAA,oBAAAC,qBAAA,QAAAC,KAAA,OAAAC,gBAAA,CAAAC,OAAA,EAAAN,OAAA,GAAAO,MAAA,MAAAN,yBAAA,QAAAO,SAAA,OAAAH,gBAAA,CAAAC,OAAA,QAAAd,WAAA,EAAAe,MAAA,GAAAE,OAAA,CAAAC,SAAA,CAAAN,KAAA,EAAAO,SAAA,EAAAH,SAAA,YAAAD,MAAA,GAAAH,KAAA,CAAAQ,KAAA,OAAAD,SAAA,gBAAAE,2BAAA,CAAAP,OAAA,QAAAC,MAAA;AAAA,SAAAL,0BAAA,eAAAO,OAAA,qBAAAA,OAAA,CAAAC,SAAA,oBAAAD,OAAA,CAAAC,SAAA,CAAAI,IAAA,2BAAAC,KAAA,oCAAAC,OAAA,CAAA3B,SAAA,CAAA4B,OAAA,CAAApC,IAAA,CAAA4B,OAAA,CAAAC,SAAA,CAAAM,OAAA,8CAAA1C,CAAA;AAAA,IAM/E4C,gBAAgB,aAAAC,YAAA;EAAA,IAAAC,UAAA,CAAAd,OAAA,EAAAY,gBAAA,EAAAC,YAAA;EAAA,IAAAE,MAAA,GAAAtB,YAAA,CAAAmB,gBAAA;EAUnC,SAAAA,iBAAYI,MAAmB,EAAEC,KAAuB,EAAE;IAAA,IAAAC,KAAA;IAAA,IAAAC,gBAAA,CAAAnB,OAAA,QAAAY,gBAAA;IACxDM,KAAA,GAAAH,MAAA,CAAAxC,IAAA,OAAMyC,MAAM,EAAEC,KAAK;IAAE,IAAAG,gBAAA,CAAApB,OAAA,MAAAqB,uBAAA,CAAArB,OAAA,EAAAkB,KAAA;IAAA,IAAAE,gBAAA,CAAApB,OAAA,MAAAqB,uBAAA,CAAArB,OAAA,EAAAkB,KAAA;IAAA,IAAAE,gBAAA,CAAApB,OAAA,MAAAqB,uBAAA,CAAArB,OAAA,EAAAkB,KAAA;IAAA,IAAAE,gBAAA,CAAApB,OAAA,MAAAqB,uBAAA,CAAArB,OAAA,EAAAkB,KAAA,uBALqB,EAAE;IAAA,IAAAE,gBAAA,CAAApB,OAAA,MAAAqB,uBAAA,CAAArB,OAAA,EAAAkB,KAAA,6BACS,IAAI;IAAA,IAAAE,gBAAA,CAAApB,OAAA,MAAAqB,uBAAA,CAAArB,OAAA,EAAAkB,KAAA,oBACA,EAAE;IAI3DA,KAAA,CAAKF,MAAM,GAAGA,MAAM;IACpBE,KAAA,CAAKI,EAAE,GAAGN,MAAM,CAACM,EAAE;IACnBJ,KAAA,CAAKK,MAAM,GAAGL,KAAA,CAAKD,KAAK,CAACM,MAAM,KAAKC,SAAS,GAAGN,KAAA,CAAKD,KAAK,CAACM,MAAM,GAAGL,KAAA,CAAKI,EAAE,CAACG,iBAAiB,EAAE;IAE/F,IAAIP,KAAA,CAAKK,MAAM,EAAE;MAEfL,KAAA,CAAKK,MAAM,CAACG,kBAAkB,GAAG;QAACC,EAAE,EAAET,KAAA,CAAKD,KAAK,CAACU,EAAE;QAAEV,KAAK,EAAEC,KAAA,CAAKD;MAAK,CAAC;IACzE;IAEAC,KAAA,CAAKU,gBAAgB,GAAGV,KAAA,CAAKW,uBAAuB,EAAE;IAEtDX,KAAA,CAAKY,sBAAsB,GAAGZ,KAAA,CAAKa,6BAA6B,EAAE;IAGlE,IAAMC,UAAU,GAAGd,KAAA,CAAKI,EAAE,CAACW,eAAe,CAACC,kBAAE,CAACC,WAAW,EAAEjB,KAAA,CAAKK,MAAM,CAAC;IAGvE,KAAK,IAAI7D,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGwD,KAAA,CAAKU,gBAAgB,CAACnE,MAAM,EAAE,EAAEC,CAAC,EAAE;MACrD,IAAM0E,UAAU,GAAGlB,KAAA,CAAKU,gBAAgB,CAAClE,CAAC,CAAC;MAC3C,IAAM2E,eAAe,GAAGH,kBAAE,CAACI,iBAAiB,GAAG5E,CAAC;MAChD,IAAI0E,UAAU,EAAE;QACdlB,KAAA,CAAKqB,UAAU,CAACF,eAAe,EAAED,UAAU,CAAC;MAC9C;IACF;IAEA,IAAIlB,KAAA,CAAKD,KAAK,CAACa,sBAAsB,EAAE;MACrCZ,KAAA,CAAKqB,UAAU,CAAC,IAAAC,8CAA8B,EAACtB,KAAA,CAAKY,sBAAsB,CAACW,MAAM,CAAC,EAAEvB,KAAA,CAAKY,sBAAsB,CAAC;IAClH;IAGAZ,KAAA,CAAKI,EAAE,CAACW,eAAe,CAACC,kBAAE,CAACC,WAAW,EAAEH,UAAU,IAAI,IAAI,CAAC;IAG3D,IAAIf,KAAK,CAACyB,KAAK,KAAK,KAAK,EAAE;MACzBxB,KAAA,CAAKyB,YAAY,EAAE;IACrB;IAAC,OAAAzB,KAAA;EACH;EAAC,IAAA0B,aAAA,CAAA5C,OAAA,EAAAY,gBAAA;IAAAiC,GAAA;IAAAC,GAAA,EA3CD,SAAAA,IAAA,EAAc;MAAE,OAAO,IAAI,CAAClB,gBAAgB,CAAC,CAAC,CAAC;IAAE;EAAC;IAAAiB,GAAA;IAAA9E,KAAA,EA6ClD,SAAAgF,QAAA,EAAyB;MACvB,IAAI,IAAI,CAACxB,MAAM,KAAK,IAAI,EAAE;QAAA,IAAAyB,SAAA,GAAAhG,0BAAA,CACD,IAAI,CAACiG,aAAa;UAAAC,KAAA;QAAA;UAAzC,KAAAF,SAAA,CAAApF,CAAA,MAAAsF,KAAA,GAAAF,SAAA,CAAAnF,CAAA,IAAAC,IAAA,GAA2C;YAAA,IAAhCqF,QAAQ,GAAAD,KAAA,CAAAnF,KAAA;YACjBoF,QAAQ,CAACJ,OAAO,EAAE;UACpB;QAAC,SAAAzE,GAAA;UAAA0E,SAAA,CAAAhF,CAAA,CAAAM,GAAA;QAAA;UAAA0E,SAAA,CAAA9E,CAAA;QAAA;QACD,IAAI,CAACoD,EAAE,CAAC8B,iBAAiB,CAAC,IAAI,CAAC7B,MAAM,CAAC;QAEtC,IAAI,CAAC8B,SAAS,GAAG,IAAI;MACvB;IACF;EAAC;IAAAR,GAAA;IAAA9E,KAAA,EAKD,SAAA4E,aAAA,EAA+B;MAC7B,IAAOrB,EAAE,GAAI,IAAI,CAAVA,EAAE;MACT,IAAMU,UAAU,GAAGV,EAAE,CAACW,eAAe,CAACC,kBAAE,CAACC,WAAW,EAAE,IAAI,CAACZ,MAAM,CAAC;MAClE,IAAM+B,MAAM,GAAGhC,EAAE,CAACiC,sBAAsB,CAACrB,kBAAE,CAACC,WAAW,CAAC;MAExDb,EAAE,CAACW,eAAe,CAACC,kBAAE,CAACC,WAAW,EAAEH,UAAU,IAAI,IAAI,CAAC;MACtD,IAAIsB,MAAM,KAAKhC,EAAE,CAACkC,oBAAoB,EAAE;QACtC,MAAM,IAAIC,KAAK,gBAAAC,MAAA,CAAgBC,qBAAqB,CAACL,MAAM,CAAC,EAAG;MACjE;IACF;EAAC;IAAAT,GAAA;IAAA9E,KAAA,EAED,SAAA8D,wBAAA,EAA0C;MAAA,IAAA+B,MAAA;MACxC,OAAO,IAAI,CAAC3C,KAAK,CAACW,gBAAgB,CAACiC,GAAG,CAAC,UAAAC,eAAe,EAAI;QACxD,IAAI,CAACA,eAAe,EAAE;UACpB,OAAOtC,SAAS;QAClB;QACA,IAAIsC,eAAe,YAAYC,qBAAY,EAAE;UAC3C,OAAOD,eAAe;QACxB;QAKA,OAAOF,MAAI,CAACI,sBAAsB,CAACF,eAAe,EAAEF,MAAI,CAACK,KAAK,EAAEL,MAAI,CAACM,MAAM,CAAC;MAC9E,CAAC,CAAC;IACJ;EAAC;IAAArB,GAAA;IAAA9E,KAAA,EAGD,SAAAiG,uBAAiCvB,MAA0B,EAAEwB,KAAa,EAAEC,MAAc,EAAgB;MACxG,IAAMC,OAAO,GAAG,IAAI,CAACnD,MAAM,CAACoD,cAAc,CAAC;QACzCzC,EAAE,KAAA+B,MAAA,CAAK,IAAI,CAAC/B,EAAE,WAAQ;QACtB0C,IAAI,EAAE,IAAI;QACV5B,MAAM,EAANA,MAAM;QAENwB,KAAK,EAALA,KAAK;QACLC,MAAM,EAANA,MAAM;QAINI,OAAO,EAAE,KAAK;QAIdC,OAAO,EAAE;UACPC,SAAS,EAAE,QAAQ;UACnBC,SAAS,EAAE,QAAQ;UACnBC,YAAY,EAAE,eAAe;UAC7BC,YAAY,EAAE;QAChB;MAOF,CAAC,CAAiB;MAClB,IAAI,CAAC1B,aAAa,CAAC2B,IAAI,CAACT,OAAO,CAAC;MAChC,OAAOA,OAAO;IAChB;EAAC;IAAAtB,GAAA;IAAA9E,KAAA,EAGD,SAAAgE,8BAAA,EAAuE;MACrE,IAAI,CAAC,IAAI,CAACd,KAAK,CAACa,sBAAsB,EAAE;QACtC,OAAON,SAAS;MAClB;MACA,IAAI,IAAI,CAACP,KAAK,CAACa,sBAAsB,YAAY+C,0BAAY,EAAE;QAC7D,OAAO,IAAI,CAAC5D,KAAK,CAACa,sBAAsB;MAC1C;MACA,IAAI,IAAI,CAACb,KAAK,CAACa,sBAAsB,YAAYgD,YAAO,EAAE;QACxD,OAAO,IAAI,CAAC7D,KAAK,CAACa,sBAAsB;MAC1C;MACA,IAAMW,MAAM,GAAG,IAAI,CAACxB,KAAK,CAACa,sBAAsB;MAChD,IAAMiD,WAAW,GAAG,IAAAC,qCAAqB,EAAC,IAAI,CAAC1D,EAAE,EAAEmB,MAAM,CAAC;MAE1D,IAAM0B,OAAO,GAAG,IAAIU,0BAAY,CAAC,IAAI,CAAC7D,MAAM,EAAE;QAC5CW,EAAE,KAAA+B,MAAA,CAAK,IAAI,CAAC/B,EAAE,mBAAgB;QAC9Bc,MAAM,EAAEsC,WAAW;QAGnBd,KAAK,EAAE,IAAI,CAACA,KAAK;QACjBC,MAAM,EAAE,IAAI,CAACA;MACf,CAAC,CAAC;MACF,IAAI,CAACjB,aAAa,CAAC2B,IAAI,CAACT,OAAO,CAAC;MAChC,OAAOA,OAAO;IAChB;EAAC;IAAAtB,GAAA;IAAA9E,KAAA,EAGD,SAAAkH,mBAA6BhB,KAAa,EAAEC,MAAc,EAAQ;MAAA,IAAAgB,qBAAA;MAEhE,IAAI,IAAI,CAAC3D,MAAM,KAAK,IAAI,EAAE;QAExB,IAAI,CAAC0C,KAAK,GAAG,IAAI,CAAC3C,EAAE,CAAC6D,kBAAkB;QACvC,IAAI,CAACjB,MAAM,GAAG,IAAI,CAAC5C,EAAE,CAAC8D,mBAAmB;QACzC,OAAO,IAAI;MACb;MACA,IAAInB,KAAK,KAAKzC,SAAS,EAAE;QACvByC,KAAK,GAAG,IAAI,CAAC3C,EAAE,CAAC6D,kBAAkB;MACpC;MACA,IAAIjB,MAAM,KAAK1C,SAAS,EAAE;QACxB0C,MAAM,GAAG,IAAI,CAAC5C,EAAE,CAAC8D,mBAAmB;MACtC;MAEA,IAAInB,KAAK,KAAK,IAAI,CAACA,KAAK,IAAIC,MAAM,KAAK,IAAI,CAACA,MAAM,EAAE;QAClDmB,QAAG,CAACA,GAAG,CAAC,CAAC,0BAAA3B,MAAA,CAA0B,IAAI,CAAC/B,EAAE,UAAA+B,MAAA,CAAOO,KAAK,OAAAP,MAAA,CAAIQ,MAAM,EAAG,EAAE;MACvE;MAAC,IAAAoB,UAAA,GAAAtI,0BAAA,CAE6B,IAAI,CAAC4E,gBAAgB;QAAA2D,MAAA;MAAA;QAAnD,KAAAD,UAAA,CAAA1H,CAAA,MAAA2H,MAAA,GAAAD,UAAA,CAAAzH,CAAA,IAAAC,IAAA,GAAqD;UAAA,IAA1CgG,eAAe,GAAAyB,MAAA,CAAAxH,KAAA;UACxB+F,eAAe,CAAC0B,MAAM,CAAC;YAACvB,KAAK,EAALA,KAAK;YAAEC,MAAM,EAANA;UAAM,CAAC,CAAC;QACzC;MAAC,SAAA5F,GAAA;QAAAgH,UAAA,CAAAtH,CAAA,CAAAM,GAAA;MAAA;QAAAgH,UAAA,CAAApH,CAAA;MAAA;MACD,CAAAgH,qBAAA,OAAI,CAACpD,sBAAsB,cAAAoD,qBAAA,uBAA3BA,qBAAA,CAA6BM,MAAM,CAAC;QAACvB,KAAK,EAALA,KAAK;QAAEC,MAAM,EAANA;MAAM,CAAC,CAAC;MACpD,OAAO,IAAI;IACb;EAAC;IAAArB,GAAA;IAAA9E,KAAA,EAGD,SAAAwE,WAAqBF,eAAmB,EAAED,UAAsB,EAA+B;MAC7F,IAAIA,UAAU,YAAYyC,0BAAY,EAAE;QACtC,IAAI,CAACY,mBAAmB,CAACpD,eAAe,EAAED,UAAU,CAAC;QACrD,OAAOA,UAAU;MACnB,CAAC,MAAM,IAAI9E,KAAK,CAACC,OAAO,CAAC6E,UAAU,CAAC,EAAE;QACpC,IAAAsD,WAAA,OAAAC,eAAA,CAAA3F,OAAA,EAAwCoC,UAAU;UAA3C+B,OAAO,GAAAuB,WAAA;UAAAE,YAAA,GAAAF,WAAA;UAAEG,KAAK,GAAAD,YAAA,cAAG,CAAC,GAAAA,YAAA;UAAAE,aAAA,GAAAJ,WAAA;UAAEK,KAAK,GAAAD,aAAA,cAAG,CAAC,GAAAA,aAAA;QACpC,IAAI,CAACE,cAAc,CAAC3D,eAAe,EAAE8B,OAAO,EAA6B0B,KAAK,EAAEE,KAAK,CAAC;QACtF,OAAO5B,OAAO;MAChB,CAAC,MAAM,IAAI/B,UAAU,YAAY2B,qBAAY,EAAE;QAC7C,IAAI,CAACiC,cAAc,CAAC3D,eAAe,EAAED,UAAU,EAAE,CAAC,EAAE,CAAC,CAAC;QACtD,OAAOA,UAAU;MACnB;MACA,MAAM,IAAIqB,KAAK,CAAC,QAAQ,CAAC;IAC3B;EAAC;IAAAZ,GAAA;IAAA9E,KAAA,EAED,SAAA0H,oBAA8BrD,UAAc,EAAE6D,YAA0B,EAAQ;MAC9E,IAAI,CAAC3E,EAAE,CAAC4E,uBAAuB,CAC7BhE,kBAAE,CAACC,WAAW,EACdC,UAAU,EACVF,kBAAE,CAACiE,YAAY,EACfF,YAAY,CAAC1E,MAAM,CACpB;IACH;EAAC;IAAAsB,GAAA;IAAA9E,KAAA,EAQA,SAAAiI,eAAyB5D,UAAc,EAAE+B,OAAqB,EAAE0B,KAAa,EAAEE,KAAa,EAAQ;MACnG,IAAAK,YAAA,GAAkB,IAAI,CAACpF,MAAM;QAAtBM,EAAE,GAAA8E,YAAA,CAAF9E,EAAE;QAAE+E,GAAG,GAAAD,YAAA,CAAHC,GAAG;MACd/E,EAAE,CAACgF,WAAW,CAACnC,OAAO,CAACoC,MAAM,EAAEpC,OAAO,CAAC5C,MAAM,CAAC;MAE9C,QAAQ4C,OAAO,CAACoC,MAAM;QACpB,KAAKrE,kBAAE,CAACsE,gBAAgB;QACxB,KAAKtE,kBAAE,CAACuE,UAAU;UAChB,IAAI,CAACzF,MAAM,CAAC0F,YAAY,EAAE;UAC1BL,GAAG,aAAHA,GAAG,uBAAHA,GAAG,CAAEM,uBAAuB,CAACzE,kBAAE,CAACC,WAAW,EAAEC,UAAU,EAAE+B,OAAO,CAACoC,MAAM,EAAER,KAAK,EAAEF,KAAK,CAAC;UACtF;QAEF,KAAK3D,kBAAE,CAAC0E,gBAAgB;UAEtB,IAAMC,IAAI,GAAGC,qBAAqB,CAACjB,KAAK,CAAC;UACzCvE,EAAE,CAACyF,oBAAoB,CAAC7E,kBAAE,CAACC,WAAW,EAAEC,UAAU,EAAEyE,IAAI,EAAE1C,OAAO,CAAC5C,MAAM,EAAEwE,KAAK,CAAC;UAChF;QAEF,KAAK7D,kBAAE,CAAC8E,UAAU;UAChB1F,EAAE,CAACyF,oBAAoB,CAAC7E,kBAAE,CAACC,WAAW,EAAEC,UAAU,EAAEF,kBAAE,CAAC8E,UAAU,EAAE7C,OAAO,CAAC5C,MAAM,EAAEwE,KAAK,CAAC;UACzF;QAEF;UACE,IAAAkB,WAAM,EAAC,KAAK,EAAE,sBAAsB,CAAC;MAAC;MAG1C3F,EAAE,CAACgF,WAAW,CAACnC,OAAO,CAACoC,MAAM,EAAE,IAAI,CAAC;IACtC;EAAC;EAAA,OAAA3F,gBAAA;AAAA,EA1O2CsG,gBAAW;AAAAC,OAAA,CAAAnH,OAAA,GAAAY,gBAAA;AAgPzD,SAASkG,qBAAqBA,CAACjB,KAAkB,EAAM;EAGrD,OAAOA,KAAK,GAAG3D,kBAAE,CAACkF,2BAA2B,GAAGvB,KAAK,GAAG3D,kBAAE,CAACkF,2BAA2B,GAAGvB,KAAK;AAChG;AAIA,SAASlC,qBAAqBA,CAACL,MAAU,EAAE;EACzC,QAAQA,MAAM;IACZ,KAAKpB,kBAAE,CAACsB,oBAAoB;MAC1B,OAAO,SAAS;IAClB,KAAKtB,kBAAE,CAACmF,iCAAiC;MACvC,OAAO,wBAAwB;IACjC,KAAKnF,kBAAE,CAACoF,yCAAyC;MAC/C,OAAO,gBAAgB;IACzB,KAAKpF,kBAAE,CAACqF,iCAAiC;MACvC,OAAO,uBAAuB;IAChC,KAAKrF,kBAAE,CAACsF,uBAAuB;MAC7B,OAAO,kCAAkC;IAE3C,KAAKtF,kBAAE,CAACuF,kCAAkC;MACxC,OAAO,kBAAkB;IAG3B;MACE,UAAA/D,MAAA,CAAUJ,MAAM;EAAG;AAEzB"}
@@ -1,45 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- exports.default = void 0;
8
- var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
9
- var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
10
- var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
11
- var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
12
- var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
13
- var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
14
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
15
- var _api = require("@luma.gl/api");
16
- 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); }; }
17
- 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; } }
18
- var WEBGLRenderPass = function (_RenderPass) {
19
- (0, _inherits2.default)(WEBGLRenderPass, _RenderPass);
20
- var _super = _createSuper(WEBGLRenderPass);
21
- function WEBGLRenderPass(device, props) {
22
- var _this;
23
- (0, _classCallCheck2.default)(this, WEBGLRenderPass);
24
- _this = _super.call(this, device, props);
25
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "device", void 0);
26
- _this.device = device;
27
- return _this;
28
- }
29
- (0, _createClass2.default)(WEBGLRenderPass, [{
30
- key: "end",
31
- value: function end() {}
32
- }, {
33
- key: "pushDebugGroup",
34
- value: function pushDebugGroup(groupLabel) {}
35
- }, {
36
- key: "popDebugGroup",
37
- value: function popDebugGroup() {}
38
- }, {
39
- key: "insertDebugMarker",
40
- value: function insertDebugMarker(markerLabel) {}
41
- }]);
42
- return WEBGLRenderPass;
43
- }(_api.RenderPass);
44
- exports.default = WEBGLRenderPass;
45
- //# sourceMappingURL=webgl-render-pass.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"webgl-render-pass.js","names":["_api","require","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","default","result","NewTarget","constructor","Reflect","construct","arguments","apply","_possibleConstructorReturn2","sham","Proxy","Boolean","prototype","valueOf","call","e","WEBGLRenderPass","_RenderPass","_inherits2","_super","device","props","_this","_classCallCheck2","_defineProperty2","_assertThisInitialized2","_createClass2","key","value","end","pushDebugGroup","groupLabel","popDebugGroup","insertDebugMarker","markerLabel","RenderPass","exports"],"sources":["../../../../src/adapter/resources/webgl-render-pass.ts"],"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 this.device = device;\n }\n\n end(): 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"],"mappings":";;;;;;;;;;;;;;AAAA,IAAAA,IAAA,GAAAC,OAAA;AAAyD,SAAAC,aAAAC,OAAA,QAAAC,yBAAA,GAAAC,yBAAA,oBAAAC,qBAAA,QAAAC,KAAA,OAAAC,gBAAA,CAAAC,OAAA,EAAAN,OAAA,GAAAO,MAAA,MAAAN,yBAAA,QAAAO,SAAA,OAAAH,gBAAA,CAAAC,OAAA,QAAAG,WAAA,EAAAF,MAAA,GAAAG,OAAA,CAAAC,SAAA,CAAAP,KAAA,EAAAQ,SAAA,EAAAJ,SAAA,YAAAD,MAAA,GAAAH,KAAA,CAAAS,KAAA,OAAAD,SAAA,gBAAAE,2BAAA,CAAAR,OAAA,QAAAC,MAAA;AAAA,SAAAL,0BAAA,eAAAQ,OAAA,qBAAAA,OAAA,CAAAC,SAAA,oBAAAD,OAAA,CAAAC,SAAA,CAAAI,IAAA,2BAAAC,KAAA,oCAAAC,OAAA,CAAAC,SAAA,CAAAC,OAAA,CAAAC,IAAA,CAAAV,OAAA,CAAAC,SAAA,CAAAM,OAAA,8CAAAI,CAAA;AAAA,IAGpCC,eAAe,aAAAC,WAAA;EAAA,IAAAC,UAAA,CAAAlB,OAAA,EAAAgB,eAAA,EAAAC,WAAA;EAAA,IAAAE,MAAA,GAAA1B,YAAA,CAAAuB,eAAA;EAGlC,SAAAA,gBAAYI,MAAmB,EAAEC,KAAsB,EAAE;IAAA,IAAAC,KAAA;IAAA,IAAAC,gBAAA,CAAAvB,OAAA,QAAAgB,eAAA;IACvDM,KAAA,GAAAH,MAAA,CAAAL,IAAA,OAAMM,MAAM,EAAEC,KAAK;IAAE,IAAAG,gBAAA,CAAAxB,OAAA,MAAAyB,uBAAA,CAAAzB,OAAA,EAAAsB,KAAA;IACrBA,KAAA,CAAKF,MAAM,GAAGA,MAAM;IAAC,OAAAE,KAAA;EACvB;EAAC,IAAAI,aAAA,CAAA1B,OAAA,EAAAgB,eAAA;IAAAW,GAAA;IAAAC,KAAA,EAED,SAAAC,IAAA,EAAY,CAAC;EAAC;IAAAF,GAAA;IAAAC,KAAA,EAEd,SAAAE,eAAeC,UAAkB,EAAQ,CAAC;EAAC;IAAAJ,GAAA;IAAAC,KAAA,EAC3C,SAAAI,cAAA,EAAsB,CAAC;EAAC;IAAAL,GAAA;IAAAC,KAAA,EACxB,SAAAK,kBAAkBC,WAAmB,EAAQ,CAAC;EAAC;EAAA,OAAAlB,eAAA;AAAA,EAZJmB,eAAU;AAAAC,OAAA,CAAApC,OAAA,GAAAgB,eAAA"}