@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,46 +1,28 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports.default = void 0;
9
-
10
8
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
11
-
12
9
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
13
-
14
10
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
15
-
16
11
  var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
17
-
18
12
  var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
19
-
20
13
  var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
21
-
22
14
  var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
23
-
24
15
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
25
-
26
16
  var _api = require("@luma.gl/api");
27
-
28
17
  var _constants = _interopRequireDefault(require("@luma.gl/constants"));
29
-
30
18
  var _samplerParameters = require("../converters/sampler-parameters");
31
-
32
19
  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); }; }
33
-
34
20
  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; } }
35
-
36
21
  var WEBGLSampler = function (_Sampler) {
37
22
  (0, _inherits2.default)(WEBGLSampler, _Sampler);
38
-
39
23
  var _super = _createSuper(WEBGLSampler);
40
-
41
24
  function WEBGLSampler(device, props) {
42
25
  var _this;
43
-
44
26
  (0, _classCallCheck2.default)(this, WEBGLSampler);
45
27
  _this = _super.call(this, device, props);
46
28
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "device", void 0);
@@ -48,16 +30,12 @@ var WEBGLSampler = function (_Sampler) {
48
30
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "parameters", void 0);
49
31
  _this.device = device;
50
32
  _this.parameters = (0, _samplerParameters.convertSamplerParametersToWebGL)(props);
51
-
52
33
  if (_this.device.isWebGL2) {
53
34
  _this.handle = _this.handle || _this.device.gl2.createSampler();
54
-
55
35
  _this._setSamplerParameters(_this.parameters);
56
36
  }
57
-
58
37
  return _this;
59
38
  }
