gl-transitions 1.74.0 → 1.76.0

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 (389) hide show
  1. package/README.md +78 -0
  2. package/compatibility.json +2070 -0
  3. package/glsl3/AdvancedMosaic.glsl +21 -0
  4. package/glsl3/BlockDissolve.glsl +16 -0
  5. package/glsl3/BookFlip.glsl +37 -0
  6. package/glsl3/Bounce.glsl +35 -0
  7. package/glsl3/BowTieHorizontal.glsl +123 -0
  8. package/glsl3/BowTieVertical.glsl +117 -0
  9. package/glsl3/BowTieWithParameter.glsl +74 -0
  10. package/glsl3/Box.glsl +33 -0
  11. package/glsl3/ButterflyWaveScrawler.glsl +33 -0
  12. package/glsl3/CircleCrop.glsl +20 -0
  13. package/glsl3/ColourDistance.glsl +19 -0
  14. package/glsl3/CrazyParametricFun.glsl +20 -0
  15. package/glsl3/CrossZoom.glsl +68 -0
  16. package/glsl3/DefocusBlur.glsl +47 -0
  17. package/glsl3/Directional.glsl +18 -0
  18. package/glsl3/DirectionalScaled.glsl +35 -0
  19. package/glsl3/DoomScreenTransition.glsl +62 -0
  20. package/glsl3/Dreamy.glsl +14 -0
  21. package/glsl3/DreamyZoom.glsl +43 -0
  22. package/glsl3/Drop_Zone_Flicker.glsl +159 -0
  23. package/glsl3/EdgeTransition.glsl +50 -0
  24. package/glsl3/FilmBurn.glsl +63 -0
  25. package/glsl3/Fold.glsl +12 -0
  26. package/glsl3/GlitchDisplace.glsl +78 -0
  27. package/glsl3/GlitchMemories.glsl +17 -0
  28. package/glsl3/GridFlip.glsl +77 -0
  29. package/glsl3/HSVfade.glsl +29 -0
  30. package/glsl3/HorizontalClose.glsl +16 -0
  31. package/glsl3/HorizontalOpen.glsl +18 -0
  32. package/glsl3/InvertedPageCurl.glsl +228 -0
  33. package/glsl3/LeftRight.glsl +28 -0
  34. package/glsl3/LinearBlur.glsl +30 -0
  35. package/glsl3/Mosaic.glsl +45 -0
  36. package/glsl3/Overexposure.glsl +25 -0
  37. package/glsl3/PolkaDotsCurtain.glsl +14 -0
  38. package/glsl3/PuzzleRight.glsl +57 -0
  39. package/glsl3/Radial.glsl +19 -0
  40. package/glsl3/Rectangle.glsl +29 -0
  41. package/glsl3/RectangleCrop.glsl +30 -0
  42. package/glsl3/Revolve_Left.glsl +98 -0
  43. package/glsl3/Rolls.glsl +42 -0
  44. package/glsl3/RotateScaleVanish.glsl +42 -0
  45. package/glsl3/SimpleFlip.glsl +14 -0
  46. package/glsl3/SimpleZoom.glsl +20 -0
  47. package/glsl3/SimpleZoomOut.glsl +23 -0
  48. package/glsl3/Slides.glsl +41 -0
  49. package/glsl3/StarWipe.glsl +51 -0
  50. package/glsl3/StaticFade.glsl +47 -0
  51. package/glsl3/StereoViewer.glsl +214 -0
  52. package/glsl3/StripDatamoshGlitch.glsl +187 -0
  53. package/glsl3/Swirl.glsl +34 -0
  54. package/glsl3/TVStatic.glsl +29 -0
  55. package/glsl3/TilesWave.glsl +63 -0
  56. package/glsl3/TopBottom.glsl +27 -0
  57. package/glsl3/VerticalClose.glsl +16 -0
  58. package/glsl3/VerticalOpen.glsl +17 -0
  59. package/glsl3/WaterDrop.glsl +21 -0
  60. package/glsl3/ZoomInCircles.glsl +40 -0
  61. package/glsl3/ZoomLeftWipe.glsl +36 -0
  62. package/glsl3/ZoomRigthWipe.glsl +36 -0
  63. package/glsl3/angular.glsl +25 -0
  64. package/glsl3/burn.glsl +14 -0
  65. package/glsl3/burn0.glsl +55 -0
  66. package/glsl3/cannabisleaf.glsl +18 -0
  67. package/glsl3/chessboard.glsl +28 -0
  68. package/glsl3/circle.glsl +24 -0
  69. package/glsl3/circleopen.glsl +18 -0
  70. package/glsl3/colorphase.glsl +19 -0
  71. package/glsl3/coord-from-in.glsl +18 -0
  72. package/glsl3/crosshatch.glsl +20 -0
  73. package/glsl3/crosswarp.glsl +10 -0
  74. package/glsl3/cube.glsl +71 -0
  75. package/glsl3/directional-easing.glsl +19 -0
  76. package/glsl3/directionalwarp.glsl +20 -0
  77. package/glsl3/directionalwipe.glsl +22 -0
  78. package/glsl3/displacement.glsl +26 -0
  79. package/glsl3/dissolve.glsl +54 -0
  80. package/glsl3/doorway.glsl +55 -0
  81. package/glsl3/fade.glsl +13 -0
  82. package/glsl3/fadecolor.glsl +15 -0
  83. package/glsl3/fadegrayscale.glsl +21 -0
  84. package/glsl3/flyeye.glsl +20 -0
  85. package/glsl3/fragment.glsl +54 -0
  86. package/glsl3/heart.glsl +19 -0
  87. package/glsl3/hexagonalize.glsl +78 -0
  88. package/glsl3/kaleidoscope.glsl +25 -0
  89. package/glsl3/luma.glsl +15 -0
  90. package/glsl3/luminance_melt.glsl +131 -0
  91. package/glsl3/morph.glsl +20 -0
  92. package/glsl3/mosaic_transition.glsl +20 -0
  93. package/glsl3/multiply_blend.glsl +19 -0
  94. package/glsl3/old_tv_lost_signal.glsl +51 -0
  95. package/glsl3/parametric_glitch.glsl +29 -0
  96. package/glsl3/perlin.glsl +66 -0
  97. package/glsl3/pinwheel.glsl +20 -0
  98. package/glsl3/pixelize.glsl +21 -0
  99. package/glsl3/polar_function.glsl +24 -0
  100. package/glsl3/powerKaleido.glsl +57 -0
  101. package/glsl3/randomNoisex.glsl +15 -0
  102. package/glsl3/randomsquares.glsl +20 -0
  103. package/glsl3/ripple.glsl +20 -0
  104. package/glsl3/rotateTransition.glsl +22 -0
  105. package/glsl3/rotate_scale_fade.glsl +39 -0
  106. package/glsl3/scale-in.glsl +18 -0
  107. package/glsl3/splitSlideInHorizontal.glsl +26 -0
  108. package/glsl3/splitSlideInOutHorizontal.glsl +23 -0
  109. package/glsl3/splitSlideInOutVertical.glsl +23 -0
  110. package/glsl3/splitSlideInVertical.glsl +24 -0
  111. package/glsl3/splitSlideOutHorizontal.glsl +22 -0
  112. package/glsl3/splitSlideOutVertical.glsl +22 -0
  113. package/glsl3/squareswire.glsl +26 -0
  114. package/glsl3/squeeze.glsl +23 -0
  115. package/glsl3/static_wipe.glsl +39 -0
  116. package/glsl3/swap.glsl +64 -0
  117. package/glsl3/tangentMotionBlur.glsl +139 -0
  118. package/glsl3/undulatingBurnOut.glsl +56 -0
  119. package/glsl3/wind.glsl +25 -0
  120. package/glsl3/windowblinds.glsl +18 -0
  121. package/glsl3/windowslice.glsl +16 -0
  122. package/glsl3/wipeDown.glsl +12 -0
  123. package/glsl3/wipeLeft.glsl +12 -0
  124. package/glsl3/wipeRight.glsl +12 -0
  125. package/glsl3/wipeUp.glsl +12 -0
  126. package/glsl3/x_axis_translation.glsl +21 -0
  127. package/glsl3/zoomInOut.glsl +20 -0
  128. package/index.d.ts +61 -0
  129. package/layouts.json +2956 -0
  130. package/llms-full.txt +1707 -0
  131. package/llms.txt +153 -0
  132. package/msl/AdvancedMosaic.metal +136 -0
  133. package/msl/BlockDissolve.metal +108 -0
  134. package/msl/BookFlip.metal +191 -0
  135. package/msl/Bounce.metal +128 -0
  136. package/msl/BowTieHorizontal.metal +375 -0
  137. package/msl/BowTieVertical.metal +375 -0
  138. package/msl/BowTieWithParameter.metal +361 -0
  139. package/msl/Box.metal +204 -0
  140. package/msl/ButterflyWaveScrawler.metal +190 -0
  141. package/msl/CircleCrop.metal +117 -0
  142. package/msl/ColourDistance.metal +110 -0
  143. package/msl/CrazyParametricFun.metal +139 -0
  144. package/msl/CrossZoom.metal +274 -0
  145. package/msl/DefocusBlur.metal +297 -0
  146. package/msl/Directional.metal +107 -0
  147. package/msl/DirectionalScaled.metal +147 -0
  148. package/msl/DoomScreenTransition.metal +212 -0
  149. package/msl/Dreamy.metal +133 -0
  150. package/msl/DreamyZoom.metal +182 -0
  151. package/msl/Drop_Zone_Flicker.metal +561 -0
  152. package/msl/EdgeTransition.metal +277 -0
  153. package/msl/FilmBurn.metal +425 -0
  154. package/msl/Fold.metal +110 -0
  155. package/msl/GlitchDisplace.metal +374 -0
  156. package/msl/GlitchMemories.metal +146 -0
  157. package/msl/GridFlip.metal +285 -0
  158. package/msl/HSVfade.metal +161 -0
  159. package/msl/HorizontalClose.metal +100 -0
  160. package/msl/HorizontalOpen.metal +103 -0
  161. package/msl/InvertedPageCurl.metal +762 -0
  162. package/msl/LeftRight.metal +138 -0
  163. package/msl/LinearBlur.metal +169 -0
  164. package/msl/Mosaic.metal +212 -0
  165. package/msl/Overexposure.metal +130 -0
  166. package/msl/PolkaDotsCurtain.metal +112 -0
  167. package/msl/PuzzleRight.metal +262 -0
  168. package/msl/Radial.metal +102 -0
  169. package/msl/Rectangle.metal +129 -0
  170. package/msl/RectangleCrop.metal +127 -0
  171. package/msl/Revolve_Left.metal +363 -0
  172. package/msl/Rolls.metal +209 -0
  173. package/msl/RotateScaleVanish.metal +227 -0
  174. package/msl/SimpleFlip.metal +110 -0
  175. package/msl/SimpleZoom.metal +116 -0
  176. package/msl/SimpleZoomOut.metal +127 -0
  177. package/msl/Slides.metal +244 -0
  178. package/msl/StarWipe.metal +204 -0
  179. package/msl/StaticFade.metal +193 -0
  180. package/msl/StereoViewer.metal +707 -0
  181. package/msl/StripDatamoshGlitch.metal +828 -0
  182. package/msl/Swirl.metal +152 -0
  183. package/msl/TVStatic.metal +136 -0
  184. package/msl/TilesWave.metal +290 -0
  185. package/msl/TopBottom.metal +138 -0
  186. package/msl/VerticalClose.metal +100 -0
  187. package/msl/VerticalOpen.metal +103 -0
  188. package/msl/WaterDrop.metal +126 -0
  189. package/msl/ZoomInCircles.metal +169 -0
  190. package/msl/ZoomLeftWipe.metal +152 -0
  191. package/msl/ZoomRigthWipe.metal +152 -0
  192. package/msl/angular.metal +111 -0
  193. package/msl/burn.metal +103 -0
  194. package/msl/burn0.metal +236 -0
  195. package/msl/cannabisleaf.metal +120 -0
  196. package/msl/chessboard.metal +144 -0
  197. package/msl/circle.metal +115 -0
  198. package/msl/circleopen.metal +124 -0
  199. package/msl/colorphase.metal +106 -0
  200. package/msl/coord-from-in.metal +111 -0
  201. package/msl/crosshatch.metal +126 -0
  202. package/msl/crosswarp.metal +103 -0
  203. package/msl/cube.metal +259 -0
  204. package/msl/directional-easing.metal +111 -0
  205. package/msl/directionalwarp.metal +121 -0
  206. package/msl/directionalwipe.metal +120 -0
  207. package/msl/displacement.metal +129 -0
  208. package/msl/dissolve.metal +146 -0
  209. package/msl/doorway.metal +210 -0
  210. package/msl/fade.metal +95 -0
  211. package/msl/fadecolor.metal +104 -0
  212. package/msl/fadegrayscale.metal +123 -0
  213. package/msl/flyeye.metal +133 -0
  214. package/msl/fragment.metal +276 -0
  215. package/msl/heart.metal +134 -0
  216. package/msl/hexagonalize.metal +274 -0
  217. package/msl/kaleidoscope.metal +157 -0
  218. package/msl/luma.metal +113 -0
  219. package/msl/luminance_melt.metal +337 -0
  220. package/msl/morph.metal +131 -0
  221. package/msl/mosaic_transition.metal +137 -0
  222. package/msl/multiply_blend.metal +127 -0
  223. package/msl/old_tv_lost_signal.metal +172 -0
  224. package/msl/parametric_glitch.metal +152 -0
  225. package/msl/perlin.metal +206 -0
  226. package/msl/pinwheel.metal +112 -0
  227. package/msl/pixelize.metal +134 -0
  228. package/msl/polar_function.metal +116 -0
  229. package/msl/powerKaleido.metal +304 -0
  230. package/msl/randomNoisex.metal +115 -0
  231. package/msl/randomsquares.metal +118 -0
  232. package/msl/ripple.metal +113 -0
  233. package/msl/rotateTransition.metal +116 -0
  234. package/msl/rotate_scale_fade.metal +167 -0
  235. package/msl/scale-in.metal +111 -0
  236. package/msl/splitSlideInHorizontal.metal +147 -0
  237. package/msl/splitSlideInOutHorizontal.metal +138 -0
  238. package/msl/splitSlideInOutVertical.metal +138 -0
  239. package/msl/splitSlideInVertical.metal +144 -0
  240. package/msl/splitSlideOutHorizontal.metal +131 -0
  241. package/msl/splitSlideOutVertical.metal +131 -0
  242. package/msl/squareswire.metal +144 -0
  243. package/msl/squeeze.metal +133 -0
  244. package/msl/static_wipe.metal +147 -0
  245. package/msl/swap.metal +256 -0
  246. package/msl/tangentMotionBlur.metal +583 -0
  247. package/msl/undulatingBurnOut.metal +217 -0
  248. package/msl/wind.metal +131 -0
  249. package/msl/windowblinds.metal +107 -0
  250. package/msl/windowslice.metal +108 -0
  251. package/msl/wipeDown.metal +105 -0
  252. package/msl/wipeLeft.metal +105 -0
  253. package/msl/wipeRight.metal +105 -0
  254. package/msl/wipeUp.metal +105 -0
  255. package/msl/x_axis_translation.metal +110 -0
  256. package/msl/zoomInOut.metal +125 -0
  257. package/package.json +1 -1
  258. package/skills/gl-transitions/SKILL.md +46 -0
  259. package/skills/gl-transitions/references/catalog.md +224 -0
  260. package/skills/gl-transitions/references/skia.md +118 -0
  261. package/skills/gl-transitions/references/video.md +71 -0
  262. package/skills/gl-transitions/references/webgl.md +122 -0
  263. package/sksl/index.d.ts +4 -0
  264. package/sksl/index.js +1 -0
  265. package/wgsl/AdvancedMosaic.wgsl +108 -0
  266. package/wgsl/BlockDissolve.wgsl +78 -0
  267. package/wgsl/BookFlip.wgsl +157 -0
  268. package/wgsl/Bounce.wgsl +98 -0
  269. package/wgsl/BowTieHorizontal.wgsl +331 -0
  270. package/wgsl/BowTieVertical.wgsl +331 -0
  271. package/wgsl/BowTieWithParameter.wgsl +313 -0
  272. package/wgsl/Box.wgsl +176 -0
  273. package/wgsl/ButterflyWaveScrawler.wgsl +158 -0
  274. package/wgsl/CircleCrop.wgsl +88 -0
  275. package/wgsl/ColourDistance.wgsl +82 -0
  276. package/wgsl/CrazyParametricFun.wgsl +111 -0
  277. package/wgsl/CrossZoom.wgsl +219 -0
  278. package/wgsl/DefocusBlur.wgsl +269 -0
  279. package/wgsl/Directional.wgsl +79 -0
  280. package/wgsl/DirectionalScaled.wgsl +117 -0
  281. package/wgsl/DoomScreenTransition.wgsl +171 -0
  282. package/wgsl/Dreamy.wgsl +102 -0
  283. package/wgsl/DreamyZoom.wgsl +154 -0
  284. package/wgsl/Drop_Zone_Flicker.wgsl +513 -0
  285. package/wgsl/EdgeTransition.wgsl +216 -0
  286. package/wgsl/FilmBurn.wgsl +361 -0
  287. package/wgsl/Fold.wgsl +82 -0
  288. package/wgsl/GlitchDisplace.wgsl +327 -0
  289. package/wgsl/GlitchMemories.wgsl +118 -0
  290. package/wgsl/GridFlip.wgsl +250 -0
  291. package/wgsl/HSVfade.wgsl +131 -0
  292. package/wgsl/HorizontalClose.wgsl +72 -0
  293. package/wgsl/HorizontalOpen.wgsl +75 -0
  294. package/wgsl/InvertedPageCurl.wgsl +690 -0
  295. package/wgsl/LeftRight.wgsl +109 -0
  296. package/wgsl/LinearBlur.wgsl +131 -0
  297. package/wgsl/Mosaic.wgsl +174 -0
  298. package/wgsl/Overexposure.wgsl +102 -0
  299. package/wgsl/PolkaDotsCurtain.wgsl +83 -0
  300. package/wgsl/PuzzleRight.wgsl +230 -0
  301. package/wgsl/Radial.wgsl +74 -0
  302. package/wgsl/Rectangle.wgsl +100 -0
  303. package/wgsl/RectangleCrop.wgsl +98 -0
  304. package/wgsl/Revolve_Left.wgsl +314 -0
  305. package/wgsl/Rolls.wgsl +181 -0
  306. package/wgsl/RotateScaleVanish.wgsl +199 -0
  307. package/wgsl/SimpleFlip.wgsl +82 -0
  308. package/wgsl/SimpleZoom.wgsl +85 -0
  309. package/wgsl/SimpleZoomOut.wgsl +96 -0
  310. package/wgsl/Slides.wgsl +216 -0
  311. package/wgsl/StarWipe.wgsl +169 -0
  312. package/wgsl/StaticFade.wgsl +159 -0
  313. package/wgsl/StereoViewer.wgsl +625 -0
  314. package/wgsl/StripDatamoshGlitch.wgsl +755 -0
  315. package/wgsl/Swirl.wgsl +124 -0
  316. package/wgsl/TVStatic.wgsl +106 -0
  317. package/wgsl/TilesWave.wgsl +262 -0
  318. package/wgsl/TopBottom.wgsl +109 -0
  319. package/wgsl/VerticalClose.wgsl +72 -0
  320. package/wgsl/VerticalOpen.wgsl +75 -0
  321. package/wgsl/WaterDrop.wgsl +98 -0
  322. package/wgsl/ZoomInCircles.wgsl +138 -0
  323. package/wgsl/ZoomLeftWipe.wgsl +121 -0
  324. package/wgsl/ZoomRigthWipe.wgsl +121 -0
  325. package/wgsl/angular.wgsl +83 -0
  326. package/wgsl/burn.wgsl +74 -0
  327. package/wgsl/burn0.wgsl +198 -0
  328. package/wgsl/cannabisleaf.wgsl +92 -0
  329. package/wgsl/chessboard.wgsl +116 -0
  330. package/wgsl/circle.wgsl +87 -0
  331. package/wgsl/circleopen.wgsl +96 -0
  332. package/wgsl/colorphase.wgsl +77 -0
  333. package/wgsl/coord-from-in.wgsl +83 -0
  334. package/wgsl/crosshatch.wgsl +96 -0
  335. package/wgsl/crosswarp.wgsl +75 -0
  336. package/wgsl/cube.wgsl +217 -0
  337. package/wgsl/directional-easing.wgsl +83 -0
  338. package/wgsl/directionalwarp.wgsl +92 -0
  339. package/wgsl/directionalwipe.wgsl +91 -0
  340. package/wgsl/displacement.wgsl +96 -0
  341. package/wgsl/dissolve.wgsl +116 -0
  342. package/wgsl/doorway.wgsl +174 -0
  343. package/wgsl/fade.wgsl +67 -0
  344. package/wgsl/fadecolor.wgsl +75 -0
  345. package/wgsl/fadegrayscale.wgsl +93 -0
  346. package/wgsl/flyeye.wgsl +105 -0
  347. package/wgsl/fragment.wgsl +227 -0
  348. package/wgsl/heart.wgsl +103 -0
  349. package/wgsl/hexagonalize.wgsl +238 -0
  350. package/wgsl/kaleidoscope.wgsl +124 -0
  351. package/wgsl/luma.wgsl +80 -0
  352. package/wgsl/luminance_melt.wgsl +299 -0
  353. package/wgsl/morph.wgsl +103 -0
  354. package/wgsl/mosaic_transition.wgsl +107 -0
  355. package/wgsl/multiply_blend.wgsl +96 -0
  356. package/wgsl/old_tv_lost_signal.wgsl +142 -0
  357. package/wgsl/parametric_glitch.wgsl +124 -0
  358. package/wgsl/perlin.wgsl +174 -0
  359. package/wgsl/pinwheel.wgsl +84 -0
  360. package/wgsl/pixelize.wgsl +105 -0
  361. package/wgsl/polar_function.wgsl +88 -0
  362. package/wgsl/powerKaleido.wgsl +254 -0
  363. package/wgsl/randomNoisex.wgsl +85 -0
  364. package/wgsl/randomsquares.wgsl +87 -0
  365. package/wgsl/ripple.wgsl +85 -0
  366. package/wgsl/rotateTransition.wgsl +85 -0
  367. package/wgsl/rotate_scale_fade.wgsl +138 -0
  368. package/wgsl/scale-in.wgsl +79 -0
  369. package/wgsl/splitSlideInHorizontal.wgsl +118 -0
  370. package/wgsl/splitSlideInOutHorizontal.wgsl +109 -0
  371. package/wgsl/splitSlideInOutVertical.wgsl +109 -0
  372. package/wgsl/splitSlideInVertical.wgsl +115 -0
  373. package/wgsl/splitSlideOutHorizontal.wgsl +102 -0
  374. package/wgsl/splitSlideOutVertical.wgsl +102 -0
  375. package/wgsl/squareswire.wgsl +115 -0
  376. package/wgsl/squeeze.wgsl +105 -0
  377. package/wgsl/static_wipe.wgsl +117 -0
  378. package/wgsl/swap.wgsl +218 -0
  379. package/wgsl/tangentMotionBlur.wgsl +503 -0
  380. package/wgsl/undulatingBurnOut.wgsl +181 -0
  381. package/wgsl/wind.wgsl +101 -0
  382. package/wgsl/windowblinds.wgsl +79 -0
  383. package/wgsl/windowslice.wgsl +80 -0
  384. package/wgsl/wipeDown.wgsl +77 -0
  385. package/wgsl/wipeLeft.wgsl +77 -0
  386. package/wgsl/wipeRight.wgsl +77 -0
  387. package/wgsl/wipeUp.wgsl +77 -0
  388. package/wgsl/x_axis_translation.wgsl +82 -0
  389. package/wgsl/zoomInOut.wgsl +94 -0
