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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (417) hide show
  1. package/dist/adapter/converters/device-parameters.d.ts.map +1 -1
  2. package/dist/adapter/converters/device-parameters.js +117 -200
  3. package/dist/adapter/converters/device-parameters.js.map +1 -0
  4. package/dist/adapter/converters/renderbuffer-formats.d.ts +1 -1
  5. package/dist/adapter/converters/renderbuffer-formats.d.ts.map +1 -1
  6. package/dist/adapter/converters/renderbuffer-formats.js +172 -62
  7. package/dist/adapter/converters/renderbuffer-formats.js.map +1 -0
  8. package/dist/adapter/converters/sampler-parameters.d.ts.map +1 -1
  9. package/dist/adapter/converters/sampler-parameters.js +151 -149
  10. package/dist/adapter/converters/sampler-parameters.js.map +1 -0
  11. package/dist/adapter/converters/texture-formats.d.ts +2 -2
  12. package/dist/adapter/converters/texture-formats.d.ts.map +1 -1
  13. package/dist/adapter/converters/texture-formats.js +847 -438
  14. package/dist/adapter/converters/texture-formats.js.map +1 -0
  15. package/dist/adapter/converters/vertex-formats.js +24 -15
  16. package/dist/adapter/converters/vertex-formats.js.map +1 -0
  17. package/dist/adapter/device-helpers/device-features.js +84 -120
  18. package/dist/adapter/device-helpers/device-features.js.map +1 -0
  19. package/dist/adapter/device-helpers/device-limits.d.ts +1 -1
  20. package/dist/adapter/device-helpers/device-limits.d.ts.map +1 -1
  21. package/dist/adapter/device-helpers/device-limits.js +83 -88
  22. package/dist/adapter/device-helpers/device-limits.js.map +1 -0
  23. package/dist/adapter/device-helpers/get-device-info.js +37 -42
  24. package/dist/adapter/device-helpers/get-device-info.js.map +1 -0
  25. package/dist/adapter/device-helpers/is-old-ie.js +8 -10
  26. package/dist/adapter/device-helpers/is-old-ie.js.map +1 -0
  27. package/dist/adapter/helpers/attribute-utils.js +57 -50
  28. package/dist/adapter/helpers/attribute-utils.js.map +1 -0
  29. package/dist/adapter/helpers/get-shader-info.d.ts +1 -1
  30. package/dist/adapter/helpers/get-shader-info.d.ts.map +1 -1
  31. package/dist/adapter/helpers/get-shader-info.js +19 -21
  32. package/dist/adapter/helpers/get-shader-info.js.map +1 -0
  33. package/dist/adapter/helpers/get-shader-layout.js +251 -310
  34. package/dist/adapter/helpers/get-shader-layout.js.map +1 -0
  35. package/dist/adapter/helpers/parse-shader-compiler-log.js +26 -32
  36. package/dist/adapter/helpers/parse-shader-compiler-log.js.map +1 -0
  37. package/dist/adapter/helpers/set-uniform.d.ts.map +1 -1
  38. package/dist/adapter/helpers/set-uniform.js +80 -67
  39. package/dist/adapter/helpers/set-uniform.js.map +1 -0
  40. package/dist/adapter/helpers/uniforms.js +75 -80
  41. package/dist/adapter/helpers/uniforms.js.map +1 -0
  42. package/dist/adapter/objects/constants-to-keys.js +26 -33
  43. package/dist/adapter/objects/constants-to-keys.js.map +1 -0
  44. package/dist/adapter/objects/webgl-renderbuffer.d.ts +1 -1
  45. package/dist/adapter/objects/webgl-renderbuffer.d.ts.map +1 -1
  46. package/dist/adapter/objects/webgl-renderbuffer.js +70 -67
  47. package/dist/adapter/objects/webgl-renderbuffer.js.map +1 -0
  48. package/dist/adapter/objects/webgl-resource.d.ts.map +1 -1
  49. package/dist/adapter/objects/webgl-resource.js +158 -213
  50. package/dist/adapter/objects/webgl-resource.js.map +1 -0
  51. package/dist/adapter/objects/webgl-vertex-array-object.d.ts +1 -1
  52. package/dist/adapter/objects/webgl-vertex-array-object.d.ts.map +1 -1
  53. package/dist/adapter/objects/webgl-vertex-array-object.js +66 -74
  54. package/dist/adapter/objects/webgl-vertex-array-object.js.map +1 -0
  55. package/dist/adapter/resources/webgl-buffer.d.ts.map +1 -1
  56. package/dist/adapter/resources/webgl-buffer.js +118 -150
  57. package/dist/adapter/resources/webgl-buffer.js.map +1 -0
  58. package/dist/adapter/resources/webgl-command-buffer.d.ts +5 -5
  59. package/dist/adapter/resources/webgl-command-buffer.d.ts.map +1 -1
  60. package/dist/adapter/resources/webgl-command-buffer.js +41 -40
  61. package/dist/adapter/resources/webgl-command-buffer.js.map +1 -0
  62. package/dist/adapter/resources/webgl-command-encoder.js +37 -26
  63. package/dist/adapter/resources/webgl-command-encoder.js.map +1 -0
  64. package/dist/adapter/resources/webgl-external-texture.js +1 -91
  65. package/dist/adapter/resources/webgl-external-texture.js.map +1 -0
  66. package/dist/adapter/resources/webgl-framebuffer.d.ts +2 -2
  67. package/dist/adapter/resources/webgl-framebuffer.d.ts.map +1 -1
  68. package/dist/adapter/resources/webgl-framebuffer.js +198 -231
  69. package/dist/adapter/resources/webgl-framebuffer.js.map +1 -0
  70. package/dist/adapter/resources/webgl-render-pass.js +11 -8
  71. package/dist/adapter/resources/webgl-render-pass.js.map +1 -0
  72. package/dist/adapter/resources/webgl-render-pipeline.d.ts.map +1 -1
  73. package/dist/adapter/resources/webgl-render-pipeline.js +289 -316
  74. package/dist/adapter/resources/webgl-render-pipeline.js.map +1 -0
  75. package/dist/adapter/resources/webgl-sampler.js +35 -42
  76. package/dist/adapter/resources/webgl-sampler.js.map +1 -0
  77. package/dist/adapter/resources/webgl-shader.d.ts.map +1 -1
  78. package/dist/adapter/resources/webgl-shader.js +53 -57
  79. package/dist/adapter/resources/webgl-shader.js.map +1 -0
  80. package/dist/adapter/resources/webgl-texture.d.ts +4 -4
  81. package/dist/adapter/resources/webgl-texture.d.ts.map +1 -1
  82. package/dist/adapter/resources/webgl-texture.js +697 -661
  83. package/dist/adapter/resources/webgl-texture.js.map +1 -0
  84. package/dist/adapter/webgl-canvas-context.d.ts.map +1 -1
  85. package/dist/adapter/webgl-canvas-context.js +35 -55
  86. package/dist/adapter/webgl-canvas-context.js.map +1 -0
  87. package/dist/adapter/webgl-device.d.ts +5 -0
  88. package/dist/adapter/webgl-device.d.ts.map +1 -1
  89. package/dist/adapter/webgl-device.js +270 -287
  90. package/dist/adapter/webgl-device.js.map +1 -0
  91. package/dist/classic/accessor.js +103 -120
  92. package/dist/classic/accessor.js.map +1 -0
  93. package/dist/classic/buffer.d.ts +1 -1
  94. package/dist/classic/buffer.d.ts.map +1 -1
  95. package/dist/classic/buffer.js +300 -325
  96. package/dist/classic/buffer.js.map +1 -0
  97. package/dist/classic/typed-array-utils.d.ts +1 -1
  98. package/dist/classic/typed-array-utils.d.ts.map +1 -1
  99. package/dist/classic/typed-array-utils.js +81 -91
  100. package/dist/classic/typed-array-utils.js.map +1 -0
  101. package/dist/context/context/create-browser-context.d.ts +3 -1
  102. package/dist/context/context/create-browser-context.d.ts.map +1 -1
  103. package/dist/context/context/create-browser-context.js +49 -66
  104. package/dist/context/context/create-browser-context.js.map +1 -0
  105. package/dist/context/context/create-headless-context.d.ts +1 -1
  106. package/dist/context/context/create-headless-context.d.ts.map +1 -1
  107. package/dist/context/context/create-headless-context.js +30 -24
  108. package/dist/context/context/create-headless-context.js.map +1 -0
  109. package/dist/context/context/webgl-checks.js +17 -25
  110. package/dist/context/context/webgl-checks.js.map +1 -0
  111. package/dist/context/debug/spector.d.ts +3 -1
  112. package/dist/context/debug/spector.d.ts.map +1 -1
  113. package/dist/context/debug/spector.js +50 -53
  114. package/dist/context/debug/spector.js.map +1 -0
  115. package/dist/context/debug/webgl-developer-tools.d.ts +1 -1
  116. package/dist/context/debug/webgl-developer-tools.d.ts.map +1 -1
  117. package/dist/context/debug/webgl-developer-tools.js +76 -107
  118. package/dist/context/debug/webgl-developer-tools.js.map +1 -0
  119. package/dist/context/parameters/unified-parameter-api.js +46 -93
  120. package/dist/context/parameters/unified-parameter-api.js.map +1 -0
  121. package/dist/context/parameters/webgl-parameter-tables.d.ts +1 -1
  122. package/dist/context/parameters/webgl-parameter-tables.d.ts.map +1 -1
  123. package/dist/context/parameters/webgl-parameter-tables.js +404 -462
  124. package/dist/context/parameters/webgl-parameter-tables.js.map +1 -0
  125. package/dist/context/polyfill/context-data.js +10 -16
  126. package/dist/context/polyfill/context-data.js.map +1 -0
  127. package/dist/context/polyfill/get-parameter-polyfill.js +71 -91
  128. package/dist/context/polyfill/get-parameter-polyfill.js.map +1 -0
  129. package/dist/context/polyfill/polyfill-context.js +73 -75
  130. package/dist/context/polyfill/polyfill-context.js.map +1 -0
  131. package/dist/context/polyfill/polyfill-table.d.ts.map +1 -1
  132. package/dist/context/polyfill/polyfill-table.js +116 -133
  133. package/dist/context/polyfill/polyfill-table.js.map +1 -0
  134. package/dist/context/polyfill/polyfill-vertex-array-object.d.ts.map +1 -1
  135. package/dist/context/polyfill/polyfill-vertex-array-object.js +227 -255
  136. package/dist/context/polyfill/polyfill-vertex-array-object.js.map +1 -0
  137. package/dist/context/state-tracker/deep-array-equal.js +14 -16
  138. package/dist/context/state-tracker/deep-array-equal.js.map +1 -0
  139. package/dist/context/state-tracker/track-context-state.d.ts.map +1 -1
  140. package/dist/context/state-tracker/track-context-state.js +127 -183
  141. package/dist/context/state-tracker/track-context-state.js.map +1 -0
  142. package/dist/context/state-tracker/with-parameters.d.ts.map +1 -1
  143. package/dist/context/state-tracker/with-parameters.js +29 -43
  144. package/dist/context/state-tracker/with-parameters.js.map +1 -0
  145. package/dist/dist.dev.js +9205 -0
  146. package/dist/index.cjs +5948 -0
  147. package/dist/index.d.ts +0 -2
  148. package/dist/index.d.ts.map +1 -1
  149. package/dist/index.js +25 -41
  150. package/dist/index.js.map +1 -0
  151. package/dist/types/webgl.d.ts +16 -16
  152. package/dist/types/webgl.d.ts.map +1 -1
  153. package/dist/types/webgl.js +1 -0
  154. package/dist/types/webgl.js.map +1 -0
  155. package/dist/types.d.ts +1 -1
  156. package/dist/types.d.ts.map +1 -1
  157. package/dist/types.js +1 -0
  158. package/dist/types.js.map +1 -0
  159. package/dist.min.js +36 -0
  160. package/package.json +18 -9
  161. package/src/adapter/converters/device-parameters.ts +5 -2
  162. package/src/adapter/converters/sampler-parameters.ts +4 -2
  163. package/src/adapter/converters/texture-formats.ts +3 -1
  164. package/src/adapter/device-helpers/get-device-info.ts +8 -8
  165. package/src/adapter/helpers/get-shader-info.ts +1 -1
  166. package/src/adapter/helpers/get-shader-layout.ts +4 -4
  167. package/src/adapter/helpers/parse-shader-compiler-log.ts +1 -1
  168. package/src/adapter/helpers/set-uniform.ts +2 -0
  169. package/src/adapter/objects/webgl-renderbuffer.ts +1 -1
  170. package/src/adapter/objects/webgl-resource.ts +1 -1
  171. package/src/adapter/objects/webgl-vertex-array-object.ts +1 -1
  172. package/src/adapter/resources/webgl-buffer.ts +6 -6
  173. package/src/adapter/resources/webgl-command-encoder.ts +1 -1
  174. package/src/adapter/resources/webgl-framebuffer.ts +3 -4
  175. package/src/adapter/resources/webgl-render-pipeline.ts +19 -20
  176. package/src/adapter/resources/webgl-shader.ts +1 -1
  177. package/src/adapter/resources/webgl-texture.ts +8 -9
  178. package/src/adapter/webgl-canvas-context.ts +2 -2
  179. package/src/adapter/webgl-device.ts +12 -2
  180. package/src/classic/accessor.ts +1 -1
  181. package/src/classic/buffer.ts +3 -3
  182. package/src/classic/typed-array-utils.ts +1 -1
  183. package/src/context/context/create-browser-context.ts +4 -2
  184. package/src/context/context/create-headless-context.ts +2 -2
  185. package/src/context/debug/spector.ts +5 -4
  186. package/src/context/debug/webgl-developer-tools.ts +1 -0
  187. package/src/context/polyfill/polyfill-table.ts +1 -0
  188. package/src/context/polyfill/polyfill-vertex-array-object.ts +2 -0
  189. package/src/context/state-tracker/track-context-state.ts +6 -5
  190. package/src/context/state-tracker/with-parameters.ts +1 -1
  191. package/src/index.ts +1 -5
  192. package/src/types/webgl.ts +2 -0
  193. package/dist/bundle.d.ts +0 -2
  194. package/dist/bundle.d.ts.map +0 -1
  195. package/dist/bundle.js +0 -4
  196. package/dist/dist.min.js +0 -1
  197. package/dist/es5/adapter/converters/device-parameters.js +0 -139
  198. package/dist/es5/adapter/converters/device-parameters.js.map +0 -1
  199. package/dist/es5/adapter/converters/renderbuffer-formats.js +0 -151
  200. package/dist/es5/adapter/converters/renderbuffer-formats.js.map +0 -1
  201. package/dist/es5/adapter/converters/sampler-parameters.js +0 -182
  202. package/dist/es5/adapter/converters/sampler-parameters.js.map +0 -1
  203. package/dist/es5/adapter/converters/texture-formats.js +0 -950
  204. package/dist/es5/adapter/converters/texture-formats.js.map +0 -1
  205. package/dist/es5/adapter/converters/vertex-formats.js +0 -36
  206. package/dist/es5/adapter/converters/vertex-formats.js.map +0 -1
  207. package/dist/es5/adapter/device-helpers/device-features.js +0 -121
  208. package/dist/es5/adapter/device-helpers/device-features.js.map +0 -1
  209. package/dist/es5/adapter/device-helpers/device-limits.js +0 -54
  210. package/dist/es5/adapter/device-helpers/device-limits.js.map +0 -1
  211. package/dist/es5/adapter/device-helpers/get-device-info.js +0 -49
  212. package/dist/es5/adapter/device-helpers/get-device-info.js.map +0 -1
  213. package/dist/es5/adapter/device-helpers/is-old-ie.js +0 -15
  214. package/dist/es5/adapter/device-helpers/is-old-ie.js.map +0 -1
  215. package/dist/es5/adapter/helpers/attribute-utils.js +0 -69
  216. package/dist/es5/adapter/helpers/attribute-utils.js.map +0 -1
  217. package/dist/es5/adapter/helpers/get-shader-info.js +0 -31
  218. package/dist/es5/adapter/helpers/get-shader-info.js.map +0 -1
  219. package/dist/es5/adapter/helpers/get-shader-layout.js +0 -311
  220. package/dist/es5/adapter/helpers/get-shader-layout.js.map +0 -1
  221. package/dist/es5/adapter/helpers/parse-shader-compiler-log.js +0 -54
  222. package/dist/es5/adapter/helpers/parse-shader-compiler-log.js.map +0 -1
  223. package/dist/es5/adapter/helpers/set-uniform.js +0 -92
  224. package/dist/es5/adapter/helpers/set-uniform.js.map +0 -1
  225. package/dist/es5/adapter/helpers/uniforms.js +0 -88
  226. package/dist/es5/adapter/helpers/uniforms.js.map +0 -1
  227. package/dist/es5/adapter/objects/constants-to-keys.js +0 -43
  228. package/dist/es5/adapter/objects/constants-to-keys.js.map +0 -1
  229. package/dist/es5/adapter/objects/webgl-renderbuffer.js +0 -122
  230. package/dist/es5/adapter/objects/webgl-renderbuffer.js.map +0 -1
  231. package/dist/es5/adapter/objects/webgl-resource.js +0 -233
  232. package/dist/es5/adapter/objects/webgl-resource.js.map +0 -1
  233. package/dist/es5/adapter/objects/webgl-vertex-array-object.js +0 -109
  234. package/dist/es5/adapter/objects/webgl-vertex-array-object.js.map +0 -1
  235. package/dist/es5/adapter/resources/webgl-buffer.js +0 -196
  236. package/dist/es5/adapter/resources/webgl-buffer.js.map +0 -1
  237. package/dist/es5/adapter/resources/webgl-command-buffer.js +0 -70
  238. package/dist/es5/adapter/resources/webgl-command-buffer.js.map +0 -1
  239. package/dist/es5/adapter/resources/webgl-command-encoder.js +0 -80
  240. package/dist/es5/adapter/resources/webgl-command-encoder.js.map +0 -1
  241. package/dist/es5/adapter/resources/webgl-external-texture.js +0 -2
  242. package/dist/es5/adapter/resources/webgl-external-texture.js.map +0 -1
  243. package/dist/es5/adapter/resources/webgl-framebuffer.js +0 -275
  244. package/dist/es5/adapter/resources/webgl-framebuffer.js.map +0 -1
  245. package/dist/es5/adapter/resources/webgl-render-pass.js +0 -45
  246. package/dist/es5/adapter/resources/webgl-render-pass.js.map +0 -1
  247. package/dist/es5/adapter/resources/webgl-render-pipeline.js +0 -385
  248. package/dist/es5/adapter/resources/webgl-render-pipeline.js.map +0 -1
  249. package/dist/es5/adapter/resources/webgl-sampler.js +0 -75
  250. package/dist/es5/adapter/resources/webgl-sampler.js.map +0 -1
  251. package/dist/es5/adapter/resources/webgl-shader.js +0 -111
  252. package/dist/es5/adapter/resources/webgl-shader.js.map +0 -1
  253. package/dist/es5/adapter/resources/webgl-texture.js +0 -826
  254. package/dist/es5/adapter/resources/webgl-texture.js.map +0 -1
  255. package/dist/es5/adapter/webgl-canvas-context.js +0 -72
  256. package/dist/es5/adapter/webgl-canvas-context.js.map +0 -1
  257. package/dist/es5/adapter/webgl-device.js +0 -387
  258. package/dist/es5/adapter/webgl-device.js.map +0 -1
  259. package/dist/es5/bundle.js +0 -6
  260. package/dist/es5/bundle.js.map +0 -1
  261. package/dist/es5/classic/accessor.js +0 -151
  262. package/dist/es5/classic/accessor.js.map +0 -1
  263. package/dist/es5/classic/buffer.js +0 -398
  264. package/dist/es5/classic/buffer.js.map +0 -1
  265. package/dist/es5/classic/typed-array-utils.js +0 -99
  266. package/dist/es5/classic/typed-array-utils.js.map +0 -1
  267. package/dist/es5/context/context/create-browser-context.js +0 -66
  268. package/dist/es5/context/context/create-browser-context.js.map +0 -1
  269. package/dist/es5/context/context/create-headless-context.js +0 -47
  270. package/dist/es5/context/context/create-headless-context.js.map +0 -1
  271. package/dist/es5/context/context/webgl-checks.js +0 -44
  272. package/dist/es5/context/context/webgl-checks.js.map +0 -1
  273. package/dist/es5/context/debug/spector.js +0 -99
  274. package/dist/es5/context/debug/spector.js.map +0 -1
  275. package/dist/es5/context/debug/webgl-developer-tools.js +0 -146
  276. package/dist/es5/context/debug/webgl-developer-tools.js.map +0 -1
  277. package/dist/es5/context/parameters/unified-parameter-api.js +0 -76
  278. package/dist/es5/context/parameters/unified-parameter-api.js.map +0 -1
  279. package/dist/es5/context/parameters/webgl-parameter-tables.js +0 -346
  280. package/dist/es5/context/parameters/webgl-parameter-tables.js.map +0 -1
  281. package/dist/es5/context/polyfill/context-data.js +0 -18
  282. package/dist/es5/context/polyfill/context-data.js.map +0 -1
  283. package/dist/es5/context/polyfill/get-parameter-polyfill.js +0 -69
  284. package/dist/es5/context/polyfill/get-parameter-polyfill.js.map +0 -1
  285. package/dist/es5/context/polyfill/polyfill-context.js +0 -109
  286. package/dist/es5/context/polyfill/polyfill-context.js.map +0 -1
  287. package/dist/es5/context/polyfill/polyfill-table.js +0 -143
  288. package/dist/es5/context/polyfill/polyfill-table.js.map +0 -1
  289. package/dist/es5/context/polyfill/polyfill-vertex-array-object.js +0 -271
  290. package/dist/es5/context/polyfill/polyfill-vertex-array-object.js.map +0 -1
  291. package/dist/es5/context/state-tracker/deep-array-equal.js +0 -23
  292. package/dist/es5/context/state-tracker/deep-array-equal.js.map +0 -1
  293. package/dist/es5/context/state-tracker/track-context-state.js +0 -167
  294. package/dist/es5/context/state-tracker/track-context-state.js.map +0 -1
  295. package/dist/es5/context/state-tracker/with-parameters.js +0 -40
  296. package/dist/es5/context/state-tracker/with-parameters.js.map +0 -1
  297. package/dist/es5/index.js +0 -249
  298. package/dist/es5/index.js.map +0 -1
  299. package/dist/es5/init.js +0 -7
  300. package/dist/es5/init.js.map +0 -1
  301. package/dist/es5/types/webgl.js +0 -5
  302. package/dist/es5/types/webgl.js.map +0 -1
  303. package/dist/es5/types.js +0 -2
  304. package/dist/es5/types.js.map +0 -1
  305. package/dist/esm/adapter/converters/device-parameters.js +0 -137
  306. package/dist/esm/adapter/converters/device-parameters.js.map +0 -1
  307. package/dist/esm/adapter/converters/renderbuffer-formats.js +0 -181
  308. package/dist/esm/adapter/converters/renderbuffer-formats.js.map +0 -1
  309. package/dist/esm/adapter/converters/sampler-parameters.js +0 -172
  310. package/dist/esm/adapter/converters/sampler-parameters.js.map +0 -1
  311. package/dist/esm/adapter/converters/texture-formats.js +0 -901
  312. package/dist/esm/adapter/converters/texture-formats.js.map +0 -1
  313. package/dist/esm/adapter/converters/vertex-formats.js +0 -29
  314. package/dist/esm/adapter/converters/vertex-formats.js.map +0 -1
  315. package/dist/esm/adapter/device-helpers/device-features.js +0 -95
  316. package/dist/esm/adapter/device-helpers/device-features.js.map +0 -1
  317. package/dist/esm/adapter/device-helpers/device-limits.js +0 -88
  318. package/dist/esm/adapter/device-helpers/device-limits.js.map +0 -1
  319. package/dist/esm/adapter/device-helpers/get-device-info.js +0 -42
  320. package/dist/esm/adapter/device-helpers/get-device-info.js.map +0 -1
  321. package/dist/esm/adapter/device-helpers/is-old-ie.js +0 -9
  322. package/dist/esm/adapter/device-helpers/is-old-ie.js.map +0 -1
  323. package/dist/esm/adapter/helpers/attribute-utils.js +0 -64
  324. package/dist/esm/adapter/helpers/attribute-utils.js.map +0 -1
  325. package/dist/esm/adapter/helpers/get-shader-info.js +0 -25
  326. package/dist/esm/adapter/helpers/get-shader-info.js.map +0 -1
  327. package/dist/esm/adapter/helpers/get-shader-layout.js +0 -282
  328. package/dist/esm/adapter/helpers/get-shader-layout.js.map +0 -1
  329. package/dist/esm/adapter/helpers/parse-shader-compiler-log.js +0 -30
  330. package/dist/esm/adapter/helpers/parse-shader-compiler-log.js.map +0 -1
  331. package/dist/esm/adapter/helpers/set-uniform.js +0 -85
  332. package/dist/esm/adapter/helpers/set-uniform.js.map +0 -1
  333. package/dist/esm/adapter/helpers/uniforms.js +0 -89
  334. package/dist/esm/adapter/helpers/uniforms.js.map +0 -1
  335. package/dist/esm/adapter/objects/constants-to-keys.js +0 -35
  336. package/dist/esm/adapter/objects/constants-to-keys.js.map +0 -1
  337. package/dist/esm/adapter/objects/webgl-renderbuffer.js +0 -78
  338. package/dist/esm/adapter/objects/webgl-renderbuffer.js.map +0 -1
  339. package/dist/esm/adapter/objects/webgl-resource.js +0 -163
  340. package/dist/esm/adapter/objects/webgl-resource.js.map +0 -1
  341. package/dist/esm/adapter/objects/webgl-vertex-array-object.js +0 -74
  342. package/dist/esm/adapter/objects/webgl-vertex-array-object.js.map +0 -1
  343. package/dist/esm/adapter/resources/webgl-buffer.js +0 -134
  344. package/dist/esm/adapter/resources/webgl-buffer.js.map +0 -1
  345. package/dist/esm/adapter/resources/webgl-command-buffer.js +0 -50
  346. package/dist/esm/adapter/resources/webgl-command-buffer.js.map +0 -1
  347. package/dist/esm/adapter/resources/webgl-command-encoder.js +0 -41
  348. package/dist/esm/adapter/resources/webgl-command-encoder.js.map +0 -1
  349. package/dist/esm/adapter/resources/webgl-external-texture.js +0 -2
  350. package/dist/esm/adapter/resources/webgl-external-texture.js.map +0 -1
  351. package/dist/esm/adapter/resources/webgl-framebuffer.js +0 -207
  352. package/dist/esm/adapter/resources/webgl-framebuffer.js.map +0 -1
  353. package/dist/esm/adapter/resources/webgl-render-pass.js +0 -14
  354. package/dist/esm/adapter/resources/webgl-render-pass.js.map +0 -1
  355. package/dist/esm/adapter/resources/webgl-render-pipeline.js +0 -311
  356. package/dist/esm/adapter/resources/webgl-render-pipeline.js.map +0 -1
  357. package/dist/esm/adapter/resources/webgl-sampler.js +0 -42
  358. package/dist/esm/adapter/resources/webgl-sampler.js.map +0 -1
  359. package/dist/esm/adapter/resources/webgl-shader.js +0 -62
  360. package/dist/esm/adapter/resources/webgl-shader.js.map +0 -1
  361. package/dist/esm/adapter/resources/webgl-texture.js +0 -714
  362. package/dist/esm/adapter/resources/webgl-texture.js.map +0 -1
  363. package/dist/esm/adapter/webgl-canvas-context.js +0 -41
  364. package/dist/esm/adapter/webgl-canvas-context.js.map +0 -1
  365. package/dist/esm/adapter/webgl-device.js +0 -276
  366. package/dist/esm/adapter/webgl-device.js.map +0 -1
  367. package/dist/esm/bundle.js +0 -4
  368. package/dist/esm/bundle.js.map +0 -1
  369. package/dist/esm/classic/accessor.js +0 -120
  370. package/dist/esm/classic/accessor.js.map +0 -1
  371. package/dist/esm/classic/buffer.js +0 -327
  372. package/dist/esm/classic/buffer.js.map +0 -1
  373. package/dist/esm/classic/typed-array-utils.js +0 -92
  374. package/dist/esm/classic/typed-array-utils.js.map +0 -1
  375. package/dist/esm/context/context/create-browser-context.js +0 -53
  376. package/dist/esm/context/context/create-browser-context.js.map +0 -1
  377. package/dist/esm/context/context/create-headless-context.js +0 -39
  378. package/dist/esm/context/context/create-headless-context.js.map +0 -1
  379. package/dist/esm/context/context/webgl-checks.js +0 -31
  380. package/dist/esm/context/context/webgl-checks.js.map +0 -1
  381. package/dist/esm/context/debug/spector.js +0 -64
  382. package/dist/esm/context/debug/spector.js.map +0 -1
  383. package/dist/esm/context/debug/webgl-developer-tools.js +0 -97
  384. package/dist/esm/context/debug/webgl-developer-tools.js.map +0 -1
  385. package/dist/esm/context/parameters/unified-parameter-api.js +0 -55
  386. package/dist/esm/context/parameters/unified-parameter-api.js.map +0 -1
  387. package/dist/esm/context/parameters/webgl-parameter-tables.js +0 -427
  388. package/dist/esm/context/parameters/webgl-parameter-tables.js.map +0 -1
  389. package/dist/esm/context/polyfill/context-data.js +0 -12
  390. package/dist/esm/context/polyfill/context-data.js.map +0 -1
  391. package/dist/esm/context/polyfill/get-parameter-polyfill.js +0 -86
  392. package/dist/esm/context/polyfill/get-parameter-polyfill.js.map +0 -1
  393. package/dist/esm/context/polyfill/polyfill-context.js +0 -84
  394. package/dist/esm/context/polyfill/polyfill-context.js.map +0 -1
  395. package/dist/esm/context/polyfill/polyfill-table.js +0 -138
  396. package/dist/esm/context/polyfill/polyfill-table.js.map +0 -1
  397. package/dist/esm/context/polyfill/polyfill-vertex-array-object.js +0 -265
  398. package/dist/esm/context/polyfill/polyfill-vertex-array-object.js.map +0 -1
  399. package/dist/esm/context/state-tracker/deep-array-equal.js +0 -17
  400. package/dist/esm/context/state-tracker/deep-array-equal.js.map +0 -1
  401. package/dist/esm/context/state-tracker/track-context-state.js +0 -148
  402. package/dist/esm/context/state-tracker/track-context-state.js.map +0 -1
  403. package/dist/esm/context/state-tracker/with-parameters.js +0 -34
  404. package/dist/esm/context/state-tracker/with-parameters.js.map +0 -1
  405. package/dist/esm/index.js +0 -27
  406. package/dist/esm/index.js.map +0 -1
  407. package/dist/esm/init.js +0 -4
  408. package/dist/esm/init.js.map +0 -1
  409. package/dist/esm/types/webgl.js +0 -2
  410. package/dist/esm/types/webgl.js.map +0 -1
  411. package/dist/esm/types.js +0 -2
  412. package/dist/esm/types.js.map +0 -1
  413. package/dist/init.d.ts +0 -2
  414. package/dist/init.d.ts.map +0 -1
  415. package/dist/init.js +0 -3
  416. package/src/bundle.ts +0 -4
  417. package/src/init.ts +0 -4
