@luma.gl/webgl 8.5.10 → 8.6.0-alpha.1

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 (633) hide show
  1. package/dist/bundle.d.ts +2 -0
  2. package/dist/bundle.d.ts.map +1 -0
  3. package/dist/bundle.js +5 -0
  4. package/dist/bundle.js.map +1 -0
  5. package/dist/classes/accessor.d.ts +28 -0
  6. package/dist/classes/accessor.d.ts.map +1 -0
  7. package/dist/classes/accessor.js +112 -0
  8. package/dist/classes/accessor.js.map +1 -0
  9. package/dist/classes/accessor.ts.disabled +159 -0
  10. package/dist/classes/clear.d.ts +16 -0
  11. package/dist/classes/clear.d.ts.map +1 -0
  12. package/dist/classes/clear.js +102 -0
  13. package/dist/classes/clear.js.map +1 -0
  14. package/dist/classes/copy-and-blit.d.ts +69 -0
  15. package/dist/classes/copy-and-blit.d.ts.map +1 -0
  16. package/dist/classes/copy-and-blit.js +333 -0
  17. package/dist/classes/copy-and-blit.js.map +1 -0
  18. package/dist/classes/framebuffer.d.ts +130 -0
  19. package/dist/classes/framebuffer.d.ts.map +1 -0
  20. package/dist/classes/framebuffer.js +656 -0
  21. package/dist/classes/framebuffer.js.map +1 -0
  22. package/dist/classes/program-configuration.d.ts +27 -0
  23. package/dist/classes/program-configuration.d.ts.map +1 -0
  24. package/dist/classes/program-configuration.js +160 -0
  25. package/dist/classes/program-configuration.js.map +1 -0
  26. package/dist/classes/program.d.ts +61 -0
  27. package/dist/classes/program.d.ts.map +1 -0
  28. package/dist/classes/program.js +368 -0
  29. package/dist/classes/program.js.map +1 -0
  30. package/dist/classes/query.d.ts +27 -0
  31. package/dist/classes/query.d.ts.map +1 -0
  32. package/dist/classes/query.js +144 -0
  33. package/dist/classes/query.js.map +1 -0
  34. package/dist/classes/renderbuffer-formats.d.ts +16 -0
  35. package/dist/classes/renderbuffer-formats.d.ts.map +1 -0
  36. package/dist/classes/renderbuffer-formats.js +185 -0
  37. package/dist/classes/renderbuffer-formats.js.map +1 -0
  38. package/dist/classes/renderbuffer.d.ts +60 -0
  39. package/dist/classes/renderbuffer.d.ts.map +1 -0
  40. package/dist/classes/renderbuffer.js +127 -0
  41. package/dist/classes/renderbuffer.js.map +1 -0
  42. package/dist/classes/texture-2d.d.ts +8 -0
  43. package/dist/classes/texture-2d.d.ts.map +1 -0
  44. package/dist/classes/texture-2d.js +39 -0
  45. package/dist/classes/texture-2d.js.map +1 -0
  46. package/dist/classes/texture-3d.d.ts +28 -0
  47. package/dist/classes/texture-3d.d.ts.map +1 -0
  48. package/dist/classes/texture-3d.js +67 -0
  49. package/dist/classes/texture-3d.js.map +1 -0
  50. package/dist/classes/texture-cube.d.ts +27 -0
  51. package/dist/classes/texture-cube.d.ts.map +1 -0
  52. package/dist/classes/texture-cube.js +131 -0
  53. package/dist/classes/texture-cube.js.map +1 -0
  54. package/dist/classes/texture-formats.d.ts +37 -0
  55. package/dist/classes/texture-formats.d.ts.map +1 -0
  56. package/dist/classes/texture-formats.js +98 -0
  57. package/dist/classes/texture-formats.js.map +1 -0
  58. package/dist/classes/texture.d.ts +118 -0
  59. package/dist/classes/texture.d.ts.map +1 -0
  60. package/dist/classes/texture.js +785 -0
  61. package/dist/classes/texture.js.map +1 -0
  62. package/dist/classes/transform-feedback.d.ts +33 -0
  63. package/dist/classes/transform-feedback.d.ts.map +1 -0
  64. package/dist/classes/transform-feedback.js +197 -0
  65. package/dist/classes/transform-feedback.js.map +1 -0
  66. package/dist/classes/uniform-buffer-layout.d.ts +17 -0
  67. package/dist/classes/uniform-buffer-layout.d.ts.map +1 -0
  68. package/dist/classes/uniform-buffer-layout.js +104 -0
  69. package/dist/classes/uniform-buffer-layout.js.map +1 -0
  70. package/dist/classes/uniforms.d.ts +38 -0
  71. package/dist/classes/uniforms.d.ts.map +1 -0
  72. package/dist/classes/uniforms.js +251 -0
  73. package/dist/classes/uniforms.js.map +1 -0
  74. package/dist/classes/vertex-array-object.d.ts +75 -0
  75. package/dist/classes/vertex-array-object.d.ts.map +1 -0
  76. package/dist/classes/vertex-array-object.js +262 -0
  77. package/dist/classes/vertex-array-object.js.map +1 -0
  78. package/dist/classes/vertex-array.d.ts +75 -0
  79. package/dist/classes/vertex-array.d.ts.map +1 -0
  80. package/dist/classes/vertex-array.js +409 -0
  81. package/dist/classes/vertex-array.js.map +1 -0
  82. package/dist/classes/webgl-buffer.d.ts +98 -0
  83. package/dist/classes/webgl-buffer.d.ts.map +1 -0
  84. package/dist/{esm/classes/buffer.js → classes/webgl-buffer.js} +97 -73
  85. package/dist/classes/webgl-buffer.js.map +1 -0
  86. package/dist/classes/webgl-resource.d.ts +54 -0
  87. package/dist/classes/webgl-resource.d.ts.map +1 -0
  88. package/dist/{esm/classes/resource.js → classes/webgl-resource.js} +31 -52
  89. package/dist/classes/webgl-resource.js.map +1 -0
  90. package/dist/classes/webgl-shader.d.ts +51 -0
  91. package/dist/classes/webgl-shader.d.ts.map +1 -0
  92. package/dist/classes/webgl-shader.js +190 -0
  93. package/dist/classes/webgl-shader.js.map +1 -0
  94. package/dist/context/gl-context.d.ts +15 -0
  95. package/dist/context/gl-context.d.ts.map +1 -0
  96. package/dist/context/gl-context.js +32 -0
  97. package/dist/context/gl-context.js.map +1 -0
  98. package/dist/context/luma-context-data.d.ts +31 -0
  99. package/dist/context/luma-context-data.d.ts.map +1 -0
  100. package/dist/context/luma-context-data.js +5 -0
  101. package/dist/context/luma-context-data.js.map +1 -0
  102. package/dist/debug/debug-program-configuration.d.ts +2 -0
  103. package/dist/debug/debug-program-configuration.d.ts.map +1 -0
  104. package/dist/debug/debug-program-configuration.js +40 -0
  105. package/dist/debug/debug-program-configuration.js.map +1 -0
  106. package/dist/debug/debug-uniforms.d.ts +12 -0
  107. package/dist/debug/debug-uniforms.d.ts.map +1 -0
  108. package/dist/debug/debug-uniforms.js +108 -0
  109. package/dist/debug/debug-uniforms.js.map +1 -0
  110. package/dist/debug/debug-vertex-array.d.ts +5 -0
  111. package/dist/debug/debug-vertex-array.d.ts.map +1 -0
  112. package/dist/debug/debug-vertex-array.js +118 -0
  113. package/dist/debug/debug-vertex-array.js.map +1 -0
  114. package/dist/es5/bundle.js +3 -5
  115. package/dist/es5/bundle.js.map +1 -1
  116. package/dist/es5/classes/accessor.js +76 -108
  117. package/dist/es5/classes/accessor.js.map +1 -1
  118. package/dist/es5/classes/accessor.ts.disabled +159 -0
  119. package/dist/es5/classes/clear.js +33 -48
  120. package/dist/es5/classes/clear.js.map +1 -1
  121. package/dist/es5/classes/copy-and-blit.js +177 -192
  122. package/dist/es5/classes/copy-and-blit.js.map +1 -1
  123. package/dist/es5/classes/framebuffer.js +538 -655
  124. package/dist/es5/classes/framebuffer.js.map +1 -1
  125. package/dist/es5/classes/program-configuration.js +127 -141
  126. package/dist/es5/classes/program-configuration.js.map +1 -1
  127. package/dist/es5/classes/program.js +294 -358
  128. package/dist/es5/classes/program.js.map +1 -1
  129. package/dist/es5/classes/query.js +115 -181
  130. package/dist/es5/classes/query.js.map +1 -1
  131. package/dist/es5/classes/renderbuffer-formats.js +186 -121
  132. package/dist/es5/classes/renderbuffer-formats.js.map +1 -1
  133. package/dist/es5/classes/renderbuffer.js +104 -128
  134. package/dist/es5/classes/renderbuffer.js.map +1 -1
  135. package/dist/es5/classes/texture-2d.js +16 -39
  136. package/dist/es5/classes/texture-2d.js.map +1 -1
  137. package/dist/es5/classes/texture-3d.js +50 -89
  138. package/dist/es5/classes/texture-3d.js.map +1 -1
  139. package/dist/es5/classes/texture-cube.js +112 -162
  140. package/dist/es5/classes/texture-cube.js.map +1 -1
  141. package/dist/es5/classes/texture-formats.js +73 -42
  142. package/dist/es5/classes/texture-formats.js.map +1 -1
  143. package/dist/es5/classes/texture.js +670 -673
  144. package/dist/es5/classes/texture.js.map +1 -1
  145. package/dist/es5/classes/transform-feedback.js +150 -203
  146. package/dist/es5/classes/transform-feedback.js.map +1 -1
  147. package/dist/es5/classes/uniform-buffer-layout.js +89 -103
  148. package/dist/es5/classes/uniform-buffer-layout.js.map +1 -1
  149. package/dist/es5/classes/uniforms.js +134 -93
  150. package/dist/es5/classes/uniforms.js.map +1 -1
  151. package/dist/es5/classes/vertex-array-object.js +204 -306
  152. package/dist/es5/classes/vertex-array-object.js.map +1 -1
  153. package/dist/es5/classes/vertex-array.js +317 -353
  154. package/dist/es5/classes/vertex-array.js.map +1 -1
  155. package/dist/es5/classes/webgl-buffer.js +391 -0
  156. package/dist/es5/classes/webgl-buffer.js.map +1 -0
  157. package/dist/es5/classes/webgl-resource.js +217 -0
  158. package/dist/es5/classes/webgl-resource.js.map +1 -0
  159. package/dist/es5/classes/webgl-shader.js +213 -0
  160. package/dist/es5/classes/webgl-shader.js.map +1 -0
  161. package/dist/es5/context/gl-context.js +46 -0
  162. package/dist/es5/context/gl-context.js.map +1 -0
  163. package/dist/es5/context/luma-context-data.js +12 -0
  164. package/dist/es5/context/luma-context-data.js.map +1 -0
  165. package/dist/es5/debug/debug-program-configuration.js +20 -48
  166. package/dist/es5/debug/debug-program-configuration.js.map +1 -1
  167. package/dist/es5/debug/debug-uniforms.js +72 -114
  168. package/dist/es5/debug/debug-uniforms.js.map +1 -1
  169. package/dist/es5/debug/debug-vertex-array.js +56 -51
  170. package/dist/es5/debug/debug-vertex-array.js.map +1 -1
  171. package/dist/es5/features/check-glsl-extension.js +9 -10
  172. package/dist/es5/features/check-glsl-extension.js.map +1 -1
  173. package/dist/es5/features/check-old-ie.js +5 -6
  174. package/dist/es5/features/check-old-ie.js.map +1 -1
  175. package/dist/es5/features/features.js +23 -37
  176. package/dist/es5/features/features.js.map +1 -1
  177. package/dist/es5/features/index.js +8 -8
  178. package/dist/es5/features/index.js.map +1 -1
  179. package/dist/es5/features/limits.js +36 -28
  180. package/dist/es5/features/limits.js.map +1 -1
  181. package/dist/es5/features/webgl-features-table.js +35 -15
  182. package/dist/es5/features/webgl-features-table.js.map +1 -1
  183. package/dist/es5/features/webgl-limits-table.js +160 -120
  184. package/dist/es5/features/webgl-limits-table.js.map +1 -1
  185. package/dist/es5/index.js +144 -90
  186. package/dist/es5/index.js.map +1 -1
  187. package/dist/es5/init.js +12 -36
  188. package/dist/es5/init.js.map +1 -1
  189. package/dist/es5/types.js +2 -0
  190. package/dist/es5/types.js.map +1 -0
  191. package/dist/es5/utils/array-utils-flat.js +13 -14
  192. package/dist/es5/utils/array-utils-flat.js.map +1 -1
  193. package/dist/es5/utils/assert.js +1 -1
  194. package/dist/es5/utils/assert.js.map +1 -1
  195. package/dist/es5/utils/check-props.js +20 -21
  196. package/dist/es5/utils/check-props.js.map +1 -1
  197. package/dist/es5/utils/format-value.js +14 -14
  198. package/dist/es5/utils/format-value.js.map +1 -1
  199. package/dist/es5/utils/index.js +68 -0
  200. package/dist/es5/utils/index.js.map +1 -0
  201. package/dist/es5/utils/is-old-ie.js +2 -3
  202. package/dist/es5/utils/is-old-ie.js.map +1 -1
  203. package/dist/es5/utils/load-file.js +11 -18
  204. package/dist/es5/utils/load-file.js.map +1 -1
  205. package/dist/es5/utils/stub-methods.js +4 -4
  206. package/dist/es5/utils/stub-methods.js.map +1 -1
  207. package/dist/es5/utils/utils.js +5 -10
  208. package/dist/es5/utils/utils.js.map +1 -1
  209. package/dist/es5/webgl-utils/attribute-utils.js +87 -74
  210. package/dist/es5/webgl-utils/attribute-utils.js.map +1 -1
  211. package/dist/es5/webgl-utils/constants-to-keys.js +7 -7
  212. package/dist/es5/webgl-utils/constants-to-keys.js.map +1 -1
  213. package/dist/es5/webgl-utils/format-utils.js +21 -17
  214. package/dist/es5/webgl-utils/format-utils.js.map +1 -1
  215. package/dist/es5/webgl-utils/get-error.js +18 -18
  216. package/dist/es5/webgl-utils/get-error.js.map +1 -1
  217. package/dist/es5/webgl-utils/index.js +74 -0
  218. package/dist/es5/webgl-utils/index.js.map +1 -0
  219. package/dist/es5/webgl-utils/parse-shader-compiler-log.js +44 -0
  220. package/dist/es5/webgl-utils/parse-shader-compiler-log.js.map +1 -0
  221. package/dist/es5/webgl-utils/request-animation-frame.js.map +1 -1
  222. package/dist/es5/webgl-utils/texture-utils.js +35 -29
  223. package/dist/es5/webgl-utils/texture-utils.js.map +1 -1
  224. package/dist/es5/webgl-utils/typed-array-utils.js +51 -47
  225. package/dist/es5/webgl-utils/typed-array-utils.js.map +1 -1
  226. package/dist/esm/bundle.js +2 -4
  227. package/dist/esm/bundle.js.map +1 -1
  228. package/dist/esm/classes/accessor.js +7 -7
  229. package/dist/esm/classes/accessor.js.map +1 -1
  230. package/dist/esm/classes/accessor.ts.disabled +159 -0
  231. package/dist/esm/classes/clear.js +15 -13
  232. package/dist/esm/classes/clear.js.map +1 -1
  233. package/dist/esm/classes/copy-and-blit.js +41 -43
  234. package/dist/esm/classes/copy-and-blit.js.map +1 -1
  235. package/dist/esm/classes/framebuffer.js +336 -308
  236. package/dist/esm/classes/framebuffer.js.map +1 -1
  237. package/dist/esm/classes/program-configuration.js +17 -9
  238. package/dist/esm/classes/program-configuration.js.map +1 -1
  239. package/dist/esm/classes/program.js +69 -44
  240. package/dist/esm/classes/program.js.map +1 -1
  241. package/dist/esm/classes/query.js +17 -14
  242. package/dist/esm/classes/query.js.map +1 -1
  243. package/dist/esm/classes/renderbuffer-formats.js +72 -49
  244. package/dist/esm/classes/renderbuffer-formats.js.map +1 -1
  245. package/dist/esm/classes/renderbuffer.js +84 -72
  246. package/dist/esm/classes/renderbuffer.js.map +1 -1
  247. package/dist/esm/classes/texture-2d.js +10 -3
  248. package/dist/esm/classes/texture-2d.js.map +1 -1
  249. package/dist/esm/classes/texture-3d.js +14 -11
  250. package/dist/esm/classes/texture-3d.js.map +1 -1
  251. package/dist/esm/classes/texture-cube.js +43 -28
  252. package/dist/esm/classes/texture-cube.js.map +1 -1
  253. package/dist/esm/classes/texture-formats.js +51 -50
  254. package/dist/esm/classes/texture-formats.js.map +1 -1
  255. package/dist/esm/classes/texture.js +164 -49
  256. package/dist/esm/classes/texture.js.map +1 -1
  257. package/dist/esm/classes/transform-feedback.js +24 -13
  258. package/dist/esm/classes/transform-feedback.js.map +1 -1
  259. package/dist/esm/classes/uniform-buffer-layout.js +1 -1
  260. package/dist/esm/classes/uniform-buffer-layout.js.map +1 -1
  261. package/dist/esm/classes/uniforms.js +111 -112
  262. package/dist/esm/classes/uniforms.js.map +1 -1
  263. package/dist/esm/classes/vertex-array-object.js +52 -88
  264. package/dist/esm/classes/vertex-array-object.js.map +1 -1
  265. package/dist/esm/classes/vertex-array.js +50 -28
  266. package/dist/esm/classes/vertex-array.js.map +1 -1
  267. package/dist/esm/classes/webgl-buffer.js +379 -0
  268. package/dist/esm/classes/webgl-buffer.js.map +1 -0
  269. package/dist/esm/classes/webgl-resource.js +208 -0
  270. package/dist/esm/classes/webgl-resource.js.map +1 -0
  271. package/dist/esm/classes/webgl-shader.js +190 -0
  272. package/dist/esm/classes/webgl-shader.js.map +1 -0
  273. package/dist/esm/context/gl-context.js +32 -0
  274. package/dist/esm/context/gl-context.js.map +1 -0
  275. package/dist/esm/context/luma-context-data.js +5 -0
  276. package/dist/esm/context/luma-context-data.js.map +1 -0
  277. package/dist/esm/debug/debug-program-configuration.js +4 -4
  278. package/dist/esm/debug/debug-program-configuration.js.map +1 -1
  279. package/dist/esm/debug/debug-uniforms.js +9 -9
  280. package/dist/esm/debug/debug-uniforms.js.map +1 -1
  281. package/dist/esm/debug/debug-vertex-array.js +19 -17
  282. package/dist/esm/debug/debug-vertex-array.js.map +1 -1
  283. package/dist/esm/features/check-glsl-extension.js +4 -4
  284. package/dist/esm/features/check-glsl-extension.js.map +1 -1
  285. package/dist/esm/features/check-old-ie.js.map +1 -1
  286. package/dist/esm/features/features.js +14 -13
  287. package/dist/esm/features/features.js.map +1 -1
  288. package/dist/esm/features/index.js.map +1 -1
  289. package/dist/esm/features/limits.js +25 -22
  290. package/dist/esm/features/limits.js.map +1 -1
  291. package/dist/esm/features/webgl-features-table.js +6 -6
  292. package/dist/esm/features/webgl-features-table.js.map +1 -1
  293. package/dist/esm/features/webgl-limits-table.js +43 -42
  294. package/dist/esm/features/webgl-limits-table.js.map +1 -1
  295. package/dist/esm/index.js +13 -15
  296. package/dist/esm/index.js.map +1 -1
  297. package/dist/esm/init.js +4 -23
  298. package/dist/esm/init.js.map +1 -1
  299. package/dist/esm/types.js +2 -0
  300. package/dist/esm/types.js.map +1 -0
  301. package/dist/esm/utils/array-utils-flat.js.map +1 -1
  302. package/dist/esm/utils/assert.js +1 -1
  303. package/dist/esm/utils/assert.js.map +1 -1
  304. package/dist/esm/utils/check-props.js +4 -4
  305. package/dist/esm/utils/check-props.js.map +1 -1
  306. package/dist/esm/utils/format-value.js +4 -4
  307. package/dist/esm/utils/format-value.js.map +1 -1
  308. package/dist/esm/utils/index.js +7 -0
  309. package/dist/esm/utils/index.js.map +1 -0
  310. package/dist/esm/utils/is-old-ie.js +1 -1
  311. package/dist/esm/utils/is-old-ie.js.map +1 -1
  312. package/dist/esm/utils/load-file.js +2 -2
  313. package/dist/esm/utils/load-file.js.map +1 -1
  314. package/dist/esm/utils/stub-methods.js +2 -3
  315. package/dist/esm/utils/stub-methods.js.map +1 -1
  316. package/dist/esm/utils/utils.js +1 -3
  317. package/dist/esm/utils/utils.js.map +1 -1
  318. package/dist/esm/webgl-utils/attribute-utils.js +1 -1
  319. package/dist/esm/webgl-utils/attribute-utils.js.map +1 -1
  320. package/dist/esm/webgl-utils/constants-to-keys.js +4 -4
  321. package/dist/esm/webgl-utils/constants-to-keys.js.map +1 -1
  322. package/dist/esm/webgl-utils/format-utils.js +16 -15
  323. package/dist/esm/webgl-utils/format-utils.js.map +1 -1
  324. package/dist/esm/webgl-utils/get-error.js +1 -1
  325. package/dist/esm/webgl-utils/get-error.js.map +1 -1
  326. package/dist/esm/webgl-utils/index.js +5 -0
  327. package/dist/esm/webgl-utils/index.js.map +1 -0
  328. package/dist/esm/webgl-utils/parse-shader-compiler-log.js +37 -0
  329. package/dist/esm/webgl-utils/parse-shader-compiler-log.js.map +1 -0
  330. package/dist/esm/webgl-utils/request-animation-frame.js.map +1 -1
  331. package/dist/esm/webgl-utils/texture-utils.js +4 -3
  332. package/dist/esm/webgl-utils/texture-utils.js.map +1 -1
  333. package/dist/esm/webgl-utils/typed-array-utils.js +19 -18
  334. package/dist/esm/webgl-utils/typed-array-utils.js.map +1 -1
  335. package/dist/features/check-glsl-extension.d.ts +2 -0
  336. package/dist/features/check-glsl-extension.d.ts.map +1 -0
  337. package/dist/features/check-glsl-extension.js +27 -0
  338. package/dist/features/check-glsl-extension.js.map +1 -0
  339. package/dist/features/check-old-ie.d.ts +2 -0
  340. package/dist/features/check-old-ie.d.ts.map +1 -0
  341. package/dist/features/check-old-ie.js +8 -0
  342. package/dist/features/check-old-ie.js.map +1 -0
  343. package/dist/features/features.d.ts +6 -0
  344. package/dist/features/features.d.ts.map +1 -0
  345. package/dist/features/features.js +67 -0
  346. package/dist/features/features.js.map +1 -0
  347. package/dist/features/index.d.ts +5 -0
  348. package/dist/features/index.d.ts.map +1 -0
  349. package/dist/features/index.js +5 -0
  350. package/dist/features/index.js.map +1 -0
  351. package/dist/features/limits.d.ts +28 -0
  352. package/dist/features/limits.d.ts.map +1 -0
  353. package/dist/features/limits.js +55 -0
  354. package/dist/features/limits.js.map +1 -0
  355. package/dist/features/webgl-features-table.d.ts +30 -0
  356. package/dist/features/webgl-features-table.d.ts.map +1 -0
  357. package/dist/features/webgl-features-table.js +71 -0
  358. package/dist/features/webgl-features-table.js.map +1 -0
  359. package/dist/features/webgl-limits-table.d.ts +161 -0
  360. package/dist/features/webgl-limits-table.d.ts.map +1 -0
  361. package/dist/features/webgl-limits-table.js +161 -0
  362. package/dist/features/webgl-limits-table.js.map +1 -0
  363. package/dist/index.d.ts +33 -0
  364. package/dist/index.d.ts.map +1 -0
  365. package/dist/index.js +33 -0
  366. package/dist/index.js.map +1 -0
  367. package/dist/init.d.ts +5 -0
  368. package/dist/init.d.ts.map +1 -0
  369. package/dist/init.js +30 -0
  370. package/dist/init.js.map +1 -0
  371. package/dist/types.d.ts +9 -0
  372. package/dist/types.d.ts.map +1 -0
  373. package/dist/types.js +2 -0
  374. package/dist/types.js.map +1 -0
  375. package/dist/utils/array-utils-flat.d.ts +9 -0
  376. package/dist/utils/array-utils-flat.d.ts.map +1 -0
  377. package/dist/utils/array-utils-flat.js +39 -0
  378. package/dist/utils/array-utils-flat.js.map +1 -0
  379. package/dist/utils/assert.d.ts +2 -0
  380. package/dist/utils/assert.d.ts.map +1 -0
  381. package/dist/utils/assert.js +6 -0
  382. package/dist/utils/assert.js.map +1 -0
  383. package/dist/utils/check-props.d.ts +2 -0
  384. package/dist/utils/check-props.d.ts.map +1 -0
  385. package/dist/utils/check-props.js +38 -0
  386. package/dist/utils/check-props.js.map +1 -0
  387. package/dist/utils/format-value.d.ts +5 -0
  388. package/dist/utils/format-value.d.ts.map +1 -0
  389. package/dist/utils/format-value.js +50 -0
  390. package/dist/utils/format-value.js.map +1 -0
  391. package/dist/utils/index.d.ts +7 -0
  392. package/dist/utils/index.d.ts.map +1 -0
  393. package/dist/utils/index.js +7 -0
  394. package/dist/utils/index.js.map +1 -0
  395. package/dist/utils/is-old-ie.d.ts +4 -0
  396. package/dist/utils/is-old-ie.d.ts.map +1 -0
  397. package/dist/utils/is-old-ie.js +5 -0
  398. package/dist/utils/is-old-ie.js.map +1 -0
  399. package/dist/utils/load-file.d.ts +4 -0
  400. package/dist/utils/load-file.d.ts.map +1 -0
  401. package/dist/utils/load-file.js +30 -0
  402. package/dist/utils/load-file.js.map +1 -0
  403. package/dist/utils/stub-methods.d.ts +2 -0
  404. package/dist/utils/stub-methods.d.ts.map +1 -0
  405. package/dist/utils/stub-methods.js +16 -0
  406. package/dist/utils/stub-methods.js.map +1 -0
  407. package/dist/utils/utils.d.ts +15 -0
  408. package/dist/utils/utils.d.ts.map +1 -0
  409. package/dist/utils/utils.js +20 -0
  410. package/dist/utils/utils.js.map +1 -0
  411. package/dist/webgl-utils/attribute-utils.d.ts +18 -0
  412. package/dist/webgl-utils/attribute-utils.d.ts.map +1 -0
  413. package/dist/webgl-utils/attribute-utils.js +182 -0
  414. package/dist/webgl-utils/attribute-utils.js.map +1 -0
  415. package/dist/webgl-utils/constants-to-keys.d.ts +4 -0
  416. package/dist/webgl-utils/constants-to-keys.d.ts.map +1 -0
  417. package/dist/webgl-utils/constants-to-keys.js +41 -0
  418. package/dist/webgl-utils/constants-to-keys.js.map +1 -0
  419. package/dist/webgl-utils/format-utils.d.ts +3 -0
  420. package/dist/webgl-utils/format-utils.d.ts.map +1 -0
  421. package/dist/webgl-utils/format-utils.js +45 -0
  422. package/dist/webgl-utils/format-utils.js.map +1 -0
  423. package/dist/webgl-utils/get-error.d.ts +3 -0
  424. package/dist/webgl-utils/get-error.d.ts.map +1 -0
  425. package/dist/webgl-utils/get-error.js +41 -0
  426. package/dist/webgl-utils/get-error.js.map +1 -0
  427. package/dist/webgl-utils/index.d.ts +5 -0
  428. package/dist/webgl-utils/index.d.ts.map +1 -0
  429. package/dist/webgl-utils/index.js +5 -0
  430. package/dist/webgl-utils/index.js.map +1 -0
  431. package/dist/webgl-utils/parse-shader-compiler-log.d.ts +8 -0
  432. package/dist/webgl-utils/parse-shader-compiler-log.d.ts.map +1 -0
  433. package/dist/webgl-utils/parse-shader-compiler-log.js +37 -0
  434. package/dist/webgl-utils/parse-shader-compiler-log.js.map +1 -0
  435. package/dist/webgl-utils/request-animation-frame.d.ts +4 -0
  436. package/dist/webgl-utils/request-animation-frame.d.ts.map +1 -0
  437. package/dist/webgl-utils/request-animation-frame.js +7 -0
  438. package/dist/webgl-utils/request-animation-frame.js.map +1 -0
  439. package/dist/webgl-utils/texture-utils.d.ts +11 -0
  440. package/dist/webgl-utils/texture-utils.d.ts.map +1 -0
  441. package/dist/webgl-utils/texture-utils.js +48 -0
  442. package/dist/webgl-utils/texture-utils.js.map +1 -0
  443. package/dist/webgl-utils/typed-array-utils.d.ts +36 -0
  444. package/dist/webgl-utils/typed-array-utils.d.ts.map +1 -0
  445. package/dist/webgl-utils/typed-array-utils.js +108 -0
  446. package/dist/webgl-utils/typed-array-utils.js.map +1 -0
  447. package/package.json +9 -8
  448. package/src/bundle.ts +4 -0
  449. package/src/classes/accessor.js +3 -4
  450. package/src/classes/accessor.ts.disabled +159 -0
  451. package/src/classes/{clear.js → clear.ts} +13 -9
  452. package/src/classes/{copy-and-blit.js → copy-and-blit.ts} +113 -22
  453. package/src/classes/{framebuffer.js → framebuffer.ts} +355 -298
  454. package/src/classes/{program-configuration.js → program-configuration.ts} +18 -11
  455. package/src/classes/{program.js → program.ts} +56 -36
  456. package/src/classes/{query.js → query.ts} +28 -22
  457. package/src/classes/{renderbuffer-formats.js → renderbuffer-formats.ts} +42 -14
  458. package/src/classes/renderbuffer.ts +153 -0
  459. package/src/classes/{texture-2d.js → texture-2d.ts} +15 -5
  460. package/src/classes/{texture-3d.js → texture-3d.ts} +35 -10
  461. package/src/classes/{texture-cube.js → texture-cube.ts} +46 -28
  462. package/src/classes/{texture-formats.js → texture-formats.ts} +9 -1
  463. package/src/classes/{texture.js → texture.ts} +204 -37
  464. package/src/classes/{transform-feedback.js → transform-feedback.ts} +22 -14
  465. package/src/classes/{uniform-buffer-layout.js → uniform-buffer-layout.ts} +10 -6
  466. package/src/classes/{uniforms.js → uniforms.ts} +122 -70
  467. package/src/classes/{vertex-array-object.js → vertex-array-object.ts} +132 -107
  468. package/src/classes/{vertex-array.js → vertex-array.ts} +74 -54
  469. package/src/classes/{buffer.js → webgl-buffer.ts} +125 -51
  470. package/src/classes/{resource.js → webgl-resource.ts} +43 -36
  471. package/src/classes/webgl-shader.ts +200 -0
  472. package/src/context/gl-context.ts +31 -0
  473. package/src/context/luma-context-data.ts +27 -0
  474. package/src/debug/{debug-program-configuration.js → debug-program-configuration.ts} +0 -0
  475. package/src/debug/{debug-uniforms.js → debug-uniforms.ts} +18 -8
  476. package/src/debug/{debug-vertex-array.js → debug-vertex-array.ts} +7 -4
  477. package/src/features/{check-glsl-extension.js → check-glsl-extension.ts} +1 -1
  478. package/src/features/{check-old-ie.js → check-old-ie.ts} +0 -0
  479. package/src/features/{features.js → features.ts} +14 -13
  480. package/src/features/{index.js → index.ts} +0 -0
  481. package/src/features/{limits.js → limits.ts} +18 -17
  482. package/src/features/{webgl-features-table.js → webgl-features-table.ts} +0 -0
  483. package/src/features/{webgl-limits-table.js → webgl-limits-table.ts} +0 -0
  484. package/{dist/es5/index.d.ts → src/index.ts} +18 -16
  485. package/src/{init.js → init.ts} +1 -18
  486. package/{dist/es5/types.d.ts → src/types.ts} +0 -0
  487. package/src/utils/{array-utils-flat.js → array-utils-flat.ts} +0 -0
  488. package/src/utils/{assert.js → assert.ts} +1 -1
  489. package/src/utils/{check-props.js → check-props.ts} +0 -0
  490. package/src/utils/{format-value.js → format-value.ts} +2 -2
  491. package/src/utils/index.ts +6 -0
  492. package/src/utils/{is-old-ie.js → is-old-ie.ts} +1 -1
  493. package/src/utils/{load-file.js → load-file.ts} +3 -2
  494. package/src/utils/{stub-methods.js → stub-methods.ts} +1 -1
  495. package/src/utils/utils.ts +35 -0
  496. package/src/webgl-utils/{attribute-utils.js → attribute-utils.ts} +1 -2
  497. package/src/webgl-utils/{constants-to-keys.js → constants-to-keys.ts} +1 -1
  498. package/src/webgl-utils/{format-utils.js → format-utils.ts} +1 -1
  499. package/src/webgl-utils/{get-error.js → get-error.ts} +0 -0
  500. package/src/webgl-utils/index.ts +12 -0
  501. package/src/webgl-utils/parse-shader-compiler-log.ts +48 -0
  502. package/src/webgl-utils/{request-animation-frame.js → request-animation-frame.ts} +3 -2
  503. package/src/webgl-utils/texture-utils.js +2 -1
  504. package/dist/dist.js +0 -13555
  505. package/dist/dist.min.js +0 -1
  506. package/dist/es5/classes/buffer.d.ts +0 -84
  507. package/dist/es5/classes/buffer.js +0 -453
  508. package/dist/es5/classes/buffer.js.map +0 -1
  509. package/dist/es5/classes/clear.d.ts +0 -11
  510. package/dist/es5/classes/copy-and-blit.d.ts +0 -101
  511. package/dist/es5/classes/framebuffer.d.ts +0 -96
  512. package/dist/es5/classes/program-configuration.d.ts +0 -15
  513. package/dist/es5/classes/program.d.ts +0 -44
  514. package/dist/es5/classes/query.d.ts +0 -21
  515. package/dist/es5/classes/renderbuffer.d.ts +0 -34
  516. package/dist/es5/classes/resource.d.ts +0 -47
  517. package/dist/es5/classes/resource.js +0 -308
  518. package/dist/es5/classes/resource.js.map +0 -1
  519. package/dist/es5/classes/shader.d.ts +0 -29
  520. package/dist/es5/classes/shader.js +0 -221
  521. package/dist/es5/classes/shader.js.map +0 -1
  522. package/dist/es5/classes/texture-2d.d.ts +0 -11
  523. package/dist/es5/classes/texture-3d.d.ts +0 -29
  524. package/dist/es5/classes/texture-cube.d.ts +0 -23
  525. package/dist/es5/classes/texture.d.ts +0 -80
  526. package/dist/es5/classes/transform-feedback.d.ts +0 -16
  527. package/dist/es5/classes/uniform-buffer-layout.d.ts +0 -18
  528. package/dist/es5/classes/uniforms.d.ts +0 -63
  529. package/dist/es5/classes/vertex-array-object.d.ts +0 -25
  530. package/dist/es5/classes/vertex-array.d.ts +0 -37
  531. package/dist/es5/debug/debug-program-configuration.d.ts +0 -1
  532. package/dist/es5/debug/debug-uniforms.d.ts +0 -11
  533. package/dist/es5/debug/debug-vertex-array.d.ts +0 -1
  534. package/dist/es5/glsl-utils/format-glsl-error.d.ts +0 -16
  535. package/dist/es5/glsl-utils/format-glsl-error.js +0 -108
  536. package/dist/es5/glsl-utils/format-glsl-error.js.map +0 -1
  537. package/dist/es5/glsl-utils/get-shader-name.js +0 -14
  538. package/dist/es5/glsl-utils/get-shader-name.js.map +0 -1
  539. package/dist/es5/glsl-utils/get-shader-type-name.js +0 -22
  540. package/dist/es5/glsl-utils/get-shader-type-name.js.map +0 -1
  541. package/dist/es5/glsl-utils/get-shader-version.js +0 -22
  542. package/dist/es5/glsl-utils/get-shader-version.js.map +0 -1
  543. package/dist/es5/glsl-utils/index.js +0 -48
  544. package/dist/es5/glsl-utils/index.js.map +0 -1
  545. package/dist/es5/init.d.ts +0 -12
  546. package/dist/es5/utils/assert.d.ts +0 -1
  547. package/dist/es5/utils/is-old-ie.d.ts +0 -1
  548. package/dist/es5/utils/utils.d.ts +0 -13
  549. package/dist/es5/webgl-utils/request-animation-frame.d.ts +0 -3
  550. package/dist/esm/classes/buffer.d.ts +0 -84
  551. package/dist/esm/classes/buffer.js.map +0 -1
  552. package/dist/esm/classes/clear.d.ts +0 -11
  553. package/dist/esm/classes/copy-and-blit.d.ts +0 -101
  554. package/dist/esm/classes/framebuffer.d.ts +0 -96
  555. package/dist/esm/classes/program-configuration.d.ts +0 -15
  556. package/dist/esm/classes/program.d.ts +0 -44
  557. package/dist/esm/classes/query.d.ts +0 -21
  558. package/dist/esm/classes/renderbuffer.d.ts +0 -34
  559. package/dist/esm/classes/resource.d.ts +0 -47
  560. package/dist/esm/classes/resource.js.map +0 -1
  561. package/dist/esm/classes/shader.d.ts +0 -29
  562. package/dist/esm/classes/shader.js +0 -138
  563. package/dist/esm/classes/shader.js.map +0 -1
  564. package/dist/esm/classes/texture-2d.d.ts +0 -11
  565. package/dist/esm/classes/texture-3d.d.ts +0 -29
  566. package/dist/esm/classes/texture-cube.d.ts +0 -23
  567. package/dist/esm/classes/texture.d.ts +0 -80
  568. package/dist/esm/classes/transform-feedback.d.ts +0 -16
  569. package/dist/esm/classes/uniform-buffer-layout.d.ts +0 -18
  570. package/dist/esm/classes/uniforms.d.ts +0 -63
  571. package/dist/esm/classes/vertex-array-object.d.ts +0 -25
  572. package/dist/esm/classes/vertex-array.d.ts +0 -37
  573. package/dist/esm/debug/debug-program-configuration.d.ts +0 -1
  574. package/dist/esm/debug/debug-uniforms.d.ts +0 -11
  575. package/dist/esm/debug/debug-vertex-array.d.ts +0 -1
  576. package/dist/esm/glsl-utils/format-glsl-error.d.ts +0 -16
  577. package/dist/esm/glsl-utils/format-glsl-error.js +0 -93
  578. package/dist/esm/glsl-utils/format-glsl-error.js.map +0 -1
  579. package/dist/esm/glsl-utils/get-shader-name.js +0 -6
  580. package/dist/esm/glsl-utils/get-shader-name.js.map +0 -1
  581. package/dist/esm/glsl-utils/get-shader-type-name.js +0 -15
  582. package/dist/esm/glsl-utils/get-shader-type-name.js.map +0 -1
  583. package/dist/esm/glsl-utils/get-shader-version.js +0 -15
  584. package/dist/esm/glsl-utils/get-shader-version.js.map +0 -1
  585. package/dist/esm/glsl-utils/index.js +0 -5
  586. package/dist/esm/glsl-utils/index.js.map +0 -1
  587. package/dist/esm/index.d.ts +0 -71
  588. package/dist/esm/init.d.ts +0 -12
  589. package/dist/esm/types.d.ts +0 -8
  590. package/dist/esm/utils/assert.d.ts +0 -1
  591. package/dist/esm/utils/is-old-ie.d.ts +0 -1
  592. package/dist/esm/utils/utils.d.ts +0 -13
  593. package/dist/esm/webgl-utils/request-animation-frame.d.ts +0 -3
  594. package/src/bundle.js +0 -8
  595. package/src/classes/buffer.d.ts +0 -84
  596. package/src/classes/clear.d.ts +0 -11
  597. package/src/classes/copy-and-blit.d.ts +0 -101
  598. package/src/classes/framebuffer.d.ts +0 -96
  599. package/src/classes/program-configuration.d.ts +0 -15
  600. package/src/classes/program.d.ts +0 -44
  601. package/src/classes/query.d.ts +0 -21
  602. package/src/classes/renderbuffer.d.ts +0 -34
  603. package/src/classes/renderbuffer.js +0 -105
  604. package/src/classes/resource.d.ts +0 -47
  605. package/src/classes/shader.d.ts +0 -29
  606. package/src/classes/shader.js +0 -147
  607. package/src/classes/texture-2d.d.ts +0 -11
  608. package/src/classes/texture-3d.d.ts +0 -29
  609. package/src/classes/texture-cube.d.ts +0 -23
  610. package/src/classes/texture.d.ts +0 -80
  611. package/src/classes/transform-feedback.d.ts +0 -16
  612. package/src/classes/uniform-buffer-layout.d.ts +0 -18
  613. package/src/classes/uniforms.d.ts +0 -63
  614. package/src/classes/vertex-array-object.d.ts +0 -25
  615. package/src/classes/vertex-array.d.ts +0 -37
  616. package/src/debug/debug-program-configuration.d.ts +0 -1
  617. package/src/debug/debug-uniforms.d.ts +0 -11
  618. package/src/debug/debug-vertex-array.d.ts +0 -1
  619. package/src/glsl-utils/format-glsl-error.d.ts +0 -16
  620. package/src/glsl-utils/format-glsl-error.js +0 -107
  621. package/src/glsl-utils/get-shader-name.js +0 -7
  622. package/src/glsl-utils/get-shader-type-name.js +0 -13
  623. package/src/glsl-utils/get-shader-version.js +0 -12
  624. package/src/glsl-utils/index.js +0 -8
  625. package/src/index.d.ts +0 -71
  626. package/src/index.js +0 -70
  627. package/src/init.d.ts +0 -12
  628. package/src/types.d.ts +0 -8
  629. package/src/utils/assert.d.ts +0 -1
  630. package/src/utils/is-old-ie.d.ts +0 -1
  631. package/src/utils/utils.d.ts +0 -13
  632. package/src/utils/utils.js +0 -36
  633. package/src/webgl-utils/request-animation-frame.d.ts +0 -3
