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,198 @@
1
+ // burn0 — WGSL, generated from https://github.com/gl-transitions/gl-transitions/blob/master/transitions/burn0.glsl
2
+ // Author: liubailin2020@gmail.com
3
+ // License: MIT
4
+ // Description: The outgoing image burns away in noisy, glowing patches
5
+ // Bindings and uniform layout: see the gl-transitions package README
6
+
7
+ struct Uniforms {
8
+ progress: f32,
9
+ ratio: f32,
10
+ burnColor: vec3<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 random(st: ptr<function, vec2<f32>>) -> f32 {
25
+ let _e28 = (*st);
26
+ return fract((sin(dot(_e28, vec2<f32>(12.9898f, 78.233f))) * 43758.547f));
27
+ }
28
+
29
+ fn noise(st_1: ptr<function, vec2<f32>>) -> f32 {
30
+ var i: vec2<f32>;
31
+ var f: vec2<f32>;
32
+ var a: f32;
33
+ var param: vec2<f32>;
34
+ var b: f32;
35
+ var param_1: vec2<f32>;
36
+ var c: f32;
37
+ var param_2: vec2<f32>;
38
+ var d: f32;
39
+ var param_3: vec2<f32>;
40
+ var u: vec2<f32>;
41
+
42
+ let _e39 = (*st_1);
43
+ i = floor(_e39);
44
+ let _e41 = (*st_1);
45
+ f = fract(_e41);
46
+ let _e43 = i;
47
+ param = _e43;
48
+ let _e44 = random((&param));
49
+ a = _e44;
50
+ let _e45 = i;
51
+ param_1 = (_e45 + vec2<f32>(1f, 0f));
52
+ let _e47 = random((&param_1));
53
+ b = _e47;
54
+ let _e48 = i;
55
+ param_2 = (_e48 + vec2<f32>(0f, 1f));
56
+ let _e50 = random((&param_2));
57
+ c = _e50;
58
+ let _e51 = i;
59
+ param_3 = (_e51 + vec2<f32>(1f, 1f));
60
+ let _e53 = random((&param_3));
61
+ d = _e53;
62
+ let _e54 = f;
63
+ let _e55 = f;
64
+ let _e57 = f;
65
+ u = ((_e54 * _e55) * (vec2(3f) - (_e57 * 2f)));
66
+ let _e62 = a;
67
+ let _e63 = b;
68
+ let _e65 = u[0u];
69
+ let _e67 = c;
70
+ let _e68 = a;
71
+ let _e71 = u[1u];
72
+ let _e74 = u[0u];
73
+ let _e78 = d;
74
+ let _e79 = b;
75
+ let _e82 = u[0u];
76
+ let _e85 = u[1u];
77
+ return ((mix(_e62, _e63, _e65) + (((_e67 - _e68) * _e71) * (1f - _e74))) + (((_e78 - _e79) * _e82) * _e85));
78
+ }
79
+
80
+ fn fbm(st_2: ptr<function, vec2<f32>>) -> f32 {
81
+ var value: f32;
82
+ var amplitude: f32;
83
+ var i_1: i32;
84
+ var param_4: vec2<f32>;
85
+
86
+ value = 0f;
87
+ amplitude = 0.5f;
88
+ i_1 = 0i;
89
+ loop {
90
+ let _e32 = i_1;
91
+ if (_e32 < 4i) {
92
+ let _e34 = amplitude;
93
+ let _e35 = (*st_2);
94
+ param_4 = _e35;
95
+ let _e36 = noise((&param_4));
96
+ let _e38 = value;
97
+ value = (_e38 + (_e34 * _e36));
98
+ let _e40 = (*st_2);
99
+ (*st_2) = (_e40 * 2f);
100
+ let _e42 = amplitude;
101
+ amplitude = (_e42 * 0.5f);
102
+ continue;
103
+ } else {
104
+ break;
105
+ }
106
+ continuing {
107
+ let _e44 = i_1;
108
+ i_1 = (_e44 + 1i);
109
+ }
110
+ }
111
+ let _e46 = value;
112
+ return _e46;
113
+ }
114
+
115
+ fn getToColor(uv: ptr<function, vec2<f32>>) -> vec4<f32> {
116
+ let _e29 = (*uv)[0u];
117
+ let _e31 = (*uv)[1u];
118
+ let _e34 = textureSampleLevel(_to, _sampler, vec2<f32>(_e29, (1f - _e31)), 0f);
119
+ return _e34;
120
+ }
121
+
122
+ fn getFromColor(uv_1: ptr<function, vec2<f32>>) -> vec4<f32> {
123
+ let _e29 = (*uv_1)[0u];
124
+ let _e31 = (*uv_1)[1u];
125
+ let _e34 = textureSampleLevel(_from, _sampler, vec2<f32>(_e29, (1f - _e31)), 0f);
126
+ return _e34;
127
+ }
128
+
129
+ fn transition(uv_2: ptr<function, vec2<f32>>) -> vec4<f32> {
130
+ var param_5: vec2<f32>;
131
+ var param_6: vec2<f32>;
132
+ var from_: vec4<f32>;
133
+ var param_7: vec2<f32>;
134
+ var to: vec4<f32>;
135
+ var param_8: vec2<f32>;
136
+ var n: f32;
137
+ var param_9: vec2<f32>;
138
+ var l: f32;
139
+ var edge: f32;
140
+
141
+ let _e39 = uniforms.progress;
142
+ if (_e39 <= 0f) {
143
+ let _e41 = (*uv_2);
144
+ param_5 = _e41;
145
+ let _e42 = getFromColor((&param_5));
146
+ return _e42;
147
+ }
148
+ let _e44 = uniforms.progress;
149
+ if (_e44 >= 1f) {
150
+ let _e46 = (*uv_2);
151
+ param_6 = _e46;
152
+ let _e47 = getToColor((&param_6));
153
+ return _e47;
154
+ }
155
+ let _e48 = (*uv_2);
156
+ param_7 = _e48;
157
+ let _e49 = getFromColor((&param_7));
158
+ from_ = _e49;
159
+ let _e50 = (*uv_2);
160
+ param_8 = _e50;
161
+ let _e51 = getToColor((&param_8));
162
+ to = _e51;
163
+ let _e52 = (*uv_2);
164
+ param_9 = (_e52 * 4f);
165
+ let _e54 = fbm((&param_9));
166
+ n = _e54;
167
+ let _e56 = uniforms.progress;
168
+ let _e58 = uniforms.progress;
169
+ let _e60 = n;
170
+ l = smoothstep(_e56, (_e58 + 0.05f), _e60);
171
+ let _e62 = l;
172
+ let _e64 = l;
173
+ edge = (((1f - _e62) * _e64) * 5f);
174
+ let _e67 = to;
175
+ let _e68 = from_;
176
+ let _e69 = l;
177
+ let _e73 = uniforms.burnColor;
178
+ let _e78 = edge;
179
+ return (mix(_e67, _e68, vec4(_e69)) + (vec4<f32>(_e73.x, _e73.y, _e73.z, 0f) * _e78));
180
+ }
181
+
182
+ fn main_1() {
183
+ var param_10: vec2<f32>;
184
+
185
+ let _e28 = _uv_1;
186
+ param_10 = _e28;
187
+ let _e29 = transition((&param_10));
188
+ _fragColor = _e29;
189
+ return;
190
+ }
191
+
192
+ @fragment
193
+ fn main(@location(0) _uv: vec2<f32>) -> @location(0) vec4<f32> {
194
+ _uv_1 = _uv;
195
+ main_1();
196
+ let _e3 = _fragColor;
197
+ return _e3;
198
+ }
@@ -0,0 +1,92 @@
1
+ // cannabisleaf — WGSL, generated from https://github.com/gl-transitions/gl-transitions/blob/master/transitions/cannabisleaf.glsl
2
+ // Author: @Flexi23
3
+ // License: MIT
4
+ // Description: A cannabis-leaf shape grows from the center 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
+ }
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 getToColor(uv: ptr<function, vec2<f32>>) -> vec4<f32> {
24
+ let _e25 = (*uv)[0u];
25
+ let _e27 = (*uv)[1u];
26
+ let _e30 = textureSampleLevel(_to, _sampler, vec2<f32>(_e25, (1f - _e27)), 0f);
27
+ return _e30;
28
+ }
29
+
30
+ fn getFromColor(uv_1: ptr<function, vec2<f32>>) -> vec4<f32> {
31
+ let _e25 = (*uv_1)[0u];
32
+ let _e27 = (*uv_1)[1u];
33
+ let _e30 = textureSampleLevel(_from, _sampler, vec2<f32>(_e25, (1f - _e27)), 0f);
34
+ return _e30;
35
+ }
36
+
37
+ fn transition(uv_2: ptr<function, vec2<f32>>) -> vec4<f32> {
38
+ var param: vec2<f32>;
39
+ var leaf_uv: vec2<f32>;
40
+ var r: f32;
41
+ var o: f32;
42
+ var param_1: vec2<f32>;
43
+ var param_2: vec2<f32>;
44
+
45
+ let _e31 = uniforms.progress;
46
+ if (_e31 == 0f) {
47
+ let _e33 = (*uv_2);
48
+ param = _e33;
49
+ let _e34 = getFromColor((&param));
50
+ return _e34;
51
+ }
52
+ let _e35 = (*uv_2);
53
+ let _e40 = uniforms.progress;
54
+ leaf_uv = (((_e35 - vec2<f32>(0.5f, 0.5f)) / vec2(10f)) / vec2(pow(_e40, 3.5f)));
55
+ let _e45 = leaf_uv[1u];
56
+ leaf_uv[1u] = (_e45 + 0.35f);
57
+ r = 0.18f;
58
+ let _e49 = leaf_uv[1u];
59
+ let _e51 = leaf_uv[0u];
60
+ o = atan2(_e49, _e51);
61
+ let _e53 = (*uv_2);
62
+ param_1 = _e53;
63
+ let _e54 = getFromColor((&param_1));
64
+ let _e55 = (*uv_2);
65
+ param_2 = _e55;
66
+ let _e56 = getToColor((&param_2));
67
+ let _e57 = leaf_uv;
68
+ let _e60 = r;
69
+ let _e61 = o;
70
+ let _e65 = o;
71
+ let _e71 = o;
72
+ let _e77 = o;
73
+ return mix(_e54, _e56, vec4((1f - step(((1f - length(_e57)) + ((((_e60 * (1f + sin(_e61))) * (1f + (0.9f * cos((8f * _e65))))) * (1f + (0.1f * cos((24f * _e71))))) * (0.9f + (0.05f * cos((200f * _e77)))))), 1f))));
74
+ }
75
+
76
+ fn main_1() {
77
+ var param_3: vec2<f32>;
78
+
79
+ let _e24 = _uv_1;
80
+ param_3 = _e24;
81
+ let _e25 = transition((&param_3));
82
+ _fragColor = _e25;
83
+ return;
84
+ }
85
+
86
+ @fragment
87
+ fn main(@location(0) _uv: vec2<f32>) -> @location(0) vec4<f32> {
88
+ _uv_1 = _uv;
89
+ main_1();
90
+ let _e3 = _fragColor;
91
+ return _e3;
92
+ }
@@ -0,0 +1,116 @@
1
+ // chessboard — WGSL, generated from https://github.com/gl-transitions/gl-transitions/blob/master/transitions/chessboard.glsl
2
+ // Author: lql
3
+ // License: MIT
4
+ // Description: A chessboard pattern of squares 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
+ grid_num: 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 getToColor(uv: ptr<function, vec2<f32>>) -> vec4<f32> {
25
+ let _e16 = (*uv)[0u];
26
+ let _e18 = (*uv)[1u];
27
+ let _e21 = textureSampleLevel(_to, _sampler, vec2<f32>(_e16, (1f - _e18)), 0f);
28
+ return _e21;
29
+ }
30
+
31
+ fn getFromColor(uv_1: ptr<function, vec2<f32>>) -> vec4<f32> {
32
+ let _e16 = (*uv_1)[0u];
33
+ let _e18 = (*uv_1)[1u];
34
+ let _e21 = textureSampleLevel(_from, _sampler, vec2<f32>(_e16, (1f - _e18)), 0f);
35
+ return _e21;
36
+ }
37
+
38
+ fn transition(uv_2: ptr<function, vec2<f32>>) -> vec4<f32> {
39
+ var st: vec2<f32>;
40
+ var idx: vec2<f32>;
41
+ var grid: vec2<f32>;
42
+ var a: vec4<f32>;
43
+ var param: vec2<f32>;
44
+ var b: vec4<f32>;
45
+ var param_1: vec2<f32>;
46
+ var checker: f32;
47
+ var mixFactor: f32;
48
+ var local: f32;
49
+ var local_1: f32;
50
+
51
+ let _e26 = (*uv_2);
52
+ let _e28 = uniforms.grid_num;
53
+ st = (_e26 * _e28);
54
+ let _e30 = st;
55
+ idx = floor(_e30);
56
+ let _e32 = st;
57
+ grid = fract(_e32);
58
+ let _e34 = (*uv_2);
59
+ param = _e34;
60
+ let _e35 = getFromColor((&param));
61
+ a = _e35;
62
+ let _e36 = (*uv_2);
63
+ param_1 = _e36;
64
+ let _e37 = getToColor((&param_1));
65
+ b = _e37;
66
+ let _e39 = idx[0u];
67
+ let _e41 = idx[1u];
68
+ let _e42 = (_e39 + _e41);
69
+ checker = (_e42 - (floor((_e42 / 2f)) * 2f));
70
+ let _e48 = uniforms.progress;
71
+ if (_e48 <= 0.5f) {
72
+ let _e50 = checker;
73
+ if (_e50 > 0.5f) {
74
+ let _e53 = grid[0u];
75
+ let _e55 = uniforms.progress;
76
+ local = step(_e53, (_e55 * 2f));
77
+ } else {
78
+ local = 0f;
79
+ }
80
+ let _e58 = local;
81
+ mixFactor = _e58;
82
+ } else {
83
+ let _e59 = checker;
84
+ if (_e59 < 0.5f) {
85
+ let _e62 = grid[0u];
86
+ let _e64 = uniforms.progress;
87
+ local_1 = step(_e62, ((_e64 - 0.5f) * 2f));
88
+ } else {
89
+ local_1 = 1f;
90
+ }
91
+ let _e68 = local_1;
92
+ mixFactor = _e68;
93
+ }
94
+ let _e69 = a;
95
+ let _e70 = b;
96
+ let _e71 = mixFactor;
97
+ return mix(_e69, _e70, vec4(_e71));
98
+ }
99
+
100
+ fn main_1() {
101
+ var param_2: vec2<f32>;
102
+
103
+ let _e15 = _uv_1;
104
+ param_2 = _e15;
105
+ let _e16 = transition((&param_2));
106
+ _fragColor = _e16;
107
+ return;
108
+ }
109
+
110
+ @fragment
111
+ fn main(@location(0) _uv: vec2<f32>) -> @location(0) vec4<f32> {
112
+ _uv_1 = _uv;
113
+ main_1();
114
+ let _e3 = _fragColor;
115
+ return _e3;
116
+ }
@@ -0,0 +1,87 @@
1
+ // circle — WGSL, generated from https://github.com/gl-transitions/gl-transitions/blob/master/transitions/circle.glsl
2
+ // Author: Fernando Kuteken
3
+ // License: MIT
4
+ // Description: The outgoing image closes into a circle over a background color, then the incoming one opens from it
5
+ // Bindings and uniform layout: see the gl-transitions package README
6
+
7
+ struct Uniforms {
8
+ progress: f32,
9
+ ratio: f32,
10
+ center: vec2<f32>,
11
+ backColor: vec3<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 distance_: f32;
41
+ var radius: f32;
42
+ var param: vec2<f32>;
43
+ var param_1: vec2<f32>;
44
+
45
+ let _e20 = (*uv_2);
46
+ let _e22 = uniforms.center;
47
+ distance_ = length((_e20 - _e22));
48
+ let _e26 = uniforms.progress;
49
+ radius = (2.828427f * abs((_e26 - 0.5f)));
50
+ let _e30 = distance_;
51
+ let _e31 = radius;
52
+ if (_e30 > _e31) {
53
+ let _e34 = uniforms.backColor;
54
+ return vec4<f32>(_e34.x, _e34.y, _e34.z, 1f);
55
+ } else {
56
+ let _e40 = uniforms.progress;
57
+ if (_e40 < 0.5f) {
58
+ let _e42 = (*uv_2);
59
+ param = _e42;
60
+ let _e43 = getFromColor((&param));
61
+ return _e43;
62
+ } else {
63
+ let _e44 = (*uv_2);
64
+ param_1 = _e44;
65
+ let _e45 = getToColor((&param_1));
66
+ return _e45;
67
+ }
68
+ }
69
+ }
70
+
71
+ fn main_1() {
72
+ var param_2: vec2<f32>;
73
+
74
+ let _e16 = _uv_1;
75
+ param_2 = _e16;
76
+ let _e17 = transition((&param_2));
77
+ _fragColor = _e17;
78
+ return;
79
+ }
80
+
81
+ @fragment
82
+ fn main(@location(0) _uv: vec2<f32>) -> @location(0) vec4<f32> {
83
+ _uv_1 = _uv;
84
+ main_1();
85
+ let _e3 = _fragColor;
86
+ return _e3;
87
+ }
@@ -0,0 +1,96 @@
1
+ // circleopen — WGSL, generated from https://github.com/gl-transitions/gl-transitions/blob/master/transitions/circleopen.glsl
2
+ // Author: gre
3
+ // License: MIT
4
+ // Description: A soft-edged circle opens from the center 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
+ smoothness: f32,
11
+ opening: 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 _e18 = (*uv)[0u];
27
+ let _e20 = (*uv)[1u];
28
+ let _e23 = textureSampleLevel(_to, _sampler, vec2<f32>(_e18, (1f - _e20)), 0f);
29
+ return _e23;
30
+ }
31
+
32
+ fn getFromColor(uv_1: ptr<function, vec2<f32>>) -> vec4<f32> {
33
+ let _e18 = (*uv_1)[0u];
34
+ let _e20 = (*uv_1)[1u];
35
+ let _e23 = textureSampleLevel(_from, _sampler, vec2<f32>(_e18, (1f - _e20)), 0f);
36
+ return _e23;
37
+ }
38
+
39
+ fn transition(uv_2: ptr<function, vec2<f32>>) -> vec4<f32> {
40
+ var x: f32;
41
+ var local: f32;
42
+ var m: f32;
43
+ var param: vec2<f32>;
44
+ var param_1: vec2<f32>;
45
+ var local_1: f32;
46
+
47
+ let _e24 = uniforms.opening;
48
+ if (_e24 != 0i) {
49
+ let _e27 = uniforms.progress;
50
+ local = _e27;
51
+ } else {
52
+ let _e29 = uniforms.progress;
53
+ local = (1f - _e29);
54
+ }
55
+ let _e31 = local;
56
+ x = _e31;
57
+ let _e33 = uniforms.smoothness;
58
+ let _e35 = (*uv_2);
59
+ let _e38 = x;
60
+ let _e40 = uniforms.smoothness;
61
+ m = smoothstep(-(_e33), 0f, ((1.4142135f * distance(vec2<f32>(0.5f, 0.5f), _e35)) - (_e38 * (1f + _e40))));
62
+ let _e45 = (*uv_2);
63
+ param = _e45;
64
+ let _e46 = getFromColor((&param));
65
+ let _e47 = (*uv_2);
66
+ param_1 = _e47;
67
+ let _e48 = getToColor((&param_1));
68
+ let _e50 = uniforms.opening;
69
+ if (_e50 != 0i) {
70
+ let _e52 = m;
71
+ local_1 = (1f - _e52);
72
+ } else {
73
+ let _e54 = m;
74
+ local_1 = _e54;
75
+ }
76
+ let _e55 = local_1;
77
+ return mix(_e46, _e48, vec4(_e55));
78
+ }
79
+
80
+ fn main_1() {
81
+ var param_2: vec2<f32>;
82
+
83
+ let _e17 = _uv_1;
84
+ param_2 = _e17;
85
+ let _e18 = transition((&param_2));
86
+ _fragColor = _e18;
87
+ return;
88
+ }
89
+
90
+ @fragment
91
+ fn main(@location(0) _uv: vec2<f32>) -> @location(0) vec4<f32> {
92
+ _uv_1 = _uv;
93
+ main_1();
94
+ let _e3 = _fragColor;
95
+ return _e3;
96
+ }
@@ -0,0 +1,77 @@
1
+ // colorphase — WGSL, generated from https://github.com/gl-transitions/gl-transitions/blob/master/transitions/colorphase.glsl
2
+ // Author: gre
3
+ // License: MIT
4
+ // Description: A crossfade in which each color channel changes at a different time
5
+ // Bindings and uniform layout: see the gl-transitions package README
6
+
7
+ struct Uniforms {
8
+ progress: f32,
9
+ ratio: f32,
10
+ fromStep: vec4<f32>,
11
+ toStep: vec4<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 _e15 = (*uv)[0u];
27
+ let _e17 = (*uv)[1u];
28
+ let _e20 = textureSampleLevel(_to, _sampler, vec2<f32>(_e15, (1f - _e17)), 0f);
29
+ return _e20;
30
+ }
31
+
32
+ fn getFromColor(uv_1: ptr<function, vec2<f32>>) -> vec4<f32> {
33
+ let _e15 = (*uv_1)[0u];
34
+ let _e17 = (*uv_1)[1u];
35
+ let _e20 = textureSampleLevel(_from, _sampler, vec2<f32>(_e15, (1f - _e17)), 0f);
36
+ return _e20;
37
+ }
38
+
39
+ fn transition(uv_2: ptr<function, vec2<f32>>) -> vec4<f32> {
40
+ var a: vec4<f32>;
41
+ var param: vec2<f32>;
42
+ var b: vec4<f32>;
43
+ var param_1: vec2<f32>;
44
+
45
+ let _e18 = (*uv_2);
46
+ param = _e18;
47
+ let _e19 = getFromColor((&param));
48
+ a = _e19;
49
+ let _e20 = (*uv_2);
50
+ param_1 = _e20;
51
+ let _e21 = getToColor((&param_1));
52
+ b = _e21;
53
+ let _e22 = a;
54
+ let _e23 = b;
55
+ let _e25 = uniforms.fromStep;
56
+ let _e27 = uniforms.toStep;
57
+ let _e29 = uniforms.progress;
58
+ return mix(_e22, _e23, smoothstep(_e25, _e27, vec4(_e29)));
59
+ }
60
+
61
+ fn main_1() {
62
+ var param_2: vec2<f32>;
63
+
64
+ let _e14 = _uv_1;
65
+ param_2 = _e14;
66
+ let _e15 = transition((&param_2));
67
+ _fragColor = _e15;
68
+ return;
69
+ }
70
+
71
+ @fragment
72
+ fn main(@location(0) _uv: vec2<f32>) -> @location(0) vec4<f32> {
73
+ _uv_1 = _uv;
74
+ main_1();
75
+ let _e3 = _fragColor;
76
+ return _e3;
77
+ }