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
package/llms-full.txt ADDED
@@ -0,0 +1,1707 @@
1
+ # gl-transitions
2
+
3
+ > The open collection of GL Transitions: 125 GLSL shaders that turn one image into another as `progress` goes from 0 to 1. Each one is also published as an SkSL runtime effect for Skia. This document describes gl-transitions@1.76.0 (npm).
4
+
5
+ Every transition is GLSL (WebGL 1 / GLSL ES 1.00) that implements `vec4 transition(vec2 uv)`. The host provides:
6
+
7
+ - `float progress`: 0.0 shows only the outgoing image, 1.0 only the incoming one
8
+ - `float ratio`: output width / height
9
+ - `vec4 getFromColor(vec2 uv)` and `vec4 getToColor(vec2 uv)`: sample the outgoing and incoming images (uv in [0, 1], origin at the bottom left)
10
+ - one uniform per parameter, set to its default unless the user picks another value
11
+ - one `sampler2D` per extra texture, for the few transitions that list `textures`
12
+
13
+ SkSL versions (`sksl/<name>.sksl`) are standalone Skia runtime effects: children `_from`, `_to` (then one per extra texture), uniforms `float2 _resolution` (output size in pixels), `progress`, `ratio` and each parameter by name (`bool` parameters are `int` 0 or 1), entry point `half4 main(float2 coord)` with a top-left origin. Draw both images at the output size.
14
+
15
+ Install: `npm install gl-transitions` (`import transitions from "gl-transitions"`), or fetch the files below. Latest version: https://cdn.jsdelivr.net/npm/gl-transitions@1/
16
+
17
+ ## AdvancedMosaic
18
+
19
+ Both images break into large blocks that blend, then sharpen into the incoming image
20
+
21
+ - Tags: pixelate, mosaic, blend
22
+ - Parameters:
23
+ - `pixelSize` (float = 50)
24
+ - Author: Sergey Kosarevsky
25
+ - License: MIT
26
+ - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/transitions/AdvancedMosaic.glsl
27
+ - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/sksl/AdvancedMosaic.sksl
28
+ - Preview: https://gl-transitions.com/editor/AdvancedMosaic
29
+
30
+ ## BlockDissolve
31
+
32
+ The incoming image appears in small random blocks
33
+
34
+ - Tags: dissolve, blocks, noise
35
+ - Parameters:
36
+ - `blocksize` (float = 0.02)
37
+ - Author: nwoeanhinnogaehr
38
+ - License: MIT
39
+ - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/transitions/BlockDissolve.glsl
40
+ - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/sksl/BlockDissolve.sksl
41
+ - Preview: https://gl-transitions.com/editor/BlockDissolve
42
+
43
+ ## BookFlip
44
+
45
+ The outgoing image turns like a book page from right to left, revealing the incoming one
46
+
47
+ - Tags: page, flip, 3d
48
+ - Parameters: none
49
+ - Author: hong
50
+ - License: MIT
51
+ - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/transitions/BookFlip.glsl
52
+ - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/sksl/BookFlip.sksl
53
+ - Preview: https://gl-transitions.com/editor/BookFlip
54
+
55
+ ## Bounce
56
+
57
+ The outgoing image drops out of the frame with a few bounces, revealing the incoming one
58
+
59
+ - Tags: bounce, slide, vertical, shadow
60
+ - Parameters:
61
+ - `shadow_colour` (vec4 = vec4(0, 0, 0, 0.6)) [color]: Color of the shadow cast on the incoming image
62
+ - `shadow_height` (float = 0.075) [range 0.01 to 0.5]: Height of the shadow, relative to the image height
63
+ - `bounces` (float = 3) [range 1 to 10 step 1]: Number of bounces before settling
64
+ - Author: Adrian Purser
65
+ - License: MIT
66
+ - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/transitions/Bounce.glsl
67
+ - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/sksl/Bounce.sksl
68
+ - Preview: https://gl-transitions.com/editor/Bounce
69
+
70
+ ## BowTieHorizontal
71
+
72
+ Two triangles grow from the left and right edges into a bow tie that reveals the incoming image
73
+
74
+ - Tags: wipe, shape, horizontal
75
+ - Parameters: none
76
+ - Author: huynx
77
+ - License: MIT
78
+ - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/transitions/BowTieHorizontal.glsl
79
+ - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/sksl/BowTieHorizontal.sksl
80
+ - Preview: https://gl-transitions.com/editor/BowTieHorizontal
81
+
82
+ ## BowTieVertical
83
+
84
+ Two triangles grow from the top and bottom edges into a bow tie that reveals the incoming image
85
+
86
+ - Tags: wipe, shape, vertical
87
+ - Parameters: none
88
+ - Author: huynx
89
+ - License: MIT
90
+ - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/transitions/BowTieVertical.glsl
91
+ - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/sksl/BowTieVertical.sksl
92
+ - Preview: https://gl-transitions.com/editor/BowTieVertical
93
+
94
+ ## BowTieWithParameter
95
+
96
+ A bow-tie wipe with an adjustable shape that can run in reverse
97
+
98
+ - Tags: wipe, shape
99
+ - Parameters:
100
+ - `adjust` (float = 0.5)
101
+ - `reverse` (bool = false): Run the wipe in reverse
102
+ - Author: KMojek
103
+ - License: MIT
104
+ - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/transitions/BowTieWithParameter.glsl
105
+ - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/sksl/BowTieWithParameter.sksl
106
+ - Preview: https://gl-transitions.com/editor/BowTieWithParameter
107
+
108
+ ## Box
109
+
110
+ The outgoing image shrinks into a box, toward the center or a corner, revealing the incoming one
111
+
112
+ - Tags: box, zoom, shape
113
+ - Parameters:
114
+ - `rectIn` (int = 1)
115
+ - `location` (int = 0) [range 0 to 4 step 1]: Where the box goes: 0 center, 1 left top, 2 left bottom, 3 right top, 4 right bottom
116
+ - Author: lql
117
+ - License: MIT
118
+ - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/transitions/Box.glsl
119
+ - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/sksl/Box.sksl
120
+ - Preview: https://gl-transitions.com/editor/Box
121
+
122
+ ## ButterflyWaveScrawler
123
+
124
+ Wavy, color-separated ripples scramble the outgoing image into the incoming one
125
+
126
+ - Tags: wave, distort, chromatic
127
+ - Parameters:
128
+ - `amplitude` (float = 1)
129
+ - `waves` (float = 30)
130
+ - `colorSeparation` (float = 0.3)
131
+ - Author: mandubian
132
+ - License: MIT
133
+ - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/transitions/ButterflyWaveScrawler.glsl
134
+ - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/sksl/ButterflyWaveScrawler.sksl
135
+ - Preview: https://gl-transitions.com/editor/ButterflyWaveScrawler
136
+
137
+ ## CircleCrop
138
+
139
+ The outgoing image closes into a circle over a background color, then the incoming one opens from it
140
+
141
+ - Tags: circle, iris, shape
142
+ - Parameters:
143
+ - `bgcolor` (vec4 = vec4(0, 0, 0, 1)) [color]: Background color
144
+ - Author: fkuteken
145
+ - License: MIT
146
+ - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/transitions/CircleCrop.glsl
147
+ - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/sksl/CircleCrop.sksl
148
+ - Preview: https://gl-transitions.com/editor/CircleCrop
149
+
150
+ ## ColourDistance
151
+
152
+ Pixels switch to the incoming image in order of how close their colors are
153
+
154
+ - Tags: blend, color
155
+ - Parameters:
156
+ - `power` (float = 5)
157
+ - Author: P-Seebauer
158
+ - License: MIT
159
+ - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/transitions/ColourDistance.glsl
160
+ - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/sksl/ColourDistance.sksl
161
+ - Preview: https://gl-transitions.com/editor/ColourDistance
162
+
163
+ ## CrazyParametricFun
164
+
165
+ The outgoing image is pulled along a parametric curve into a psychedelic swirl
166
+
167
+ - Tags: distort, psychedelic
168
+ - Parameters:
169
+ - `a` (float = 4)
170
+ - `b` (float = 1)
171
+ - `amplitude` (float = 120)
172
+ - `smoothness` (float = 0.1)
173
+ - Author: mandubian
174
+ - License: MIT
175
+ - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/transitions/CrazyParametricFun.glsl
176
+ - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/sksl/CrazyParametricFun.sksl
177
+ - Preview: https://gl-transitions.com/editor/CrazyParametricFun
178
+
179
+ ## CrossZoom
180
+
181
+ A crossfade through a strong zoom blur
182
+
183
+ - Tags: zoom, blur, blend
184
+ - Parameters:
185
+ - `strength` (float = 0.4) [range 0 to 1]: Blur strength
186
+ - Author: rectalogic
187
+ - License: MIT
188
+ - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/transitions/CrossZoom.glsl
189
+ - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/sksl/CrossZoom.sksl
190
+ - Preview: https://gl-transitions.com/editor/CrossZoom
191
+
192
+ ## DefocusBlur
193
+
194
+ A crossfade through an out-of-focus blur
195
+
196
+ - Tags: blur, blend
197
+ - Parameters:
198
+ - `blurSize` (float = 0.02): Amount of blur
199
+ - Author: Sergey Kosarevsky
200
+ - License: MIT
201
+ - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/transitions/DefocusBlur.glsl
202
+ - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/sksl/DefocusBlur.sksl
203
+ - Preview: https://gl-transitions.com/editor/DefocusBlur
204
+
205
+ ## Directional
206
+
207
+ The incoming image pushes the outgoing one out in a given direction
208
+
209
+ - Tags: slide, push, directional
210
+ - Parameters:
211
+ - `direction` (vec2 = vec2(0, 1)): Direction of the movement
212
+ - Author: Gaëtan Renaudeau
213
+ - License: MIT
214
+ - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/transitions/Directional.glsl
215
+ - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/sksl/Directional.sksl
216
+ - Preview: https://gl-transitions.com/editor/Directional
217
+
218
+ ## DirectionalScaled
219
+
220
+ Like Directional, with both images scaled down while they slide
221
+
222
+ - Tags: slide, push, zoom, directional
223
+ - Parameters:
224
+ - `direction` (vec2 = vec2(0, 1)): Direction of the movement
225
+ - `scale` (float = 0.7)
226
+ - Author: Thibaut Foussard
227
+ - License: MIT
228
+ - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/transitions/DirectionalScaled.glsl
229
+ - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/sksl/DirectionalScaled.sksl
230
+ - Preview: https://gl-transitions.com/editor/DirectionalScaled
231
+
232
+ ## DoomScreenTransition
233
+
234
+ The outgoing image melts down in uneven columns, like the Doom screen wipe
235
+
236
+ - Tags: melt, columns, retro
237
+ - Parameters:
238
+ - `bars` (int = 30)
239
+ - `amplitude` (float = 2)
240
+ - `noise` (float = 0.1)
241
+ - `frequency` (float = 0.5)
242
+ - `dripScale` (float = 0.5)
243
+ - Author: Zeh Fernando
244
+ - License: MIT
245
+ - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/transitions/DoomScreenTransition.glsl
246
+ - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/sksl/DoomScreenTransition.sksl
247
+ - Preview: https://gl-transitions.com/editor/DoomScreenTransition
248
+
249
+ ## Dreamy
250
+
251
+ A crossfade with a gentle wavy distortion
252
+
253
+ - Tags: wave, blend
254
+ - Parameters: none
255
+ - Author: mikolalysenko
256
+ - License: MIT
257
+ - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/transitions/Dreamy.glsl
258
+ - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/sksl/Dreamy.sksl
259
+ - Preview: https://gl-transitions.com/editor/Dreamy
260
+
261
+ ## DreamyZoom
262
+
263
+ Zooms and rotates into a bright flash, then out to the incoming image
264
+
265
+ - Tags: zoom, rotate, flash
266
+ - Parameters:
267
+ - `rotation` (float = 6)
268
+ - `scale` (float = 1.2)
269
+ - Author: Zeh Fernando
270
+ - License: MIT
271
+ - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/transitions/DreamyZoom.glsl
272
+ - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/sksl/DreamyZoom.sksl
273
+ - Preview: https://gl-transitions.com/editor/DreamyZoom
274
+
275
+ ## Drop_Zone_Flicker
276
+
277
+ A flickering glitch with RGB offset, ghosting and scanlines that flashes back to the outgoing image
278
+
279
+ - Tags: glitch, flicker, chromatic, scanlines
280
+ - Parameters:
281
+ - `frameRate` (float = 24)
282
+ - `rgbOffset` (float = 0.014)
283
+ - `blockAmount` (float = 0.72)
284
+ - `ghostAmount` (float = 0.62)
285
+ - `redCyan` (float = 0.58)
286
+ - `scanline` (float = 0.075)
287
+ - Author: bread
288
+ - License: MIT
289
+ - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/transitions/Drop_Zone_Flicker.glsl
290
+ - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/sksl/Drop_Zone_Flicker.sksl
291
+ - Preview: https://gl-transitions.com/editor/Drop_Zone_Flicker
292
+
293
+ ## EdgeTransition
294
+
295
+ Both images fade through black with their edges glowing
296
+
297
+ - Tags: edges, fade
298
+ - Parameters:
299
+ - `edge_thickness` (float = 0.001)
300
+ - `edge_brightness` (float = 8)
301
+ - Author: Woohyun Kim
302
+ - License: MIT
303
+ - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/transitions/EdgeTransition.glsl
304
+ - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/sksl/EdgeTransition.sksl
305
+ - Preview: https://gl-transitions.com/editor/EdgeTransition
306
+
307
+ ## FilmBurn
308
+
309
+ Glowing film-burn light leaks wash over the image and reveal the incoming one
310
+
311
+ - Tags: burn, film, light-leak
312
+ - Parameters:
313
+ - `Seed` (float = 2.31): Random seed
314
+ - Author: Anastasia Dunbar
315
+ - License: MIT
316
+ - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/transitions/FilmBurn.glsl
317
+ - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/sksl/FilmBurn.sksl
318
+ - Preview: https://gl-transitions.com/editor/FilmBurn
319
+
320
+ ## Fold
321
+
322
+ The incoming image unfolds from the left while the outgoing one folds away to the right
323
+
324
+ - Tags: fold, slide, horizontal
325
+ - Parameters: none
326
+ - Author: nwoeanhinnogaehr
327
+ - License: MIT
328
+ - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/transitions/Fold.glsl
329
+ - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/sksl/Fold.sksl
330
+ - Preview: https://gl-transitions.com/editor/Fold
331
+
332
+ ## GlitchDisplace
333
+
334
+ Blocks of the image are displaced in a glitch that flashes into the incoming image
335
+
336
+ - Tags: glitch, displace
337
+ - Parameters: none
338
+ - Author: Matt DesLauriers
339
+ - License: MIT
340
+ - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/transitions/GlitchDisplace.glsl
341
+ - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/sksl/GlitchDisplace.sksl
342
+ - Preview: https://gl-transitions.com/editor/GlitchDisplace
343
+
344
+ ## GlitchMemories
345
+
346
+ A crossfade with glitchy, color-shifted blocks
347
+
348
+ - Tags: glitch, chromatic, blend
349
+ - Parameters: none
350
+ - Author: Gunnar Roth
351
+ - License: MIT
352
+ - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/transitions/GlitchMemories.glsl
353
+ - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/sksl/GlitchMemories.sksl
354
+ - Preview: https://gl-transitions.com/editor/GlitchMemories
355
+
356
+ ## GridFlip
357
+
358
+ The image splits into a grid of tiles that flip one by one to the incoming image
359
+
360
+ - Tags: grid, tiles, flip
361
+ - Parameters:
362
+ - `size` (ivec2 = ivec2(4, 4)): Number of tiles (columns, rows)
363
+ - `pause` (float = 0.1)
364
+ - `dividerWidth` (float = 0.05)
365
+ - `bgcolor` (vec4 = vec4(0, 0, 0, 1)) [color]: Color behind the tiles
366
+ - `randomness` (float = 0.1)
367
+ - Author: TimDonselaar
368
+ - License: MIT
369
+ - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/transitions/GridFlip.glsl
370
+ - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/sksl/GridFlip.sksl
371
+ - Preview: https://gl-transitions.com/editor/GridFlip
372
+
373
+ ## HSVfade
374
+
375
+ A crossfade through the HSV color space that cycles through hues
376
+
377
+ - Tags: fade, color, hue
378
+ - Parameters: none
379
+ - Author: nwoeanhinnogaehr
380
+ - License: MIT
381
+ - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/transitions/HSVfade.glsl
382
+ - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/sksl/HSVfade.sksl
383
+ - Preview: https://gl-transitions.com/editor/HSVfade
384
+
385
+ ## HorizontalClose
386
+
387
+ The incoming image closes in from the top and bottom edges toward the middle
388
+
389
+ - Tags: wipe, split
390
+ - Parameters: none
391
+ - Author: martiniti
392
+ - License: MIT
393
+ - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/transitions/HorizontalClose.glsl
394
+ - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/sksl/HorizontalClose.sksl
395
+ - Preview: https://gl-transitions.com/editor/HorizontalClose
396
+
397
+ ## HorizontalOpen
398
+
399
+ The incoming image opens from a line in the middle toward the top and bottom edges
400
+
401
+ - Tags: wipe, split
402
+ - Parameters: none
403
+ - Author: martiniti
404
+ - License: MIT
405
+ - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/transitions/HorizontalOpen.glsl
406
+ - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/sksl/HorizontalOpen.sksl
407
+ - Preview: https://gl-transitions.com/editor/HorizontalOpen
408
+
409
+ ## InvertedPageCurl
410
+
411
+ The outgoing image curls away like a page, revealing the incoming one
412
+
413
+ - Tags: page, curl, 3d
414
+ - Parameters: none
415
+ - Author: Hewlett-Packard
416
+ - License: BSD 3 Clause
417
+ - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/transitions/InvertedPageCurl.glsl
418
+ - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/sksl/InvertedPageCurl.sksl
419
+ - Preview: https://gl-transitions.com/editor/InvertedPageCurl
420
+
421
+ ## LeftRight
422
+
423
+ The outgoing image shrinks away to the left while the incoming one slides in from the right
424
+
425
+ - Tags: slide, zoom, horizontal
426
+ - Parameters: none
427
+ - Author: zhmy
428
+ - License: MIT
429
+ - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/transitions/LeftRight.glsl
430
+ - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/sksl/LeftRight.sksl
431
+ - Preview: https://gl-transitions.com/editor/LeftRight
432
+
433
+ ## LinearBlur
434
+
435
+ A crossfade through a blur
436
+
437
+ - Tags: blur, blend
438
+ - Parameters:
439
+ - `intensity` (float = 0.1): Amount of blur
440
+ - Author: gre
441
+ - License: MIT
442
+ - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/transitions/LinearBlur.glsl
443
+ - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/sksl/LinearBlur.sksl
444
+ - Preview: https://gl-transitions.com/editor/LinearBlur
445
+
446
+ ## Mosaic
447
+
448
+ The view pans across a mosaic of rotated tiles from both images and settles on the incoming one
449
+
450
+ - Tags: mosaic, tiles, zoom
451
+ - Parameters:
452
+ - `endx` (int = 2)
453
+ - `endy` (int = -1)
454
+ - Author: Xaychru
455
+ - License: MIT
456
+ - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/transitions/Mosaic.glsl
457
+ - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/sksl/Mosaic.sksl
458
+ - Preview: https://gl-transitions.com/editor/Mosaic
459
+
460
+ ## Overexposure
461
+
462
+ A crossfade through a washed-out, overexposed white
463
+
464
+ - Tags: flash, light, fade
465
+ - Parameters:
466
+ - `strength` (float = 0.6): Amount of overexposure
467
+ - Author: Ben Zhang
468
+ - License: MIT
469
+ - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/transitions/Overexposure.glsl
470
+ - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/sksl/Overexposure.sksl
471
+ - Preview: https://gl-transitions.com/editor/Overexposure
472
+
473
+ ## PolkaDotsCurtain
474
+
475
+ The incoming image appears through growing polka dots
476
+
477
+ - Tags: dots, pattern
478
+ - Parameters:
479
+ - `dots` (float = 20): Number of dots across the image
480
+ - `center` (vec2 = vec2(0, 0))
481
+ - Author: bobylito
482
+ - License: MIT
483
+ - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/transitions/PolkaDotsCurtain.glsl
484
+ - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/sksl/PolkaDotsCurtain.sksl
485
+ - Preview: https://gl-transitions.com/editor/PolkaDotsCurtain
486
+
487
+ ## PuzzleRight
488
+
489
+ The image splits into a grid of tiles that flip one by one to the incoming image
490
+
491
+ - Tags: grid, tiles, flip
492
+ - Parameters:
493
+ - `size` (ivec2 = ivec2(4, 4))
494
+ - `pause` (float = 0.1)
495
+ - `dividerWidth` (float = 0.005)
496
+ - Author: JustKirillS
497
+ - License: MIT
498
+ - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/transitions/PuzzleRight.glsl
499
+ - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/sksl/PuzzleRight.sksl
500
+ - Preview: https://gl-transitions.com/editor/PuzzleRight
501
+
502
+ ## Radial
503
+
504
+ A radial wipe that sweeps around the center like a clock hand
505
+
506
+ - Tags: wipe, radial, clock
507
+ - Parameters:
508
+ - `smoothness` (float = 1)
509
+ - Author: Xaychru
510
+ - License: MIT
511
+ - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/transitions/Radial.glsl
512
+ - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/sksl/Radial.sksl
513
+ - Preview: https://gl-transitions.com/editor/Radial
514
+
515
+ ## Rectangle
516
+
517
+ A rectangle grows from the center to cover the outgoing image, then shrinks to reveal the incoming one
518
+
519
+ - Tags: box, shape, iris
520
+ - Parameters:
521
+ - `bgcolor` (vec4 = vec4(0, 0, 0, 1)) [color]: Color of the rectangle
522
+ - Author: martiniti
523
+ - License: MIT
524
+ - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/transitions/Rectangle.glsl
525
+ - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/sksl/Rectangle.sksl
526
+ - Preview: https://gl-transitions.com/editor/Rectangle
527
+
528
+ ## RectangleCrop
529
+
530
+ The outgoing image shrinks into a small rectangle over a background color, then the incoming one grows from it
531
+
532
+ - Tags: box, iris, zoom
533
+ - Parameters:
534
+ - `bgcolor` (vec4 = vec4(0, 0, 0, 1)) [color]: Background color
535
+ - Author: martiniti
536
+ - License: MIT
537
+ - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/transitions/RectangleCrop.glsl
538
+ - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/sksl/RectangleCrop.sksl
539
+ - Preview: https://gl-transitions.com/editor/RectangleCrop
540
+
541
+ ## Revolve_Left
542
+
543
+ The outgoing image swirls and zooms with motion blur into the incoming one
544
+
545
+ - Tags: swirl, zoom, rotate, blur
546
+ - Parameters:
547
+ - `center` (vec2 = vec2(0.46, 0.52)): Center of the swirl
548
+ - `direction` (float = -1)
549
+ - `maxRotation` (float = 1.95)
550
+ - `peakZoom` (float = 2.22)
551
+ - `swirl` (float = 2.85)
552
+ - `barrel` (float = 0.38)
553
+ - `motionBlur` (float = 1)
554
+ - `switchStart` (float = 0.3)
555
+ - `switchEnd` (float = 0.5)
556
+ - `shadow` (float = 0.16)
557
+ - Author: bread
558
+ - License: MIT
559
+ - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/transitions/Revolve_Left.glsl
560
+ - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/sksl/Revolve_Left.sksl
561
+ - Preview: https://gl-transitions.com/editor/Revolve_Left
562
+
563
+ ## Rolls
564
+
565
+ The outgoing image rolls away around a corner, revealing the incoming one
566
+
567
+ - Tags: rotate, roll
568
+ - Parameters:
569
+ - `type` (int = 0) [range 0 to 3 step 1]: Corner to roll around
570
+ - `RotDown` (bool = false): Roll the outgoing image down instead of up
571
+ - Author: Mark Craig
572
+ - License: MIT
573
+ - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/transitions/Rolls.glsl
574
+ - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/sksl/Rolls.sksl
575
+ - Preview: https://gl-transitions.com/editor/Rolls
576
+
577
+ ## RotateScaleVanish
578
+
579
+ The outgoing image spins and shrinks away over the incoming one
580
+
581
+ - Tags: rotate, zoom, spin
582
+ - Parameters:
583
+ - `FadeInSecond` (bool = true): Fade in the incoming image
584
+ - `ReverseEffect` (bool = false): Run the effect in reverse
585
+ - `ReverseRotation` (bool = false): Rotate the other way
586
+ - Author: Mark Craig
587
+ - License: MIT
588
+ - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/transitions/RotateScaleVanish.glsl
589
+ - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/sksl/RotateScaleVanish.sksl
590
+ - Preview: https://gl-transitions.com/editor/RotateScaleVanish
591
+
592
+ ## SimpleFlip
593
+
594
+ The outgoing image flips around the vertical axis into the incoming one
595
+
596
+ - Tags: flip, horizontal
597
+ - Parameters: none
598
+ - Author: nwoeanhinnogaehr
599
+ - License: MIT
600
+ - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/transitions/SimpleFlip.glsl
601
+ - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/sksl/SimpleFlip.sksl
602
+ - Preview: https://gl-transitions.com/editor/SimpleFlip
603
+
604
+ ## SimpleZoom
605
+
606
+ Zooms into the outgoing image, then fades to the incoming one
607
+
608
+ - Tags: zoom, fade
609
+ - Parameters:
610
+ - `zoom_quickness` (float = 0.8) [range 0.2 to 1]: Part of the transition spent zooming
611
+ - Author: 0gust1
612
+ - License: MIT
613
+ - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/transitions/SimpleZoom.glsl
614
+ - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/sksl/SimpleZoom.sksl
615
+ - Preview: https://gl-transitions.com/editor/SimpleZoom
616
+
617
+ ## SimpleZoomOut
618
+
619
+ The incoming image zooms out into place while fading in
620
+
621
+ - Tags: zoom, fade
622
+ - Parameters:
623
+ - `zoom_quickness` (float = 0.8) [range 0.2 to 1]: Part of the transition spent zooming
624
+ - `fade` (bool = true): Fade instead of cutting to the incoming image
625
+ - Author: Tianshuo
626
+ - License: MIT
627
+ - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/transitions/SimpleZoomOut.glsl
628
+ - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/sksl/SimpleZoomOut.sksl
629
+ - Preview: https://gl-transitions.com/editor/SimpleZoomOut
630
+
631
+ ## Slides
632
+
633
+ The outgoing image slides out, or the incoming one slides in, toward an edge, a corner or the center
634
+
635
+ - Tags: slide, directional
636
+ - Parameters:
637
+ - `type` (int = 0)
638
+ - `In` (bool = false): Slide the incoming image in instead of the outgoing one out
639
+ - Author: Mark Craig
640
+ - License: MIT
641
+ - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/transitions/Slides.glsl
642
+ - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/sksl/Slides.sksl
643
+ - Preview: https://gl-transitions.com/editor/Slides
644
+
645
+ ## StarWipe
646
+
647
+ A growing star reveals the incoming image
648
+
649
+ - Tags: wipe, shape, star
650
+ - Parameters:
651
+ - `border_thickness` (float = 0.01): Thickness of the star's border
652
+ - `star_rotation` (float = 0.75)
653
+ - `border_color` (vec4 = vec4(1, 1, 1, 1)) [color]: Color of the star's border
654
+ - `star_center` (vec2 = vec2(0.5, 0.5)): Center of the star
655
+ - Author: Ben Lucas
656
+ - License: MIT
657
+ - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/transitions/StarWipe.glsl
658
+ - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/sksl/StarWipe.sksl
659
+ - Preview: https://gl-transitions.com/editor/StarWipe
660
+
661
+ ## StaticFade
662
+
663
+ Cuts to the incoming image halfway, hidden behind a burst of TV static
664
+
665
+ - Tags: static, noise, retro
666
+ - Parameters:
667
+ - `n_noise_pixels` (float = 200)
668
+ - `static_luminosity` (float = 0.8)
669
+ - Author: Ben Lucas
670
+ - License: MIT
671
+ - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/transitions/StaticFade.glsl
672
+ - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/sksl/StaticFade.sksl
673
+ - Preview: https://gl-transitions.com/editor/StaticFade
674
+
675
+ ## StereoViewer
676
+
677
+ Both images shrink into rounded cards that swap, like a stereo viewer toy
678
+
679
+ - Tags: cards, zoom, retro
680
+ - Parameters:
681
+ - `zoom` (float = 0.88) [range 0.5 to 1]: How much the images zoom out
682
+ - `corner_radius` (float = 0.22)
683
+ - Author: Ted Schundler
684
+ - License: BSD 2 Clause
685
+ - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/transitions/StereoViewer.glsl
686
+ - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/sksl/StereoViewer.sksl
687
+ - Preview: https://gl-transitions.com/editor/StereoViewer
688
+
689
+ ## StripDatamoshGlitch
690
+
691
+ A datamosh glitch: torn strips, chroma shifts and scan noise drag the outgoing image into the incoming one
692
+
693
+ - Tags: glitch, datamosh, chromatic
694
+ - Parameters:
695
+ - `strength` (float = 1)
696
+ - `horizontalBars` (float = 42)
697
+ - `verticalSlits` (float = 18)
698
+ - `tear` (float = 0.18)
699
+ - `chroma` (float = 0.032)
700
+ - `residue` (float = 0.62)
701
+ - `noiseAmount` (float = 0.16)
702
+ - `scanAmount` (float = 0.13)
703
+ - `flashAmount` (float = 0.2)
704
+ - Author: bread
705
+ - License: MIT
706
+ - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/transitions/StripDatamoshGlitch.glsl
707
+ - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/sksl/StripDatamoshGlitch.sksl
708
+ - Preview: https://gl-transitions.com/editor/StripDatamoshGlitch
709
+
710
+ ## Swirl
711
+
712
+ Both images swirl around the center while crossfading
713
+
714
+ - Tags: swirl, rotate, blend
715
+ - Parameters: none
716
+ - Author: Sergey Kosarevsky
717
+ - License: MIT
718
+ - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/transitions/Swirl.glsl
719
+ - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/sksl/Swirl.sksl
720
+ - Preview: https://gl-transitions.com/editor/Swirl
721
+
722
+ ## TVStatic
723
+
724
+ Cuts to full-screen TV static, then to the incoming image
725
+
726
+ - Tags: static, noise, retro
727
+ - Parameters:
728
+ - `offset` (float = 0.05): Part of the transition, at each end, that shows the images instead of static
729
+ - Author: Brandon Anzaldi
730
+ - License: MIT
731
+ - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/transitions/TVStatic.glsl
732
+ - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/sksl/TVStatic.sksl
733
+ - Preview: https://gl-transitions.com/editor/TVStatic
734
+
735
+ ## TilesWave
736
+
737
+ The incoming image is revealed tile by tile in a diagonal wave
738
+
739
+ - Tags: tiles, wave, wipe
740
+ - Parameters:
741
+ - `tileCount` (ivec2 = ivec2(8, 8)): Number of tiles (columns, rows)
742
+ - `flipX` (bool = true)
743
+ - `flipY` (bool = false)
744
+ - Author: numb3r23
745
+ - License: MIT
746
+ - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/transitions/TilesWave.glsl
747
+ - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/sksl/TilesWave.sksl
748
+ - Preview: https://gl-transitions.com/editor/TilesWave
749
+
750
+ ## TopBottom
751
+
752
+ The outgoing image shrinks away upward while the incoming one slides in from the bottom
753
+
754
+ - Tags: slide, zoom, vertical
755
+ - Parameters: none
756
+ - Author: zhmy
757
+ - License: MIT
758
+ - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/transitions/TopBottom.glsl
759
+ - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/sksl/TopBottom.sksl
760
+ - Preview: https://gl-transitions.com/editor/TopBottom
761
+
762
+ ## VerticalClose
763
+
764
+ The incoming image closes in from the left and right edges toward the middle
765
+
766
+ - Tags: wipe, split
767
+ - Parameters: none
768
+ - Author: martiniti
769
+ - License: MIT
770
+ - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/transitions/VerticalClose.glsl
771
+ - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/sksl/VerticalClose.sksl
772
+ - Preview: https://gl-transitions.com/editor/VerticalClose
773
+
774
+ ## VerticalOpen
775
+
776
+ The incoming image opens from a line in the middle toward the left and right edges
777
+
778
+ - Tags: wipe, split
779
+ - Parameters: none
780
+ - Author: martiniti
781
+ - License: MIT
782
+ - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/transitions/VerticalOpen.glsl
783
+ - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/sksl/VerticalOpen.sksl
784
+ - Preview: https://gl-transitions.com/editor/VerticalOpen
785
+
786
+ ## WaterDrop
787
+
788
+ Ripples spread from the center like a drop falling into water, crossfading to the incoming image
789
+
790
+ - Tags: ripple, water, blend
791
+ - Parameters:
792
+ - `amplitude` (float = 30): Frequency of the ripples
793
+ - `speed` (float = 30): Speed of the ripples
794
+ - Author: Paweł Płóciennik
795
+ - License: MIT
796
+ - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/transitions/WaterDrop.glsl
797
+ - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/sksl/WaterDrop.sksl
798
+ - Preview: https://gl-transitions.com/editor/WaterDrop
799
+
800
+ ## ZoomInCircles
801
+
802
+ Concentric rings of the outgoing image zoom at different speeds before revealing the incoming one
803
+
804
+ - Tags: zoom, circle
805
+ - Parameters: none
806
+ - Author: dycm8009
807
+ - License: MIT
808
+ - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/transitions/ZoomInCircles.glsl
809
+ - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/sksl/ZoomInCircles.sksl
810
+ - Preview: https://gl-transitions.com/editor/ZoomInCircles
811
+
812
+ ## ZoomLeftWipe
813
+
814
+ Zooms into the outgoing image, then the incoming one wipes in from right to left
815
+
816
+ - Tags: zoom, wipe, horizontal
817
+ - Parameters:
818
+ - `zoom_quickness` (float = 0.8): Part of the first half spent zooming (capped at 0.5)
819
+ - Author: Handk
820
+ - License: MIT
821
+ - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/transitions/ZoomLeftWipe.glsl
822
+ - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/sksl/ZoomLeftWipe.sksl
823
+ - Preview: https://gl-transitions.com/editor/ZoomLeftWipe
824
+
825
+ ## ZoomRigthWipe
826
+
827
+ Zooms into the outgoing image, then the incoming one wipes in from left to right
828
+
829
+ - Tags: zoom, wipe, horizontal
830
+ - Parameters:
831
+ - `zoom_quickness` (float = 0.8): Part of the first half spent zooming (capped at 0.5)
832
+ - Author: Handk
833
+ - License: MIT
834
+ - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/transitions/ZoomRigthWipe.glsl
835
+ - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/sksl/ZoomRigthWipe.sksl
836
+ - Preview: https://gl-transitions.com/editor/ZoomRigthWipe
837
+
838
+ ## angular
839
+
840
+ A wipe that sweeps around the center from a starting angle
841
+
842
+ - Tags: wipe, radial, clock
843
+ - Parameters:
844
+ - `startingAngle` (float = 90) [range 0 to 360]: Angle where the wipe starts, in degrees
845
+ - Author: Fernando Kuteken
846
+ - License: MIT
847
+ - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/transitions/angular.glsl
848
+ - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/sksl/angular.sksl
849
+ - Preview: https://gl-transitions.com/editor/angular
850
+
851
+ ## burn
852
+
853
+ A crossfade that brightens toward a color in the middle
854
+
855
+ - Tags: fade, color, flash
856
+ - Parameters:
857
+ - `color` (vec3 = vec3(0.9, 0.4, 0.2)) [color]: Color the images brighten toward
858
+ - Author: gre
859
+ - License: MIT
860
+ - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/transitions/burn.glsl
861
+ - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/sksl/burn.sksl
862
+ - Preview: https://gl-transitions.com/editor/burn
863
+
864
+ ## burn0
865
+
866
+ The outgoing image burns away in noisy, glowing patches
867
+
868
+ - Tags: burn, fire, noise
869
+ - Parameters:
870
+ - `burnColor` (vec3 = vec3(1, 0.5, 0)) [color]: Color of the burning edges
871
+ - Author: liubailin2020@gmail.com
872
+ - License: MIT
873
+ - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/transitions/burn0.glsl
874
+ - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/sksl/burn0.sksl
875
+ - Preview: https://gl-transitions.com/editor/burn0
876
+
877
+ ## cannabisleaf
878
+
879
+ A cannabis-leaf shape grows from the center to reveal the incoming image
880
+
881
+ - Tags: shape, wipe
882
+ - Parameters: none
883
+ - Author: @Flexi23
884
+ - License: MIT
885
+ - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/transitions/cannabisleaf.glsl
886
+ - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/sksl/cannabisleaf.sksl
887
+ - Preview: https://gl-transitions.com/editor/cannabisleaf
888
+
889
+ ## chessboard
890
+
891
+ A chessboard pattern of squares reveals the incoming image
892
+
893
+ - Tags: grid, squares, pattern
894
+ - Parameters:
895
+ - `grid_num` (float = 10): Number of squares per row
896
+ - Author: lql
897
+ - License: MIT
898
+ - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/transitions/chessboard.glsl
899
+ - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/sksl/chessboard.sksl
900
+ - Preview: https://gl-transitions.com/editor/chessboard
901
+
902
+ ## circle
903
+
904
+ The outgoing image closes into a circle over a background color, then the incoming one opens from it
905
+
906
+ - Tags: circle, iris, shape
907
+ - Parameters:
908
+ - `center` (vec2 = vec2(0.5, 0.5)): Center of the circle
909
+ - `backColor` (vec3 = vec3(0.1, 0.1, 0.1)) [color]: Background color
910
+ - Author: Fernando Kuteken
911
+ - License: MIT
912
+ - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/transitions/circle.glsl
913
+ - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/sksl/circle.sksl
914
+ - Preview: https://gl-transitions.com/editor/circle
915
+
916
+ ## circleopen
917
+
918
+ A soft-edged circle opens from the center to reveal the incoming image
919
+
920
+ - Tags: circle, iris, wipe
921
+ - Parameters:
922
+ - `smoothness` (float = 0.3): Softness of the circle's edge
923
+ - `opening` (bool = true): Open the circle; false closes it instead
924
+ - Author: gre
925
+ - License: MIT
926
+ - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/transitions/circleopen.glsl
927
+ - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/sksl/circleopen.sksl
928
+ - Preview: https://gl-transitions.com/editor/circleopen
929
+
930
+ ## colorphase
931
+
932
+ A crossfade in which each color channel changes at a different time
933
+
934
+ - Tags: fade, color
935
+ - Parameters:
936
+ - `fromStep` (vec4 = vec4(0, 0.2, 0.4, 0)) [range 0 to 1]: When each channel (r, g, b, a) starts changing
937
+ - `toStep` (vec4 = vec4(0.6, 0.8, 1, 1)) [range 0 to 1]: When each channel (r, g, b, a) finishes changing
938
+ - Author: gre
939
+ - License: MIT
940
+ - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/transitions/colorphase.glsl
941
+ - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/sksl/colorphase.sksl
942
+ - Preview: https://gl-transitions.com/editor/colorphase
943
+
944
+ ## coord-from-in
945
+
946
+ A crossfade in which the colors of one image displace the other
947
+
948
+ - Tags: displace, distort, blend
949
+ - Parameters: none
950
+ - Author: haiyoucuv
951
+ - License: MIT
952
+ - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/transitions/coord-from-in.glsl
953
+ - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/sksl/coord-from-in.sksl
954
+ - Preview: https://gl-transitions.com/editor/coord-from-in
955
+
956
+ ## crosshatch
957
+
958
+ The incoming image appears through a crosshatch of lines spreading from the center
959
+
960
+ - Tags: pattern, lines, noise
961
+ - Parameters:
962
+ - `center` (vec2 = vec2(0.5, 0.5)): Point the lines spread from
963
+ - `threshold` (float = 3)
964
+ - `fadeEdge` (float = 0.1)
965
+ - Author: pthrasher
966
+ - License: MIT
967
+ - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/transitions/crosshatch.glsl
968
+ - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/sksl/crosshatch.sksl
969
+ - Preview: https://gl-transitions.com/editor/crosshatch
970
+
971
+ ## crosswarp
972
+
973
+ The outgoing image zooms in while the incoming one zooms out into place, sweeping from right to left
974
+
975
+ - Tags: warp, zoom, horizontal
976
+ - Parameters: none
977
+ - Author: Eke Péter <peterekepeter@gmail.com>
978
+ - License: MIT
979
+ - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/transitions/crosswarp.glsl
980
+ - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/sksl/crosswarp.sksl
981
+ - Preview: https://gl-transitions.com/editor/crosswarp
982
+
983
+ ## cube
984
+
985
+ The two images are faces of a rotating 3D cube, with a floor reflection
986
+
987
+ - Tags: 3d, cube, rotate, reflection
988
+ - Parameters:
989
+ - `persp` (float = 0.7) [range 0 to 1]: Amount of perspective
990
+ - `unzoom` (float = 0.3)
991
+ - `reflection` (float = 0.4) [range 0 to 1]: Strength of the reflection
992
+ - `floating` (float = 3)
993
+ - Author: gre
994
+ - License: MIT
995
+ - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/transitions/cube.glsl
996
+ - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/sksl/cube.sksl
997
+ - Preview: https://gl-transitions.com/editor/cube
998
+
999
+ ## directional-easing
1000
+
1001
+ Like Directional, with an eased movement
1002
+
1003
+ - Tags: slide, push, directional
1004
+ - Parameters:
1005
+ - `direction` (vec2 = vec2(0, 1)): Direction of the movement
1006
+ - Author: Max Plotnikov
1007
+ - License: MIT
1008
+ - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/transitions/directional-easing.glsl
1009
+ - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/sksl/directional-easing.sksl
1010
+ - Preview: https://gl-transitions.com/editor/directional-easing
1011
+
1012
+ ## directionalwarp
1013
+
1014
+ A diagonal wipe with a warped, smeared edge
1015
+
1016
+ - Tags: wipe, warp, directional
1017
+ - Parameters:
1018
+ - `smoothness` (float = 0.1): Softness of the edge
1019
+ - `direction` (vec2 = vec2(-1, 1)): Direction of the wipe
1020
+ - Author: pschroen
1021
+ - License: MIT
1022
+ - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/transitions/directionalwarp.glsl
1023
+ - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/sksl/directionalwarp.sksl
1024
+ - Preview: https://gl-transitions.com/editor/directionalwarp
1025
+
1026
+ ## directionalwipe
1027
+
1028
+ A soft-edged diagonal wipe
1029
+
1030
+ - Tags: wipe, directional
1031
+ - Parameters:
1032
+ - `direction` (vec2 = vec2(1, -1)): Direction of the wipe
1033
+ - `smoothness` (float = 0.5): Softness of the edge
1034
+ - Author: gre
1035
+ - License: MIT
1036
+ - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/transitions/directionalwipe.glsl
1037
+ - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/sksl/directionalwipe.sksl
1038
+ - Preview: https://gl-transitions.com/editor/directionalwipe
1039
+
1040
+ ## displacement
1041
+
1042
+ A crossfade in which a displacement map (an extra grayscale texture) warps both images
1043
+
1044
+ - Tags: displace, distort, blend
1045
+ - Parameters:
1046
+ - `strength` (float = 0.5): Strength of the displacement
1047
+ - Extra textures: `displacementMap` (sampler2D)
1048
+ - Author: Travis Fischer
1049
+ - License: MIT
1050
+ - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/transitions/displacement.glsl
1051
+ - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/sksl/displacement.sksl
1052
+ - Preview: https://gl-transitions.com/editor/displacement
1053
+
1054
+ ## dissolve
1055
+
1056
+ The incoming image spreads over the outgoing one with a hot, glowing edge
1057
+
1058
+ - Tags: dissolve, burn, glow
1059
+ - Parameters:
1060
+ - `uLineWidth` (float = 0.1)
1061
+ - `uSpreadClr` (vec3 = vec3(1, 0, 0)) [color]: Color of the spreading edge
1062
+ - `uHotClr` (vec3 = vec3(0.9, 0.9, 0.2)) [color]: Color of the hottest part of the edge
1063
+ - `uPow` (float = 5)
1064
+ - `uIntensity` (float = 1)
1065
+ - Author: hjm1fb
1066
+ - License: MIT
1067
+ - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/transitions/dissolve.glsl
1068
+ - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/sksl/dissolve.sksl
1069
+ - Preview: https://gl-transitions.com/editor/dissolve
1070
+
1071
+ ## doorway
1072
+
1073
+ The outgoing image opens like double doors as the incoming one comes forward, with a floor reflection
1074
+
1075
+ - Tags: doors, 3d, reflection
1076
+ - Parameters:
1077
+ - `reflection` (float = 0.4): Strength of the reflection
1078
+ - `perspective` (float = 0.4): Amount of perspective
1079
+ - `depth` (float = 3)
1080
+ - Author: gre
1081
+ - License: MIT
1082
+ - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/transitions/doorway.glsl
1083
+ - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/sksl/doorway.sksl
1084
+ - Preview: https://gl-transitions.com/editor/doorway
1085
+
1086
+ ## fade
1087
+
1088
+ A linear crossfade between the two images
1089
+
1090
+ - Tags: fade, blend
1091
+ - Parameters: none
1092
+ - Author: gre
1093
+ - License: MIT
1094
+ - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/transitions/fade.glsl
1095
+ - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/sksl/fade.sksl
1096
+ - Preview: https://gl-transitions.com/editor/fade
1097
+
1098
+ ## fadecolor
1099
+
1100
+ A fade through a solid color, black by default
1101
+
1102
+ - Tags: fade, color
1103
+ - Parameters:
1104
+ - `color` (vec3 = vec3(0, 0, 0)) [color]: Color to fade through
1105
+ - `colorPhase` (float = 0.4) [range 0 to 1]: How long the color shows in the middle
1106
+ - Author: gre
1107
+ - License: MIT
1108
+ - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/transitions/fadecolor.glsl
1109
+ - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/sksl/fadecolor.sksl
1110
+ - Preview: https://gl-transitions.com/editor/fadecolor
1111
+
1112
+ ## fadegrayscale
1113
+
1114
+ A crossfade through grayscale
1115
+
1116
+ - Tags: fade, grayscale, color
1117
+ - Parameters:
1118
+ - `intensity` (float = 0.3) [range 0 to 1]: How long the grayscale phase lasts
1119
+ - Author: gre
1120
+ - License: MIT
1121
+ - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/transitions/fadegrayscale.glsl
1122
+ - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/sksl/fadegrayscale.sksl
1123
+ - Preview: https://gl-transitions.com/editor/fadegrayscale
1124
+
1125
+ ## flyeye
1126
+
1127
+ The image breaks into a fly's-eye grid of lenses with color separation
1128
+
1129
+ - Tags: lens, distort, chromatic
1130
+ - Parameters:
1131
+ - `size` (float = 0.04)
1132
+ - `zoom` (float = 50)
1133
+ - `colorSeparation` (float = 0.3)
1134
+ - Author: gre
1135
+ - License: MIT
1136
+ - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/transitions/flyeye.glsl
1137
+ - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/sksl/flyeye.sksl
1138
+ - Preview: https://gl-transitions.com/editor/flyeye
1139
+
1140
+ ## fragment
1141
+
1142
+ The outgoing image shatters into fragments that fly away
1143
+
1144
+ - Tags: shatter, fragments
1145
+ - Parameters: none
1146
+ - Author: lbl
1147
+ - License: MIT
1148
+ - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/transitions/fragment.glsl
1149
+ - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/sksl/fragment.sksl
1150
+ - Preview: https://gl-transitions.com/editor/fragment
1151
+
1152
+ ## heart
1153
+
1154
+ A heart shape grows from the center to reveal the incoming image
1155
+
1156
+ - Tags: shape, wipe, heart
1157
+ - Parameters: none
1158
+ - Author: gre
1159
+ - License: MIT
1160
+ - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/transitions/heart.glsl
1161
+ - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/sksl/heart.sksl
1162
+ - Preview: https://gl-transitions.com/editor/heart
1163
+
1164
+ ## hexagonalize
1165
+
1166
+ Both images turn into hexagons, crossfade, then sharpen again
1167
+
1168
+ - Tags: pixelate, hexagon, blend
1169
+ - Parameters:
1170
+ - `steps` (int = 50)
1171
+ - `horizontalHexagons` (float = 20): Number of hexagons across
1172
+ - Author: Fernando Kuteken
1173
+ - License: MIT
1174
+ - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/transitions/hexagonalize.glsl
1175
+ - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/sksl/hexagonalize.sksl
1176
+ - Preview: https://gl-transitions.com/editor/hexagonalize
1177
+
1178
+ ## kaleidoscope
1179
+
1180
+ A crossfade through a spinning kaleidoscope
1181
+
1182
+ - Tags: kaleidoscope, distort, blend
1183
+ - Parameters:
1184
+ - `speed` (float = 1)
1185
+ - `angle` (float = 1)
1186
+ - `power` (float = 1.5)
1187
+ - Author: nwoeanhinnogaehr
1188
+ - License: MIT
1189
+ - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/transitions/kaleidoscope.glsl
1190
+ - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/sksl/kaleidoscope.sksl
1191
+ - Preview: https://gl-transitions.com/editor/kaleidoscope
1192
+
1193
+ ## luma
1194
+
1195
+ A wipe that follows the brightness of a grayscale mask (the luma texture)
1196
+
1197
+ - Tags: wipe, luma, mask
1198
+ - Parameters: none
1199
+ - Extra textures: `luma` (sampler2D)
1200
+ - Author: gre
1201
+ - License: MIT
1202
+ - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/transitions/luma.glsl
1203
+ - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/sksl/luma.sksl
1204
+ - Preview: https://gl-transitions.com/editor/luma
1205
+
1206
+ ## luminance_melt
1207
+
1208
+ The outgoing image melts away in noisy vertical streaks, depending on its brightness
1209
+
1210
+ - Tags: melt, noise, luma
1211
+ - Parameters:
1212
+ - `direction` (bool = true): Direction of the melt (false: up, true: down)
1213
+ - `l_threshold` (float = 0.8) [range 0 to 1]: Luminance threshold
1214
+ - `above` (bool = false): Melt the parts above the threshold instead of below
1215
+ - Author: 0gust1
1216
+ - License: MIT
1217
+ - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/transitions/luminance_melt.glsl
1218
+ - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/sksl/luminance_melt.sksl
1219
+ - Preview: https://gl-transitions.com/editor/luminance_melt
1220
+
1221
+ ## morph
1222
+
1223
+ A crossfade in which each image is displaced by the other's colors, like a morph
1224
+
1225
+ - Tags: morph, distort, blend
1226
+ - Parameters:
1227
+ - `strength` (float = 0.1): Strength of the displacement
1228
+ - Author: paniq
1229
+ - License: MIT
1230
+ - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/transitions/morph.glsl
1231
+ - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/sksl/morph.sksl
1232
+ - Preview: https://gl-transitions.com/editor/morph
1233
+
1234
+ ## mosaic_transition
1235
+
1236
+ Both images break into mosaic blocks that blend, then sharpen into the incoming image
1237
+
1238
+ - Tags: mosaic, pixelate, blend
1239
+ - Parameters:
1240
+ - `mosaicNum` (float = 10): Number of mosaic blocks
1241
+ - Author: YueDev
1242
+ - License: MIT
1243
+ - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/transitions/mosaic_transition.glsl
1244
+ - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/sksl/mosaic_transition.sksl
1245
+ - Preview: https://gl-transitions.com/editor/mosaic_transition
1246
+
1247
+ ## multiply_blend
1248
+
1249
+ A crossfade through the multiplied blend of both images
1250
+
1251
+ - Tags: blend, fade
1252
+ - Parameters: none
1253
+ - Author: Fernando Kuteken
1254
+ - License: MIT
1255
+ - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/transitions/multiply_blend.glsl
1256
+ - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/sksl/multiply_blend.sksl
1257
+ - Preview: https://gl-transitions.com/editor/multiply_blend
1258
+
1259
+ ## old_tv_lost_signal
1260
+
1261
+ A crossfade with drifting tracking lines and tearing, like a TV losing its signal
1262
+
1263
+ - Tags: retro, glitch, scanlines
1264
+ - Parameters: none
1265
+ - Author: mernking (gitlab.com/Godswork)
1266
+ - License: MIT
1267
+ - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/transitions/old_tv_lost_signal.glsl
1268
+ - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/sksl/old_tv_lost_signal.sksl
1269
+ - Preview: https://gl-transitions.com/editor/old_tv_lost_signal
1270
+
1271
+ ## parametric_glitch
1272
+
1273
+ A crossfade with glitchy horizontal bands and color shifts
1274
+
1275
+ - Tags: glitch, blend
1276
+ - Parameters:
1277
+ - `ampx` (float = 1): Horizontal amplitude of the glitch
1278
+ - `ampy` (float = 1): Vertical amplitude of the glitch
1279
+ - Author: Yoni Maltsman @friendlyspinach
1280
+ - License: MIT
1281
+ - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/transitions/parametric_glitch.glsl
1282
+ - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/sksl/parametric_glitch.sksl
1283
+ - Preview: https://gl-transitions.com/editor/parametric_glitch
1284
+
1285
+ ## perlin
1286
+
1287
+ The incoming image appears through blobs of Perlin noise
1288
+
1289
+ - Tags: noise, dissolve
1290
+ - Parameters:
1291
+ - `scale` (float = 4): Scale of the noise; higher values make smaller blobs
1292
+ - `smoothness` (float = 0.01): Softness of the blob edges
1293
+ - `seed` (float = 12.9898): Random seed
1294
+ - Author: Rich Harris
1295
+ - License: MIT
1296
+ - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/transitions/perlin.glsl
1297
+ - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/sksl/perlin.sksl
1298
+ - Preview: https://gl-transitions.com/editor/perlin
1299
+
1300
+ ## pinwheel
1301
+
1302
+ A spinning pinwheel reveals the incoming image
1303
+
1304
+ - Tags: pinwheel, radial, rotate
1305
+ - Parameters:
1306
+ - `speed` (float = 2): Rotation speed
1307
+ - Author: Mr Speaker
1308
+ - License: MIT
1309
+ - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/transitions/pinwheel.glsl
1310
+ - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/sksl/pinwheel.sksl
1311
+ - Preview: https://gl-transitions.com/editor/pinwheel
1312
+
1313
+ ## pixelize
1314
+
1315
+ Both images pixelate, crossfade, then sharpen again
1316
+
1317
+ - Tags: pixelate, blend
1318
+ - Parameters:
1319
+ - `squaresMin` (ivec2 = ivec2(20, 20)): Number of squares at the strongest pixelation
1320
+ - `steps` (int = 50): Number of pixelation steps; 0 for a continuous effect
1321
+ - Author: gre
1322
+ - License: MIT
1323
+ - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/transitions/pixelize.glsl
1324
+ - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/sksl/pixelize.sksl
1325
+ - Preview: https://gl-transitions.com/editor/pixelize
1326
+
1327
+ ## polar_function
1328
+
1329
+ A flower shape with several petals grows to reveal the incoming image
1330
+
1331
+ - Tags: shape, wipe, polar
1332
+ - Parameters:
1333
+ - `segments` (int = 5): Number of petals
1334
+ - Author: Fernando Kuteken
1335
+ - License: MIT
1336
+ - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/transitions/polar_function.glsl
1337
+ - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/sksl/polar_function.sksl
1338
+ - Preview: https://gl-transitions.com/editor/polar_function
1339
+
1340
+ ## powerKaleido
1341
+
1342
+ The image folds into an animated kaleidoscope before revealing the incoming one
1343
+
1344
+ - Tags: kaleidoscope, distort
1345
+ - Parameters:
1346
+ - `scale` (float = 2)
1347
+ - `z` (float = 1.5)
1348
+ - `speed` (float = 5)
1349
+ - Author: Boundless
1350
+ - License: MIT
1351
+ - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/transitions/powerKaleido.glsl
1352
+ - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/sksl/powerKaleido.sksl
1353
+ - Preview: https://gl-transitions.com/editor/powerKaleido
1354
+
1355
+ ## randomNoisex
1356
+
1357
+ The incoming image appears pixel by pixel in random noise
1358
+
1359
+ - Tags: dissolve, noise
1360
+ - Parameters: none
1361
+ - Author: towrabbit
1362
+ - License: MIT
1363
+ - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/transitions/randomNoisex.glsl
1364
+ - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/sksl/randomNoisex.sksl
1365
+ - Preview: https://gl-transitions.com/editor/randomNoisex
1366
+
1367
+ ## randomsquares
1368
+
1369
+ The incoming image appears in random squares
1370
+
1371
+ - Tags: squares, grid, dissolve
1372
+ - Parameters:
1373
+ - `size` (ivec2 = ivec2(10, 10)): Number of squares (columns, rows)
1374
+ - `smoothness` (float = 0.5): Softness of each square's switch
1375
+ - Author: gre
1376
+ - License: MIT
1377
+ - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/transitions/randomsquares.glsl
1378
+ - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/sksl/randomsquares.sksl
1379
+ - Preview: https://gl-transitions.com/editor/randomsquares
1380
+
1381
+ ## ripple
1382
+
1383
+ Ripples spread from the center while crossfading
1384
+
1385
+ - Tags: ripple, wave, blend
1386
+ - Parameters:
1387
+ - `amplitude` (float = 100): Frequency of the ripples
1388
+ - `speed` (float = 50): Speed of the ripples
1389
+ - Author: gre
1390
+ - License: MIT
1391
+ - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/transitions/ripple.glsl
1392
+ - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/sksl/ripple.sksl
1393
+ - Preview: https://gl-transitions.com/editor/ripple
1394
+
1395
+ ## rotateTransition
1396
+
1397
+ The images spin around the center while crossfading
1398
+
1399
+ - Tags: rotate, spin, blend
1400
+ - Parameters: none
1401
+ - Author: haiyoucuv
1402
+ - License: MIT
1403
+ - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/transitions/rotateTransition.glsl
1404
+ - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/sksl/rotateTransition.sksl
1405
+ - Preview: https://gl-transitions.com/editor/rotateTransition
1406
+
1407
+ ## rotate_scale_fade
1408
+
1409
+ The outgoing image spins and zooms while fading to the incoming one, over a background color
1410
+
1411
+ - Tags: rotate, zoom, fade
1412
+ - Parameters:
1413
+ - `center` (vec2 = vec2(0.5, 0.5)): Center of the rotation
1414
+ - `rotations` (float = 1): Number of turns
1415
+ - `scale` (float = 8): Maximum zoom
1416
+ - `backColor` (vec4 = vec4(0.15, 0.15, 0.15, 1)) [color]: Background color
1417
+ - Author: Fernando Kuteken
1418
+ - License: MIT
1419
+ - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/transitions/rotate_scale_fade.glsl
1420
+ - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/sksl/rotate_scale_fade.sksl
1421
+ - Preview: https://gl-transitions.com/editor/rotate_scale_fade
1422
+
1423
+ ## scale-in
1424
+
1425
+ The incoming image scales in from the center while fading in
1426
+
1427
+ - Tags: zoom, fade
1428
+ - Parameters: none
1429
+ - Author: haiyoucuv
1430
+ - License: MIT
1431
+ - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/transitions/scale-in.glsl
1432
+ - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/sksl/scale-in.sksl
1433
+ - Preview: https://gl-transitions.com/editor/scale-in
1434
+
1435
+ ## splitSlideInHorizontal
1436
+
1437
+ The incoming image slides in as two halves moving horizontally in opposite directions
1438
+
1439
+ - Tags: slide, split, horizontal
1440
+ - Parameters:
1441
+ - `reverse` (bool = false): Swap the directions of the halves
1442
+ - Author: OllyOllyOlly
1443
+ - License: MIT
1444
+ - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/transitions/splitSlideInHorizontal.glsl
1445
+ - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/sksl/splitSlideInHorizontal.sksl
1446
+ - Preview: https://gl-transitions.com/editor/splitSlideInHorizontal
1447
+
1448
+ ## splitSlideInOutHorizontal
1449
+
1450
+ The halves of both images slide horizontally in opposite directions, out and in at once
1451
+
1452
+ - Tags: slide, split, horizontal
1453
+ - Parameters:
1454
+ - `reverse` (bool = false): Swap the directions of the halves
1455
+ - Author: OllyOllyOlly
1456
+ - License: MIT
1457
+ - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/transitions/splitSlideInOutHorizontal.glsl
1458
+ - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/sksl/splitSlideInOutHorizontal.sksl
1459
+ - Preview: https://gl-transitions.com/editor/splitSlideInOutHorizontal
1460
+
1461
+ ## splitSlideInOutVertical
1462
+
1463
+ The halves of both images slide vertically in opposite directions, out and in at once
1464
+
1465
+ - Tags: slide, split, vertical
1466
+ - Parameters:
1467
+ - `reverse` (bool = false): Swap the directions of the halves
1468
+ - Author: OllyOllyOlly
1469
+ - License: MIT
1470
+ - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/transitions/splitSlideInOutVertical.glsl
1471
+ - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/sksl/splitSlideInOutVertical.sksl
1472
+ - Preview: https://gl-transitions.com/editor/splitSlideInOutVertical
1473
+
1474
+ ## splitSlideInVertical
1475
+
1476
+ The incoming image slides in as two halves moving vertically in opposite directions
1477
+
1478
+ - Tags: slide, split, vertical
1479
+ - Parameters:
1480
+ - `reverse` (bool = false): Swap the directions of the halves
1481
+ - Author: OllyOllyOlly
1482
+ - License: MIT
1483
+ - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/transitions/splitSlideInVertical.glsl
1484
+ - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/sksl/splitSlideInVertical.sksl
1485
+ - Preview: https://gl-transitions.com/editor/splitSlideInVertical
1486
+
1487
+ ## splitSlideOutHorizontal
1488
+
1489
+ The outgoing image slides out as two halves moving horizontally in opposite directions
1490
+
1491
+ - Tags: slide, split, horizontal
1492
+ - Parameters:
1493
+ - `reverse` (bool = false): Swap the directions of the halves
1494
+ - Author: OllyOllyOlly
1495
+ - License: MIT
1496
+ - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/transitions/splitSlideOutHorizontal.glsl
1497
+ - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/sksl/splitSlideOutHorizontal.sksl
1498
+ - Preview: https://gl-transitions.com/editor/splitSlideOutHorizontal
1499
+
1500
+ ## splitSlideOutVertical
1501
+
1502
+ The outgoing image slides out as two halves moving vertically in opposite directions
1503
+
1504
+ - Tags: slide, split, vertical
1505
+ - Parameters:
1506
+ - `reverse` (bool = false): Swap the directions of the halves
1507
+ - Author: OllyOllyOlly
1508
+ - License: MIT
1509
+ - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/transitions/splitSlideOutVertical.glsl
1510
+ - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/sksl/splitSlideOutVertical.sksl
1511
+ - Preview: https://gl-transitions.com/editor/splitSlideOutVertical
1512
+
1513
+ ## squareswire
1514
+
1515
+ Squares grow along a diagonal sweep to reveal the incoming image
1516
+
1517
+ - Tags: squares, grid, wipe, directional
1518
+ - Parameters:
1519
+ - `squares` (ivec2 = ivec2(10, 10)): Number of squares (columns, rows)
1520
+ - `direction` (vec2 = vec2(1, -0.5)): Direction of the sweep
1521
+ - `smoothness` (float = 1.6): Softness of the sweep
1522
+ - Author: gre
1523
+ - License: MIT
1524
+ - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/transitions/squareswire.glsl
1525
+ - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/sksl/squareswire.sksl
1526
+ - Preview: https://gl-transitions.com/editor/squareswire
1527
+
1528
+ ## squeeze
1529
+
1530
+ The outgoing image is squeezed into a line with color separation, revealing the incoming one
1531
+
1532
+ - Tags: squeeze, chromatic, vertical
1533
+ - Parameters:
1534
+ - `colorSeparation` (float = 0.04): Amount of color separation
1535
+ - Author: gre
1536
+ - License: MIT
1537
+ - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/transitions/squeeze.glsl
1538
+ - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/sksl/squeeze.sksl
1539
+ - Preview: https://gl-transitions.com/editor/squeeze
1540
+
1541
+ ## static_wipe
1542
+
1543
+ A wipe from top to bottom with a band of TV static at its edge
1544
+
1545
+ - Tags: wipe, static, noise, vertical
1546
+ - Parameters:
1547
+ - `u_transitionUpToDown` (bool = true): Wipe from top to bottom; false wipes from bottom to top
1548
+ - `u_max_static_span` (float = 0.5): Maximum height of the static band
1549
+ - Author: Ben Lucas
1550
+ - License: MIT
1551
+ - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/transitions/static_wipe.glsl
1552
+ - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/sksl/static_wipe.sksl
1553
+ - Preview: https://gl-transitions.com/editor/static_wipe
1554
+
1555
+ ## swap
1556
+
1557
+ The two images swap places in 3D, with a floor reflection
1558
+
1559
+ - Tags: 3d, swap, reflection
1560
+ - Parameters:
1561
+ - `reflection` (float = 0.4): Strength of the reflection
1562
+ - `perspective` (float = 0.2): Amount of perspective
1563
+ - `depth` (float = 3)
1564
+ - Author: gre
1565
+ - License: MIT
1566
+ - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/transitions/swap.glsl
1567
+ - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/sksl/swap.sksl
1568
+ - Preview: https://gl-transitions.com/editor/swap
1569
+
1570
+ ## tangentMotionBlur
1571
+
1572
+ The outgoing image is flung away along a curve with motion blur
1573
+
1574
+ - Tags: motion-blur, rotate, slide
1575
+ - Parameters: none
1576
+ - Author: chenkai
1577
+ - License: MIT
1578
+ - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/transitions/tangentMotionBlur.glsl
1579
+ - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/sksl/tangentMotionBlur.sksl
1580
+ - Preview: https://gl-transitions.com/editor/tangentMotionBlur
1581
+
1582
+ ## undulatingBurnOut
1583
+
1584
+ A circle with a wavy edge burns out from the center to reveal the incoming image
1585
+
1586
+ - Tags: circle, burn, wipe
1587
+ - Parameters:
1588
+ - `smoothness` (float = 0.03): Softness of the edge
1589
+ - `center` (vec2 = vec2(0.5, 0.5)): Center of the circle
1590
+ - `color` (vec3 = vec3(0, 0, 0)) [color]: Color of the burning edge
1591
+ - Author: pthrasher
1592
+ - License: MIT
1593
+ - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/transitions/undulatingBurnOut.glsl
1594
+ - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/sksl/undulatingBurnOut.sksl
1595
+ - Preview: https://gl-transitions.com/editor/undulatingBurnOut
1596
+
1597
+ ## wind
1598
+
1599
+ A ragged left-to-right wipe, as if the image was blown away by the wind
1600
+
1601
+ - Tags: wipe, horizontal, noise
1602
+ - Parameters:
1603
+ - `size` (float = 0.2) [range 0 to 1]: Width of the ragged edge
1604
+ - `reversed` (bool = false): Wipe from right to left instead
1605
+ - Author: gre
1606
+ - License: MIT
1607
+ - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/transitions/wind.glsl
1608
+ - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/sksl/wind.sksl
1609
+ - Preview: https://gl-transitions.com/editor/wind
1610
+
1611
+ ## windowblinds
1612
+
1613
+ A crossfade through horizontal window blinds
1614
+
1615
+ - Tags: blinds, stripes, blend
1616
+ - Parameters: none
1617
+ - Author: Fabien Benetou
1618
+ - License: MIT
1619
+ - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/transitions/windowblinds.glsl
1620
+ - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/sksl/windowblinds.sksl
1621
+ - Preview: https://gl-transitions.com/editor/windowblinds
1622
+
1623
+ ## windowslice
1624
+
1625
+ The incoming image appears through vertical slices that widen
1626
+
1627
+ - Tags: slices, stripes, wipe
1628
+ - Parameters:
1629
+ - `count` (float = 10): Number of slices
1630
+ - `smoothness` (float = 0.5): Softness of the slices' edges
1631
+ - Author: gre
1632
+ - License: MIT
1633
+ - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/transitions/windowslice.glsl
1634
+ - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/sksl/windowslice.sksl
1635
+ - Preview: https://gl-transitions.com/editor/windowslice
1636
+
1637
+ ## wipeDown
1638
+
1639
+ A hard-edged wipe from top to bottom
1640
+
1641
+ - Tags: wipe, vertical
1642
+ - Parameters: none
1643
+ - Author: Jake Nelson
1644
+ - License: MIT
1645
+ - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/transitions/wipeDown.glsl
1646
+ - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/sksl/wipeDown.sksl
1647
+ - Preview: https://gl-transitions.com/editor/wipeDown
1648
+
1649
+ ## wipeLeft
1650
+
1651
+ A hard-edged wipe from right to left
1652
+
1653
+ - Tags: wipe, horizontal
1654
+ - Parameters: none
1655
+ - Author: Jake Nelson
1656
+ - License: MIT
1657
+ - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/transitions/wipeLeft.glsl
1658
+ - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/sksl/wipeLeft.sksl
1659
+ - Preview: https://gl-transitions.com/editor/wipeLeft
1660
+
1661
+ ## wipeRight
1662
+
1663
+ A hard-edged wipe from left to right
1664
+
1665
+ - Tags: wipe, horizontal
1666
+ - Parameters: none
1667
+ - Author: Jake Nelson
1668
+ - License: MIT
1669
+ - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/transitions/wipeRight.glsl
1670
+ - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/sksl/wipeRight.sksl
1671
+ - Preview: https://gl-transitions.com/editor/wipeRight
1672
+
1673
+ ## wipeUp
1674
+
1675
+ A hard-edged wipe from bottom to top
1676
+
1677
+ - Tags: wipe, vertical
1678
+ - Parameters: none
1679
+ - Author: Jake Nelson
1680
+ - License: MIT
1681
+ - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/transitions/wipeUp.glsl
1682
+ - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/sksl/wipeUp.sksl
1683
+ - Preview: https://gl-transitions.com/editor/wipeUp
1684
+
1685
+ ## x_axis_translation
1686
+
1687
+ The outgoing image slides to the right, uncovering a crossfade to the incoming one
1688
+
1689
+ - Tags: slide, horizontal, blend
1690
+ - Parameters: none
1691
+ - Author: lizhongjian
1692
+ - License: MIT
1693
+ - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/transitions/x_axis_translation.glsl
1694
+ - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/sksl/x_axis_translation.sksl
1695
+ - Preview: https://gl-transitions.com/editor/x_axis_translation
1696
+
1697
+ ## zoomInOut
1698
+
1699
+ Zooms into the outgoing image until it blurs into a flat color, then out to the incoming one
1700
+
1701
+ - Tags: zoom, blur
1702
+ - Parameters: none
1703
+ - Author: OllyOllyOlly
1704
+ - License: MIT
1705
+ - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/transitions/zoomInOut.glsl
1706
+ - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.76.0/sksl/zoomInOut.sksl
1707
+ - Preview: https://gl-transitions.com/editor/zoomInOut