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

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 (367) hide show
  1. package/dist/adapter/converters/device-parameters.js +199 -136
  2. package/dist/adapter/converters/renderbuffer-formats.d.ts +1 -1
  3. package/dist/adapter/converters/renderbuffer-formats.d.ts.map +1 -1
  4. package/dist/adapter/converters/renderbuffer-formats.js +62 -176
  5. package/dist/adapter/converters/sampler-parameters.js +149 -206
  6. package/dist/adapter/converters/texture-formats.d.ts +2 -2
  7. package/dist/adapter/converters/texture-formats.d.ts.map +1 -1
  8. package/dist/adapter/converters/texture-formats.js +437 -890
  9. package/dist/adapter/converters/vertex-formats.js +15 -33
  10. package/dist/adapter/device-helpers/device-features.js +119 -100
  11. package/dist/adapter/device-helpers/device-limits.d.ts +1 -1
  12. package/dist/adapter/device-helpers/device-limits.d.ts.map +1 -1
  13. package/dist/adapter/device-helpers/device-limits.js +88 -86
  14. package/dist/adapter/device-helpers/get-device-info.js +42 -43
  15. package/dist/adapter/device-helpers/is-old-ie.js +9 -6
  16. package/dist/adapter/helpers/attribute-utils.js +50 -74
  17. package/dist/adapter/helpers/get-shader-info.d.ts +9 -0
  18. package/dist/adapter/helpers/get-shader-info.d.ts.map +1 -0
  19. package/dist/adapter/helpers/get-shader-info.js +27 -0
  20. package/dist/adapter/helpers/get-shader-layout.js +307 -296
  21. package/dist/adapter/helpers/parse-shader-compiler-log.d.ts +1 -1
  22. package/dist/adapter/helpers/parse-shader-compiler-log.d.ts.map +1 -1
  23. package/dist/adapter/helpers/parse-shader-compiler-log.js +32 -33
  24. package/dist/adapter/helpers/set-uniform.js +67 -110
  25. package/dist/adapter/helpers/uniforms.js +80 -85
  26. package/dist/adapter/objects/constants-to-keys.js +33 -33
  27. package/dist/adapter/objects/webgl-renderbuffer.d.ts +1 -1
  28. package/dist/adapter/objects/webgl-renderbuffer.d.ts.map +1 -1
  29. package/dist/adapter/objects/webgl-renderbuffer.js +67 -86
  30. package/dist/adapter/objects/webgl-resource.js +213 -205
  31. package/dist/adapter/objects/webgl-vertex-array-object.d.ts +1 -1
  32. package/dist/adapter/objects/webgl-vertex-array-object.d.ts.map +1 -1
  33. package/dist/adapter/objects/webgl-vertex-array-object.js +74 -76
  34. package/dist/adapter/resources/webgl-buffer.js +150 -147
  35. package/dist/adapter/resources/webgl-command-buffer.d.ts +5 -5
  36. package/dist/adapter/resources/webgl-command-buffer.d.ts.map +1 -1
  37. package/dist/adapter/resources/webgl-command-buffer.js +39 -55
  38. package/dist/adapter/resources/webgl-command-encoder.js +25 -49
  39. package/dist/adapter/resources/webgl-external-texture.js +91 -1
  40. package/dist/adapter/resources/webgl-framebuffer.d.ts +2 -2
  41. package/dist/adapter/resources/webgl-framebuffer.d.ts.map +1 -1
  42. package/dist/adapter/resources/webgl-framebuffer.js +231 -258
  43. package/dist/adapter/resources/webgl-render-pass.d.ts +1 -1
  44. package/dist/adapter/resources/webgl-render-pass.d.ts.map +1 -1
  45. package/dist/adapter/resources/webgl-render-pass.js +8 -18
  46. package/dist/adapter/resources/webgl-render-pipeline.js +316 -378
  47. package/dist/adapter/resources/webgl-sampler.js +42 -47
  48. package/dist/adapter/resources/webgl-shader.d.ts +1 -2
  49. package/dist/adapter/resources/webgl-shader.d.ts.map +1 -1
  50. package/dist/adapter/resources/webgl-shader.js +58 -68
  51. package/dist/adapter/resources/webgl-texture.d.ts +5 -5
  52. package/dist/adapter/resources/webgl-texture.d.ts.map +1 -1
  53. package/dist/adapter/resources/webgl-texture.js +661 -815
  54. package/dist/adapter/webgl-canvas-context.js +55 -49
  55. package/dist/adapter/webgl-device.js +288 -338
  56. package/dist/bundle.js +1 -2
  57. package/dist/classic/accessor.js +120 -127
  58. package/dist/classic/buffer.d.ts +1 -1
  59. package/dist/classic/buffer.d.ts.map +1 -1
  60. package/dist/classic/buffer.js +325 -356
  61. package/dist/classic/typed-array-utils.d.ts +1 -1
  62. package/dist/classic/typed-array-utils.d.ts.map +1 -1
  63. package/dist/classic/typed-array-utils.js +91 -101
  64. package/dist/context/context/create-browser-context.d.ts +1 -2
  65. package/dist/context/context/create-browser-context.d.ts.map +1 -1
  66. package/dist/context/context/create-browser-context.js +61 -52
  67. package/dist/context/context/create-headless-context.d.ts +1 -1
  68. package/dist/context/context/create-headless-context.d.ts.map +1 -1
  69. package/dist/context/context/create-headless-context.js +26 -33
  70. package/dist/context/context/webgl-checks.js +25 -20
  71. package/dist/context/debug/spector.d.ts +1 -2
  72. package/dist/context/debug/spector.d.ts.map +1 -1
  73. package/dist/context/debug/spector.js +53 -62
  74. package/dist/context/debug/webgl-developer-tools.d.ts +1 -1
  75. package/dist/context/debug/webgl-developer-tools.d.ts.map +1 -1
  76. package/dist/context/debug/webgl-developer-tools.js +106 -93
  77. package/dist/context/parameters/unified-parameter-api.js +91 -55
  78. package/dist/context/parameters/webgl-parameter-tables.d.ts +1 -1
  79. package/dist/context/parameters/webgl-parameter-tables.d.ts.map +1 -1
  80. package/dist/context/parameters/webgl-parameter-tables.js +462 -423
  81. package/dist/context/polyfill/context-data.js +16 -12
  82. package/dist/context/polyfill/get-parameter-polyfill.js +91 -76
  83. package/dist/context/polyfill/polyfill-context.js +75 -80
  84. package/dist/context/polyfill/polyfill-table.js +133 -139
  85. package/dist/context/polyfill/polyfill-vertex-array-object.js +255 -297
  86. package/dist/context/state-tracker/deep-array-equal.js +16 -18
  87. package/dist/context/state-tracker/track-context-state.js +183 -161
  88. package/dist/context/state-tracker/with-parameters.js +43 -35
  89. package/dist/dist.min.js +1 -0
  90. package/dist/es5/adapter/converters/device-parameters.js +3 -38
  91. package/dist/es5/adapter/converters/device-parameters.js.map +1 -1
  92. package/dist/es5/adapter/converters/renderbuffer-formats.js +2 -14
  93. package/dist/es5/adapter/converters/renderbuffer-formats.js.map +1 -1
  94. package/dist/es5/adapter/converters/sampler-parameters.js +2 -65
  95. package/dist/es5/adapter/converters/sampler-parameters.js.map +1 -1
  96. package/dist/es5/adapter/converters/texture-formats.js +9 -81
  97. package/dist/es5/adapter/converters/texture-formats.js.map +1 -1
  98. package/dist/es5/adapter/converters/vertex-formats.js +0 -12
  99. package/dist/es5/adapter/converters/vertex-formats.js.map +1 -1
  100. package/dist/es5/adapter/device-helpers/device-features.js +6 -40
  101. package/dist/es5/adapter/device-helpers/device-features.js.map +1 -1
  102. package/dist/es5/adapter/device-helpers/device-limits.js +0 -10
  103. package/dist/es5/adapter/device-helpers/device-limits.js.map +1 -1
  104. package/dist/es5/adapter/device-helpers/get-device-info.js +0 -10
  105. package/dist/es5/adapter/device-helpers/get-device-info.js.map +1 -1
  106. package/dist/es5/adapter/device-helpers/is-old-ie.js +0 -1
  107. package/dist/es5/adapter/device-helpers/is-old-ie.js.map +1 -1
  108. package/dist/es5/adapter/helpers/attribute-utils.js +3 -25
  109. package/dist/es5/adapter/helpers/attribute-utils.js.map +1 -1
  110. package/dist/es5/adapter/helpers/get-shader-info.js +31 -0
  111. package/dist/es5/adapter/helpers/get-shader-info.js.map +1 -0
  112. package/dist/es5/adapter/helpers/get-shader-layout.js +23 -101
  113. package/dist/es5/adapter/helpers/get-shader-layout.js.map +1 -1
  114. package/dist/es5/adapter/helpers/parse-shader-compiler-log.js +6 -24
  115. package/dist/es5/adapter/helpers/parse-shader-compiler-log.js.map +1 -1
  116. package/dist/es5/adapter/helpers/set-uniform.js +0 -33
  117. package/dist/es5/adapter/helpers/set-uniform.js.map +1 -1
  118. package/dist/es5/adapter/helpers/uniforms.js +13 -37
  119. package/dist/es5/adapter/helpers/uniforms.js.map +1 -1
  120. package/dist/es5/adapter/objects/constants-to-keys.js +1 -12
  121. package/dist/es5/adapter/objects/constants-to-keys.js.map +1 -1
  122. package/dist/es5/adapter/objects/webgl-renderbuffer.js +5 -33
  123. package/dist/es5/adapter/objects/webgl-renderbuffer.js.map +1 -1
  124. package/dist/es5/adapter/objects/webgl-resource.js +6 -60
  125. package/dist/es5/adapter/objects/webgl-resource.js.map +1 -1
  126. package/dist/es5/adapter/objects/webgl-vertex-array-object.js +7 -35
  127. package/dist/es5/adapter/objects/webgl-vertex-array-object.js.map +1 -1
  128. package/dist/es5/adapter/resources/webgl-buffer.js +20 -66
  129. package/dist/es5/adapter/resources/webgl-buffer.js.map +1 -1
  130. package/dist/es5/adapter/resources/webgl-command-buffer.js +6 -32
  131. package/dist/es5/adapter/resources/webgl-command-buffer.js.map +1 -1
  132. package/dist/es5/adapter/resources/webgl-command-encoder.js +0 -18
  133. package/dist/es5/adapter/resources/webgl-command-encoder.js.map +1 -1
  134. package/dist/es5/adapter/resources/webgl-external-texture.js.map +1 -1
  135. package/dist/es5/adapter/resources/webgl-framebuffer.js +10 -82
  136. package/dist/es5/adapter/resources/webgl-framebuffer.js.map +1 -1
  137. package/dist/es5/adapter/resources/webgl-render-pass.js +2 -19
  138. package/dist/es5/adapter/resources/webgl-render-pass.js.map +1 -1
  139. package/dist/es5/adapter/resources/webgl-render-pipeline.js +24 -133
  140. package/dist/es5/adapter/resources/webgl-render-pipeline.js.map +1 -1
  141. package/dist/es5/adapter/resources/webgl-sampler.js +2 -28
  142. package/dist/es5/adapter/resources/webgl-sampler.js.map +1 -1
  143. package/dist/es5/adapter/resources/webgl-shader.js +13 -52
  144. package/dist/es5/adapter/resources/webgl-shader.js.map +1 -1
  145. package/dist/es5/adapter/resources/webgl-texture.js +137 -291
  146. package/dist/es5/adapter/resources/webgl-texture.js.map +1 -1
  147. package/dist/es5/adapter/webgl-canvas-context.js +0 -24
  148. package/dist/es5/adapter/webgl-canvas-context.js.map +1 -1
  149. package/dist/es5/adapter/webgl-device.js +40 -127
  150. package/dist/es5/adapter/webgl-device.js.map +1 -1
  151. package/dist/es5/bundle.js +0 -1
  152. package/dist/es5/bundle.js.map +1 -1
  153. package/dist/es5/classic/accessor.js +1 -31
  154. package/dist/es5/classic/accessor.js.map +1 -1
  155. package/dist/es5/classic/buffer.js +32 -102
  156. package/dist/es5/classic/buffer.js.map +1 -1
  157. package/dist/es5/classic/typed-array-utils.js +10 -37
  158. package/dist/es5/classic/typed-array-utils.js.map +1 -1
  159. package/dist/es5/context/context/create-browser-context.js +4 -21
  160. package/dist/es5/context/context/create-browser-context.js.map +1 -1
  161. package/dist/es5/context/context/create-headless-context.js +8 -21
  162. package/dist/es5/context/context/create-headless-context.js.map +1 -1
  163. package/dist/es5/context/context/webgl-checks.js +4 -14
  164. package/dist/es5/context/context/webgl-checks.js.map +1 -1
  165. package/dist/es5/context/debug/spector.js +20 -54
  166. package/dist/es5/context/debug/spector.js.map +1 -1
  167. package/dist/es5/context/debug/webgl-developer-tools.js +19 -65
  168. package/dist/es5/context/debug/webgl-developer-tools.js.map +1 -1
  169. package/dist/es5/context/parameters/unified-parameter-api.js +3 -28
  170. package/dist/es5/context/parameters/unified-parameter-api.js.map +1 -1
  171. package/dist/es5/context/parameters/webgl-parameter-tables.js +18 -65
  172. package/dist/es5/context/parameters/webgl-parameter-tables.js.map +1 -1
  173. package/dist/es5/context/polyfill/context-data.js +0 -3
  174. package/dist/es5/context/polyfill/context-data.js.map +1 -1
  175. package/dist/es5/context/polyfill/get-parameter-polyfill.js +0 -12
  176. package/dist/es5/context/polyfill/get-parameter-polyfill.js.map +1 -1
  177. package/dist/es5/context/polyfill/polyfill-context.js +8 -33
  178. package/dist/es5/context/polyfill/polyfill-context.js.map +1 -1
  179. package/dist/es5/context/polyfill/polyfill-table.js +3 -27
  180. package/dist/es5/context/polyfill/polyfill-table.js.map +1 -1
  181. package/dist/es5/context/polyfill/polyfill-vertex-array-object.js +0 -70
  182. package/dist/es5/context/polyfill/polyfill-vertex-array-object.js.map +1 -1
  183. package/dist/es5/context/state-tracker/deep-array-equal.js +0 -5
  184. package/dist/es5/context/state-tracker/deep-array-equal.js.map +1 -1
  185. package/dist/es5/context/state-tracker/track-context-state.js +10 -53
  186. package/dist/es5/context/state-tracker/track-context-state.js.map +1 -1
  187. package/dist/es5/context/state-tracker/with-parameters.js +1 -13
  188. package/dist/es5/context/state-tracker/with-parameters.js.map +1 -1
  189. package/dist/es5/index.js +72 -99
  190. package/dist/es5/index.js.map +1 -1
  191. package/dist/es5/init.js +0 -3
  192. package/dist/es5/init.js.map +1 -1
  193. package/dist/es5/types/webgl.js +0 -1
  194. package/dist/es5/types/webgl.js.map +1 -1
  195. package/dist/es5/types.js.map +1 -1
  196. package/dist/esm/adapter/converters/device-parameters.js +0 -20
  197. package/dist/esm/adapter/converters/device-parameters.js.map +1 -1
  198. package/dist/esm/adapter/converters/renderbuffer-formats.js +0 -4
  199. package/dist/esm/adapter/converters/renderbuffer-formats.js.map +1 -1
  200. package/dist/esm/adapter/converters/sampler-parameters.js +2 -57
  201. package/dist/esm/adapter/converters/sampler-parameters.js.map +1 -1
  202. package/dist/esm/adapter/converters/texture-formats.js +8 -52
  203. package/dist/esm/adapter/converters/texture-formats.js.map +1 -1
  204. package/dist/esm/adapter/converters/vertex-formats.js +0 -9
  205. package/dist/esm/adapter/converters/vertex-formats.js.map +1 -1
  206. package/dist/esm/adapter/device-helpers/device-features.js +2 -19
  207. package/dist/esm/adapter/device-helpers/device-features.js.map +1 -1
  208. package/dist/esm/adapter/device-helpers/device-limits.js +0 -3
  209. package/dist/esm/adapter/device-helpers/device-limits.js.map +1 -1
  210. package/dist/esm/adapter/device-helpers/get-device-info.js +0 -6
  211. package/dist/esm/adapter/device-helpers/get-device-info.js.map +1 -1
  212. package/dist/esm/adapter/device-helpers/is-old-ie.js +2 -1
  213. package/dist/esm/adapter/device-helpers/is-old-ie.js.map +1 -1
  214. package/dist/esm/adapter/helpers/attribute-utils.js +0 -17
  215. package/dist/esm/adapter/helpers/attribute-utils.js.map +1 -1
  216. package/dist/esm/adapter/helpers/get-shader-info.js +25 -0
  217. package/dist/esm/adapter/helpers/get-shader-info.js.map +1 -0
  218. package/dist/esm/adapter/helpers/get-shader-layout.js +2 -48
  219. package/dist/esm/adapter/helpers/get-shader-layout.js.map +1 -1
  220. package/dist/esm/adapter/helpers/parse-shader-compiler-log.js +0 -7
  221. package/dist/esm/adapter/helpers/parse-shader-compiler-log.js.map +1 -1
  222. package/dist/esm/adapter/helpers/set-uniform.js +0 -30
  223. package/dist/esm/adapter/helpers/set-uniform.js.map +1 -1
  224. package/dist/esm/adapter/helpers/uniforms.js +0 -10
  225. package/dist/esm/adapter/helpers/uniforms.js.map +1 -1
  226. package/dist/esm/adapter/objects/constants-to-keys.js +0 -7
  227. package/dist/esm/adapter/objects/constants-to-keys.js.map +1 -1
  228. package/dist/esm/adapter/objects/webgl-renderbuffer.js +2 -18
  229. package/dist/esm/adapter/objects/webgl-renderbuffer.js.map +1 -1
  230. package/dist/esm/adapter/objects/webgl-resource.js +10 -57
  231. package/dist/esm/adapter/objects/webgl-resource.js.map +1 -1
  232. package/dist/esm/adapter/objects/webgl-vertex-array-object.js +5 -15
  233. package/dist/esm/adapter/objects/webgl-vertex-array-object.js.map +1 -1
  234. package/dist/esm/adapter/resources/webgl-buffer.js +12 -40
  235. package/dist/esm/adapter/resources/webgl-buffer.js.map +1 -1
  236. package/dist/esm/adapter/resources/webgl-command-buffer.js +2 -17
  237. package/dist/esm/adapter/resources/webgl-command-buffer.js.map +1 -1
  238. package/dist/esm/adapter/resources/webgl-command-encoder.js +0 -12
  239. package/dist/esm/adapter/resources/webgl-command-encoder.js.map +1 -1
  240. package/dist/esm/adapter/resources/webgl-external-texture.js.map +1 -1
  241. package/dist/esm/adapter/resources/webgl-framebuffer.js +0 -60
  242. package/dist/esm/adapter/resources/webgl-framebuffer.js.map +1 -1
  243. package/dist/esm/adapter/resources/webgl-render-pass.js +1 -8
  244. package/dist/esm/adapter/resources/webgl-render-pass.js.map +1 -1
  245. package/dist/esm/adapter/resources/webgl-render-pipeline.js +0 -89
  246. package/dist/esm/adapter/resources/webgl-render-pipeline.js.map +1 -1
  247. package/dist/esm/adapter/resources/webgl-sampler.js +0 -12
  248. package/dist/esm/adapter/resources/webgl-sampler.js.map +1 -1
  249. package/dist/esm/adapter/resources/webgl-shader.js +2 -16
  250. package/dist/esm/adapter/resources/webgl-shader.js.map +1 -1
  251. package/dist/esm/adapter/resources/webgl-texture.js +36 -154
  252. package/dist/esm/adapter/resources/webgl-texture.js.map +1 -1
  253. package/dist/esm/adapter/webgl-canvas-context.js +0 -14
  254. package/dist/esm/adapter/webgl-canvas-context.js.map +1 -1
  255. package/dist/esm/adapter/webgl-device.js +19 -89
  256. package/dist/esm/adapter/webgl-device.js.map +1 -1
  257. package/dist/esm/bundle.js +0 -1
  258. package/dist/esm/bundle.js.map +1 -1
  259. package/dist/esm/classic/accessor.js +10 -34
  260. package/dist/esm/classic/accessor.js.map +1 -1
  261. package/dist/esm/classic/buffer.js +15 -71
  262. package/dist/esm/classic/buffer.js.map +1 -1
  263. package/dist/esm/classic/typed-array-utils.js +0 -20
  264. package/dist/esm/classic/typed-array-utils.js.map +1 -1
  265. package/dist/esm/context/context/create-browser-context.js +6 -14
  266. package/dist/esm/context/context/create-browser-context.js.map +1 -1
  267. package/dist/esm/context/context/create-headless-context.js +2 -6
  268. package/dist/esm/context/context/create-headless-context.js.map +1 -1
  269. package/dist/esm/context/context/webgl-checks.js +0 -3
  270. package/dist/esm/context/context/webgl-checks.js.map +1 -1
  271. package/dist/esm/context/debug/spector.js +2 -14
  272. package/dist/esm/context/debug/spector.js.map +1 -1
  273. package/dist/esm/context/debug/webgl-developer-tools.js +4 -22
  274. package/dist/esm/context/debug/webgl-developer-tools.js.map +1 -1
  275. package/dist/esm/context/parameters/unified-parameter-api.js +2 -13
  276. package/dist/esm/context/parameters/unified-parameter-api.js.map +1 -1
  277. package/dist/esm/context/parameters/webgl-parameter-tables.js +0 -19
  278. package/dist/esm/context/parameters/webgl-parameter-tables.js.map +1 -1
  279. package/dist/esm/context/polyfill/context-data.js +0 -2
  280. package/dist/esm/context/polyfill/context-data.js.map +1 -1
  281. package/dist/esm/context/polyfill/get-parameter-polyfill.js +0 -5
  282. package/dist/esm/context/polyfill/get-parameter-polyfill.js.map +1 -1
  283. package/dist/esm/context/polyfill/polyfill-context.js +14 -21
  284. package/dist/esm/context/polyfill/polyfill-context.js.map +1 -1
  285. package/dist/esm/context/polyfill/polyfill-table.js +0 -23
  286. package/dist/esm/context/polyfill/polyfill-table.js.map +1 -1
  287. package/dist/esm/context/polyfill/polyfill-vertex-array-object.js +0 -70
  288. package/dist/esm/context/polyfill/polyfill-vertex-array-object.js.map +1 -1
  289. package/dist/esm/context/state-tracker/deep-array-equal.js +0 -4
  290. package/dist/esm/context/state-tracker/deep-array-equal.js.map +1 -1
  291. package/dist/esm/context/state-tracker/track-context-state.js +11 -45
  292. package/dist/esm/context/state-tracker/track-context-state.js.map +1 -1
  293. package/dist/esm/context/state-tracker/with-parameters.js +0 -6
  294. package/dist/esm/context/state-tracker/with-parameters.js.map +1 -1
  295. package/dist/esm/index.js.map +1 -1
  296. package/dist/esm/init.js.map +1 -1
  297. package/dist/esm/types/webgl.js.map +1 -1
  298. package/dist/esm/types.js.map +1 -1
  299. package/dist/index.js +39 -25
  300. package/dist/init.js +1 -2
  301. package/dist/types/webgl.d.ts +20 -20
  302. package/dist/types/webgl.d.ts.map +1 -1
  303. package/dist/types/webgl.js +0 -1
  304. package/dist/types.d.ts +1 -1
  305. package/dist/types.d.ts.map +1 -1
  306. package/dist/types.js +0 -1
  307. package/package.json +8 -8
  308. package/src/adapter/helpers/get-shader-info.ts +37 -0
  309. package/src/adapter/helpers/parse-shader-compiler-log.ts +1 -1
  310. package/src/adapter/resources/webgl-render-pass.ts +1 -1
  311. package/src/adapter/resources/webgl-shader.ts +2 -2
  312. package/src/adapter/webgl-device.ts +1 -1
  313. package/src/context/debug/webgl-developer-tools.ts +0 -1
  314. package/src/types/webgl.ts +4 -4
  315. package/dist/adapter/converters/device-parameters.js.map +0 -1
  316. package/dist/adapter/converters/renderbuffer-formats.js.map +0 -1
  317. package/dist/adapter/converters/sampler-parameters.js.map +0 -1
  318. package/dist/adapter/converters/texture-formats.js.map +0 -1
  319. package/dist/adapter/converters/vertex-formats.js.map +0 -1
  320. package/dist/adapter/device-helpers/device-features.js.map +0 -1
  321. package/dist/adapter/device-helpers/device-limits.js.map +0 -1
  322. package/dist/adapter/device-helpers/get-device-info.js.map +0 -1
  323. package/dist/adapter/device-helpers/is-old-ie.js.map +0 -1
  324. package/dist/adapter/helpers/attribute-utils.js.map +0 -1
  325. package/dist/adapter/helpers/get-shader-layout.js.map +0 -1
  326. package/dist/adapter/helpers/parse-shader-compiler-log.js.map +0 -1
  327. package/dist/adapter/helpers/set-uniform.js.map +0 -1
  328. package/dist/adapter/helpers/uniforms.js.map +0 -1
  329. package/dist/adapter/objects/constants-to-keys.js.map +0 -1
  330. package/dist/adapter/objects/webgl-renderbuffer.js.map +0 -1
  331. package/dist/adapter/objects/webgl-resource.js.map +0 -1
  332. package/dist/adapter/objects/webgl-vertex-array-object.js.map +0 -1
  333. package/dist/adapter/resources/webgl-buffer.js.map +0 -1
  334. package/dist/adapter/resources/webgl-command-buffer.js.map +0 -1
  335. package/dist/adapter/resources/webgl-command-encoder.js.map +0 -1
  336. package/dist/adapter/resources/webgl-external-texture.js.map +0 -1
  337. package/dist/adapter/resources/webgl-framebuffer.js.map +0 -1
  338. package/dist/adapter/resources/webgl-render-pass.js.map +0 -1
  339. package/dist/adapter/resources/webgl-render-pipeline.js.map +0 -1
  340. package/dist/adapter/resources/webgl-sampler.js.map +0 -1
  341. package/dist/adapter/resources/webgl-shader.js.map +0 -1
  342. package/dist/adapter/resources/webgl-texture.js.map +0 -1
  343. package/dist/adapter/webgl-canvas-context.js.map +0 -1
  344. package/dist/adapter/webgl-device.js.map +0 -1
  345. package/dist/bundle.js.map +0 -1
  346. package/dist/classic/accessor.js.map +0 -1
  347. package/dist/classic/buffer.js.map +0 -1
  348. package/dist/classic/typed-array-utils.js.map +0 -1
  349. package/dist/context/context/create-browser-context.js.map +0 -1
  350. package/dist/context/context/create-headless-context.js.map +0 -1
  351. package/dist/context/context/webgl-checks.js.map +0 -1
  352. package/dist/context/debug/spector.js.map +0 -1
  353. package/dist/context/debug/webgl-developer-tools.js.map +0 -1
  354. package/dist/context/parameters/unified-parameter-api.js.map +0 -1
  355. package/dist/context/parameters/webgl-parameter-tables.js.map +0 -1
  356. package/dist/context/polyfill/context-data.js.map +0 -1
  357. package/dist/context/polyfill/get-parameter-polyfill.js.map +0 -1
  358. package/dist/context/polyfill/polyfill-context.js.map +0 -1
  359. package/dist/context/polyfill/polyfill-table.js.map +0 -1
  360. package/dist/context/polyfill/polyfill-vertex-array-object.js.map +0 -1
  361. package/dist/context/state-tracker/deep-array-equal.js.map +0 -1
  362. package/dist/context/state-tracker/track-context-state.js.map +0 -1
  363. package/dist/context/state-tracker/with-parameters.js.map +0 -1
  364. package/dist/index.js.map +0 -1
  365. package/dist/init.js.map +0 -1
  366. package/dist/types/webgl.js.map +0 -1
  367. package/dist/types.js.map +0 -1