60
-
61
39
  (0, _createClass2.default)(WEBGLSampler, [{
62
40
  key: "destroy",
63
41
  value: function destroy() {
@@ -76,17 +54,14 @@ var WEBGLSampler = function (_Sampler) {
76
54
  value: function _setSamplerParameters(parameters) {
77
55
  for (var _i = 0, _Object$entries = Object.entries(parameters); _i < _Object$entries.length; _i++) {
78
56
  var _Object$entries$_i = (0, _slicedToArray2.default)(_Object$entries[_i], 2),
79
- pname = _Object$entries$_i[0],
80
- value = _Object$entries$_i[1];
81
-
57
+ pname = _Object$entries$_i[0],
58
+ value = _Object$entries$_i[1];
82
59
  var param = Number(pname);
83
-
84
60
  switch (param) {
85
61
  case _constants.default.TEXTURE_MIN_LOD:
86
62
  case _constants.default.TEXTURE_MAX_LOD:
87
63
  this.device.gl2.samplerParameterf(this.handle, param, value);
88
64
  break;
89
-
90
65
  default:
91
66
  this.device.gl2.samplerParameteri(this.handle, param, value);
92
67
  break;
@@ -96,6 +71,5 @@ var WEBGLSampler = function (_Sampler) {
96
71
  }]);
97
72
  return WEBGLSampler;
98
73
  }(_api.Sampler);
99
-
100
74
  exports.default = WEBGLSampler;
101
75
  //# sourceMappingURL=webgl-sampler.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/adapter/resources/webgl-sampler.ts"],"names":["WEBGLSampler","device","props","parameters","isWebGL2","handle","gl2","createSampler","_setSamplerParameters","deleteSampler","undefined","id","JSON","stringify","Object","entries","pname","value","param","Number","GL","TEXTURE_MIN_LOD","TEXTURE_MAX_LOD","samplerParameterf","samplerParameteri","Sampler"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAEA;;AACA;;AAEA;;;;;;IAUqBA,Y;;;;;AAKnB,wBAAYC,MAAZ,EAAiCC,KAAjC,EAAsD;AAAA;;AAAA;AACpD,8BAAMD,MAAN,EAAcC,KAAd;AADoD;AAAA;AAAA;AAEpD,UAAKD,MAAL,GAAcA,MAAd;AACA,UAAKE,UAAL,GAAkB,wDAAgCD,KAAhC,CAAlB;;AACA,QAAI,MAAKD,MAAL,CAAYG,QAAhB,EAA0B;AACxB,YAAKC,MAAL,GAAc,MAAKA,MAAL,IAAe,MAAKJ,MAAL,CAAYK,GAAZ,CAAgBC,aAAhB,EAA7B;;AACA,YAAKC,qBAAL,CAA2B,MAAKL,UAAhC;AACD;;AAPmD;AAQrD;;;;WAED,mBAAyB;AACvB,UAAI,KAAKE,MAAT,EAAiB;AACf,aAAKJ,MAAL,CAAYK,GAAZ,CAAgBG,aAAhB,CAA8B,KAAKJ,MAAnC;AAEA,aAAKA,MAAL,GAAcK,SAAd;AACD;AACF;;;WAED,oBAA4B;AAC1B,+BAAkB,KAAKC,EAAvB,cAA6BC,IAAI,CAACC,SAAL,CAAe,KAAKX,KAApB,CAA7B;AACD;;;WAGD,+BAA8BC,UAA9B,EAAqE;AACnE,yCAA6BW,MAAM,CAACC,OAAP,CAAeZ,UAAf,CAA7B,qCAAyD;AAApD;AAAA,YAAOa,KAAP;AAAA,YAAcC,KAAd;;AAGH,YAAMC,KAAK,GAAGC,MAAM,CAACH,KAAD,CAApB;;AACA,gBAAQE,KAAR;AACE,eAAKE,mBAAGC,eAAR;AACA,eAAKD,mBAAGE,eAAR;AACE,iBAAKrB,MAAL,CAAYK,GAAZ,CAAgBiB,iBAAhB,CAAkC,KAAKlB,MAAvC,EAA+Ca,KAA/C,EAAsDD,KAAtD;AACA;;AACF;AACE,iBAAKhB,MAAL,CAAYK,GAAZ,CAAgBkB,iBAAhB,CAAkC,KAAKnB,MAAvC,EAA+Ca,KAA/C,EAAsDD,KAAtD;AACA;AAPJ;AASD;AACF;;;EA3CuCQ,Y","sourcesContent":["// luma.gl, MIT license\n\nimport {Sampler, SamplerProps} from '@luma.gl/api';\nimport GL from '@luma.gl/constants';\nimport type {GLSamplerParameters} from '../../types/webgl';\nimport {convertSamplerParametersToWebGL} from '../converters/sampler-parameters';\nimport type WebGLDevice from '../webgl-device';\n\n/**\n * Sampler object -\n * Under WebGL2 we create an actual WebGL sampler\n * Under WebGL1, we just store the sampler parameters\n * so that they can be set directly on the texture\n * https://github.com/WebGLSamples/WebGL2Samples/blob/master/samples/sampler_object.html\n */\nexport default class WEBGLSampler extends Sampler {\n readonly device: WebGLDevice;\n readonly handle: WebGLSampler;\n readonly parameters: GLSamplerParameters;\n\n constructor(device: WebGLDevice, props: SamplerProps) {\n super(device, props);\n this.device = device;\n this.parameters = convertSamplerParametersToWebGL(props);\n if (this.device.isWebGL2) {\n this.handle = this.handle || this.device.gl2.createSampler();\n this._setSamplerParameters(this.parameters);\n }\n }\n\n override destroy(): void {\n if (this.handle) {\n this.device.gl2.deleteSampler(this.handle);\n // @ts-expect-error\n this.handle = undefined;\n }\n }\n\n override toString(): string {\n return `Sampler(${this.id},${JSON.stringify(this.props)})`;\n }\n\n /** Set sampler parameters on the sampler */\n private _setSamplerParameters(parameters: GLSamplerParameters): void {\n for (const [pname, value] of Object.entries(parameters)) {\n // Apparently there are integer/float conversion issues requires two parameter setting functions in JavaScript.\n // For now, pick the float version for parameters specified as GLfloat.\n const param = Number(pname);\n switch (param) {\n case GL.TEXTURE_MIN_LOD:\n case GL.TEXTURE_MAX_LOD:\n this.device.gl2.samplerParameterf(this.handle, param, value);\n break;\n default:\n this.device.gl2.samplerParameteri(this.handle, param, value);\n break;\n }\n }\n }\n}\n"],"file":"webgl-sampler.js"}
1
+ {"version":3,"file":"webgl-sampler.js","names":["_api","require","_constants","_interopRequireDefault","_samplerParameters","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","default","result","NewTarget","constructor","Reflect","construct","arguments","apply","_possibleConstructorReturn2","sham","Proxy","Boolean","prototype","valueOf","call","e","WEBGLSampler","_Sampler","_inherits2","_super","device","props","_this","_classCallCheck2","_defineProperty2","_assertThisInitialized2","parameters","convertSamplerParametersToWebGL","isWebGL2","handle","gl2","createSampler","_setSamplerParameters","_createClass2","key","value","destroy","deleteSampler","undefined","toString","concat","id","JSON","stringify","_i","_Object$entries","Object","entries","length","_Object$entries$_i","_slicedToArray2","pname","param","Number","GL","TEXTURE_MIN_LOD","TEXTURE_MAX_LOD","samplerParameterf","samplerParameteri","Sampler","exports"],"sources":["../../../../src/adapter/resources/webgl-sampler.ts"],"sourcesContent":["// luma.gl, MIT license\n\nimport {Sampler, SamplerProps} from '@luma.gl/api';\nimport GL from '@luma.gl/constants';\nimport type {GLSamplerParameters} from '../../types/webgl';\nimport {convertSamplerParametersToWebGL} from '../converters/sampler-parameters';\nimport type WebGLDevice from '../webgl-device';\n\n/**\n * Sampler object -\n * Under WebGL2 we create an actual WebGL sampler\n * Under WebGL1, we just store the sampler parameters\n * so that they can be set directly on the texture\n * https://github.com/WebGLSamples/WebGL2Samples/blob/master/samples/sampler_object.html\n */\nexport default class WEBGLSampler extends Sampler {\n readonly device: WebGLDevice;\n readonly handle: WebGLSampler;\n readonly parameters: GLSamplerParameters;\n\n constructor(device: WebGLDevice, props: SamplerProps) {\n super(device, props);\n this.device = device;\n this.parameters = convertSamplerParametersToWebGL(props);\n if (this.device.isWebGL2) {\n this.handle = this.handle || this.device.gl2.createSampler();\n this._setSamplerParameters(this.parameters);\n }\n }\n\n override destroy(): void {\n if (this.handle) {\n this.device.gl2.deleteSampler(this.handle);\n // @ts-expect-error\n this.handle = undefined;\n }\n }\n\n override toString(): string {\n return `Sampler(${this.id},${JSON.stringify(this.props)})`;\n }\n\n /** Set sampler parameters on the sampler */\n private _setSamplerParameters(parameters: GLSamplerParameters): void {\n for (const [pname, value] of Object.entries(parameters)) {\n // Apparently there are integer/float conversion issues requires two parameter setting functions in JavaScript.\n // For now, pick the float version for parameters specified as GLfloat.\n const param = Number(pname);\n switch (param) {\n case GL.TEXTURE_MIN_LOD:\n case GL.TEXTURE_MAX_LOD:\n this.device.gl2.samplerParameterf(this.handle, param, value);\n break;\n default:\n this.device.gl2.samplerParameteri(this.handle, param, value);\n break;\n }\n }\n }\n}\n"],"mappings":"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"}
@@ -1,54 +1,32 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports.default = void 0;
9
-
10
8
  var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
11
-
12
9
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
13
-
14
10
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
15
-
16
11
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
17
-
18
12
  var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
19
-
20
13
  var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
21
-
22
14
  var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
23
-
24
15
  var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
25
-
26
16
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
27
-
28
17
  var _api = require("@luma.gl/api");
29
-
30
18
  var _constants = _interopRequireDefault(require("@luma.gl/constants"));
31
-
32
- var _shadertools = require("@luma.gl/shadertools");
33
-
19
+ var _getShaderInfo = require("../helpers/get-shader-info");
34
20
  var _parseShaderCompilerLog = require("../helpers/parse-shader-compiler-log");
35
-
36
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
37
-
38
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
39
-
21
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
22
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
40
23
  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); }; }
41
-
42
24
  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; } }