@@ -0,0 +1,238 @@
1
+ // hexagonalize — WGSL, generated from https://github.com/gl-transitions/gl-transitions/blob/master/transitions/hexagonalize.glsl
2
+ // Author: Fernando Kuteken
3
+ // License: MIT
4
+ // Description: Both images turn into hexagons, crossfade, then sharpen again
5
+ // Bindings and uniform layout: see the gl-transitions package README
6
+
7
+ struct Hexagon {
8
+ q: f32,
9
+ r: f32,
10
+ s: f32,
11
+ }
12
+
13
+ struct Uniforms {
14
+ progress: f32,
15
+ ratio: f32,
16
+ steps: i32,
17
+ horizontalHexagons: f32,
18
+ }
19
+
20
+ @group(0) @binding(2)
21
+ var _from: texture_2d<f32>;
22
+ @group(0) @binding(1)
23
+ var _sampler: sampler;
24
+ @group(0) @binding(3)
25
+ var _to: texture_2d<f32>;
26
+ @group(0) @binding(0)
27
+ var<uniform> uniforms: Uniforms;
28
+ var<private> _fragColor: vec4<f32>;
29
+ var<private> _uv_1: vec2<f32>;
30
+
31
+ fn getToColor(uv: ptr<function, vec2<f32>>) -> vec4<f32> {
32
+ let _e24 = (*uv)[0u];
33
+ let _e26 = (*uv)[1u];
34
+ let _e29 = textureSampleLevel(_to, _sampler, vec2<f32>(_e24, (1f - _e26)), 0f);
35
+ return _e29;
36
+ }
37
+
38
+ fn getFromColor(uv_1: ptr<function, vec2<f32>>) -> vec4<f32> {
39
+ let _e24 = (*uv_1)[0u];
40
+ let _e26 = (*uv_1)[1u];
41
+ let _e29 = textureSampleLevel(_from, _sampler, vec2<f32>(_e24, (1f - _e26)), 0f);
42
+ return _e29;
43
+ }
44
+
45
+ fn pointFromHexagon(hex: ptr<function, Hexagon>, size: ptr<function, f32>) -> vec2<f32> {
46
+ var x: f32;
47
+ var y: f32;
48
+
49
+ let _e27 = (*hex).q;
50
+ let _e30 = (*hex).r;
51
+ let _e33 = (*size);
52
+ x = ((((1.7320508f * _e27) + (0.8660254f * _e30)) * _e33) + 0.5f);
53
+ let _e37 = (*hex).q;
54
+ let _e40 = (*hex).r;
55
+ let _e43 = (*size);
56
+ y = ((((0f * _e37) + (1.5f * _e40)) * _e43) + 0.5f);
57
+ let _e46 = x;
58
+ let _e47 = y;
59
+ let _e49 = uniforms.ratio;
60
+ return vec2<f32>(_e46, (_e47 * _e49));
61
+ }
62
+
63
+ fn createHexagon(q: ptr<function, f32>, r: ptr<function, f32>) -> Hexagon {
64
+ var hex_1: Hexagon;
65
+
66
+ let _e25 = (*q);
67
+ hex_1.q = _e25;
68
+ let _e27 = (*r);
69
+ hex_1.r = _e27;
70
+ let _e29 = (*q);
71
+ let _e31 = (*r);
72
+ hex_1.s = (-(_e29) - _e31);
73
+ let _e34 = hex_1;
74
+ return _e34;
75
+ }
76
+
77
+ fn roundHexagon(hex_2: ptr<function, Hexagon>) -> Hexagon {
78
+ var q_1: f32;
79
+ var r_1: f32;
80
+ var s: f32;
81
+ var deltaQ: f32;
82
+ var deltaR: f32;
83
+ var deltaS: f32;
84
+ var param: f32;
85
+ var param_1: f32;
86
+
87
+ let _e32 = (*hex_2).q;
88
+ q_1 = floor((_e32 + 0.5f));
89
+ let _e36 = (*hex_2).r;
90
+ r_1 = floor((_e36 + 0.5f));
91
+ let _e40 = (*hex_2).s;
92
+ s = floor((_e40 + 0.5f));
93
+ let _e43 = q_1;
94
+ let _e45 = (*hex_2).q;
95
+ deltaQ = abs((_e43 - _e45));
96
+ let _e48 = r_1;
97
+ let _e50 = (*hex_2).r;
98
+ deltaR = abs((_e48 - _e50));
99
+ let _e53 = s;
100
+ let _e55 = (*hex_2).s;
101
+ deltaS = abs((_e53 - _e55));
102
+ let _e58 = deltaQ;
103
+ let _e59 = deltaR;
104
+ let _e61 = deltaQ;
105
+ let _e62 = deltaS;
106
+ if ((_e58 > _e59) && (_e61 > _e62)) {
107
+ let _e65 = r_1;
108
+ let _e67 = s;
109
+ q_1 = (-(_e65) - _e67);
110
+ } else {
111
+ let _e69 = deltaR;
112
+ let _e70 = deltaS;
113
+ if (_e69 > _e70) {
114
+ let _e72 = q_1;
115
+ let _e74 = s;
116
+ r_1 = (-(_e72) - _e74);
117
+ } else {
118
+ let _e76 = q_1;
119
+ let _e78 = r_1;
120
+ s = (-(_e76) - _e78);
121
+ }
122
+ }
123
+ let _e80 = q_1;
124
+ param = _e80;
125
+ let _e81 = r_1;
126
+ param_1 = _e81;
127
+ let _e82 = createHexagon((&param), (&param_1));
128
+ return _e82;
129
+ }
130
+
131
+ fn hexagonFromPoint(point: ptr<function, vec2<f32>>, size_1: ptr<function, f32>) -> Hexagon {
132
+ var q_2: f32;
133
+ var r_2: f32;
134
+ var hex_3: Hexagon;
135
+ var param_2: f32;
136
+ var param_3: f32;
137
+ var param_4: Hexagon;
138
+
139
+ let _e31 = uniforms.ratio;
140
+ let _e33 = (*point)[1u];
141
+ (*point)[1u] = (_e33 / _e31);
142
+ let _e36 = (*point);
143
+ let _e39 = (*size_1);
144
+ (*point) = ((_e36 - vec2(0.5f)) / vec2(_e39));
145
+ let _e43 = (*point)[0u];
146
+ let _e46 = (*point)[1u];
147
+ q_2 = ((0.57735026f * _e43) + (-0.33333334f * _e46));
148
+ let _e50 = (*point)[0u];
149
+ let _e53 = (*point)[1u];
150
+ r_2 = ((0f * _e50) + (0.6666667f * _e53));
151
+ let _e56 = q_2;
152
+ param_2 = _e56;
153
+ let _e57 = r_2;
154
+ param_3 = _e57;
155
+ let _e58 = createHexagon((&param_2), (&param_3));
156
+ hex_3 = _e58;
157
+ let _e59 = hex_3;
158
+ param_4 = _e59;
159
+ let _e60 = roundHexagon((&param_4));
160
+ return _e60;
161
+ }
162
+
163
+ fn transition(uv_2: ptr<function, vec2<f32>>) -> vec4<f32> {
164
+ var dist: f32;
165
+ var local: f32;
166
+ var size_2: f32;
167
+ var point_1: vec2<f32>;
168
+ var local_1: vec2<f32>;
169
+ var param_5: vec2<f32>;
170
+ var param_6: f32;
171
+ var param_7: Hexagon;
172
+ var param_8: f32;
173
+ var param_9: vec2<f32>;
174
+ var param_10: vec2<f32>;
175
+
176
+ let _e35 = uniforms.progress;
177
+ let _e37 = uniforms.progress;
178
+ dist = (2f * min(_e35, (1f - _e37)));
179
+ let _e42 = uniforms.steps;
180
+ if (_e42 > 0i) {
181
+ let _e44 = dist;
182
+ let _e46 = uniforms.steps;
183
+ let _e51 = uniforms.steps;
184
+ local = (ceil((_e44 * f32(_e46))) / f32(_e51));
185
+ } else {
186
+ let _e54 = dist;
187
+ local = _e54;
188
+ }
189
+ let _e55 = local;
190
+ dist = _e55;
191
+ let _e56 = dist;
192
+ let _e59 = uniforms.horizontalHexagons;
193
+ size_2 = ((0.57735026f * _e56) / _e59);
194
+ let _e61 = dist;
195
+ if (_e61 > 0f) {
196
+ let _e63 = (*uv_2);
197
+ param_5 = _e63;
198
+ let _e64 = size_2;
199
+ param_6 = _e64;
200
+ let _e65 = hexagonFromPoint((&param_5), (&param_6));
201
+ param_7 = _e65;
202
+ let _e66 = size_2;
203
+ param_8 = _e66;
204
+ let _e67 = pointFromHexagon((&param_7), (&param_8));
205
+ local_1 = _e67;
206
+ } else {
207
+ let _e68 = (*uv_2);
208
+ local_1 = _e68;
209
+ }
210
+ let _e69 = local_1;
211
+ point_1 = _e69;
212
+ let _e70 = point_1;
213
+ param_9 = _e70;
214
+ let _e71 = getFromColor((&param_9));
215
+ let _e72 = point_1;
216
+ param_10 = _e72;
217
+ let _e73 = getToColor((&param_10));
218
+ let _e75 = uniforms.progress;
219
+ return mix(_e71, _e73, vec4(_e75));
220
+ }
221
+
222
+ fn main_1() {
223
+ var param_11: vec2<f32>;
224
+
225
+ let _e23 = _uv_1;
226
+ param_11 = _e23;
227
+ let _e24 = transition((&param_11));
228
+ _fragColor = _e24;
229
+ return;
230
+ }
231
+
232
+ @fragment
233
+ fn main(@location(0) _uv: vec2<f32>) -> @location(0) vec4<f32> {
234
+ _uv_1 = _uv;
235
+ main_1();
236
+ let _e3 = _fragColor;
237
+ return _e3;
238
+ }
@@ -0,0 +1,124 @@
1
+ // kaleidoscope — WGSL, generated from https://github.com/gl-transitions/gl-transitions/blob/master/transitions/kaleidoscope.glsl
2
+ // Author: nwoeanhinnogaehr
3
+ // License: MIT
4
+ // Description: A crossfade through a spinning kaleidoscope
5
+ // Bindings and uniform layout: see the gl-transitions package README
6
+
7
+ struct Uniforms {
8
+ progress: f32,
9
+ ratio: f32,
10
+ speed: f32,
11
+ angle: f32,
12
+ power: f32,
13
+ }
14
+
15
+ @group(0) @binding(2)
16
+ var _from: texture_2d<f32>;
17
+ @group(0) @binding(1)
18
+ var _sampler: sampler;
19
+ @group(0) @binding(3)
20
+ var _to: texture_2d<f32>;
21
+ @group(0) @binding(0)
22
+ var<uniform> uniforms: Uniforms;
23
+ var<private> _fragColor: vec4<f32>;
24
+ var<private> _uv_1: vec2<f32>;
25
+
26
+ fn getToColor(uv: ptr<function, vec2<f32>>) -> vec4<f32> {
27
+ let _e21 = (*uv)[0u];
28
+ let _e23 = (*uv)[1u];
29
+ let _e26 = textureSampleLevel(_to, _sampler, vec2<f32>(_e21, (1f - _e23)), 0f);
30
+ return _e26;
31
+ }
32
+
33
+ fn getFromColor(uv_1: ptr<function, vec2<f32>>) -> vec4<f32> {
34
+ let _e21 = (*uv_1)[0u];
35
+ let _e23 = (*uv_1)[1u];
36
+ let _e26 = textureSampleLevel(_from, _sampler, vec2<f32>(_e21, (1f - _e23)), 0f);
37
+ return _e26;
38
+ }
39
+
40
+ fn transition(uv_2: ptr<function, vec2<f32>>) -> vec4<f32> {
41
+ var p: vec2<f32>;
42
+ var q: vec2<f32>;
43
+ var t: f32;
44
+ var i: i32;
45
+ var param: vec2<f32>;
46
+ var param_1: vec2<f32>;
47
+ var param_2: vec2<f32>;
48
+ var param_3: vec2<f32>;
49
+
50
+ let _e28 = (*uv_2);
51
+ p = (_e28 / vec2<f32>(1f, 1f));
52
+ let _e30 = p;
53
+ q = _e30;
54
+ let _e32 = uniforms.progress;
55
+ let _e34 = uniforms.power;
56
+ let _e37 = uniforms.speed;
57
+ t = (pow(_e32, _e34) * _e37);
58
+ let _e39 = p;
59
+ p = (_e39 - vec2(0.5f));
60
+ i = 0i;
61
+ loop {
62
+ let _e42 = i;
63
+ if (_e42 < 7i) {
64
+ let _e44 = t;
65
+ let _e47 = p[0u];
66
+ let _e49 = t;
67
+ let _e52 = p[1u];
68
+ let _e55 = t;
69
+ let _e58 = p[1u];
70
+ let _e60 = t;
71
+ let _e63 = p[0u];
72
+ p = vec2<f32>(((sin(_e44) * _e47) + (cos(_e49) * _e52)), ((sin(_e55) * _e58) - (cos(_e60) * _e63)));
73
+ let _e68 = uniforms.angle;
74
+ let _e69 = t;
75
+ t = (_e69 + _e68);
76
+ let _e71 = p;
77
+ let _e72 = vec2(2f);
78
+ p = abs(((_e71 - (floor((_e71 / _e72)) * _e72)) - vec2(1f)));
79
+ continue;
80
+ } else {
81
+ break;
82
+ }
83
+ continuing {
84
+ let _e80 = i;
85
+ i = (_e80 + 1i);
86
+ }
87
+ }
88
+ let _e82 = p;
89
+ let _e83 = vec2(1f);
90
+ let _e89 = q;
91
+ param = _e89;
92
+ let _e90 = getFromColor((&param));
93
+ let _e91 = q;
94
+ param_1 = _e91;
95
+ let _e92 = getToColor((&param_1));
96
+ let _e94 = uniforms.progress;
97
+ let _e97 = p;
98
+ param_2 = _e97;
99
+ let _e98 = getFromColor((&param_2));
100
+ let _e99 = p;
101
+ param_3 = _e99;
102
+ let _e100 = getToColor((&param_3));
103
+ let _e102 = uniforms.progress;
104
+ let _e106 = uniforms.progress;
105
+ return mix(mix(_e90, _e92, vec4(_e94)), mix(_e98, _e100, vec4(_e102)), vec4((1f - (2f * abs((_e106 - 0.5f))))));
106
+ }
107
+
108
+ fn main_1() {
109
+ var param_4: vec2<f32>;
110
+
111
+ let _e20 = _uv_1;
112
+ param_4 = _e20;
113
+ let _e21 = transition((&param_4));
114
+ _fragColor = _e21;
115
+ return;
116
+ }
117
+
118
+ @fragment
119
+ fn main(@location(0) _uv: vec2<f32>) -> @location(0) vec4<f32> {
120
+ _uv_1 = _uv;
121
+ main_1();
122
+ let _e3 = _fragColor;
123
+ return _e3;
124
+ }
package/wgsl/luma.wgsl ADDED
@@ -0,0 +1,80 @@
1
+ // luma — WGSL, generated from https://github.com/gl-transitions/gl-transitions/blob/master/transitions/luma.glsl
2
+ // Author: gre
3
+ // License: MIT
4
+ // Description: A wipe that follows the brightness of a grayscale mask (the luma texture)
5
+ // Bindings and uniform layout: see the gl-transitions package README
6
+
7
+ struct Uniforms {
8
+ progress: f32,
9
+ ratio: f32,
10
+ }
11
+
12
+ @group(0) @binding(2)
13
+ var _from: texture_2d<f32>;
14
+ @group(0) @binding(1)
15
+ var _sampler: sampler;
16
+ @group(0) @binding(3)
17
+ var _to: texture_2d<f32>;
18
+ @group(0) @binding(4)
19
+ var luma: texture_2d<f32>;
20
+ @group(0) @binding(0)
21
+ var<uniform> uniforms: Uniforms;
22
+ var<private> _fragColor: vec4<f32>;
23
+ var<private> _uv_1: vec2<f32>;
24
+
25
+ fn _texture_luma(uv: ptr<function, vec2<f32>>) -> vec4<f32> {
26
+ let _e14 = (*uv)[0u];
27
+ let _e16 = (*uv)[1u];
28
+ let _e19 = textureSampleLevel(luma, _sampler, vec2<f32>(_e14, (1f - _e16)), 0f);
29
+ return _e19;
30
+ }
31
+
32
+ fn getFromColor(uv_1: ptr<function, vec2<f32>>) -> vec4<f32> {
33
+ let _e14 = (*uv_1)[0u];
34
+ let _e16 = (*uv_1)[1u];
35
+ let _e19 = textureSampleLevel(_from, _sampler, vec2<f32>(_e14, (1f - _e16)), 0f);
36
+ return _e19;
37
+ }
38
+
39
+ fn getToColor(uv_2: ptr<function, vec2<f32>>) -> vec4<f32> {
40
+ let _e14 = (*uv_2)[0u];
41
+ let _e16 = (*uv_2)[1u];
42
+ let _e19 = textureSampleLevel(_to, _sampler, vec2<f32>(_e14, (1f - _e16)), 0f);
43
+ return _e19;
44
+ }
45
+
46
+ fn transition(uv_3: ptr<function, vec2<f32>>) -> vec4<f32> {
47
+ var param: vec2<f32>;
48
+ var param_1: vec2<f32>;
49
+ var param_2: vec2<f32>;
50
+
51
+ let _e16 = (*uv_3);
52
+ param = _e16;
53
+ let _e17 = getToColor((&param));
54
+ let _e18 = (*uv_3);
55
+ param_1 = _e18;
56
+ let _e19 = getFromColor((&param_1));
57
+ let _e21 = uniforms.progress;
58
+ let _e22 = (*uv_3);
59
+ param_2 = _e22;
60
+ let _e23 = _texture_luma((&param_2));
61
+ return mix(_e17, _e19, vec4(step(_e21, _e23.x)));
62
+ }
63
+
64
+ fn main_1() {
65
+ var param_3: vec2<f32>;
66
+
67
+ let _e13 = _uv_1;
68
+ param_3 = _e13;
69
+ let _e14 = transition((&param_3));
70
+ _fragColor = _e14;
71
+ return;
72
+ }
73
+
74
+ @fragment
75
+ fn main(@location(0) _uv: vec2<f32>) -> @location(0) vec4<f32> {
76
+ _uv_1 = _uv;
77
+ main_1();
78
+ let _e3 = _fragColor;
79
+ return _e3;
80
+ }