@@ -1 +0,0 @@
1
- {"version":3,"file":"webgl-render-pipeline.js","names":["RenderPipeline","cast","log","decodeVertexFormat","GL","getWebGLDataType","getShaderLayout","withDeviceParameters","withGLParameters","setUniform","WEBGLBuffer","WEBGLTexture","WEBGLVertexArrayObject","LOG_PROGRAM_PERF_PRIORITY","WEBGLRenderPipeline","constructor","device","props","_defineProperty","handle","gl","createProgram","__SPECTOR_Metadata","id","vs","fs","varyings","bufferMode","SEPARATE_ATTRIBS","length","_this$device$gl","assertWebGL2","gl2","transformFeedbackVaryings","_compileAndLink","layout","vertexArrayObject","destroy","deleteProgram","destroyed","setIndexBuffer","indexBuffer","webglBuffer","setElementBuffer","_indexBuffer","setAttributes","attributes","name","buffer","Object","entries","attribute","getAttributeLayout","warn","concat","decoded","format","type","typeString","components","size","byteLength","stride","normalized","integer","divisor","stepMode","setBuffer","location","offset","setBindings","bindings","value","binding","find","Error","setUniforms","uniforms","assign","draw","options","_this$_indexBuffer","renderPass","getDefaultRenderPass","vertexCount","instanceCount","firstVertex","drawMode","getDrawMode","topology","isIndexed","Boolean","indexType","UNSIGNED_SHORT","UNSIGNED_INT","isInstanced","Number","_areTexturesRenderable","useProgram","bind","primitiveMode","getGLPrimitive","transformFeedback","begin","_applyBindings","_applyUniforms","parameters","framebuffer","_this$device$gl2","drawElementsInstanced","drawElements","_this$device$gl3","drawArraysInstanced","drawArrays","end","attachShader","time","linkProgram","timeEnd","debug","level","linked","getProgramParameter","LINK_STATUS","getProgramInfoLog","validateProgram","validated","VALIDATE_STATUS","texturesRenderable","texture","_textureUniforms","update","loaded","undefined","textureUnit","uniformBufferIndex","getUniformBlockIndex","INVALID_INDEX","uniformBlockBinding","bindBufferBase","UNIFORM_BUFFER","bindBufferRange","activeTexture","TEXTURE0","bindTexture","target","uniformLayout","POINTS","LINES","LINE_STRIP","LINE_LOOP","TRIANGLES","TRIANGLE_STRIP","TRIANGLE_FAN"],"sources":["../../../../src/adapter/resources/webgl-render-pipeline.ts"],"sourcesContent":["import type {\n RenderPipelineProps,\n RenderPass,\n Buffer,\n Binding,\n ShaderLayout,\n PrimitiveTopology,\n // BindingLayout,\n AttributeLayout\n} from '@luma.gl/api';\nimport {RenderPipeline, cast, log, decodeVertexFormat} from '@luma.gl/api';\nimport GL from '@luma.gl/constants';\n\nimport {getWebGLDataType} from '../converters/texture-formats';\nimport {getShaderLayout} from '../helpers/get-shader-layout';\nimport {withDeviceParameters, withGLParameters} from '../converters/device-parameters';\nimport {setUniform} from '../helpers/set-uniform';\n// import {copyUniform, checkUniformValues} from '../../classes/uniforms';\n\nimport WebGLDevice from '../webgl-device';\nimport WEBGLBuffer from './webgl-buffer';\nimport WEBGLShader from './webgl-shader';\nimport WEBGLTexture from './webgl-texture';\nimport WEBGLVertexArrayObject from '../objects/webgl-vertex-array-object';\n\nconst LOG_PROGRAM_PERF_PRIORITY = 4;\n\n/** Creates a new render pipeline */\nexport default class WEBGLRenderPipeline extends RenderPipeline {\n device: WebGLDevice;\n handle: WebGLProgram;\n vs: WEBGLShader;\n fs: WEBGLShader;\n layout: ShaderLayout;\n\n // configuration: ProgramConfiguration;\n // Experimental flag to avoid deleting Program object while it is cached\n varyings: string[] | null = null;\n vertexArrayObject: WEBGLVertexArrayObject;\n _indexBuffer?: Buffer;\n uniforms: Record<string, any> = {};\n bindings: Record<string, any> = {};\n _textureUniforms: Record<string, any> = {};\n _textureIndexCounter: number = 0;\n _uniformCount: number = 0;\n _uniformSetters: Record<string, Function> = {}; // TODO are these used?\n\n constructor(device: WebGLDevice, props: RenderPipelineProps) {\n super(device, props);\n this.device = device;\n this.handle = this.props.handle || this.device.gl.createProgram();\n // @ts-expect-error\n this.handle.__SPECTOR_Metadata = {id: this.props.id};\n\n // Create shaders if needed\n this.vs = cast<WEBGLShader>(props.vs);\n this.fs = cast<WEBGLShader>(props.fs);\n // assert(this.vs.stage === 'vertex');\n // assert(this.fs.stage === 'fragment');\n\n // Setup varyings if supplied\n // @ts-expect-error WebGL only\n const {varyings, bufferMode = GL.SEPARATE_ATTRIBS} = props;\n if (varyings && varyings.length > 0) {\n this.device.assertWebGL2();\n this.varyings = varyings;\n this.device.gl2?.transformFeedbackVaryings(this.handle, varyings, bufferMode);\n }\n\n this._compileAndLink();\n\n this.layout = props.layout || getShaderLayout(this.device.gl, this.handle);\n this.vertexArrayObject = new WEBGLVertexArrayObject(this.device);\n }\n\n override destroy(): void {\n if (this.handle) {\n this.device.gl.deleteProgram(this.handle);\n // this.handle = null;\n this.destroyed = true;\n }\n }\n\n setIndexBuffer(indexBuffer: Buffer): void {\n const webglBuffer = cast<WEBGLBuffer>(indexBuffer);\n this.vertexArrayObject.setElementBuffer(webglBuffer);\n this._indexBuffer = indexBuffer;\n }\n\n /** @todo needed for portable model */\n setAttributes(attributes: Record<string, Buffer>): void {\n for (const [name, buffer] of Object.entries(attributes)) {\n const webglBuffer = cast<WEBGLBuffer>(buffer);\n const attribute = getAttributeLayout(this.layout, name);\n if (!attribute) {\n log.warn(`Ignoring buffer supplied for unknown attribute \"${name}\" in pipeline \"${this.id}\" (buffer \"${buffer.id}\")`)();\n continue;\n }\n const decoded = decodeVertexFormat(attribute.format);\n const {type: typeString, components: size, byteLength: stride, normalized, integer} = decoded;\n const divisor = attribute.stepMode === 'instance' ? 1 : 0;\n const type = getWebGLDataType(typeString);\n this.vertexArrayObject.setBuffer(attribute.location, webglBuffer, {\n size,\n type,\n stride,\n offset: 0,\n normalized,\n integer,\n divisor\n });\n }\n }\n\n /** @todo needed for portable model */\n setBindings(bindings: Record<string, Binding>): void {\n // if (log.priority >= 2) {\n // checkUniformValues(uniforms, this.id, this._uniformSetters);\n // }\n\n for (const [name, value] of Object.entries(bindings)) {\n const binding = this.layout.bindings.find((binding) => binding.name === name);\n if (!binding) {\n log.warn(`Unknown binding ${name} in render pipeline ${this.id}`)();\n continue;\n }\n if (!value) {\n log.warn(`Unsetting binding ${name} in render pipeline ${this.id}`)();\n }\n switch (binding.type) {\n case 'uniform':\n // @ts-expect-error\n if (!(value instanceof WEBGLBuffer) && !(value.buffer instanceof WEBGLBuffer)) {\n throw new Error('buffer value');\n }\n break;\n case 'texture':\n if (!(value instanceof WEBGLTexture)) {\n throw new Error('texture value');\n }\n break;\n case 'sampler':\n log.warn(`Ignoring sampler ${name}`)();\n break;\n default:\n throw new Error(binding.type);\n }\n\n this.bindings[name] = value;\n }\n }\n\n setUniforms(uniforms: Record<string, any>) {\n // TODO - check against layout\n Object.assign(this.uniforms, uniforms);\n }\n\n /** @todo needed for portable model\n * @note The WebGL API is offers many ways to draw things\n * This function unifies those ways into a single call using common parameters with sane defaults\n */\n draw(options: {\n renderPass?: RenderPass;\n vertexCount?: number;\n indexCount?: number;\n instanceCount?: number;\n firstVertex?: number;\n firstIndex?: number;\n firstInstance?: number;\n baseVertex?: number;\n }): boolean {\n const {\n renderPass = this.device.getDefaultRenderPass(),\n vertexCount,\n // indexCount,\n instanceCount,\n firstVertex = 0,\n // firstIndex,\n // firstInstance,\n // baseVertex\n } = options;\n\n const drawMode = getDrawMode(this.props.topology);\n const isIndexed: boolean = Boolean(this._indexBuffer);\n const indexType = this._indexBuffer?.props.indexType === 'uint16' ? GL.UNSIGNED_SHORT : GL.UNSIGNED_INT;\n const isInstanced: boolean = Number(options.instanceCount) > 0;\n\n // Avoid WebGL draw call when not rendering any data or values are incomplete\n // Note: async textures set as uniforms might still be loading.\n // Now that all uniforms have been updated, check if any texture\n // in the uniforms is not yet initialized, then we don't draw\n if (!this._areTexturesRenderable() || options.vertexCount === 0) {\n // (isInstanced && instanceCount === 0)\n return false;\n }\n\n this.device.gl.useProgram(this.handle);\n\n this.vertexArrayObject.bind(() => {\n const primitiveMode = getGLPrimitive(this.props.topology);\n const transformFeedback: any = null;\n if (transformFeedback) {\n transformFeedback.begin(primitiveMode);\n }\n\n // We have to apply bindings before every draw call since other draw calls will overwrite\n this._applyBindings();\n this._applyUniforms();\n\n // TODO - double context push/pop\n withDeviceParameters(this.device, this.props.parameters, () => {\n withGLParameters(this.device, {framebuffer: renderPass.props.framebuffer}, () => {\n // TODO - Use polyfilled WebGL2RenderingContext instead of ANGLE extension\n if (isIndexed && isInstanced) {\n // ANGLE_instanced_arrays extension\n this.device.gl2?.drawElementsInstanced(\n drawMode,\n vertexCount || 0, // indexCount?\n indexType,\n firstVertex,\n instanceCount || 0\n );\n // } else if (isIndexed && this.device.isWebGL2 && !isNaN(start) && !isNaN(end)) {\n // this.device.gl2.drawRangeElements(drawMode, start, end, vertexCount, indexType, offset);\n } else if (isIndexed) {\n this.device.gl.drawElements(drawMode, vertexCount || 0, indexType, firstVertex); // indexCount?\n } else if (isInstanced) {\n this.device.gl2?.drawArraysInstanced(drawMode, firstVertex, vertexCount || 0, instanceCount || 0);\n } else {\n this.device.gl.drawArrays(drawMode, firstVertex, vertexCount || 0);\n }\n });\n\n if (transformFeedback) {\n transformFeedback.end();\n }\n });\n });\n\n return true;\n }\n\n // setAttributes(attributes: Record<string, Buffer>): void {}\n // setBindings(bindings: Record<string, Binding>): void {}\n\n protected _compileAndLink() {\n const {gl} = this.device;\n gl.attachShader(this.handle, this.vs.handle);\n gl.attachShader(this.handle, this.fs.handle);\n log.time(LOG_PROGRAM_PERF_PRIORITY, `linkProgram for ${this.id}`)();\n gl.linkProgram(this.handle);\n log.timeEnd(LOG_PROGRAM_PERF_PRIORITY, `linkProgram for ${this.id}`)();\n\n // Avoid checking program linking error in production\n // @ts-expect-error\n if (gl.debug || log.level > 0) {\n const linked = gl.getProgramParameter(this.handle, gl.LINK_STATUS);\n if (!linked) {\n throw new Error(`Error linking: ${gl.getProgramInfoLog(this.handle)}`);\n }\n\n gl.validateProgram(this.handle);\n const validated = gl.getProgramParameter(this.handle, gl.VALIDATE_STATUS);\n if (!validated) {\n throw new Error(`Error validating: ${gl.getProgramInfoLog(this.handle)}`);\n }\n }\n }\n\n // PRIVATE METHODS\n\n /**\n * Checks if all texture-values uniforms are renderable (i.e. loaded)\n * Update a texture if needed (e.g. from video)\n * Note: This is currently done before every draw call\n */\n _areTexturesRenderable() {\n let texturesRenderable = true;\n\n for (const [, texture] of Object.entries(this._textureUniforms)) {\n texture.update();\n texturesRenderable = texturesRenderable && texture.loaded;\n }\n\n for (const [, texture] of Object.entries(this.bindings)) {\n // texture.update();\n if (texture.loaded !== undefined) {\n texturesRenderable = texturesRenderable && texture.loaded;\n }\n }\n\n return texturesRenderable;\n }\n\n /** Apply any bindings */\n _applyBindings() {\n this.device.gl.useProgram(this.handle);\n\n const {gl2} = this.device;\n if (!gl2) {\n throw new Error('bindings');\n }\n\n let textureUnit = 0;\n let uniformBufferIndex = 0;\n for (const binding of this.layout.bindings) {\n const value = this.bindings[binding.name];\n if (!value) {\n throw new Error(`No value for binding ${binding.name} in ${this.id}`);\n }\n switch (binding.type) {\n case 'uniform':\n // Set buffer\n const {name} = binding;\n const location = gl2.getUniformBlockIndex(this.handle, name);\n if (location === GL.INVALID_INDEX) {\n throw new Error(`Invalid uniform block name ${name}`);\n }\n gl2.uniformBlockBinding(this.handle, uniformBufferIndex, location);\n // console.debug(binding, location);\n if (value instanceof WEBGLBuffer) {\n gl2.bindBufferBase(GL.UNIFORM_BUFFER, uniformBufferIndex, value.handle);\n } else {\n gl2.bindBufferRange(\n GL.UNIFORM_BUFFER,\n uniformBufferIndex,\n value.buffer.handle,\n value.offset || 0,\n value.size || value.buffer.byteLength - value.offset\n );\n }\n uniformBufferIndex += 1;\n break;\n\n case 'texture':\n if (!(value instanceof WEBGLTexture)) {\n throw new Error('texture');\n }\n const texture: WEBGLTexture = value;\n gl2.activeTexture(GL.TEXTURE0 + textureUnit);\n gl2.bindTexture(texture.target, texture.handle);\n // gl2.bindSampler(textureUnit, sampler.handle);\n textureUnit += 1;\n break;\n\n case 'sampler':\n // ignore\n break;\n\n case 'storage':\n case 'read-only-storage':\n throw new Error(`binding type '${binding.type}' not supported in WebGL`);\n }\n }\n }\n\n _applyUniforms() {\n for (const uniformLayout of this.layout.uniforms || []) {\n const {name, location, type, textureUnit} = uniformLayout;\n const value = this.uniforms[name] || textureUnit;\n if (value !== undefined) {\n setUniform(this.device.gl, location, type, value);\n }\n }\n }\n}\n\n/** Get the primitive type for transform feedback */\nfunction getDrawMode(\n topology: PrimitiveTopology\n): GL.POINTS | GL.LINES | GL.LINE_STRIP | GL.LINE_LOOP | GL.TRIANGLES | GL.TRIANGLE_STRIP | GL.TRIANGLE_FAN {\n // prettier-ignore\n switch (topology) {\n case 'point-list': return GL.POINTS;\n case 'line-list': return GL.LINES;\n case 'line-strip': return GL.LINE_STRIP;\n case 'line-loop': return GL.LINE_LOOP;\n case 'triangle-list': return GL.TRIANGLES;\n case 'triangle-strip': return GL.TRIANGLE_STRIP;\n case 'triangle-fan': return GL.TRIANGLE_FAN;\n default: throw new Error(topology);\n }\n}\n\n/** Get the primitive type for transform feedback */\nfunction getGLPrimitive(topology: PrimitiveTopology): GL.POINTS | GL.LINES | GL.TRIANGLES {\n // prettier-ignore\n switch (topology) {\n case 'point-list': return GL.POINTS;\n case 'line-list': return GL.LINES;\n case 'line-strip': return GL.LINES;\n case 'line-loop': return GL.LINES;\n case 'triangle-list': return GL.TRIANGLES;\n case 'triangle-strip': return GL.TRIANGLES;\n case 'triangle-fan': return GL.TRIANGLES;\n default: throw new Error(topology);\n }\n}\n\n// function getAttributesByLocation(\n// attributes: Record<string, Buffer>,\n// layout: ShaderLayout\n// ): Record<number, Buffer> {\n// const byLocation: Record<number, Buffer> = {};\n// for (const [name, buffer] of Object.entries(attributes)) {\n// const attribute = getAttributeLayout(layout, name);\n// if (attribute) {\n// byLocation[attribute.location] = buffer;\n// }\n// }\n// return byLocation;\n// }\n\nfunction getAttributeLayout(layout: ShaderLayout, name: string): AttributeLayout | null {\n return layout.attributes.find((binding) => binding.name === name) || null;\n}\n\n/* TODO\nfunction getBindingLayout(layout: ShaderLayout, name: string): BindingLayout {\n const binding = layout.bindings.find((binding) => binding.name === name);\n if (!binding) {\n throw new Error(`Unknown binding ${name}`);\n }\n return binding;\n}\n*/\n"],"mappings":"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"}
@@ -1,42 +0,0 @@
1
- import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
2
- import { Sampler } from '@luma.gl/api';
3
- import GL from '@luma.gl/constants';
4
- import { convertSamplerParametersToWebGL } from '../converters/sampler-parameters';
5
- export default class WEBGLSampler extends Sampler {
6
- constructor(device, props) {
7
- super(device, props);
8
- _defineProperty(this, "device", void 0);
9
- _defineProperty(this, "handle", void 0);
10
- _defineProperty(this, "parameters", void 0);
11
- this.device = device;
12
- this.parameters = convertSamplerParametersToWebGL(props);
13
- if (this.device.isWebGL2) {
14
- this.handle = this.handle || this.device.gl2.createSampler();
15
- this._setSamplerParameters(this.parameters);
16
- }
17
- }
18
- destroy() {
19
- if (this.handle) {
20
- this.device.gl2.deleteSampler(this.handle);
21
- this.handle = undefined;
22
- }
23
- }
24
- toString() {
25
- return "Sampler(".concat(this.id, ",").concat(JSON.stringify(this.props), ")");
26
- }
27
- _setSamplerParameters(parameters) {
28
- for (const [pname, value] of Object.entries(parameters)) {
29
- const param = Number(pname);
30
- switch (param) {
31
- case GL.TEXTURE_MIN_LOD:
32
- case GL.TEXTURE_MAX_LOD:
33
- this.device.gl2.samplerParameterf(this.handle, param, value);
34
- break;
35
- default:
36
- this.device.gl2.samplerParameteri(this.handle, param, value);
37
- break;
38
- }
39
- }
40
- }
41
- }
42
- //# sourceMappingURL=webgl-sampler.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"webgl-sampler.js","names":["Sampler","GL","convertSamplerParametersToWebGL","WEBGLSampler","constructor","device","props","_defineProperty","parameters","isWebGL2","handle","gl2","createSampler","_setSamplerParameters","destroy","deleteSampler","undefined","toString","concat","id","JSON","stringify","pname","value","Object","entries","param","Number","TEXTURE_MIN_LOD","TEXTURE_MAX_LOD","samplerParameterf","samplerParameteri"],"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":";AAEA,SAAQA,OAAO,QAAqB,cAAc;AAClD,OAAOC,EAAE,MAAM,oBAAoB;AAEnC,SAAQC,+BAA+B,QAAO,kCAAkC;AAUhF,eAAe,MAAMC,YAAY,SAASH,OAAO,CAAC;EAKhDI,WAAWA,CAACC,MAAmB,EAAEC,KAAmB,EAAE;IACpD,KAAK,CAACD,MAAM,EAAEC,KAAK,CAAC;IAACC,eAAA;IAAAA,eAAA;IAAAA,eAAA;IACrB,IAAI,CAACF,MAAM,GAAGA,MAAM;IACpB,IAAI,CAACG,UAAU,GAAGN,+BAA+B,CAACI,KAAK,CAAC;IACxD,IAAI,IAAI,CAACD,MAAM,CAACI,QAAQ,EAAE;MACxB,IAAI,CAACC,MAAM,GAAG,IAAI,CAACA,MAAM,IAAI,IAAI,CAACL,MAAM,CAACM,GAAG,CAACC,aAAa,EAAE;MAC5D,IAAI,CAACC,qBAAqB,CAAC,IAAI,CAACL,UAAU,CAAC;IAC7C;EACF;EAESM,OAAOA,CAAA,EAAS;IACvB,IAAI,IAAI,CAACJ,MAAM,EAAE;MACf,IAAI,CAACL,MAAM,CAACM,GAAG,CAACI,aAAa,CAAC,IAAI,CAACL,MAAM,CAAC;MAE1C,IAAI,CAACA,MAAM,GAAGM,SAAS;IACzB;EACF;EAESC,QAAQA,CAAA,EAAW;IAC1B,kBAAAC,MAAA,CAAkB,IAAI,CAACC,EAAE,OAAAD,MAAA,CAAIE,IAAI,CAACC,SAAS,CAAC,IAAI,CAACf,KAAK,CAAC;EACzD;EAGQO,qBAAqBA,CAACL,UAA+B,EAAQ;IACnE,KAAK,MAAM,CAACc,KAAK,EAAEC,KAAK,CAAC,IAAIC,MAAM,CAACC,OAAO,CAACjB,UAAU,CAAC,EAAE;MAGvD,MAAMkB,KAAK,GAAGC,MAAM,CAACL,KAAK,CAAC;MAC3B,QAAQI,KAAK;QACX,KAAKzB,EAAE,CAAC2B,eAAe;QACvB,KAAK3B,EAAE,CAAC4B,eAAe;UACrB,IAAI,CAACxB,MAAM,CAACM,GAAG,CAACmB,iBAAiB,CAAC,IAAI,CAACpB,MAAM,EAAEgB,KAAK,EAAEH,KAAK,CAAC;UAC5D;QACF;UACE,IAAI,CAAClB,MAAM,CAACM,GAAG,CAACoB,iBAAiB,CAAC,IAAI,CAACrB,MAAM,EAAEgB,KAAK,EAAEH,KAAK,CAAC;UAC5D;MAAM;IAEZ;EACF;AACF"}
@@ -1,62 +0,0 @@
1
- import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
2
- import { log, uid, Shader, formatCompilerLog } from '@luma.gl/api';
3
- import GL from '@luma.gl/constants';
4
- import { getShaderInfo } from '../helpers/get-shader-info';
5
- import { parseShaderCompilerLog } from '../helpers/parse-shader-compiler-log';
6
- export default class WEBGLShader extends Shader {
7
- constructor(device, props) {
8
- super(device, {
9
- id: getShaderIdFromProps(props),
10
- ...props
11
- });
12
- _defineProperty(this, "device", void 0);
13
- _defineProperty(this, "handle", void 0);
14
- this.device = device;
15
- switch (this.props.stage) {
16
- case 'vertex':
17
- this.handle = this.props.handle || this.device.gl.createShader(GL.VERTEX_SHADER);
18
- break;
19
- case 'fragment':
20
- this.handle = this.props.handle || this.device.gl.createShader(GL.FRAGMENT_SHADER);
21
- break;
22
- default:
23
- throw new Error(this.props.stage);
24
- }
25
- this._compile(this.source);
26
- }
27
- destroy() {
28
- if (this.handle) {
29
- this.removeStats();
30
- this.device.gl.deleteShader(this.handle);
31
- this.destroyed = true;
32
- }
33
- }
34
- async compilationInfo() {
35
- const log = this.device.gl.getShaderInfoLog(this.handle);
36
- return log ? parseShaderCompilerLog(log) : [];
37
- }
38
- _compile(source) {
39
- const addGLSLVersion = source => source.startsWith('#version ') ? source : "#version 100\n".concat(source);
40
- source = addGLSLVersion(source);
41
- const {
42
- gl
43
- } = this.device;
44
- gl.shaderSource(this.handle, source);
45
- gl.compileShader(this.handle);
46
- const compileStatus = gl.getShaderParameter(this.handle, GL.COMPILE_STATUS);
47
- if (!compileStatus) {
48
- const shaderLog = gl.getShaderInfoLog(this.handle);
49
- const parsedLog = shaderLog ? parseShaderCompilerLog(shaderLog) : [];
50
- const messages = parsedLog.filter(message => message.type === 'error');
51
- const formattedLog = formatCompilerLog(messages, source);
52
- const shaderName = getShaderInfo(source).name;
53
- const shaderDescription = "".concat(this.stage, " shader ").concat(shaderName);
54
- log.error("GLSL compilation errors in ".concat(shaderDescription, "\n").concat(formattedLog))();
55
- throw new Error("GLSL compilation errors in ".concat(shaderName));
56
- }
57
- }
58
- }
59
- function getShaderIdFromProps(props) {
60
- return getShaderInfo(props.source).name || props.id || uid("unnamed ".concat(props.stage, "-shader"));
61
- }
62
- //# sourceMappingURL=webgl-shader.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"webgl-shader.js","names":["log","uid","Shader","formatCompilerLog","GL","getShaderInfo","parseShaderCompilerLog","WEBGLShader","constructor","device","props","id","getShaderIdFromProps","_defineProperty","stage","handle","gl","createShader","VERTEX_SHADER","FRAGMENT_SHADER","Error","_compile","source","destroy","removeStats","deleteShader","destroyed","compilationInfo","getShaderInfoLog","addGLSLVersion","startsWith","concat","shaderSource","compileShader","compileStatus","getShaderParameter","COMPILE_STATUS","shaderLog","parsedLog","messages","filter","message","type","formattedLog","shaderName","name","shaderDescription","error"],"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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"}