@@ -1,157 +1,220 @@
1
1
  import { log, isObjectEmpty } from '@luma.gl/api';
2
2
  import GL from '@luma.gl/constants';
3
- import { pushContextState, popContextState } from '../../context/state-tracker/track-context-state';
4
- import { setParameters } from '../../context/parameters/unified-parameter-api';
5
- import WebGLDevice from '../webgl-device';
3
+ import { pushContextState, popContextState } from '../../context/state-tracker/track-context-state.js';
4
+ import { setParameters } from '../../context/parameters/unified-parameter-api.js';
5
+ import WebGLDevice from '../webgl-device.js';
6
+ /**
7
+ * Execute a function with a set of temporary WebGL parameter overrides
8
+ * - Saves current "global" WebGL context settings
9
+ * - Sets the supplies WebGL context parameters,
10
+ * - Executes supplied function
11
+ * - Restores parameters
12
+ * - Returns the return value of the supplied function
13
+ * @deprecated use withDeviceParameters instead
14
+ */
6
15
  export function withGLParameters(device, parameters, func) {
7
- if (isObjectEmpty(parameters)) {
8
- return func(device);
9
- }
10
-
11
- pushContextState(device.gl);
12
-
13
- try {
14
- setParameters(device, parameters);
15
- return func(device);
16
- } finally {
17
- popContextState(device.gl);
18
- }
16
+ if (isObjectEmpty(parameters)) {
17
+ // Avoid setting state if no parameters provided. Just call and return
18
+ return func(device);
19
+ }
20
+ // Wrap in a try-catch to ensure that parameters are restored on exceptions
21
+ // @ts-expect-error
22
+ pushContextState(device.gl);
23
+ try {
24
+ setParameters(device, parameters);
25
+ return func(device);
26
+ }
27
+ finally {
28
+ // @ts-expect-error
29
+ popContextState(device.gl);
30
+ }
19
31
  }