@@ -1,15 +0,0 @@
1
- /**
2
- * is a mechanism for taking a program object and querying information
3
- * about it, so as to be able to interface and interact with it.
4
- * For example, if there is a uniform, you may need to query its
5
- * location so that you can set its value.
6
- */
7
- export default class ProgramConfiguration {
8
- constructor(program: any);
9
- getAttributeInfo(locationOrName: any): any;
10
- getAttributeLocation(locationOrName: any): any;
11
- getAttributeAccessor(locationOrName: any): any;
12
- getVaryingInfo(locationOrName: any): any;
13
- getVaryingIndex(locationOrName: any): any;
14
- getVaryingAccessor(locationOrName: any): any;
15
- }
@@ -1,44 +0,0 @@
1
- import Resource, {ResourceProps} from './resource';
2
- import ProgramConfiguration from './program-configuration';
3
-
4
- export type ProgramProps = ResourceProps & {
5
-
6
- }
7
-
8
- /**
9
- * A Program holds fully processed executable code,
10
- * for one or more Shader stages.
11
- */
12
- export default class Program extends Resource {
13
-
14
- readonly handle: WebGLProgram;
15
- readonly configuration: ProgramConfiguration;
16
-
17
- constructor(gl: WebGLRenderingContext, props?: {});
18
- initialize(props?: {}): this;
19
- delete(options?: {}): this;
20
- setProps(props: any): this;
21
- draw(options: {
22
- logPriority?: any;
23
- drawMode?: any;
24
- vertexCount: any;
25
- offset?: number;
26
- start?: any;
27
- end?: any;
28
- isIndexed?: boolean;
29
- indexType?: any;
30
- instanceCount?: number;
31
- isInstanced?: boolean;
32
- vertexArray?: any;
33
- transformFeedback?: any;
34
- framebuffer?: any;
35
- parameters?: {};
36
- uniforms?: any;
37
- samplers?: any;
38
- }): boolean;
39
- setUniforms(uniforms?: {}): this;
40
- getActiveUniforms(uniformIndices: any, pname: any): any;
41
- getUniformBlockIndex(blockName: any): any;
42
- getActiveUniformBlockParameter(blockIndex: any, pname: any): any;
43
- uniformBlockBinding(blockIndex: any, blockBinding: any): void;
44
- }
@@ -1,21 +0,0 @@
1
- import Resource from './resource';
2
-
3
- /**
4
- * Asynchronous queries for different kinds of information
5
- */
6
- export default class Query extends Resource {
7
- readonly handle: WebGLQuery;
8
-
9
- static isSupported(gl: WebGLRenderingContext, opts?: any[]): boolean;
10
- constructor(gl: WebGLRenderingContext, opts?: {});
11
- beginTimeElapsedQuery(): this;
12
- beginOcclusionQuery({conservative}?: {conservative?: boolean}): this;
13
- beginTransformFeedbackQuery(): this;
14
- begin(target: any): this;
15
- end(): this;
16
- isResultAvailable(): any;
17
- isTimerDisjoint(): any;
18
- getResult(): any;
19
- getTimerMilliseconds(): number;
20
- createPoll(limit?: number): any;
21
- }
@@ -1,34 +0,0 @@
1
- import Resource, {ResourceProps} from './resource';
2
-
3
- export type RenderbufferProps = ResourceProps & {
4
- format: number;
5
- width?: number;
6
- height?: number;
7
- samples?: number;
8
- };
9
-
10
- /**
11
- * Renderbuffers are GPU objects that contain images.
12
- * In contrast to Textures they are optimized for use as render targets, with Framebuffers.
13
- * while Textures may not be, and are the logical choice when
14
- * you do not need to sample (i.e. in a post-pass shader)
15
- * from the produced image. If you need to resample
16
- * (such as when reading depth back in a second shader pass),
17
- * use Textures instead.
18
- * Renderbuffer objects also natively accommodate Multisampling (MSAA).
19
- */
20
- export default class Renderbuffer extends Resource {
21
- static isSupported(gl: WebGLRenderingContext, options?: {format?: number}): boolean;
22
- static getSamplesForFormat(gl: WebGLRenderingContext, options: {format: number}): number;
23
-
24
- readonly width: number;
25
- readonly height: number;
26
- readonly format: number;
27
-
28
- constructor(gl: WebGLRenderingContext, props: RenderbufferProps);
29
-
30
- /** Creates and initializes a renderbuffer object's data store */
31
- initialize(props: Renderbuffer): this;
32
-
33
- resize(size: {width: number, height: number}): this;
34
- }
@@ -1,47 +0,0 @@
1
- export type ResourceProps = {
2
- id?: string;
3
- handle?: any
4
- }
5
-
6
- /**
7
- * Base class for WebGL object wrappers
8
- */
9
- export default class Resource {
10
- readonly id: string;
11
- readonly gl: WebGLRenderingContext;
12
- readonly gl2: WebGL2RenderingContext;
13
- readonly _handle: any;
14
-
15
- readonly handle: any;
16
-
17
- constructor(gl: WebGLRenderingContext, props?: ResourceProps);
18
- toString(): string;
19
- delete({ deleteChildren }?: { deleteChildren?: boolean }): this;
20
- bind(funcOrHandle?: any): any;
21
- unbind(): void;
22
-
23
- /**
24
- * Query a Resource parameter
25
- *
26
- * @param {GLenum} pname
27
- * @return {GLint|GLfloat|GLenum} param
28
- */
29
- getParameter(pname: any, opts?: {}): any;
30
- getParameters(opts?: {}): {};
31
- /**
32
- * Update a Resource setting
33
- *
34
- * @todo - cache parameter to avoid issuing WebGL calls?
35
- *
36
- * @param {GLenum} pname - parameter (GL constant, value or key)
37
- * @param {GLint|GLfloat|GLenum} value
38
- * @return {Resource} returns self to enable chaining
39
- */
40
- setParameter(pname: any, value: any): this;
41
- setParameters(parameters: any): this;
42
- stubRemovedMethods(className: any, version: any, methodNames: any): void;
43
- initialize(opts: any): void;
44
-
45
- _trackAllocatedMemory(bytes: number, name?: string): void;
46
- _trackDeallocatedMemory(name?: string): void;
47
- }
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/classes/resource.js"],"names":["isWebGL2","assertWebGLContext","lumaStats","getKey","getKeyValue","assert","uid","stubRemovedMethods","ERR_RESOURCE_METHOD_UNDEFINED","Resource","constructor","gl","opts","id","userData","gl2","name","_bound","_handle","handle","undefined","_createHandle","byteLength","_addStats","toString","delete","deleteChildren","children","_deleteHandle","_removeStats","filter","Boolean","forEach","child","bind","funcOrHandle","_bindHandle","value","unbind","getParameter","pname","parameters","PARAMETERS","parameter","isWebgl2","parameterAvailable","getExtension","extension","webgl1Default","webgl1","webgl2Default","webgl2","defaultValue","_getParameter","getParameters","options","keys","values","parameterKeys","Object","key","type","setParameter","Error","_setParameter","setParameters","className","version","methodNames","initialize","_getOptsFromHandle","_context","luma","stats","get","incrementCount","decrementCount","_trackAllocatedMemory","bytes","addCount","_trackDeallocatedMemory","subtractCount"],"mappings":"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","sourcesContent":["import {isWebGL2, assertWebGLContext} from '@luma.gl/gltools';\nimport {lumaStats} from '../init';\nimport {getKey, getKeyValue} from '../webgl-utils/constants-to-keys';\nimport {assert} from '../utils/assert';\nimport {uid} from '../utils/utils';\nimport {stubRemovedMethods} from '../utils/stub-methods';\n\nconst ERR_RESOURCE_METHOD_UNDEFINED = 'Resource subclass must define virtual methods';\n\n// TODO - Handle context loss\n// function glGetContextLossCount(gl) {\n// return (gl.luma && gl.luma.glCount) || 0;\n// }\n\nexport default class Resource {\n constructor(gl, opts = {}) {\n assertWebGLContext(gl);\n\n const {id, userData = {}} = opts;\n this.gl = gl;\n // @ts-ignore\n this.gl2 = gl;\n // this.ext = polyfillContext(gl);\n this.id = id || uid(this.constructor.name);\n this.userData = userData;\n this._bound = false;\n\n // Set the handle\n // If handle was provided, use it, otherwise create a new handle\n\n // TODO - Stores the handle with context loss information\n // this.glCount = glGetContextLossCount(this.gl);\n\n // Default VertexArray needs to be created with null handle, so compare against undefined\n this._handle = opts.handle;\n if (this._handle === undefined) {\n this._handle = this._createHandle();\n }\n\n // Only meaningful for resources that allocate GPU memory\n this.byteLength = 0;\n\n this._addStats();\n }\n\n toString() {\n return `${this.constructor.name}(${this.id})`;\n }\n\n get handle() {\n // TODO - Add context loss handling\n // Will regenerate and reinitialize the handle if necessary\n // const glCount = glGetContextLossCount(this.gl);\n // if (this.glCount !== glCount) {\n // this._handle = this._createHandle(this.opts);\n // this._glCount = glCount;\n // // Reinitialize object\n // this.initialize(this.opts);\n // }\n return this._handle;\n }\n\n delete({deleteChildren = false} = {}) {\n // Delete this object, and get refs to any children\n // @ts-ignore\n const children = this._handle && this._deleteHandle(this._handle);\n if (this._handle) {\n this._removeStats();\n }\n this._handle = null;\n\n // Optionally, recursively delete the children\n // @ts-ignore\n if (children && deleteChildren) {\n // @ts-ignore\n children.filter(Boolean).forEach(child => child.delete());\n }\n\n return this;\n }\n\n bind(funcOrHandle = this.handle) {\n if (typeof funcOrHandle !== 'function') {\n this._bindHandle(funcOrHandle);\n return this;\n }\n\n let value;\n\n if (!this._bound) {\n this._bindHandle(this.handle);\n this._bound = true;\n\n value = funcOrHandle();\n\n this._bound = false;\n this._bindHandle(null);\n } else {\n value = funcOrHandle();\n }\n\n return value;\n }\n\n unbind() {\n this.bind(null);\n }\n\n /**\n * Query a Resource parameter\n *\n * @param {GLenum} pname\n * @return {GLint|GLfloat|GLenum} param\n */\n getParameter(pname, opts = {}) {\n pname = getKeyValue(this.gl, pname);\n assert(pname);\n\n // @ts-ignore\n const parameters = this.constructor.PARAMETERS || {};\n\n // Use parameter definitions to handle unsupported parameters\n const parameter = parameters[pname];\n if (parameter) {\n const isWebgl2 = isWebGL2(this.gl);\n\n // Check if we can query for this parameter\n const parameterAvailable =\n (!('webgl2' in parameter) || isWebgl2) &&\n (!('extension' in parameter) || this.gl.getExtension(parameter.extension));\n\n if (!parameterAvailable) {\n const webgl1Default = parameter.webgl1;\n const webgl2Default = 'webgl2' in parameter ? parameter.webgl2 : parameter.webgl1;\n const defaultValue = isWebgl2 ? webgl2Default : webgl1Default;\n return defaultValue;\n }\n }\n\n // If unknown parameter - Could be a valid parameter not covered by PARAMS\n // Attempt to query for it and let WebGL report errors\n return this._getParameter(pname, opts);\n }\n\n // Many resources support a getParameter call -\n // getParameters will get all parameters - slow but useful for debugging\n // eslint-disable-next-line complexity\n getParameters(options = {}) {\n const {parameters, keys} = options;\n\n // Get parameter definitions for this Resource\n // @ts-ignore\n const PARAMETERS = this.constructor.PARAMETERS || {};\n\n const isWebgl2 = isWebGL2(this.gl);\n\n const values = {};\n\n // Query all parameters if no list provided\n const parameterKeys = parameters || Object.keys(PARAMETERS);\n\n // WEBGL limits\n for (const pname of parameterKeys) {\n const parameter = PARAMETERS[pname];\n\n // Check if this parameter is available on this platform\n const parameterAvailable =\n parameter &&\n (!('webgl2' in parameter) || isWebgl2) &&\n (!('extension' in parameter) || this.gl.getExtension(parameter.extension));\n\n if (parameterAvailable) {\n const key = keys ? getKey(this.gl, pname) : pname;\n values[key] = this.getParameter(pname, options);\n if (keys && parameter.type === 'GLenum') {\n values[key] = getKey(this.gl, values[key]);\n }\n }\n }\n\n return values;\n }\n\n /**\n * Update a Resource setting\n *\n * @todo - cache parameter to avoid issuing WebGL calls?\n *\n * @param {string} pname - parameter (GL constant, value or key)\n * @param {GLint|GLfloat|GLenum} value\n * @return {Resource} returns self to enable chaining\n */\n setParameter(pname, value) {\n pname = getKeyValue(this.gl, pname);\n assert(pname);\n\n // @ts-ignore\n const parameters = this.constructor.PARAMETERS || {};\n\n const parameter = parameters[pname];\n if (parameter) {\n const isWebgl2 = isWebGL2(this.gl);\n\n // Check if this parameter is available on this platform\n const parameterAvailable =\n (!('webgl2' in parameter) || isWebgl2) &&\n (!('extension' in parameter) || this.gl.getExtension(parameter.extension));\n\n if (!parameterAvailable) {\n throw new Error('Parameter not available on this platform');\n }\n\n // Handle string keys\n if (parameter.type === 'GLenum') {\n value = getKeyValue(value);\n }\n }\n\n // If unknown parameter - Could be a valid parameter not covered by PARAMS\n // attempt to set it and let WebGL report errors\n this._setParameter(pname, value);\n return this;\n }\n\n /*\n * Batch update resource parameters\n * Assumes the subclass supports a setParameter call\n */\n setParameters(parameters) {\n for (const pname in parameters) {\n this.setParameter(pname, parameters[pname]);\n }\n return this;\n }\n\n // Install stubs for removed methods\n stubRemovedMethods(className, version, methodNames) {\n return stubRemovedMethods(this, className, version, methodNames);\n }\n\n // PUBLIC VIRTUAL METHODS\n initialize(opts) {}\n\n // PROTECTED METHODS - These must be overridden by subclass\n _createHandle() {\n throw new Error(ERR_RESOURCE_METHOD_UNDEFINED);\n }\n\n _deleteHandle() {\n throw new Error(ERR_RESOURCE_METHOD_UNDEFINED);\n }\n\n _bindHandle(handle) {\n throw new Error(ERR_RESOURCE_METHOD_UNDEFINED);\n }\n\n _getOptsFromHandle() {\n throw new Error(ERR_RESOURCE_METHOD_UNDEFINED);\n }\n\n /** @returns {number} */\n _getParameter(pname, opts) {\n throw new Error(ERR_RESOURCE_METHOD_UNDEFINED);\n }\n\n _setParameter(pname, value) {\n throw new Error(ERR_RESOURCE_METHOD_UNDEFINED);\n }\n\n // PRIVATE METHODS\n\n _context() {\n this.gl.luma = this.gl.luma || {};\n return this.gl.luma;\n }\n\n _addStats() {\n const name = this.constructor.name;\n const stats = lumaStats.get('Resource Counts');\n\n stats.get('Resources Created').incrementCount();\n stats.get(`${name}s Created`).incrementCount();\n stats.get(`${name}s Active`).incrementCount();\n }\n\n _removeStats() {\n const name = this.constructor.name;\n const stats = lumaStats.get('Resource Counts');\n\n stats.get(`${name}s Active`).decrementCount();\n }\n\n _trackAllocatedMemory(bytes, name = this.constructor.name) {\n const stats = lumaStats.get('Memory Usage');\n\n stats.get('GPU Memory').addCount(bytes);\n stats.get(`${name} Memory`).addCount(bytes);\n this.byteLength = bytes;\n }\n\n _trackDeallocatedMemory(name = this.constructor.name) {\n const stats = lumaStats.get('Memory Usage');\n\n stats.get('GPU Memory').subtractCount(this.byteLength);\n stats.get(`${name} Memory`).subtractCount(this.byteLength);\n this.byteLength = 0;\n }\n}\n"],"file":"resource.js"}
@@ -1,29 +0,0 @@
1
- import Resource, {ResourceProps} from './resource';
2
-
3
- export type ShaderProps = ResourceProps & {
4
- source: string;
5
- shaderType?: string;
6
- };
7
-
8
- /**
9
- * Encapsulates the compiled or linked Shaders that execute portions of the WebGL Pipeline
10
- */
11
- export class Shader extends Resource {
12
- static getTypeName(shaderType: any): 'vertex-shader' | 'fragment-shader' | 'unknown';
13
-
14
- constructor(gl: WebGLRenderingContext, props: ShaderProps);
15
- initialize(options: ShaderProps): this;
16
- getParameter(pname: any): any;
17
- toString(): string;
18
- getName(): string;
19
- getSource(): string;
20
- getTranslatedSource(): string;
21
- }
22
-
23
- export class VertexShader extends Shader {
24
- constructor(gl: WebGLRenderingContext, props: any);
25
- }
26
-
27
- export class FragmentShader extends Shader {
28
- constructor(gl: WebGLRenderingContext, props: any);
29
- }
@@ -1,138 +0,0 @@
1
- import { assertWebGLContext, log } from '@luma.gl/gltools';
2
- import { parseGLSLCompilerError, getShaderName } from '../glsl-utils';
3
- import { assert } from '../utils/assert';
4
- import { uid } from '../utils/utils';
5
- import Resource from './resource';
6
- const ERR_SOURCE = 'Shader: GLSL source code must be a JavaScript string';
7
- export class Shader extends Resource {
8
- static getTypeName(shaderType) {
9
- switch (shaderType) {
10
- case 35633:
11
- return 'vertex-shader';
12
-
13
- case 35632:
14
- return 'fragment-shader';
15
-
16
- default:
17
- assert(false);
18
- return 'unknown';
19
- }
20
- }
21
-
22
- constructor(gl, props) {
23
- assertWebGLContext(gl);
24
- assert(typeof props.source === 'string', ERR_SOURCE);
25
- const id = getShaderName(props.source, null) || props.id || uid(`unnamed ${Shader.getTypeName(props.shaderType)}`);
26
- super(gl, {
27
- id
28
- });
29
- this.shaderType = props.shaderType;
30
- this.source = props.source;
31
- this.initialize(props);
32
- }
33
-
34
- initialize({
35
- source
36
- }) {
37
- const shaderName = getShaderName(source, null);
38
-
39
- if (shaderName) {
40
- this.id = uid(shaderName);
41
- }
42
-
43
- this._compile(source);
44
- }
45
-
46
- getParameter(pname) {
47
- return this.gl.getShaderParameter(this.handle, pname);
48
- }
49
-
50
- toString() {
51
- return `${Shader.getTypeName(this.shaderType)}:${this.id}`;
52
- }
53
-
54
- getName() {
55
- return getShaderName(this.source) || 'unnamed-shader';
56
- }
57
-
58
- getSource() {
59
- return this.gl.getShaderSource(this.handle);
60
- }
61
-
62
- getTranslatedSource() {
63
- const extension = this.gl.getExtension('WEBGL_debug_shaders');
64
- return extension ? extension.getTranslatedShaderSource(this.handle) : 'No translated source available. WEBGL_debug_shaders not implemented';
65
- }
66
-
67
- _compile(source = this.source) {
68
- if (!source.startsWith('#version ')) {
69
- source = `#version 100\n${source}`;
70
- }
71
-
72
- this.source = source;
73
- this.gl.shaderSource(this.handle, this.source);
74
- this.gl.compileShader(this.handle);
75
- const compileStatus = this.getParameter(35713);
76
-
77
- if (!compileStatus) {
78
- const infoLog = this.gl.getShaderInfoLog(this.handle);
79
- const {
80
- shaderName,
81
- errors,
82
- warnings
83
- } = parseGLSLCompilerError(infoLog, this.source, this.shaderType, this.id);
84
- log.error(`GLSL compilation errors in ${shaderName}\n${errors}`)();
85
- log.warn(`GLSL compilation warnings in ${shaderName}\n${warnings}`)();
86
- throw new Error(`GLSL compilation errors in ${shaderName}`);
87
- }
88
- }
89
-
90
- _deleteHandle() {
91
- this.gl.deleteShader(this.handle);
92
- }
93
-
94
- _getOptsFromHandle() {
95
- return {
96
- type: this.getParameter(35663),
97
- source: this.getSource()
98
- };
99
- }
100
-
101
- }
102
- export class VertexShader extends Shader {
103
- constructor(gl, props) {
104
- if (typeof props === 'string') {
105
- props = {
106
- source: props
107
- };
108
- }
109
-
110
- super(gl, Object.assign({}, props, {
111
- shaderType: 35633
112
- }));
113
- }
114
-
115
- _createHandle() {
116
- return this.gl.createShader(35633);
117
- }
118
-
119
- }
120
- export class FragmentShader extends Shader {
121
- constructor(gl, props) {
122
- if (typeof props === 'string') {
123
- props = {
124
- source: props
125
- };
126
- }
127
-
128
- super(gl, Object.assign({}, props, {
129
- shaderType: 35632
130
- }));
131
- }
132
-
133
- _createHandle() {
134
- return this.gl.createShader(35632);
135
- }
136
-
137
- }
138
- //# sourceMappingURL=shader.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/classes/shader.js"],"names":["assertWebGLContext","log","parseGLSLCompilerError","getShaderName","assert","uid","Resource","ERR_SOURCE","Shader","getTypeName","shaderType","constructor","gl","props","source","id","initialize","shaderName","_compile","getParameter","pname","getShaderParameter","handle","toString","getName","getSource","getShaderSource","getTranslatedSource","extension","getExtension","getTranslatedShaderSource","startsWith","shaderSource","compileShader","compileStatus","infoLog","getShaderInfoLog","errors","warnings","error","warn","Error","_deleteHandle","deleteShader","_getOptsFromHandle","type","VertexShader","Object","assign","_createHandle","createShader","FragmentShader"],"mappings":"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","sourcesContent":["import GL from '@luma.gl/constants';\nimport {assertWebGLContext, log} from '@luma.gl/gltools';\nimport {parseGLSLCompilerError, getShaderName} from '../glsl-utils';\nimport {assert} from '../utils/assert';\nimport {uid} from '../utils/utils';\nimport Resource from './resource';\n\nconst ERR_SOURCE = 'Shader: GLSL source code must be a JavaScript string';\n\n// For now this is an internal class\nexport class Shader extends Resource {\n static getTypeName(shaderType) {\n switch (shaderType) {\n case GL.VERTEX_SHADER:\n return 'vertex-shader';\n case GL.FRAGMENT_SHADER:\n return 'fragment-shader';\n default:\n assert(false);\n return 'unknown';\n }\n }\n\n /* eslint-disable max-statements */\n constructor(gl, props) {\n assertWebGLContext(gl);\n\n // Validate arguments\n assert(typeof props.source === 'string', ERR_SOURCE);\n\n // Deduce an id, from shader source, or supplied id, or shader type\n const id =\n getShaderName(props.source, null) ||\n props.id ||\n uid(`unnamed ${Shader.getTypeName(props.shaderType)}`);\n\n super(gl, {id});\n\n this.shaderType = props.shaderType;\n this.source = props.source;\n\n this.initialize(props);\n }\n\n initialize({source}) {\n const shaderName = getShaderName(source, null);\n if (shaderName) {\n this.id = uid(shaderName);\n }\n this._compile(source);\n }\n\n // Accessors\n\n getParameter(pname) {\n return this.gl.getShaderParameter(this.handle, pname);\n }\n\n toString() {\n return `${Shader.getTypeName(this.shaderType)}:${this.id}`;\n }\n\n getName() {\n return getShaderName(this.source) || 'unnamed-shader';\n }\n\n getSource() {\n return this.gl.getShaderSource(this.handle);\n }\n\n // Debug method - Returns translated source if available\n getTranslatedSource() {\n const extension = this.gl.getExtension('WEBGL_debug_shaders');\n return extension\n ? extension.getTranslatedShaderSource(this.handle)\n : 'No translated source available. WEBGL_debug_shaders not implemented';\n }\n\n // PRIVATE METHODS\n _compile(source = this.source) {\n if (!source.startsWith('#version ')) {\n source = `#version 100\\n${source}`;\n }\n this.source = source;\n this.gl.shaderSource(this.handle, this.source);\n this.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 = this.getParameter(GL.COMPILE_STATUS);\n if (!compileStatus) {\n const infoLog = this.gl.getShaderInfoLog(this.handle);\n const {shaderName, errors, warnings} = parseGLSLCompilerError(\n infoLog,\n this.source,\n this.shaderType,\n this.id\n );\n log.error(`GLSL compilation errors in ${shaderName}\\n${errors}`)();\n log.warn(`GLSL compilation warnings in ${shaderName}\\n${warnings}`)();\n throw new Error(`GLSL compilation errors in ${shaderName}`);\n }\n }\n\n _deleteHandle() {\n this.gl.deleteShader(this.handle);\n }\n\n _getOptsFromHandle() {\n return {\n type: this.getParameter(GL.SHADER_TYPE),\n source: this.getSource()\n };\n }\n}\n\nexport class VertexShader extends Shader {\n constructor(gl, props) {\n // Signature: new VertexShader(gl, source)\n if (typeof props === 'string') {\n props = {source: props};\n }\n super(gl, Object.assign({}, props, {shaderType: GL.VERTEX_SHADER}));\n }\n\n // PRIVATE METHODS\n _createHandle() {\n return this.gl.createShader(GL.VERTEX_SHADER);\n }\n}\n\nexport class FragmentShader extends Shader {\n constructor(gl, props) {\n // Signature: new FragmentShader(gl, source)\n if (typeof props === 'string') {\n props = {source: props};\n }\n\n super(gl, Object.assign({}, props, {shaderType: GL.FRAGMENT_SHADER}));\n }\n\n // PRIVATE METHODS\n _createHandle() {\n return this.gl.createShader(GL.FRAGMENT_SHADER);\n }\n}\n"],"file":"shader.js"}
@@ -1,11 +0,0 @@
1
- import Texture, {TextureProps} from './texture';
2
-
3
- export type Texture2DProps = TextureProps & {
4
- };
5
-
6
- export default class Texture2D extends Texture {
7
- static isSupported(gl: WebGLRenderingContext, opts?: object): boolean;
8
-
9
- constructor(gl: WebGLRenderingContext, props?: Texture2DProps);
10
- constructor(gl: WebGLRenderingContext, props: Promise<Texture2DProps>);
11
- }
@@ -1,29 +0,0 @@
1
- import Texture, {TextureProps} from './texture';
2
-
3
- export type Texture3DProps = TextureProps & {
4
- };
5
-
6
- /**
7
- * Textures that have 3 dimensions: width, height, and depth.
8
- * They are accessed by 3-dimensional texture coordinates.
9
- */
10
- export default class Texture3D extends Texture {
11
- static isSupported(gl: WebGLRenderingContext): boolean;
12
-
13
- constructor(gl: WebGL2RenderingContext, props: Texture3DProps);
14
-
15
- /** Image 3D copies from Typed Array or WebGLBuffer */
16
- setImageData(options: {
17
- level?: number;
18
- dataFormat?: any;
19
- width: any;
20
- height: any;
21
- depth?: number;
22
- border?: number;
23
- format: any;
24
- type?: any;
25
- offset?: number;
26
- data: any;
27
- parameters?: {};
28
- }): this;
29
- }
@@ -1,23 +0,0 @@
1
- import Texture, {TextureProps} from './texture';
2
-
3
- export type TextureCubeProps = TextureProps & {
4
- };
5
-
6
- export default class TextureCube extends Texture {
7
- static readonly FACES: number[];
8
-
9
- constructor(gl: WebGLRenderingContext, props?: TextureCubeProps);
10
-
11
- initialize(props?: TextureCubeProps): void;
12
- subImage(options: {face: any; data: any; x?: number; y?: number; mipmapLevel?: number}): any;
13
- setCubeMapImageData(options: {
14
- width: any;
15
- height: any;
16
- pixels: any;
17
- data: any;
18
- border?: number;
19
- format?: any;
20
- type?: any;
21
- }): Promise<void>;
22
- setImageDataForFace(options: any): this;
23
- }
@@ -1,80 +0,0 @@
1
- import Resource, {ResourceProps} from './resource';
2
-
3
- export type TextureProps = ResourceProps & {
4
- data?: any;
5
- width?: number;
6
- height?: number;
7
- depth?: number;
8
-
9
- pixels?: any;
10
- format?: number;
11
- dataFormat?: number;
12
- border?: number;
13
- recreate?: boolean;
14
- type?: number;
15
- compressed?: boolean;
16
- mipmaps?: boolean;
17
-
18
- parameters?: object;
19
- pixelStore?: object;
20
- textureUnit?: number;
21
- }
22
-
23
- export default class Texture extends Resource {
24
- static isSupported(
25
- gl: WebGLRenderingContext,
26
- options?: {
27
- format: any;
28
- linearFiltering: any;
29
- }
30
- ): boolean;
31
-
32
- readonly width: number;
33
- readonly height: number;
34
- readonly depth: number;
35
- readonly target: any;
36
-
37
- readonly MAX_ATTRIBUTES: number;
38
-
39
- constructor(gl: WebGLRenderingContext, props: any);
40
- toString(): string;
41
- initialize(props?: {}): this | void;
42
- resize(options: {height: any; width: any; mipmaps?: boolean}): this;
43
- generateMipmap(params?: {}): this;
44
- setImageData(options: any): this;
45
-
46
- /**
47
- * Redefines an area of an existing texture
48
- * Note: does not allocate storage
49
- */
50
- setSubImageData(options: {
51
- target?: any;
52
- pixels?: any;
53
- data?: any;
54
- x?: number;
55
- y?: number;
56
- width?: any;
57
- height?: any;
58
- level?: number;
59
- format?: any;
60
- type?: any;
61
- dataFormat?: any;
62
- compressed?: boolean;
63
- offset?: number;
64
- border?: any;
65
- parameters?: {};
66
- }): void;
67
-
68
- /**
69
- * Defines a two-dimensional texture image or cube-map texture image with
70
- * pixels from the current framebuffer (rather than from client memory).
71
- * (gl.copyTexImage2D wrapper)
72
- *
73
- * Note that binding a texture into a Framebuffer's color buffer and
74
- * rendering can be faster.
75
- */
76
- copyFramebuffer(opts?: {}): any;
77
- getActiveUnit(): number;
78
- bind(textureUnit?: any): any;
79
- unbind(textureUnit?: any): any;
80
- }
@@ -1,16 +0,0 @@
1
- import Resource, {ResourceProps} from './resource';
2
-
3
- export type TransformFeedbackProps = ResourceProps & {
4
- [key: string]: any;
5
- };
6
- export default class TransformFeedback extends Resource {
7
- static isSupported(gl: WebGLRenderingContext): boolean;
8
-
9
- constructor(gl: WebGLRenderingContext, props?: TransformFeedbackProps);
10
- initialize(props?: TransformFeedbackProps): this;
11
- setProps(props: TransformFeedbackProps): void;
12
- setBuffers(buffers?: {}): this;
13
- setBuffer(locationOrName: any, bufferOrParams: any): this;
14
- begin(primitiveMode?: any): this;
15
- end(): this;
16
- }
@@ -1,18 +0,0 @@
1
- /**
2
- * Std140 layout for uniforms
3
- */
4
- export default class UniformBufferLayout {
5
- constructor(layout: any);
6
- getBytes(): number;
7
- getData(): any;
8
- getSubData(
9
- index: any
10
- ): {
11
- data: any;
12
- offset: any;
13
- };
14
- setUniforms(values: any): this;
15
- _setValue(key: any, value: any): void;
16
- _addUniform(key: any, uniformType: any): void;
17
- _alignTo(size: any, count: any): any;
18
- }
@@ -1,63 +0,0 @@
1
- import {Matrix4} from '@math.gl/core';
2
- import Buffer from './buffer';
3
- import Framebuffer from './framebuffer';
4
- import Texture from './texture'
5
-
6
-
7
- interface NumberUniformDefinition {
8
- type: 'number'
9
- value: number
10
- min: number
11
- max: number
12
- }
13
-
14
- interface BooleanUniformDefinition {
15
- type: 'boolean'
16
- value: boolean
17
- }
18
-
19
- interface ArrayUniformDefinition {
20
- type: 'array'
21
- value: Array<any>
22
- }
23
-
24
- interface ObjectUniformDefinition {
25
- type: 'object'
26
- value: Object
27
- }
28
-
29
- type UniformDefinition = NumberUniformDefinition |
30
- BooleanUniformDefinition |
31
- ArrayUniformDefinition |
32
- ObjectUniformDefinition
33
-
34
- // https://luma.gl/docs/developer-guide/shader-modules#getuniforms
35
- interface UniformsOptions {
36
- [uniformName: string]: UniformDefinition
37
- }
38
-
39
- type Uniform = UniformDefinition |
40
- Buffer | (() => Buffer) | Framebuffer |
41
- Texture |
42
- Matrix4 | // TODO: which other math.gl classes?
43
- number | [number, number] | [number, number, number] | [number, number, number, number]
44
-
45
- interface Uniforms {
46
- [uniformName: string]: Uniform
47
- }
48
-
49
- // Returns a Magic Uniform Setter
50
- export function getUniformSetter(gl: WebGLRenderingContext, location: number, info: object): any;
51
-
52
- export function parseUniformName(name: string): {name: string; isArray: boolean};
53
-
54
- /**
55
- * Basic checks of uniform values (with or without knowledge of program)
56
- * To facilitate early detection of e.g. undefined values in JavaScript
57
- */
58
- export function checkUniformValues(uniforms: object, source?: string, uniformMap?: object): boolean;
59
-
60
- /**
61
- * Creates a copy of the uniform
62
- */
63
- export function copyUniform(uniforms: object, key: string, value: any): void;
@@ -1,25 +0,0 @@
1
- import Resource, {ResourceProps} from './resource';
2
-
3
- export type VertexArrayObjectProps = ResourceProps & object;
4
-
5
- export default class VertexArrayObject extends Resource {
6
- static isSupported(gl: WebGLRenderingContext, options?: VertexArrayObjectProps): boolean;
7
- static getDefaultArray(gl: WebGLRenderingContext): any;
8
- static getMaxAttributes(gl: WebGLRenderingContext): any;
9
- static setConstant(gl: WebGLRenderingContext, location: any, array: any): void;
10
-
11
- get MAX_ATTRIBUTES(): any;
12
-
13
- constructor(gl: WebGLRenderingContext, opts?: VertexArrayObjectProps);
14
- delete(): this;
15
-
16
- initialize(props?: {}): this;
17
- setProps(props: any): this;
18
- setElementBuffer(elementBuffer?: any, opts?: {}): this;
19
- setBuffer(location: any, buffer: any, accessor: any): this;
20
- enable(location: any, enable?: boolean): this;
21
- getConstantBuffer(elementCount: any, value: any): any;
22
-
23
- // PRIVATE
24
- // _normalizeConstantArrayValue(arrayValue);
25
- }