43
-
44
25
  var WEBGLShader = function (_Shader) {
45
26
  (0, _inherits2.default)(WEBGLShader, _Shader);
46
-
47
27
  var _super = _createSuper(WEBGLShader);
48
-
49
28
  function WEBGLShader(device, props) {
50
29
  var _this;
51
-
52
30
  (0, _classCallCheck2.default)(this, WEBGLShader);
53
31
  _this = _super.call(this, device, _objectSpread({
54
32
  id: getShaderIdFromProps(props)
@@ -56,25 +34,19 @@ var WEBGLShader = function (_Shader) {
56
34
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "device", void 0);
57
35
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "handle", void 0);
58
36
  _this.device = device;
59
-
60
37
  switch (_this.props.stage) {
61
38
  case 'vertex':
62
39
  _this.handle = _this.props.handle || _this.device.gl.createShader(_constants.default.VERTEX_SHADER);
63
40
  break;
64
-
65
41
  case 'fragment':
66
42
  _this.handle = _this.props.handle || _this.device.gl.createShader(_constants.default.FRAGMENT_SHADER);
67
43
  break;
68
-
69
44
  default:
70
45
  throw new Error(_this.props.stage);
71
46
  }
72
-
73
47
  _this._compile(_this.source);
74
-
75
48
  return _this;
76
49
  }
77
-
78
50
  (0, _createClass2.default)(WEBGLShader, [{
79
51
  key: "destroy",
80
52
  value: function destroy() {
@@ -90,24 +62,19 @@ var WEBGLShader = function (_Shader) {
90
62
  var _compilationInfo = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee() {
91
63
  var log;
92
64
  return _regenerator.default.wrap(function _callee$(_context) {
93
- while (1) {
94
- switch (_context.prev = _context.next) {
95
- case 0:
96
- log = this.device.gl.getShaderInfoLog(this.handle);
97
- return _context.abrupt("return", log ? (0, _parseShaderCompilerLog.parseShaderCompilerLog)(log) : []);
98
-
99
- case 2:
100
- case "end":
101
- return _context.stop();
102
- }
65
+ while (1) switch (_context.prev = _context.next) {
66
+ case 0:
67
+ log = this.device.gl.getShaderInfoLog(this.handle);
68
+ return _context.abrupt("return", log ? (0, _parseShaderCompilerLog.parseShaderCompilerLog)(log) : []);
69
+ case 2:
70
+ case "end":
71
+ return _context.stop();
103
72
  }
104
73
  }, _callee, this);
105
74
  }));
106
-
107
75
  function compilationInfo() {
108
76
  return _compilationInfo.apply(this, arguments);
109
77
  }
110
-
111
78
  return compilationInfo;
112
79
  }()
113
80
  }, {
@@ -116,35 +83,29 @@ var WEBGLShader = function (_Shader) {
116
83
  var addGLSLVersion = function addGLSLVersion(source) {
117
84
  return source.startsWith('#version ') ? source : "#version 100\n".concat(source);
118
85
  };
119
-
120
86
  source = addGLSLVersion(source);
121
87
  var gl = this.device.gl;
122
88
  gl.shaderSource(this.handle, source);
123
89
  gl.compileShader(this.handle);
124
90
  var compileStatus = gl.getShaderParameter(this.handle, _constants.default.COMPILE_STATUS);
125
-
126
91
  if (!compileStatus) {
127
92
  var shaderLog = gl.getShaderInfoLog(this.handle);
128
93
  var parsedLog = shaderLog ? (0, _parseShaderCompilerLog.parseShaderCompilerLog)(shaderLog) : [];
129
94
  var messages = parsedLog.filter(function (message) {
130
95
  return message.type === 'error';
131
96
  });
132
- var formattedLog = (0, _shadertools.formatCompilerLog)(messages, source);
133
- var shaderName = (0, _shadertools.getShaderInfo)(source).name;
97
+ var formattedLog = (0, _api.formatCompilerLog)(messages, source);
98
+ var shaderName = (0, _getShaderInfo.getShaderInfo)(source).name;
134
99
  var shaderDescription = "".concat(this.stage, " shader ").concat(shaderName);
135
-
136
100
  _api.log.error("GLSL compilation errors in ".concat(shaderDescription, "\n").concat(formattedLog))();
137
-
138
101
  throw new Error("GLSL compilation errors in ".concat(shaderName));
139
102
  }
140
103
  }
141
104
  }]);
142
105
  return WEBGLShader;
143
106
  }(_api.Shader);
144
-
145
107
  exports.default = WEBGLShader;
146
-
147
108
  function getShaderIdFromProps(props) {
148
- return (0, _shadertools.getShaderInfo)(props.source).name || props.id || (0, _api.uid)("unnamed ".concat(props.stage, "-shader"));
109
+ return (0, _getShaderInfo.getShaderInfo)(props.source).name || props.id || (0, _api.uid)("unnamed ".concat(props.stage, "-shader"));
149
110
  }
150
111
  //# sourceMappingURL=webgl-shader.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/adapter/resources/webgl-shader.ts"],"names":["WEBGLShader","device","props","id","getShaderIdFromProps","stage","handle","gl","createShader","GL","VERTEX_SHADER","FRAGMENT_SHADER","Error","_compile","source","removeStats","deleteShader","destroyed","log","getShaderInfoLog","addGLSLVersion","startsWith","shaderSource","compileShader","compileStatus","getShaderParameter","COMPILE_STATUS","shaderLog","parsedLog","messages","filter","message","type","formattedLog","shaderName","name","shaderDescription","error","Shader"],"mappings":"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","sourcesContent":["// luma.gl, MIT license\nimport {log, uid, Shader, ShaderProps} from '@luma.gl/api';\nimport GL from '@luma.gl/constants';\nimport {getShaderInfo, CompilerMessage, formatCompilerLog} from '@luma.gl/shadertools';\nimport {parseShaderCompilerLog} from '../helpers/parse-shader-compiler-log';\nimport WebGLDevice from '../webgl-device';\n\n/**\n * An immutable compiled shader program that execute portions of the GPU Pipeline\n */\n export default class WEBGLShader extends Shader {\n readonly device: WebGLDevice;\n readonly handle: WebGLShader;\n\n constructor(device: WebGLDevice, props: ShaderProps) {\n super(device, {id: getShaderIdFromProps(props), ...props});\n this.device = device;\n switch (this.props.stage) {\n case 'vertex':\n this.handle = this.props.handle || this.device.gl.createShader(GL.VERTEX_SHADER);\n break;\n case 'fragment':\n this.handle = this.props.handle || this.device.gl.createShader(GL.FRAGMENT_SHADER);\n break;\n default:\n throw new Error(this.props.stage);\n }\n this._compile(this.source);\n }\n\n override destroy(): void {\n if (this.handle) {\n this.removeStats();\n this.device.gl.deleteShader(this.handle);\n // this.handle = null;\n this.destroyed = true;\n }\n }\n\n async compilationInfo(): Promise<readonly CompilerMessage[]> {\n const log = this.device.gl.getShaderInfoLog(this.handle);\n return log ? parseShaderCompilerLog(log) : [];\n }\n\n // PRIVATE METHODS\n\n _compile(source: string): void {\n const addGLSLVersion = (source: string) => source.startsWith('#version ') ? source : `#version 100\\n${source}`;\n source = addGLSLVersion(source);\n\n const {gl} = this.device;\n gl.shaderSource(this.handle, source);\n gl.compileShader(this.handle);\n\n // TODO - For performance reasons, avoid checking shader compilation errors on production?\n // TODO - Load log even when no error reported, to catch warnings?\n // https://gamedev.stackexchange.com/questions/30429/how-to-detect-glsl-warnings\n const compileStatus = gl.getShaderParameter(this.handle, GL.COMPILE_STATUS);\n if (!compileStatus) {\n const shaderLog = gl.getShaderInfoLog(this.handle);\n const parsedLog = shaderLog ? parseShaderCompilerLog(shaderLog) : [];\n const messages = parsedLog.filter(message => message.type === 'error');\n const formattedLog = formatCompilerLog(messages, source);\n const shaderName: string = getShaderInfo(source).name;\n const shaderDescription = `${this.stage} shader ${shaderName}`;\n log.error(`GLSL compilation errors in ${shaderDescription}\\n${formattedLog}`)();\n throw new Error(`GLSL compilation errors in ${shaderName}`);\n }\n }\n}\n\n// HELPERS\n\n/** Deduce an id, from shader source, or supplied id, or shader type */\nfunction getShaderIdFromProps(props: ShaderProps): string {\n return getShaderInfo(props.source).name ||\n props.id ||\n uid(`unnamed ${props.stage}-shader`);\n}\n"],"file":"webgl-shader.js"}
1
+ {"version":3,"file":"webgl-shader.js","names":["_api","require","_constants","_interopRequireDefault","_getShaderInfo","_parseShaderCompilerLog","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty2","default","getOwnPropertyDescriptors","defineProperties","defineProperty","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","result","NewTarget","constructor","Reflect","construct","_possibleConstructorReturn2","sham","Proxy","Boolean","prototype","valueOf","call","e","WEBGLShader","_Shader","_inherits2","_super","device","props","_this","_classCallCheck2","id","getShaderIdFromProps","_assertThisInitialized2","stage","handle","gl","createShader","GL","VERTEX_SHADER","FRAGMENT_SHADER","Error","_compile","_createClass2","value","destroy","removeStats","deleteShader","destroyed","_compilationInfo","_asyncToGenerator2","_regenerator","mark","_callee","log","wrap","_callee$","_context","prev","next","getShaderInfoLog","abrupt","parseShaderCompilerLog","stop","compilationInfo","addGLSLVersion","startsWith","concat","shaderSource","compileShader","compileStatus","getShaderParameter","COMPILE_STATUS","shaderLog","parsedLog","messages","message","type","formattedLog","formatCompilerLog","shaderName","getShaderInfo","name","shaderDescription","error","Shader","exports","uid"],"sources":["../../../../src/adapter/resources/webgl-shader.ts"],"sourcesContent":["// luma.gl, MIT license\nimport {log, uid, Shader, ShaderProps, CompilerMessage, formatCompilerLog} from '@luma.gl/api';\nimport GL from '@luma.gl/constants';\nimport {getShaderInfo} from '../helpers/get-shader-info';\nimport {parseShaderCompilerLog} from '../helpers/parse-shader-compiler-log';\nimport WebGLDevice from '../webgl-device';\n\n/**\n * An immutable compiled shader program that execute portions of the GPU Pipeline\n */\n export default class WEBGLShader extends Shader {\n readonly device: WebGLDevice;\n readonly handle: WebGLShader;\n\n constructor(device: WebGLDevice, props: ShaderProps) {\n super(device, {id: getShaderIdFromProps(props), ...props});\n this.device = device;\n switch (this.props.stage) {\n case 'vertex':\n this.handle = this.props.handle || this.device.gl.createShader(GL.VERTEX_SHADER);\n break;\n case 'fragment':\n this.handle = this.props.handle || this.device.gl.createShader(GL.FRAGMENT_SHADER);\n break;\n default:\n throw new Error(this.props.stage);\n }\n this._compile(this.source);\n }\n\n override destroy(): void {\n if (this.handle) {\n this.removeStats();\n this.device.gl.deleteShader(this.handle);\n // this.handle = null;\n this.destroyed = true;\n }\n }\n\n async compilationInfo(): Promise<readonly CompilerMessage[]> {\n const log = this.device.gl.getShaderInfoLog(this.handle);\n return log ? parseShaderCompilerLog(log) : [];\n }\n\n // PRIVATE METHODS\n\n _compile(source: string): void {\n const addGLSLVersion = (source: string) => source.startsWith('#version ') ? source : `#version 100\\n${source}`;\n source = addGLSLVersion(source);\n\n const {gl} = this.device;\n gl.shaderSource(this.handle, source);\n gl.compileShader(this.handle);\n\n // TODO - For performance reasons, avoid checking shader compilation errors on production?\n // TODO - Load log even when no error reported, to catch warnings?\n // https://gamedev.stackexchange.com/questions/30429/how-to-detect-glsl-warnings\n const compileStatus = gl.getShaderParameter(this.handle, GL.COMPILE_STATUS);\n if (!compileStatus) {\n const shaderLog = gl.getShaderInfoLog(this.handle);\n const parsedLog = shaderLog ? parseShaderCompilerLog(shaderLog) : [];\n const messages = parsedLog.filter(message => message.type === 'error');\n const formattedLog = formatCompilerLog(messages, source);\n const shaderName: string = getShaderInfo(source).name;\n const shaderDescription = `${this.stage} shader ${shaderName}`;\n log.error(`GLSL compilation errors in ${shaderDescription}\\n${formattedLog}`)();\n throw new Error(`GLSL compilation errors in ${shaderName}`);\n }\n }\n}\n\n// HELPERS\n\n/** Deduce an id, from shader source, or supplied id, or shader type */\nfunction getShaderIdFromProps(props: ShaderProps): string {\n return getShaderInfo(props.source).name ||\n props.id ||\n uid(`unnamed ${props.stage}-shader`);\n}\n"],"mappings":"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"}