32
+ /**
33
+ * Execute a function with a set of temporary WebGL parameter overrides
34
+ * - Saves current "global" WebGL context settings
35
+ * - Sets the supplies WebGL context parameters,
36
+ * - Executes supplied function
37
+ * - Restores parameters
38
+ * - Returns the return value of the supplied function
39
+ */
20
40
  export function withDeviceParameters(device, parameters, func) {
21
- if (isObjectEmpty(parameters)) {
22
- return func(device);
23
- }
24
-
25
- pushContextState(device.gl);
26
-
27
- try {
28
- setDeviceParameters(device, parameters);
29
- return func(device);
30
- } finally {
31
- popContextState(device.gl);
32
- }
41
+ if (isObjectEmpty(parameters)) {
42
+ // Avoid setting state if no parameters provided. Just call and return
43
+ return func(device);
44
+ }
45
+ // Wrap in a try-catch to ensure that parameters are restored on exceptions
46
+ // @ts-expect-error
47
+ pushContextState(device.gl);
48
+ try {
49
+ setDeviceParameters(device, parameters);
50
+ return func(device);
51
+ }
52
+ finally {
53
+ // @ts-expect-error
54
+ popContextState(device.gl);
55
+ }
33
56
  }
57
+ /** Set WebGPU Style Parameters */
34
58
  export function setDeviceParameters(device, parameters) {
35
- const webglDevice = WebGLDevice.attach(device);
36
- const {
37
- gl
38
- } = webglDevice;
39
-
40
- if (parameters.cullMode) {
41
- switch (parameters.cullMode) {
42
- case 'none':
43
- gl.disable(GL.CULL_FACE);
44
- break;
45
-
46
- case 'front':
47
- gl.enable(GL.CULL_FACE);
48
- gl.cullFace(GL.FRONT);
49
- break;
50
-
51
- case 'back':
52
- gl.enable(GL.CULL_FACE);
53
- gl.cullFace(GL.BACK);
54
- break;
59
+ const webglDevice = WebGLDevice.attach(device);
60
+ const { gl } = webglDevice;
61
+ // RASTERIZATION SETTINGS
62
+ if (parameters.cullMode) {
63
+ switch (parameters.cullMode) {
64
+ case 'none':
65
+ gl.disable(GL.CULL_FACE);
66
+ break;
67
+ case 'front':
68
+ gl.enable(GL.CULL_FACE);
69
+ gl.cullFace(GL.FRONT);
70
+ break;
71
+ case 'back':
72
+ gl.enable(GL.CULL_FACE);
73
+ gl.cullFace(GL.BACK);
74
+ break;
75
+ }
55
76
  }
56
- }
57
-
58
- if (parameters.frontFace) {
59
- gl.frontFace(map('frontFace', parameters.frontFace, {
60
- ccw: GL.CCW,
61
- cw: GL.CW
62
- }));
63
- }
64
-
65
- if (parameters.depthBias !== undefined) {
66
- gl.polygonOffset(parameters.depthBias, parameters.depthBiasSlopeScale || 0);
67
- }
68
-
69
- if (parameters.depthWriteEnabled !== undefined) {
70
- gl.depthMask(mapBoolean('depthWriteEnabled', parameters.depthWriteEnabled));
71
- }
72
-
73
- if (parameters.depthCompare) {
74
- parameters.depthCompare !== 'always' ? gl.enable(GL.DEPTH_TEST) : gl.disable(GL.DEPTH_TEST);
75
- gl.depthFunc(convertCompareFunction('depthCompare', parameters.depthCompare));
76
- }
77
-
78
- if (parameters.stencilWriteMask) {
79
- const mask = parameters.stencilWriteMask;
80
- gl.stencilMaskSeparate(GL.FRONT, mask);
81
- gl.stencilMaskSeparate(GL.BACK, mask);
82
- }
83
-
84
- if (parameters.stencilReadMask) {
85
- log.warn('stencilReadMask not supported under WebGL');
86
- }
87
-
88
- if (parameters.stencilCompare) {
89
- const mask = parameters.stencilReadMask || 0xffffffff;
90
- const glValue = convertCompareFunction('depthCompare', parameters.stencilCompare);
91
- parameters.stencilCompare !== 'always' ? gl.enable(GL.STENCIL_TEST) : gl.disable(GL.STENCIL_TEST);
92
- gl.stencilFuncSeparate(GL.FRONT, glValue, 0, mask);
93
- gl.stencilFuncSeparate(GL.BACK, glValue, 0, mask);
94
- }
95
-
96
- if (parameters.stencilPassOperation && parameters.stencilFailOperation && parameters.stencilDepthFailOperation) {
97
- const dppass = convertStencilOperation('stencilPassOperation', parameters.stencilPassOperation);
98
- const sfail = convertStencilOperation('stencilFailOperation', parameters.stencilFailOperation);
99
- const dpfail = convertStencilOperation('stencilDepthFailOperation', parameters.stencilDepthFailOperation);
100
- gl.stencilOpSeparate(GL.FRONT, sfail, dpfail, dppass);
101
- gl.stencilOpSeparate(GL.BACK, sfail, dpfail, dppass);
102
- }
77
+ if (parameters.frontFace) {
78
+ gl.frontFace(map('frontFace', parameters.frontFace, {
79
+ ccw: GL.CCW,
80
+ cw: GL.CW
81
+ }));
82
+ }
83
+ if (parameters.depthBias !== undefined) {
84
+ gl.polygonOffset(parameters.depthBias, parameters.depthBiasSlopeScale || 0);
85
+ }
86
+ // depthBiasSlopeScale: {
87
+ // // Handled by depthBias
88
+ // },
89
+ // DEPTH STENCIL
90
+ if (parameters.depthWriteEnabled !== undefined) {
91
+ gl.depthMask(mapBoolean('depthWriteEnabled', parameters.depthWriteEnabled));
92
+ }
93
+ if (parameters.depthCompare) {
94
+ parameters.depthCompare !== 'always' ? gl.enable(GL.DEPTH_TEST) : gl.disable(GL.DEPTH_TEST);
95
+ gl.depthFunc(convertCompareFunction('depthCompare', parameters.depthCompare));
96
+ }
97
+ if (parameters.stencilWriteMask) {
98
+ const mask = parameters.stencilWriteMask;
99
+ gl.stencilMaskSeparate(GL.FRONT, mask);
100
+ gl.stencilMaskSeparate(GL.BACK, mask);
101
+ }
102
+ if (parameters.stencilReadMask) {
103
+ // stencilReadMask is handle inside stencil***Compare.
104
+ log.warn('stencilReadMask not supported under WebGL');
105
+ }
106
+ if (parameters.stencilCompare) {
107
+ const mask = parameters.stencilReadMask || 0xffffffff;
108
+ const glValue = convertCompareFunction('depthCompare', parameters.stencilCompare);
109
+ // TODO - ensure back doesn't overwrite
110
+ parameters.stencilCompare !== 'always' ? gl.enable(GL.STENCIL_TEST) : gl.disable(GL.STENCIL_TEST);
111
+ gl.stencilFuncSeparate(GL.FRONT, glValue, 0, mask);
112
+ gl.stencilFuncSeparate(GL.BACK, glValue, 0, mask);
113
+ }
114
+ if (parameters.stencilPassOperation && parameters.stencilFailOperation && parameters.stencilDepthFailOperation) {
115
+ const dppass = convertStencilOperation('stencilPassOperation', parameters.stencilPassOperation);
116
+ const sfail = convertStencilOperation('stencilFailOperation', parameters.stencilFailOperation);
117
+ const dpfail = convertStencilOperation('stencilDepthFailOperation', parameters.stencilDepthFailOperation);
118
+ gl.stencilOpSeparate(GL.FRONT, sfail, dpfail, dppass);
119
+ gl.stencilOpSeparate(GL.BACK, sfail, dpfail, dppass);
120
+ }
121
+ // stencilDepthFailOperation() {
122
+ // // handled by stencilPassOperation
123
+ // },
124
+ // stencilFailOperation() {
125
+ // // handled by stencilPassOperation
126
+ // },
127
+ // COLOR STATE
128
+ // if (parameters.blend) {
129
+ // gl.enable(GL.BLEND);
130
+ // const blend = parameters.blend;
131
+ // let colorEquation = (blend && blend.color && blend.color.operation) || 'add';
132
+ // let alphaEquation = (blend && blend.alpha && blend.alpha.operation) || 'add';
133
+ // gl.blendEquationSeparate(colorEquation, alphaEquation);
134
+ // let colorSrcFactor = (blend && blend.color && blend.color.srcFactor) || 'one';
135
+ // let colorDstFactor = (blend && blend.color && blend.color.dstFactor) || 'zero';
136
+ // let alphaSrcFactor = (blend && blend.alpha && blend.alpha.srcFactor) || 'one';
137
+ // let alphaDstFactor = (blend && blend.alpha && blend.alpha.dstFactor) || 'zero';
138
+ // gl.blendFuncSeparate(colorSrcFactor, colorDstFactor, alphaSrcFactor, alphaDstFactor);
139
+ // }
103
140
  }
141
+ /*
142
+ rasterizationState: {
143
+ cullMode: "back",
144
+ },
145
+
146
+ depthStencilState: {
147
+ depthWriteEnabled: true,
148
+ depthCompare: "less",
149
+ format: "depth24plus-stencil8",
150
+ },
151
+
152
+ colorStates: [
153
+ {
154
+ format: "bgra8unorm",
155
+ // colorBlend.srcFactor = wgpu::BlendFactor::SrcAlpha;
156
+ // colorBlend.dstFactor = wgpu::BlendFactor::OneMinusSrcAlpha;
157
+ // alphaBlend.srcFactor = wgpu::BlendFactor::SrcAlpha;
158
+ // alphaBlend.dstFactor = wgpu::BlendFactor::OneMinusSrcAlpha;
159
+ },
160
+ ],
161
+ });
162
+ */
104
163
  export function convertCompareFunction(parameter, value) {
105
- return map(parameter, value, {
106
- 'never': GL.NEVER,
107
- 'less': GL.LESS,
108
- 'equal': GL.EQUAL,
109
- 'less-equal': GL.LEQUAL,
110
- 'greater': GL.GREATER,
111
- 'not-equal': GL.NOTEQUAL,
112
- 'greater-equal': GL.GEQUAL,
113
- 'always': GL.ALWAYS
114
- });
164
+ return map(parameter, value, {
165
+ 'never': GL.NEVER,
166
+ 'less': GL.LESS,
167
+ 'equal': GL.EQUAL,
168
+ 'less-equal': GL.LEQUAL,
169
+ 'greater': GL.GREATER,
170
+ 'not-equal': GL.NOTEQUAL,
171
+ 'greater-equal': GL.GEQUAL,
172
+ 'always': GL.ALWAYS
173
+ });
115
174
  }
116
175
  export function convertToCompareFunction(parameter, value) {
117
- return map(parameter, value, {
118
- [GL.NEVER]: 'never',
119
- [GL.LESS]: 'less',
120
- [GL.EQUAL]: 'equal',
121
- [GL.LEQUAL]: 'less-equal',
122
- [GL.GREATER]: 'greater',
123
- [GL.NOTEQUAL]: 'not-equal',
124
- [GL.GEQUAL]: 'greater-equal',
125
- [GL.ALWAYS]: 'always'
126
- });
176
+ return map(parameter, value, {
177
+ [GL.NEVER]: 'never',
178
+ [GL.LESS]: 'less',
179
+ [GL.EQUAL]: 'equal',
180
+ [GL.LEQUAL]: 'less-equal',
181
+ [GL.GREATER]: 'greater',
182
+ [GL.NOTEQUAL]: 'not-equal',
183
+ [GL.GEQUAL]: 'greater-equal',
184
+ [GL.ALWAYS]: 'always'
185
+ });
127
186
  }
128
-
129
187
  function convertStencilOperation(parameter, value) {
130
- return map(parameter, value, {
131
- 'keep': GL.KEEP,
132
- 'zero': GL.ZERO,
133
- 'replace': GL.REPLACE,
134
- 'invert': GL.INVERT,
135
- 'increment-clamp': GL.INCR,
136
- 'decrement-clamp': GL.DECR,
137
- 'increment-wrap': GL.INCR_WRAP,
138
- 'decrement-wrap': GL.DECR_WRAP
139
- });
188
+ return map(parameter, value, {
189
+ 'keep': GL.KEEP,
190
+ 'zero': GL.ZERO,
191
+ 'replace': GL.REPLACE,
192
+ 'invert': GL.INVERT,
193
+ 'increment-clamp': GL.INCR,
194
+ 'decrement-clamp': GL.DECR,
195
+ 'increment-wrap': GL.INCR_WRAP,
196
+ 'decrement-wrap': GL.DECR_WRAP
197
+ });
140
198
  }
141
-
199
+ // function convertBlendOperationToEquation(parameter: string, value: string): number {
200
+ // return map(parameter, value, {
201
+ // 'add': GL.FUNC_ADD,
202
+ // 'sub': GL.FUNC_SUBTRACT,
203
+ // 'reverse-subtract': GL.FUNC_REVERSE_SUBTRACT,
204
+ // // When using a WebGL 2 context, the following values are available additionally:
205
+ // 'min': GL.MIN,
206
+ // 'max': GL.MAX
207
+ // });
208
+ // }
142
209
  function message(parameter, value) {
143
- return "Illegal parameter ".concat(value, " for ").concat(parameter);
210
+ return `Illegal parameter ${value} for ${parameter}`;
144
211
  }
145
-
146
212
  function map(parameter, value, valueMap) {
147
- if (!(value in valueMap)) {
148
- throw new Error(message(parameter, value));
149
- }
150
-
151
- return valueMap[value];
213
+ if (!(value in valueMap)) {
214
+ throw new Error(message(parameter, value));
215
+ }
216
+ return valueMap[value];
152
217
  }
153
-
154
218
  function mapBoolean(parameter, value) {
155
- return value;
219
+ return value;
156
220
  }
157
- //# sourceMappingURL=device-parameters.js.map
@@ -6,7 +6,7 @@ export declare function getRenderbufferFormatBytesPerPixel(format: GL): number;
6
6
  * @param gl2 requires WebGL2
7
7
  * @param ext requires extension
8
8
  */
9
- declare type RenderbufferFormat = {
9
+ type RenderbufferFormat = {
10
10
  bpp: number;
11
11
  gl2?: boolean;
12
12
  ext?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"renderbuffer-formats.d.ts","sourceRoot":"","sources":["../../../src/adapter/converters/renderbuffer-formats.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAGpC,wBAAgB,6BAA6B,CAAC,EAAE,EAAE,qBAAqB,EAAE,MAAM,EAAE,EAAE,GAAG,OAAO,CAa5F;AAED,wBAAgB,kCAAkC,CAAC,MAAM,EAAE,EAAE,GAAG,MAAM,CAErE;AAKD;;;;GAIG;AACH,aAAK,kBAAkB,GAAG;IACxB,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,QAAA,MAAM,oBAAoB,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAqD5D,CAAC;AAEF,eAAe,oBAAoB,CAAC"}
1
+ {"version":3,"file":"renderbuffer-formats.d.ts","sourceRoot":"","sources":["../../../src/adapter/converters/renderbuffer-formats.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAGpC,wBAAgB,6BAA6B,CAAC,EAAE,EAAE,qBAAqB,EAAE,MAAM,EAAE,EAAE,GAAG,OAAO,CAa5F;AAED,wBAAgB,kCAAkC,CAAC,MAAM,EAAE,EAAE,GAAG,MAAM,CAErE;AAKD;;;;GAIG;AACH,KAAK,kBAAkB,GAAG;IACxB,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,QAAA,MAAM,oBAAoB,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAqD5D,CAAC;AAEF,eAAe,oBAAoB,CAAC"}
@@ -1,185 +1,71 @@
1
1
  import GL from '@luma.gl/constants';
2
- import { isWebGL2 } from '../../context/context/webgl-checks';
2
+ import { isWebGL2 } from '../../context/context/webgl-checks.js';
3
3
  export function isRenderbufferFormatSupported(gl, format) {
4
- const info = RENDERBUFFER_FORMATS[format];
5
-
6
- if (!info) {
7
- return false;
8
- }
9
-
10
- if (info.ext) {
11
- return Boolean(gl.getExtension(info.ext));
12
- }
13
-
14
- if (info.gl2) {
15
- return isWebGL2(gl);
16
- }
17
-
18
- return true;
4
+ const info = RENDERBUFFER_FORMATS[format];
5
+ // Unknown format
6
+ if (!info) {
7
+ return false;
8
+ }
9
+ if (info.ext) {
10
+ return Boolean(gl.getExtension(info.ext));
11
+ }
12
+ if (info.gl2) {
13
+ return isWebGL2(gl);
14
+ }
15
+ return true;
19
16
  }
20
17
  export function getRenderbufferFormatBytesPerPixel(format) {
21
- return RENDERBUFFER_FORMATS[format].bpp;
18
+ return RENDERBUFFER_FORMATS[format].bpp;
22
19
  }
20
+ // Define local extension strings to optimize minification
23
21
  const EXT_FLOAT_WEBGL2 = 'EXT_color_buffer_float';
24
22
  const RENDERBUFFER_FORMATS = {
25
- [GL.DEPTH_COMPONENT16]: {
26
- bpp: 2
27
- },
28
- [GL.DEPTH_COMPONENT24]: {
29
- gl2: true,
30
- bpp: 3
31
- },
32
- [GL.DEPTH_COMPONENT32F]: {
33
- gl2: true,
34
- bpp: 4
35
- },
36
- [GL.STENCIL_INDEX8]: {
37
- bpp: 1
38
- },
39
- [GL.DEPTH_STENCIL]: {
40
- bpp: 4
41
- },
42
- [GL.DEPTH24_STENCIL8]: {
43
- gl2: true,
44
- bpp: 4
45
- },
46
- [GL.DEPTH32F_STENCIL8]: {
47
- gl2: true,
48
- bpp: 5
49
- },
50
- [GL.RGBA4]: {
51
- bpp: 2
52
- },
53
- [GL.RGB565]: {
54
- bpp: 2
55
- },
56
- [GL.RGB5_A1]: {
57
- bpp: 2
58
- },
59
- [GL.R8]: {
60
- gl2: true,
61
- bpp: 1
62
- },
63
- [GL.R8UI]: {
64
- gl2: true,
65
- bpp: 1
66
- },
67
- [GL.R8I]: {
68
- gl2: true,
69
- bpp: 1
70
- },
71
- [GL.R16UI]: {
72
- gl2: true,
73
- bpp: 2
74
- },
75
- [GL.R16I]: {
76
- gl2: true,
77
- bpp: 2
78
- },
79
- [GL.R32UI]: {
80
- gl2: true,
81
- bpp: 4
82
- },
83
- [GL.R32I]: {
84
- gl2: true,
85
- bpp: 4
86
- },
87
- [GL.RG8]: {
88
- gl2: true,
89
- bpp: 2
90
- },
91
- [GL.RG8UI]: {
92
- gl2: true,
93
- bpp: 2
94
- },
95
- [GL.RG8I]: {
96
- gl2: true,
97
- bpp: 2
98
- },
99
- [GL.RG16UI]: {
100
- gl2: true,
101
- bpp: 4
102
- },
103
- [GL.RG16I]: {
104
- gl2: true,
105
- bpp: 4
106
- },
107
- [GL.RG32UI]: {
108
- gl2: true,
109
- bpp: 8
110
- },
111
- [GL.RG32I]: {
112
- gl2: true,
113
- bpp: 8
114
- },
115
- [GL.RGB8]: {
116
- gl2: true,
117
- bpp: 3
118
- },
119
- [GL.RGBA8]: {
120
- gl2: true,
121
- bpp: 4
122
- },
123
- [GL.RGB10_A2]: {
124
- gl2: true,
125
- bpp: 4
126
- },
127
- [GL.RGBA8UI]: {
128
- gl2: true,
129
- bpp: 4
130
- },
131
- [GL.RGBA8I]: {
132
- gl2: true,
133
- bpp: 4
134
- },
135
- [GL.RGB10_A2UI]: {
136
- gl2: true,
137
- bpp: 4
138
- },
139
- [GL.RGBA16UI]: {
140
- gl2: true,
141
- bpp: 8
142
- },
143
- [GL.RGBA16I]: {
144
- gl2: true,
145
- bpp: 8
146
- },
147
- [GL.RGBA32I]: {
148
- gl2: true,
149
- bpp: 16
150
- },
151
- [GL.RGBA32UI]: {
152
- gl2: true,
153
- bpp: 16
154
- },
155
- [GL.R16F]: {
156
- ext: EXT_FLOAT_WEBGL2,
157
- bpp: 2
158
- },
159
- [GL.RG16F]: {
160
- ext: EXT_FLOAT_WEBGL2,
161
- bpp: 4
162
- },
163
- [GL.RGBA16F]: {
164
- ext: EXT_FLOAT_WEBGL2,
165
- bpp: 8
166
- },
167
- [GL.R32F]: {
168
- ext: EXT_FLOAT_WEBGL2,
169
- bpp: 4
170
- },
171
- [GL.RG32F]: {
172
- ext: EXT_FLOAT_WEBGL2,
173
- bpp: 8
174
- },
175
- [GL.RGBA32F]: {
176
- ext: EXT_FLOAT_WEBGL2,
177
- bpp: 16
178
- },
179
- [GL.R11F_G11F_B10F]: {
180
- ext: EXT_FLOAT_WEBGL2,
181
- bpp: 4
182
- }
23
+ [GL.DEPTH_COMPONENT16]: { bpp: 2 },
24
+ [GL.DEPTH_COMPONENT24]: { gl2: true, bpp: 3 },
25
+ [GL.DEPTH_COMPONENT32F]: { gl2: true, bpp: 4 },
26
+ [GL.STENCIL_INDEX8]: { bpp: 1 },
27
+ [GL.DEPTH_STENCIL]: { bpp: 4 },
28
+ [GL.DEPTH24_STENCIL8]: { gl2: true, bpp: 4 },
29
+ [GL.DEPTH32F_STENCIL8]: { gl2: true, bpp: 5 },
30
+ // When using a WebGL 1 context, color renderbuffer formats are limited
31
+ [GL.RGBA4]: { bpp: 2 },
32
+ [GL.RGB565]: { bpp: 2 },
33
+ [GL.RGB5_A1]: { bpp: 2 },
34
+ // When using a WebGL 2 context, the following values are available additionally:
35
+ [GL.R8]: { gl2: true, bpp: 1 },
36
+ [GL.R8UI]: { gl2: true, bpp: 1 },
37
+ [GL.R8I]: { gl2: true, bpp: 1 },
38
+ [GL.R16UI]: { gl2: true, bpp: 2 },
39
+ [GL.R16I]: { gl2: true, bpp: 2 },
40
+ [GL.R32UI]: { gl2: true, bpp: 4 },
41
+ [GL.R32I]: { gl2: true, bpp: 4 },
42
+ [GL.RG8]: { gl2: true, bpp: 2 },
43
+ [GL.RG8UI]: { gl2: true, bpp: 2 },
44
+ [GL.RG8I]: { gl2: true, bpp: 2 },
45
+ [GL.RG16UI]: { gl2: true, bpp: 4 },
46
+ [GL.RG16I]: { gl2: true, bpp: 4 },
47
+ [GL.RG32UI]: { gl2: true, bpp: 8 },
48
+ [GL.RG32I]: { gl2: true, bpp: 8 },
49
+ [GL.RGB8]: { gl2: true, bpp: 3 },
50
+ [GL.RGBA8]: { gl2: true, bpp: 4 },
51
+ // [GL.SRGB8_ALPHA8]: {gl2: true, gl1: SRGB}, // When using the EXT_sRGB WebGL1 extension
52
+ [GL.RGB10_A2]: { gl2: true, bpp: 4 },
53
+ [GL.RGBA8UI]: { gl2: true, bpp: 4 },
54
+ [GL.RGBA8I]: { gl2: true, bpp: 4 },
55
+ [GL.RGB10_A2UI]: { gl2: true, bpp: 4 },
56
+ [GL.RGBA16UI]: { gl2: true, bpp: 8 },
57
+ [GL.RGBA16I]: { gl2: true, bpp: 8 },
58
+ [GL.RGBA32I]: { gl2: true, bpp: 16 },
59
+ [GL.RGBA32UI]: { gl2: true, bpp: 16 },
60
+ // When using a WebGL 2 context and the EXT_color_buffer_float WebGL2 extension
61
+ [GL.R16F]: { ext: EXT_FLOAT_WEBGL2, bpp: 2 },
62
+ [GL.RG16F]: { ext: EXT_FLOAT_WEBGL2, bpp: 4 },
63
+ [GL.RGBA16F]: { ext: EXT_FLOAT_WEBGL2, bpp: 8 },
64
+ [GL.R32F]: { ext: EXT_FLOAT_WEBGL2, bpp: 4 },
65
+ [GL.RG32F]: { ext: EXT_FLOAT_WEBGL2, bpp: 8 },
66
+ // TODO - can't get WEBGL_color_buffer_float to work on renderbuffers
67
+ [GL.RGBA32F]: { ext: EXT_FLOAT_WEBGL2, bpp: 16 },
68
+ // [GL.RGBA32F]: {ext: EXT_FLOAT_WEBGL2, gl1: EXT_FLOAT_WEBGL1},
69
+ [GL.R11F_G11F_B10F]: { ext: EXT_FLOAT_WEBGL2, bpp: 4 }
183
70
  };
184
71
  export default RENDERBUFFER_FORMATS;
185
- //# sourceMappingURL=renderbuffer-formats.js.map