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,142 @@
1
+ // old_tv_lost_signal — WGSL, generated from https://github.com/gl-transitions/gl-transitions/blob/master/transitions/old_tv_lost_signal.glsl
2
+ // Author: mernking (gitlab.com/Godswork)
3
+ // License: MIT
4
+ // Description: A crossfade with drifting tracking lines and tearing, like a TV losing its signal
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(0)
19
+ var<uniform> uniforms: Uniforms;
20
+ var<private> _fragColor: vec4<f32>;
21
+ var<private> _uv_1: vec2<f32>;
22
+
23
+ fn hash(p: ptr<function, vec2<f32>>) -> f32 {
24
+ let _e26 = (*p);
25
+ return fract((sin(dot(_e26, vec2<f32>(127.1f, 311.7f))) * 43758.547f));
26
+ }
27
+
28
+ fn getToColor(uv: ptr<function, vec2<f32>>) -> vec4<f32> {
29
+ let _e27 = (*uv)[0u];
30
+ let _e29 = (*uv)[1u];
31
+ let _e32 = textureSampleLevel(_to, _sampler, vec2<f32>(_e27, (1f - _e29)), 0f);
32
+ return _e32;
33
+ }
34
+
35
+ fn getFromColor(uv_1: ptr<function, vec2<f32>>) -> vec4<f32> {
36
+ let _e27 = (*uv_1)[0u];
37
+ let _e29 = (*uv_1)[1u];
38
+ let _e32 = textureSampleLevel(_from, _sampler, vec2<f32>(_e27, (1f - _e29)), 0f);
39
+ return _e32;
40
+ }
41
+
42
+ fn transition(uv_2: ptr<function, vec2<f32>>) -> vec4<f32> {
43
+ var p_1: f32;
44
+ var strength: f32;
45
+ var tv: vec2<f32>;
46
+ var fromColor: vec4<f32>;
47
+ var param: vec2<f32>;
48
+ var toColor: vec4<f32>;
49
+ var param_1: vec2<f32>;
50
+ var color: vec4<f32>;
51
+ var lineY: f32;
52
+ var noise: f32;
53
+ var param_2: vec2<f32>;
54
+ var line: f32;
55
+ var drift: f32;
56
+ var shiftedFrom: vec4<f32>;
57
+ var param_3: vec2<f32>;
58
+ var shiftedTo: vec4<f32>;
59
+ var param_4: vec2<f32>;
60
+ var lineColor: vec4<f32>;
61
+ var scan: f32;
62
+
63
+ let _e46 = uniforms.progress;
64
+ p_1 = _e46;
65
+ let _e47 = p_1;
66
+ strength = sin((_e47 * 3.1415927f));
67
+ let _e50 = (*uv_2);
68
+ tv = _e50;
69
+ let _e51 = tv;
70
+ param = _e51;
71
+ let _e52 = getFromColor((&param));
72
+ fromColor = _e52;
73
+ let _e53 = tv;
74
+ param_1 = _e53;
75
+ let _e54 = getToColor((&param_1));
76
+ toColor = _e54;
77
+ let _e55 = fromColor;
78
+ let _e56 = toColor;
79
+ let _e57 = p_1;
80
+ color = mix(_e55, _e56, vec4(_e57));
81
+ let _e61 = tv[1u];
82
+ lineY = floor((_e61 * 120f));
83
+ let _e64 = lineY;
84
+ let _e65 = p_1;
85
+ param_2 = vec2<f32>(_e64, (_e65 * 20f));
86
+ let _e68 = hash((&param_2));
87
+ noise = _e68;
88
+ let _e69 = noise;
89
+ line = step(0.92f, _e69);
90
+ let _e72 = tv[1u];
91
+ let _e74 = p_1;
92
+ let _e79 = strength;
93
+ drift = ((sin(((_e72 * 30f) + (_e74 * 10f))) * 0.02f) * _e79);
94
+ let _e81 = tv;
95
+ let _e82 = drift;
96
+ param_3 = (_e81 + vec2<f32>(_e82, 0f));
97
+ let _e85 = getFromColor((&param_3));
98
+ shiftedFrom = _e85;
99
+ let _e86 = tv;
100
+ let _e87 = drift;
101
+ param_4 = (_e86 + vec2<f32>(_e87, 0f));
102
+ let _e90 = getToColor((&param_4));
103
+ shiftedTo = _e90;
104
+ let _e91 = shiftedFrom;
105
+ let _e92 = shiftedTo;
106
+ let _e93 = p_1;
107
+ lineColor = mix(_e91, _e92, vec4(_e93));
108
+ let _e96 = color;
109
+ let _e97 = lineColor;
110
+ let _e98 = line;
111
+ let _e99 = strength;
112
+ color = mix(_e96, _e97, vec4((_e98 * _e99)));
113
+ let _e104 = tv[1u];
114
+ scan = (sin((_e104 * 900f)) * 0.03f);
115
+ let _e108 = scan;
116
+ let _e109 = strength;
117
+ let _e111 = color;
118
+ let _e114 = (_e111.xyz - vec3((_e108 * _e109)));
119
+ color[0u] = _e114.x;
120
+ color[1u] = _e114.y;
121
+ color[2u] = _e114.z;
122
+ let _e121 = color;
123
+ return _e121;
124
+ }
125
+
126
+ fn main_1() {
127
+ var param_5: vec2<f32>;
128
+
129
+ let _e26 = _uv_1;
130
+ param_5 = _e26;
131
+ let _e27 = transition((&param_5));
132
+ _fragColor = _e27;
133
+ return;
134
+ }
135
+
136
+ @fragment
137
+ fn main(@location(0) _uv: vec2<f32>) -> @location(0) vec4<f32> {
138
+ _uv_1 = _uv;
139
+ main_1();
140
+ let _e3 = _fragColor;
141
+ return _e3;
142
+ }
@@ -0,0 +1,124 @@
1
+ // parametric_glitch — WGSL, generated from https://github.com/gl-transitions/gl-transitions/blob/master/transitions/parametric_glitch.glsl
2
+ // Author: Yoni Maltsman @friendlyspinach
3
+ // License: MIT
4
+ // Description: A crossfade with glitchy horizontal bands and color shifts
5
+ // Bindings and uniform layout: see the gl-transitions package README
6
+
7
+ struct Uniforms {
8
+ progress: f32,
9
+ ratio: f32,
10
+ ampx: f32,
11
+ ampy: f32,
12
+ }
13
+
14
+ @group(0) @binding(2)
15
+ var _from: texture_2d<f32>;
16
+ @group(0) @binding(1)
17
+ var _sampler: sampler;
18
+ @group(0) @binding(3)
19
+ var _to: 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 getToColor(uv: ptr<function, vec2<f32>>) -> vec4<f32> {
26
+ let _e17 = (*uv)[0u];
27
+ let _e19 = (*uv)[1u];
28
+ let _e22 = textureSampleLevel(_to, _sampler, vec2<f32>(_e17, (1f - _e19)), 0f);
29
+ return _e22;
30
+ }
31
+
32
+ fn getFromColor(uv_1: ptr<function, vec2<f32>>) -> vec4<f32> {
33
+ let _e17 = (*uv_1)[0u];
34
+ let _e19 = (*uv_1)[1u];
35
+ let _e22 = textureSampleLevel(_from, _sampler, vec2<f32>(_e17, (1f - _e19)), 0f);
36
+ return _e22;
37
+ }
38
+
39
+ fn transition(uv_2: ptr<function, vec2<f32>>) -> vec4<f32> {
40
+ var from_: vec4<f32>;
41
+ var param: vec2<f32>;
42
+ var to: vec4<f32>;
43
+ var param_1: vec2<f32>;
44
+ var r: f32;
45
+ var g: f32;
46
+ var b: f32;
47
+ var sphere: f32;
48
+ var spiralX: f32;
49
+ var spiralY: f32;
50
+ var st: vec2<f32>;
51
+ var diff: vec2<f32>;
52
+ var param_2: vec2<f32>;
53
+
54
+ let _e29 = (*uv_2);
55
+ param = _e29;
56
+ let _e30 = getFromColor((&param));
57
+ from_ = _e30;
58
+ let _e31 = (*uv_2);
59
+ param_1 = _e31;
60
+ let _e32 = getToColor((&param_1));
61
+ to = _e32;
62
+ let _e34 = from_[0u];
63
+ r = _e34;
64
+ let _e36 = from_[1u];
65
+ g = _e36;
66
+ let _e38 = from_[2u];
67
+ b = _e38;
68
+ let _e39 = r;
69
+ let _e40 = r;
70
+ let _e42 = g;
71
+ let _e43 = g;
72
+ let _e46 = b;
73
+ let _e47 = b;
74
+ sphere = ((((_e39 * _e40) + (_e42 * _e43)) + (_e46 * _e47)) - 1f);
75
+ let _e51 = sphere;
76
+ let _e53 = (*uv_2)[0u];
77
+ let _e55 = uniforms.progress;
78
+ spiralX = cos((_e51 - (_e53 / (_e55 + 0.01f))));
79
+ let _e60 = sphere;
80
+ let _e62 = (*uv_2)[1u];
81
+ let _e64 = uniforms.progress;
82
+ spiralY = sin((_e60 - (_e62 / (_e64 + 0.01f))));
83
+ let _e69 = (*uv_2);
84
+ st = _e69;
85
+ let _e71 = uniforms.ampx;
86
+ let _e73 = st[0u];
87
+ let _e75 = spiralX;
88
+ st[0u] = fract(((_e71 * _e73) * _e75));
89
+ let _e80 = uniforms.ampy;
90
+ let _e82 = st[1u];
91
+ let _e84 = spiralY;
92
+ st[1u] = fract(((_e80 * _e82) * _e84));
93
+ let _e88 = (*uv_2);
94
+ let _e89 = st;
95
+ diff = (_e88 - _e89);
96
+ let _e91 = (*uv_2);
97
+ let _e93 = uniforms.progress;
98
+ let _e94 = diff;
99
+ param_2 = (_e91 + (_e94 * _e93));
100
+ let _e97 = getFromColor((&param_2));
101
+ from_ = _e97;
102
+ let _e98 = from_;
103
+ let _e99 = to;
104
+ let _e101 = uniforms.progress;
105
+ return mix(_e98, _e99, vec4(_e101));
106
+ }
107
+
108
+ fn main_1() {
109
+ var param_3: vec2<f32>;
110
+
111
+ let _e16 = _uv_1;
112
+ param_3 = _e16;
113
+ let _e17 = transition((&param_3));
114
+ _fragColor = _e17;
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
+ }
@@ -0,0 +1,174 @@
1
+ // perlin — WGSL, generated from https://github.com/gl-transitions/gl-transitions/blob/master/transitions/perlin.glsl
2
+ // Author: Rich Harris
3
+ // License: MIT
4
+ // Description: The incoming image appears through blobs of Perlin noise
5
+ // Bindings and uniform layout: see the gl-transitions package README
6
+
7
+ struct Uniforms {
8
+ progress: f32,
9
+ ratio: f32,
10
+ scale: f32,
11
+ smoothness: f32,
12
+ seed: 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 random(co: ptr<function, vec2<f32>>) -> f32 {
27
+ var a: f32;
28
+ var b: f32;
29
+ var c: f32;
30
+ var dt: f32;
31
+ var sn: f32;
32
+
33
+ let _e29 = uniforms.seed;
34
+ a = _e29;
35
+ b = 78.233f;
36
+ c = 43758.547f;
37
+ let _e30 = (*co);
38
+ let _e31 = a;
39
+ let _e32 = b;
40
+ dt = dot(_e30, vec2<f32>(_e31, _e32));
41
+ let _e35 = dt;
42
+ sn = (_e35 - (floor((_e35 / 3.14f)) * 3.14f));
43
+ let _e40 = sn;
44
+ let _e42 = c;
45
+ return fract((sin(_e40) * _e42));
46
+ }
47
+
48
+ fn noise(st: ptr<function, vec2<f32>>) -> f32 {
49
+ var i: vec2<f32>;
50
+ var f: vec2<f32>;
51
+ var a_1: f32;
52
+ var param: vec2<f32>;
53
+ var b_1: f32;
54
+ var param_1: vec2<f32>;
55
+ var c_1: f32;
56
+ var param_2: vec2<f32>;
57
+ var d: f32;
58
+ var param_3: vec2<f32>;
59
+ var u: vec2<f32>;
60
+
61
+ let _e34 = (*st);
62
+ i = floor(_e34);
63
+ let _e36 = (*st);
64
+ f = fract(_e36);
65
+ let _e38 = i;
66
+ param = _e38;
67
+ let _e39 = random((&param));
68
+ a_1 = _e39;
69
+ let _e40 = i;
70
+ param_1 = (_e40 + vec2<f32>(1f, 0f));
71
+ let _e42 = random((&param_1));
72
+ b_1 = _e42;
73
+ let _e43 = i;
74
+ param_2 = (_e43 + vec2<f32>(0f, 1f));
75
+ let _e45 = random((&param_2));
76
+ c_1 = _e45;
77
+ let _e46 = i;
78
+ param_3 = (_e46 + vec2<f32>(1f, 1f));
79
+ let _e48 = random((&param_3));
80
+ d = _e48;
81
+ let _e49 = f;
82
+ let _e50 = f;
83
+ let _e52 = f;
84
+ u = ((_e49 * _e50) * (vec2(3f) - (_e52 * 2f)));
85
+ let _e57 = a_1;
86
+ let _e58 = b_1;
87
+ let _e60 = u[0u];
88
+ let _e62 = c_1;
89
+ let _e63 = a_1;
90
+ let _e66 = u[1u];
91
+ let _e69 = u[0u];
92
+ let _e73 = d;
93
+ let _e74 = b_1;
94
+ let _e77 = u[0u];
95
+ let _e80 = u[1u];
96
+ return ((mix(_e57, _e58, _e60) + (((_e62 - _e63) * _e66) * (1f - _e69))) + (((_e73 - _e74) * _e77) * _e80));
97
+ }
98
+
99
+ fn getToColor(uv: ptr<function, vec2<f32>>) -> vec4<f32> {
100
+ let _e24 = (*uv)[0u];
101
+ let _e26 = (*uv)[1u];
102
+ let _e29 = textureSampleLevel(_to, _sampler, vec2<f32>(_e24, (1f - _e26)), 0f);
103
+ return _e29;
104
+ }
105
+
106
+ fn getFromColor(uv_1: ptr<function, vec2<f32>>) -> vec4<f32> {
107
+ let _e24 = (*uv_1)[0u];
108
+ let _e26 = (*uv_1)[1u];
109
+ let _e29 = textureSampleLevel(_from, _sampler, vec2<f32>(_e24, (1f - _e26)), 0f);
110
+ return _e29;
111
+ }
112
+
113
+ fn transition(uv_2: ptr<function, vec2<f32>>) -> vec4<f32> {
114
+ var from_: vec4<f32>;
115
+ var param_4: vec2<f32>;
116
+ var to: vec4<f32>;
117
+ var param_5: vec2<f32>;
118
+ var n: f32;
119
+ var param_6: vec2<f32>;
120
+ var p: f32;
121
+ var lower: f32;
122
+ var higher: f32;
123
+ var q: f32;
124
+
125
+ let _e33 = (*uv_2);
126
+ param_4 = _e33;
127
+ let _e34 = getFromColor((&param_4));
128
+ from_ = _e34;
129
+ let _e35 = (*uv_2);
130
+ param_5 = _e35;
131
+ let _e36 = getToColor((&param_5));
132
+ to = _e36;
133
+ let _e37 = (*uv_2);
134
+ let _e39 = uniforms.scale;
135
+ param_6 = (_e37 * _e39);
136
+ let _e41 = noise((&param_6));
137
+ n = _e41;
138
+ let _e43 = uniforms.smoothness;
139
+ let _e46 = uniforms.smoothness;
140
+ let _e49 = uniforms.progress;
141
+ p = mix(-(_e43), (1f + _e46), _e49);
142
+ let _e51 = p;
143
+ let _e53 = uniforms.smoothness;
144
+ lower = (_e51 - _e53);
145
+ let _e55 = p;
146
+ let _e57 = uniforms.smoothness;
147
+ higher = (_e55 + _e57);
148
+ let _e59 = lower;
149
+ let _e60 = higher;
150
+ let _e61 = n;
151
+ q = smoothstep(_e59, _e60, _e61);
152
+ let _e63 = from_;
153
+ let _e64 = to;
154
+ let _e65 = q;
155
+ return mix(_e63, _e64, vec4((1f - _e65)));
156
+ }
157
+
158
+ fn main_1() {
159
+ var param_7: vec2<f32>;
160
+
161
+ let _e23 = _uv_1;
162
+ param_7 = _e23;
163
+ let _e24 = transition((&param_7));
164
+ _fragColor = _e24;
165
+ return;
166
+ }
167
+
168
+ @fragment
169
+ fn main(@location(0) _uv: vec2<f32>) -> @location(0) vec4<f32> {
170
+ _uv_1 = _uv;
171
+ main_1();
172
+ let _e3 = _fragColor;
173
+ return _e3;
174
+ }
@@ -0,0 +1,84 @@
1
+ // pinwheel — WGSL, generated from https://github.com/gl-transitions/gl-transitions/blob/master/transitions/pinwheel.glsl
2
+ // Author: Mr Speaker
3
+ // License: MIT
4
+ // Description: A spinning pinwheel reveals the incoming image
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
+ }
12
+
13
+ @group(0) @binding(2)
14
+ var _from: texture_2d<f32>;
15
+ @group(0) @binding(1)
16
+ var _sampler: sampler;
17
+ @group(0) @binding(3)
18
+ var _to: texture_2d<f32>;
19
+ @group(0) @binding(0)
20
+ var<uniform> uniforms: Uniforms;
21
+ var<private> _fragColor: vec4<f32>;
22
+ var<private> _uv_1: vec2<f32>;
23
+
24
+ fn getFromColor(uv: ptr<function, vec2<f32>>) -> vec4<f32> {
25
+ let _e17 = (*uv)[0u];
26
+ let _e19 = (*uv)[1u];
27
+ let _e22 = textureSampleLevel(_from, _sampler, vec2<f32>(_e17, (1f - _e19)), 0f);
28
+ return _e22;
29
+ }
30
+
31
+ fn getToColor(uv_1: ptr<function, vec2<f32>>) -> vec4<f32> {
32
+ let _e17 = (*uv_1)[0u];
33
+ let _e19 = (*uv_1)[1u];
34
+ let _e22 = textureSampleLevel(_to, _sampler, vec2<f32>(_e17, (1f - _e19)), 0f);
35
+ return _e22;
36
+ }
37
+
38
+ fn transition(uv_2: ptr<function, vec2<f32>>) -> vec4<f32> {
39
+ var p: vec2<f32>;
40
+ var circPos: f32;
41
+ var modPos: f32;
42
+ var signed: f32;
43
+ var param: vec2<f32>;
44
+ var param_1: vec2<f32>;
45
+
46
+ let _e22 = (*uv_2);
47
+ p = (_e22 / vec2<f32>(1f, 1f));
48
+ let _e25 = p[1u];
49
+ let _e28 = p[0u];
50
+ let _e32 = uniforms.progress;
51
+ let _e34 = uniforms.speed;
52
+ circPos = (atan2((_e25 - 0.5f), (_e28 - 0.5f)) + (_e32 * _e34));
53
+ let _e37 = circPos;
54
+ modPos = (_e37 - (floor((_e37 / 0.785375f)) * 0.785375f));
55
+ let _e43 = uniforms.progress;
56
+ let _e44 = modPos;
57
+ signed = sign((_e43 - _e44));
58
+ let _e47 = p;
59
+ param = _e47;
60
+ let _e48 = getToColor((&param));
61
+ let _e49 = p;
62
+ param_1 = _e49;
63
+ let _e50 = getFromColor((&param_1));
64
+ let _e51 = signed;
65
+ return mix(_e48, _e50, vec4(step(_e51, 0.5f)));
66
+ }
67
+
68
+ fn main_1() {
69
+ var param_2: vec2<f32>;
70
+
71
+ let _e16 = _uv_1;
72
+ param_2 = _e16;
73
+ let _e17 = transition((&param_2));
74
+ _fragColor = _e17;
75
+ return;
76
+ }
77
+
78
+ @fragment
79
+ fn main(@location(0) _uv: vec2<f32>) -> @location(0) vec4<f32> {
80
+ _uv_1 = _uv;
81
+ main_1();
82
+ let _e3 = _fragColor;
83
+ return _e3;
84
+ }
@@ -0,0 +1,105 @@
1
+ // pixelize — WGSL, generated from https://github.com/gl-transitions/gl-transitions/blob/master/transitions/pixelize.glsl
2
+ // Author: gre
3
+ // License: MIT
4
+ // Description: Both images pixelate, crossfade, then sharpen again
5
+ // Bindings and uniform layout: see the gl-transitions package README
6
+
7
+ struct Uniforms {
8
+ progress: f32,
9
+ ratio: f32,
10
+ squaresMin: vec2<i32>,
11
+ steps: i32,
12
+ }
13
+
14
+ @group(0) @binding(2)
15
+ var _from: texture_2d<f32>;
16
+ @group(0) @binding(1)
17
+ var _sampler: sampler;
18
+ @group(0) @binding(3)
19
+ var _to: 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 getToColor(uv: ptr<function, vec2<f32>>) -> vec4<f32> {
26
+ let _e17 = (*uv)[0u];
27
+ let _e19 = (*uv)[1u];
28
+ let _e22 = textureSampleLevel(_to, _sampler, vec2<f32>(_e17, (1f - _e19)), 0f);
29
+ return _e22;
30
+ }
31
+
32
+ fn getFromColor(uv_1: ptr<function, vec2<f32>>) -> vec4<f32> {
33
+ let _e17 = (*uv_1)[0u];
34
+ let _e19 = (*uv_1)[1u];
35
+ let _e22 = textureSampleLevel(_from, _sampler, vec2<f32>(_e17, (1f - _e19)), 0f);
36
+ return _e22;
37
+ }
38
+
39
+ fn transition(uv_2: ptr<function, vec2<f32>>) -> vec4<f32> {
40
+ var d: f32;
41
+ var dist: f32;
42
+ var local: f32;
43
+ var squareSize: vec2<f32>;
44
+ var p: vec2<f32>;
45
+ var local_1: vec2<f32>;
46
+ var param: vec2<f32>;
47
+ var param_1: vec2<f32>;
48
+
49
+ let _e25 = uniforms.progress;
50
+ let _e27 = uniforms.progress;
51
+ d = min(_e25, (1f - _e27));
52
+ let _e31 = uniforms.steps;
53
+ if (_e31 > 0i) {
54
+ let _e33 = d;
55
+ let _e35 = uniforms.steps;
56
+ let _e40 = uniforms.steps;
57
+ local = (ceil((_e33 * f32(_e35))) / f32(_e40));
58
+ } else {
59
+ let _e43 = d;
60
+ local = _e43;
61
+ }
62
+ let _e44 = local;
63
+ dist = _e44;
64
+ let _e45 = dist;
65
+ let _e48 = uniforms.squaresMin;
66
+ squareSize = (vec2((2f * _e45)) / vec2<f32>(_e48));
67
+ let _e52 = dist;
68
+ if (_e52 > 0f) {
69
+ let _e54 = (*uv_2);
70
+ let _e55 = squareSize;
71
+ let _e60 = squareSize;
72
+ local_1 = ((floor((_e54 / _e55)) + vec2(0.5f)) * _e60);
73
+ } else {
74
+ let _e62 = (*uv_2);
75
+ local_1 = _e62;
76
+ }
77
+ let _e63 = local_1;
78
+ p = _e63;
79
+ let _e64 = p;
80
+ param = _e64;
81
+ let _e65 = getFromColor((&param));
82
+ let _e66 = p;
83
+ param_1 = _e66;
84
+ let _e67 = getToColor((&param_1));
85
+ let _e69 = uniforms.progress;
86
+ return mix(_e65, _e67, vec4(_e69));
87
+ }
88
+
89
+ fn main_1() {
90
+ var param_2: vec2<f32>;
91
+
92
+ let _e16 = _uv_1;
93
+ param_2 = _e16;
94
+ let _e17 = transition((&param_2));
95
+ _fragColor = _e17;
96
+ return;
97
+ }
98
+
99
+ @fragment
100
+ fn main(@location(0) _uv: vec2<f32>) -> @location(0) vec4<f32> {
101
+ _uv_1 = _uv;
102
+ main_1();
103
+ let _e3 = _fragColor;
104
+ return _e3;
105
+ }
@@ -0,0 +1,88 @@
1
+ // polar_function — WGSL, generated from https://github.com/gl-transitions/gl-transitions/blob/master/transitions/polar_function.glsl
2
+ // Author: Fernando Kuteken
3
+ // License: MIT
4
+ // Description: A flower shape with several petals grows to reveal the incoming image
5
+ // Bindings and uniform layout: see the gl-transitions package README
6
+
7
+ struct Uniforms {
8
+ progress: f32,
9
+ ratio: f32,
10
+ segments: i32,
11
+ }
12
+
13
+ @group(0) @binding(2)
14
+ var _from: texture_2d<f32>;
15
+ @group(0) @binding(1)
16
+ var _sampler: sampler;
17
+ @group(0) @binding(3)
18
+ var _to: texture_2d<f32>;
19
+ @group(0) @binding(0)
20
+ var<uniform> uniforms: Uniforms;
21
+ var<private> _fragColor: vec4<f32>;
22
+ var<private> _uv_1: vec2<f32>;
23
+
24
+ fn getToColor(uv: ptr<function, vec2<f32>>) -> vec4<f32> {
25
+ let _e20 = (*uv)[0u];
26
+ let _e22 = (*uv)[1u];
27
+ let _e25 = textureSampleLevel(_to, _sampler, vec2<f32>(_e20, (1f - _e22)), 0f);
28
+ return _e25;
29
+ }
30
+
31
+ fn getFromColor(uv_1: ptr<function, vec2<f32>>) -> vec4<f32> {
32
+ let _e20 = (*uv_1)[0u];
33
+ let _e22 = (*uv_1)[1u];
34
+ let _e25 = textureSampleLevel(_from, _sampler, vec2<f32>(_e20, (1f - _e22)), 0f);
35
+ return _e25;
36
+ }
37
+
38
+ fn transition(uv_2: ptr<function, vec2<f32>>) -> vec4<f32> {
39
+ var angle: f32;
40
+ var normalized: f32;
41
+ var radius: f32;
42
+ var difference: f32;
43
+ var param: vec2<f32>;
44
+ var param_1: vec2<f32>;
45
+
46
+ let _e26 = (*uv_2)[1u];
47
+ let _e29 = (*uv_2)[0u];
48
+ angle = (atan2((_e26 - 0.5f), (_e29 - 0.5f)) - 1.5707964f);
49
+ let _e33 = angle;
50
+ normalized = ((_e33 + 4.712389f) * 6.2831855f);
51
+ let _e37 = uniforms.segments;
52
+ let _e39 = angle;
53
+ radius = ((cos((f32(_e37) * _e39)) + 4f) / 4f);
54
+ let _e44 = (*uv_2);
55
+ difference = length((_e44 - vec2<f32>(0.5f, 0.5f)));
56
+ let _e47 = difference;
57
+ let _e48 = radius;
58
+ let _e50 = uniforms.progress;
59
+ if (_e47 > (_e48 * _e50)) {
60
+ let _e53 = (*uv_2);
61
+ param = _e53;
62
+ let _e54 = getFromColor((&param));
63
+ return _e54;
64
+ } else {
65
+ let _e55 = (*uv_2);
66
+ param_1 = _e55;
67
+ let _e56 = getToColor((&param_1));
68
+ return _e56;
69
+ }
70
+ }
71
+
72
+ fn main_1() {
73
+ var param_2: vec2<f32>;
74
+
75
+ let _e19 = _uv_1;
76
+ param_2 = _e19;
77
+ let _e20 = transition((&param_2));
78
+ _fragColor = _e20;
79
+ return;
80
+ }
81
+
82
+ @fragment
83
+ fn main(@location(0) _uv: vec2<f32>) -> @location(0) vec4<f32> {
84
+ _uv_1 = _uv;
85
+ main_1();
86
+ let _e3 = _fragColor;
87
+ return _e3;
88
+ }