# gl-transitions > 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.75.0 (npm). Every transition is GLSL (WebGL 1 / GLSL ES 1.00) that implements `vec4 transition(vec2 uv)`. The host provides: - `float progress`: 0.0 shows only the outgoing image, 1.0 only the incoming one - `float ratio`: output width / height - `vec4 getFromColor(vec2 uv)` and `vec4 getToColor(vec2 uv)`: sample the outgoing and incoming images (uv in [0, 1], origin at the bottom left) - one uniform per parameter, set to its default unless the user picks another value - one `sampler2D` per extra texture, for the few transitions that list `textures` SkSL versions (`sksl/.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. 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/ ## AdvancedMosaic Both images break into large blocks that blend, then sharpen into the incoming image - Tags: pixelate, mosaic, blend - Parameters: - `pixelSize` (float = 50) - Author: Sergey Kosarevsky - License: MIT - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/transitions/AdvancedMosaic.glsl - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/sksl/AdvancedMosaic.sksl - Preview: https://gl-transitions.com/editor/AdvancedMosaic ## BlockDissolve The incoming image appears in small random blocks - Tags: dissolve, blocks, noise - Parameters: - `blocksize` (float = 0.02) - Author: nwoeanhinnogaehr - License: MIT - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/transitions/BlockDissolve.glsl - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/sksl/BlockDissolve.sksl - Preview: https://gl-transitions.com/editor/BlockDissolve ## BookFlip The outgoing image turns like a book page from right to left, revealing the incoming one - Tags: page, flip, 3d - Parameters: none - Author: hong - License: MIT - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/transitions/BookFlip.glsl - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/sksl/BookFlip.sksl - Preview: https://gl-transitions.com/editor/BookFlip ## Bounce The outgoing image drops out of the frame with a few bounces, revealing the incoming one - Tags: bounce, slide, vertical, shadow - Parameters: - `shadow_colour` (vec4 = vec4(0, 0, 0, 0.6)) [color]: Color of the shadow cast on the incoming image - `shadow_height` (float = 0.075) [range 0.01 to 0.5]: Height of the shadow, relative to the image height - `bounces` (float = 3) [range 1 to 10 step 1]: Number of bounces before settling - Author: Adrian Purser - License: MIT - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/transitions/Bounce.glsl - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/sksl/Bounce.sksl - Preview: https://gl-transitions.com/editor/Bounce ## BowTieHorizontal Two triangles grow from the left and right edges into a bow tie that reveals the incoming image - Tags: wipe, shape, horizontal - Parameters: none - Author: huynx - License: MIT - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/transitions/BowTieHorizontal.glsl - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/sksl/BowTieHorizontal.sksl - Preview: https://gl-transitions.com/editor/BowTieHorizontal ## BowTieVertical Two triangles grow from the top and bottom edges into a bow tie that reveals the incoming image - Tags: wipe, shape, vertical - Parameters: none - Author: huynx - License: MIT - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/transitions/BowTieVertical.glsl - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/sksl/BowTieVertical.sksl - Preview: https://gl-transitions.com/editor/BowTieVertical ## BowTieWithParameter A bow-tie wipe with an adjustable shape that can run in reverse - Tags: wipe, shape - Parameters: - `adjust` (float = 0.5) - `reverse` (bool = false): Run the wipe in reverse - Author: KMojek - License: MIT - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/transitions/BowTieWithParameter.glsl - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/sksl/BowTieWithParameter.sksl - Preview: https://gl-transitions.com/editor/BowTieWithParameter ## Box The outgoing image shrinks into a box, toward the center or a corner, revealing the incoming one - Tags: box, zoom, shape - Parameters: - `rectIn` (int = 1) - `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 - Author: lql - License: MIT - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/transitions/Box.glsl - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/sksl/Box.sksl - Preview: https://gl-transitions.com/editor/Box ## ButterflyWaveScrawler Wavy, color-separated ripples scramble the outgoing image into the incoming one - Tags: wave, distort, chromatic - Parameters: - `amplitude` (float = 1) - `waves` (float = 30) - `colorSeparation` (float = 0.3) - Author: mandubian - License: MIT - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/transitions/ButterflyWaveScrawler.glsl - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/sksl/ButterflyWaveScrawler.sksl - Preview: https://gl-transitions.com/editor/ButterflyWaveScrawler ## CircleCrop The outgoing image closes into a circle over a background color, then the incoming one opens from it - Tags: circle, iris, shape - Parameters: - `bgcolor` (vec4 = vec4(0, 0, 0, 1)) [color]: Background color - Author: fkuteken - License: MIT - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/transitions/CircleCrop.glsl - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/sksl/CircleCrop.sksl - Preview: https://gl-transitions.com/editor/CircleCrop ## ColourDistance Pixels switch to the incoming image in order of how close their colors are - Tags: blend, color - Parameters: - `power` (float = 5) - Author: P-Seebauer - License: MIT - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/transitions/ColourDistance.glsl - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/sksl/ColourDistance.sksl - Preview: https://gl-transitions.com/editor/ColourDistance ## CrazyParametricFun The outgoing image is pulled along a parametric curve into a psychedelic swirl - Tags: distort, psychedelic - Parameters: - `a` (float = 4) - `b` (float = 1) - `amplitude` (float = 120) - `smoothness` (float = 0.1) - Author: mandubian - License: MIT - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/transitions/CrazyParametricFun.glsl - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/sksl/CrazyParametricFun.sksl - Preview: https://gl-transitions.com/editor/CrazyParametricFun ## CrossZoom A crossfade through a strong zoom blur - Tags: zoom, blur, blend - Parameters: - `strength` (float = 0.4) [range 0 to 1]: Blur strength - Author: rectalogic - License: MIT - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/transitions/CrossZoom.glsl - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/sksl/CrossZoom.sksl - Preview: https://gl-transitions.com/editor/CrossZoom ## DefocusBlur A crossfade through an out-of-focus blur - Tags: blur, blend - Parameters: - `blurSize` (float = 0.02): Amount of blur - Author: Sergey Kosarevsky - License: MIT - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/transitions/DefocusBlur.glsl - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/sksl/DefocusBlur.sksl - Preview: https://gl-transitions.com/editor/DefocusBlur ## Directional The incoming image pushes the outgoing one out in a given direction - Tags: slide, push, directional - Parameters: - `direction` (vec2 = vec2(0, 1)): Direction of the movement - Author: Gaëtan Renaudeau - License: MIT - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/transitions/Directional.glsl - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/sksl/Directional.sksl - Preview: https://gl-transitions.com/editor/Directional ## DirectionalScaled Like Directional, with both images scaled down while they slide - Tags: slide, push, zoom, directional - Parameters: - `direction` (vec2 = vec2(0, 1)): Direction of the movement - `scale` (float = 0.7) - Author: Thibaut Foussard - License: MIT - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/transitions/DirectionalScaled.glsl - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/sksl/DirectionalScaled.sksl - Preview: https://gl-transitions.com/editor/DirectionalScaled ## DoomScreenTransition The outgoing image melts down in uneven columns, like the Doom screen wipe - Tags: melt, columns, retro - Parameters: - `bars` (int = 30) - `amplitude` (float = 2) - `noise` (float = 0.1) - `frequency` (float = 0.5) - `dripScale` (float = 0.5) - Author: Zeh Fernando - License: MIT - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/transitions/DoomScreenTransition.glsl - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/sksl/DoomScreenTransition.sksl - Preview: https://gl-transitions.com/editor/DoomScreenTransition ## Dreamy A crossfade with a gentle wavy distortion - Tags: wave, blend - Parameters: none - Author: mikolalysenko - License: MIT - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/transitions/Dreamy.glsl - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/sksl/Dreamy.sksl - Preview: https://gl-transitions.com/editor/Dreamy ## DreamyZoom Zooms and rotates into a bright flash, then out to the incoming image - Tags: zoom, rotate, flash - Parameters: - `rotation` (float = 6) - `scale` (float = 1.2) - Author: Zeh Fernando - License: MIT - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/transitions/DreamyZoom.glsl - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/sksl/DreamyZoom.sksl - Preview: https://gl-transitions.com/editor/DreamyZoom ## Drop_Zone_Flicker A flickering glitch with RGB offset, ghosting and scanlines that flashes back to the outgoing image - Tags: glitch, flicker, chromatic, scanlines - Parameters: - `frameRate` (float = 24) - `rgbOffset` (float = 0.014) - `blockAmount` (float = 0.72) - `ghostAmount` (float = 0.62) - `redCyan` (float = 0.58) - `scanline` (float = 0.075) - Author: bread - License: MIT - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/transitions/Drop_Zone_Flicker.glsl - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/sksl/Drop_Zone_Flicker.sksl - Preview: https://gl-transitions.com/editor/Drop_Zone_Flicker ## EdgeTransition Both images fade through black with their edges glowing - Tags: edges, fade - Parameters: - `edge_thickness` (float = 0.001) - `edge_brightness` (float = 8) - Author: Woohyun Kim - License: MIT - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/transitions/EdgeTransition.glsl - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/sksl/EdgeTransition.sksl - Preview: https://gl-transitions.com/editor/EdgeTransition ## FilmBurn Glowing film-burn light leaks wash over the image and reveal the incoming one - Tags: burn, film, light-leak - Parameters: - `Seed` (float = 2.31): Random seed - Author: Anastasia Dunbar - License: MIT - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/transitions/FilmBurn.glsl - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/sksl/FilmBurn.sksl - Preview: https://gl-transitions.com/editor/FilmBurn ## Fold The incoming image unfolds from the left while the outgoing one folds away to the right - Tags: fold, slide, horizontal - Parameters: none - Author: nwoeanhinnogaehr - License: MIT - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/transitions/Fold.glsl - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/sksl/Fold.sksl - Preview: https://gl-transitions.com/editor/Fold ## GlitchDisplace Blocks of the image are displaced in a glitch that flashes into the incoming image - Tags: glitch, displace - Parameters: none - Author: Matt DesLauriers - License: MIT - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/transitions/GlitchDisplace.glsl - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/sksl/GlitchDisplace.sksl - Preview: https://gl-transitions.com/editor/GlitchDisplace ## GlitchMemories A crossfade with glitchy, color-shifted blocks - Tags: glitch, chromatic, blend - Parameters: none - Author: Gunnar Roth - License: MIT - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/transitions/GlitchMemories.glsl - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/sksl/GlitchMemories.sksl - Preview: https://gl-transitions.com/editor/GlitchMemories ## GridFlip The image splits into a grid of tiles that flip one by one to the incoming image - Tags: grid, tiles, flip - Parameters: - `size` (ivec2 = ivec2(4, 4)): Number of tiles (columns, rows) - `pause` (float = 0.1) - `dividerWidth` (float = 0.05) - `bgcolor` (vec4 = vec4(0, 0, 0, 1)) [color]: Color behind the tiles - `randomness` (float = 0.1) - Author: TimDonselaar - License: MIT - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/transitions/GridFlip.glsl - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/sksl/GridFlip.sksl - Preview: https://gl-transitions.com/editor/GridFlip ## HSVfade A crossfade through the HSV color space that cycles through hues - Tags: fade, color, hue - Parameters: none - Author: nwoeanhinnogaehr - License: MIT - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/transitions/HSVfade.glsl - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/sksl/HSVfade.sksl - Preview: https://gl-transitions.com/editor/HSVfade ## HorizontalClose The incoming image closes in from the top and bottom edges toward the middle - Tags: wipe, split - Parameters: none - Author: martiniti - License: MIT - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/transitions/HorizontalClose.glsl - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/sksl/HorizontalClose.sksl - Preview: https://gl-transitions.com/editor/HorizontalClose ## HorizontalOpen The incoming image opens from a line in the middle toward the top and bottom edges - Tags: wipe, split - Parameters: none - Author: martiniti - License: MIT - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/transitions/HorizontalOpen.glsl - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/sksl/HorizontalOpen.sksl - Preview: https://gl-transitions.com/editor/HorizontalOpen ## InvertedPageCurl The outgoing image curls away like a page, revealing the incoming one - Tags: page, curl, 3d - Parameters: none - Author: Hewlett-Packard - License: BSD 3 Clause - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/transitions/InvertedPageCurl.glsl - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/sksl/InvertedPageCurl.sksl - Preview: https://gl-transitions.com/editor/InvertedPageCurl ## LeftRight The outgoing image shrinks away to the left while the incoming one slides in from the right - Tags: slide, zoom, horizontal - Parameters: none - Author: zhmy - License: MIT - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/transitions/LeftRight.glsl - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/sksl/LeftRight.sksl - Preview: https://gl-transitions.com/editor/LeftRight ## LinearBlur A crossfade through a blur - Tags: blur, blend - Parameters: - `intensity` (float = 0.1): Amount of blur - Author: gre - License: MIT - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/transitions/LinearBlur.glsl - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/sksl/LinearBlur.sksl - Preview: https://gl-transitions.com/editor/LinearBlur ## Mosaic The view pans across a mosaic of rotated tiles from both images and settles on the incoming one - Tags: mosaic, tiles, zoom - Parameters: - `endx` (int = 2) - `endy` (int = -1) - Author: Xaychru - License: MIT - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/transitions/Mosaic.glsl - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/sksl/Mosaic.sksl - Preview: https://gl-transitions.com/editor/Mosaic ## Overexposure A crossfade through a washed-out, overexposed white - Tags: flash, light, fade - Parameters: - `strength` (float = 0.6): Amount of overexposure - Author: Ben Zhang - License: MIT - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/transitions/Overexposure.glsl - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/sksl/Overexposure.sksl - Preview: https://gl-transitions.com/editor/Overexposure ## PolkaDotsCurtain The incoming image appears through growing polka dots - Tags: dots, pattern - Parameters: - `dots` (float = 20): Number of dots across the image - `center` (vec2 = vec2(0, 0)) - Author: bobylito - License: MIT - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/transitions/PolkaDotsCurtain.glsl - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/sksl/PolkaDotsCurtain.sksl - Preview: https://gl-transitions.com/editor/PolkaDotsCurtain ## PuzzleRight The image splits into a grid of tiles that flip one by one to the incoming image - Tags: grid, tiles, flip - Parameters: - `size` (ivec2 = ivec2(4, 4)) - `pause` (float = 0.1) - `dividerWidth` (float = 0.005) - Author: JustKirillS - License: MIT - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/transitions/PuzzleRight.glsl - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/sksl/PuzzleRight.sksl - Preview: https://gl-transitions.com/editor/PuzzleRight ## Radial A radial wipe that sweeps around the center like a clock hand - Tags: wipe, radial, clock - Parameters: - `smoothness` (float = 1) - Author: Xaychru - License: MIT - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/transitions/Radial.glsl - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/sksl/Radial.sksl - Preview: https://gl-transitions.com/editor/Radial ## Rectangle A rectangle grows from the center to cover the outgoing image, then shrinks to reveal the incoming one - Tags: box, shape, iris - Parameters: - `bgcolor` (vec4 = vec4(0, 0, 0, 1)) [color]: Color of the rectangle - Author: martiniti - License: MIT - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/transitions/Rectangle.glsl - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/sksl/Rectangle.sksl - Preview: https://gl-transitions.com/editor/Rectangle ## RectangleCrop The outgoing image shrinks into a small rectangle over a background color, then the incoming one grows from it - Tags: box, iris, zoom - Parameters: - `bgcolor` (vec4 = vec4(0, 0, 0, 1)) [color]: Background color - Author: martiniti - License: MIT - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/transitions/RectangleCrop.glsl - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/sksl/RectangleCrop.sksl - Preview: https://gl-transitions.com/editor/RectangleCrop ## Revolve_Left The outgoing image swirls and zooms with motion blur into the incoming one - Tags: swirl, zoom, rotate, blur - Parameters: - `center` (vec2 = vec2(0.46, 0.52)): Center of the swirl - `direction` (float = -1) - `maxRotation` (float = 1.95) - `peakZoom` (float = 2.22) - `swirl` (float = 2.85) - `barrel` (float = 0.38) - `motionBlur` (float = 1) - `switchStart` (float = 0.3) - `switchEnd` (float = 0.5) - `shadow` (float = 0.16) - Author: bread - License: MIT - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/transitions/Revolve_Left.glsl - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/sksl/Revolve_Left.sksl - Preview: https://gl-transitions.com/editor/Revolve_Left ## Rolls The outgoing image rolls away around a corner, revealing the incoming one - Tags: rotate, roll - Parameters: - `type` (int = 0) [range 0 to 3 step 1]: Corner to roll around - `RotDown` (bool = false): Roll the outgoing image down instead of up - Author: Mark Craig - License: MIT - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/transitions/Rolls.glsl - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/sksl/Rolls.sksl - Preview: https://gl-transitions.com/editor/Rolls ## RotateScaleVanish The outgoing image spins and shrinks away over the incoming one - Tags: rotate, zoom, spin - Parameters: - `FadeInSecond` (bool = true): Fade in the incoming image - `ReverseEffect` (bool = false): Run the effect in reverse - `ReverseRotation` (bool = false): Rotate the other way - Author: Mark Craig - License: MIT - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/transitions/RotateScaleVanish.glsl - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/sksl/RotateScaleVanish.sksl - Preview: https://gl-transitions.com/editor/RotateScaleVanish ## SimpleFlip The outgoing image flips around the vertical axis into the incoming one - Tags: flip, horizontal - Parameters: none - Author: nwoeanhinnogaehr - License: MIT - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/transitions/SimpleFlip.glsl - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/sksl/SimpleFlip.sksl - Preview: https://gl-transitions.com/editor/SimpleFlip ## SimpleZoom Zooms into the outgoing image, then fades to the incoming one - Tags: zoom, fade - Parameters: - `zoom_quickness` (float = 0.8) [range 0.2 to 1]: Part of the transition spent zooming - Author: 0gust1 - License: MIT - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/transitions/SimpleZoom.glsl - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/sksl/SimpleZoom.sksl - Preview: https://gl-transitions.com/editor/SimpleZoom ## SimpleZoomOut The incoming image zooms out into place while fading in - Tags: zoom, fade - Parameters: - `zoom_quickness` (float = 0.8) [range 0.2 to 1]: Part of the transition spent zooming - `fade` (bool = true): Fade instead of cutting to the incoming image - Author: Tianshuo - License: MIT - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/transitions/SimpleZoomOut.glsl - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/sksl/SimpleZoomOut.sksl - Preview: https://gl-transitions.com/editor/SimpleZoomOut ## Slides The outgoing image slides out, or the incoming one slides in, toward an edge, a corner or the center - Tags: slide, directional - Parameters: - `type` (int = 0) - `In` (bool = false): Slide the incoming image in instead of the outgoing one out - Author: Mark Craig - License: MIT - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/transitions/Slides.glsl - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/sksl/Slides.sksl - Preview: https://gl-transitions.com/editor/Slides ## StarWipe A growing star reveals the incoming image - Tags: wipe, shape, star - Parameters: - `border_thickness` (float = 0.01): Thickness of the star's border - `star_rotation` (float = 0.75) - `border_color` (vec4 = vec4(1, 1, 1, 1)) [color]: Color of the star's border - `star_center` (vec2 = vec2(0.5, 0.5)): Center of the star - Author: Ben Lucas - License: MIT - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/transitions/StarWipe.glsl - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/sksl/StarWipe.sksl - Preview: https://gl-transitions.com/editor/StarWipe ## StaticFade Cuts to the incoming image halfway, hidden behind a burst of TV static - Tags: static, noise, retro - Parameters: - `n_noise_pixels` (float = 200) - `static_luminosity` (float = 0.8) - Author: Ben Lucas - License: MIT - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/transitions/StaticFade.glsl - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/sksl/StaticFade.sksl - Preview: https://gl-transitions.com/editor/StaticFade ## StereoViewer Both images shrink into rounded cards that swap, like a stereo viewer toy - Tags: cards, zoom, retro - Parameters: - `zoom` (float = 0.88) [range 0.5 to 1]: How much the images zoom out - `corner_radius` (float = 0.22) - Author: Ted Schundler - License: BSD 2 Clause - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/transitions/StereoViewer.glsl - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/sksl/StereoViewer.sksl - Preview: https://gl-transitions.com/editor/StereoViewer ## StripDatamoshGlitch A datamosh glitch: torn strips, chroma shifts and scan noise drag the outgoing image into the incoming one - Tags: glitch, datamosh, chromatic - Parameters: - `strength` (float = 1) - `horizontalBars` (float = 42) - `verticalSlits` (float = 18) - `tear` (float = 0.18) - `chroma` (float = 0.032) - `residue` (float = 0.62) - `noiseAmount` (float = 0.16) - `scanAmount` (float = 0.13) - `flashAmount` (float = 0.2) - Author: bread - License: MIT - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/transitions/StripDatamoshGlitch.glsl - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/sksl/StripDatamoshGlitch.sksl - Preview: https://gl-transitions.com/editor/StripDatamoshGlitch ## Swirl Both images swirl around the center while crossfading - Tags: swirl, rotate, blend - Parameters: none - Author: Sergey Kosarevsky - License: MIT - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/transitions/Swirl.glsl - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/sksl/Swirl.sksl - Preview: https://gl-transitions.com/editor/Swirl ## TVStatic Cuts to full-screen TV static, then to the incoming image - Tags: static, noise, retro - Parameters: - `offset` (float = 0.05): Part of the transition, at each end, that shows the images instead of static - Author: Brandon Anzaldi - License: MIT - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/transitions/TVStatic.glsl - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/sksl/TVStatic.sksl - Preview: https://gl-transitions.com/editor/TVStatic ## TilesWave The incoming image is revealed tile by tile in a diagonal wave - Tags: tiles, wave, wipe - Parameters: - `tileCount` (ivec2 = ivec2(8, 8)): Number of tiles (columns, rows) - `flipX` (bool = true) - `flipY` (bool = false) - Author: numb3r23 - License: MIT - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/transitions/TilesWave.glsl - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/sksl/TilesWave.sksl - Preview: https://gl-transitions.com/editor/TilesWave ## TopBottom The outgoing image shrinks away upward while the incoming one slides in from the bottom - Tags: slide, zoom, vertical - Parameters: none - Author: zhmy - License: MIT - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/transitions/TopBottom.glsl - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/sksl/TopBottom.sksl - Preview: https://gl-transitions.com/editor/TopBottom ## VerticalClose The incoming image closes in from the left and right edges toward the middle - Tags: wipe, split - Parameters: none - Author: martiniti - License: MIT - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/transitions/VerticalClose.glsl - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/sksl/VerticalClose.sksl - Preview: https://gl-transitions.com/editor/VerticalClose ## VerticalOpen The incoming image opens from a line in the middle toward the left and right edges - Tags: wipe, split - Parameters: none - Author: martiniti - License: MIT - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/transitions/VerticalOpen.glsl - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/sksl/VerticalOpen.sksl - Preview: https://gl-transitions.com/editor/VerticalOpen ## WaterDrop Ripples spread from the center like a drop falling into water, crossfading to the incoming image - Tags: ripple, water, blend - Parameters: - `amplitude` (float = 30): Frequency of the ripples - `speed` (float = 30): Speed of the ripples - Author: Paweł Płóciennik - License: MIT - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/transitions/WaterDrop.glsl - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/sksl/WaterDrop.sksl - Preview: https://gl-transitions.com/editor/WaterDrop ## ZoomInCircles Concentric rings of the outgoing image zoom at different speeds before revealing the incoming one - Tags: zoom, circle - Parameters: none - Author: dycm8009 - License: MIT - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/transitions/ZoomInCircles.glsl - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/sksl/ZoomInCircles.sksl - Preview: https://gl-transitions.com/editor/ZoomInCircles ## ZoomLeftWipe Zooms into the outgoing image, then the incoming one wipes in from right to left - Tags: zoom, wipe, horizontal - Parameters: - `zoom_quickness` (float = 0.8): Part of the first half spent zooming (capped at 0.5) - Author: Handk - License: MIT - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/transitions/ZoomLeftWipe.glsl - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/sksl/ZoomLeftWipe.sksl - Preview: https://gl-transitions.com/editor/ZoomLeftWipe ## ZoomRigthWipe Zooms into the outgoing image, then the incoming one wipes in from left to right - Tags: zoom, wipe, horizontal - Parameters: - `zoom_quickness` (float = 0.8): Part of the first half spent zooming (capped at 0.5) - Author: Handk - License: MIT - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/transitions/ZoomRigthWipe.glsl - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/sksl/ZoomRigthWipe.sksl - Preview: https://gl-transitions.com/editor/ZoomRigthWipe ## angular A wipe that sweeps around the center from a starting angle - Tags: wipe, radial, clock - Parameters: - `startingAngle` (float = 90) [range 0 to 360]: Angle where the wipe starts, in degrees - Author: Fernando Kuteken - License: MIT - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/transitions/angular.glsl - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/sksl/angular.sksl - Preview: https://gl-transitions.com/editor/angular ## burn A crossfade that brightens toward a color in the middle - Tags: fade, color, flash - Parameters: - `color` (vec3 = vec3(0.9, 0.4, 0.2)) [color]: Color the images brighten toward - Author: gre - License: MIT - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/transitions/burn.glsl - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/sksl/burn.sksl - Preview: https://gl-transitions.com/editor/burn ## burn0 The outgoing image burns away in noisy, glowing patches - Tags: burn, fire, noise - Parameters: - `burnColor` (vec3 = vec3(1, 0.5, 0)) [color]: Color of the burning edges - Author: liubailin2020@gmail.com - License: MIT - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/transitions/burn0.glsl - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/sksl/burn0.sksl - Preview: https://gl-transitions.com/editor/burn0 ## cannabisleaf A cannabis-leaf shape grows from the center to reveal the incoming image - Tags: shape, wipe - Parameters: none - Author: @Flexi23 - License: MIT - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/transitions/cannabisleaf.glsl - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/sksl/cannabisleaf.sksl - Preview: https://gl-transitions.com/editor/cannabisleaf ## chessboard A chessboard pattern of squares reveals the incoming image - Tags: grid, squares, pattern - Parameters: - `grid_num` (float = 10): Number of squares per row - Author: lql - License: MIT - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/transitions/chessboard.glsl - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/sksl/chessboard.sksl - Preview: https://gl-transitions.com/editor/chessboard ## circle The outgoing image closes into a circle over a background color, then the incoming one opens from it - Tags: circle, iris, shape - Parameters: - `center` (vec2 = vec2(0.5, 0.5)): Center of the circle - `backColor` (vec3 = vec3(0.1, 0.1, 0.1)) [color]: Background color - Author: Fernando Kuteken - License: MIT - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/transitions/circle.glsl - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/sksl/circle.sksl - Preview: https://gl-transitions.com/editor/circle ## circleopen A soft-edged circle opens from the center to reveal the incoming image - Tags: circle, iris, wipe - Parameters: - `smoothness` (float = 0.3): Softness of the circle's edge - `opening` (bool = true): Open the circle; false closes it instead - Author: gre - License: MIT - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/transitions/circleopen.glsl - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/sksl/circleopen.sksl - Preview: https://gl-transitions.com/editor/circleopen ## colorphase A crossfade in which each color channel changes at a different time - Tags: fade, color - Parameters: - `fromStep` (vec4 = vec4(0, 0.2, 0.4, 0)) [range 0 to 1]: When each channel (r, g, b, a) starts changing - `toStep` (vec4 = vec4(0.6, 0.8, 1, 1)) [range 0 to 1]: When each channel (r, g, b, a) finishes changing - Author: gre - License: MIT - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/transitions/colorphase.glsl - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/sksl/colorphase.sksl - Preview: https://gl-transitions.com/editor/colorphase ## coord-from-in A crossfade in which the colors of one image displace the other - Tags: displace, distort, blend - Parameters: none - Author: haiyoucuv - License: MIT - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/transitions/coord-from-in.glsl - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/sksl/coord-from-in.sksl - Preview: https://gl-transitions.com/editor/coord-from-in ## crosshatch The incoming image appears through a crosshatch of lines spreading from the center - Tags: pattern, lines, noise - Parameters: - `center` (vec2 = vec2(0.5, 0.5)): Point the lines spread from - `threshold` (float = 3) - `fadeEdge` (float = 0.1) - Author: pthrasher - License: MIT - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/transitions/crosshatch.glsl - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/sksl/crosshatch.sksl - Preview: https://gl-transitions.com/editor/crosshatch ## crosswarp The outgoing image zooms in while the incoming one zooms out into place, sweeping from right to left - Tags: warp, zoom, horizontal - Parameters: none - Author: Eke Péter - License: MIT - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/transitions/crosswarp.glsl - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/sksl/crosswarp.sksl - Preview: https://gl-transitions.com/editor/crosswarp ## cube The two images are faces of a rotating 3D cube, with a floor reflection - Tags: 3d, cube, rotate, reflection - Parameters: - `persp` (float = 0.7) [range 0 to 1]: Amount of perspective - `unzoom` (float = 0.3) - `reflection` (float = 0.4) [range 0 to 1]: Strength of the reflection - `floating` (float = 3) - Author: gre - License: MIT - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/transitions/cube.glsl - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/sksl/cube.sksl - Preview: https://gl-transitions.com/editor/cube ## directional-easing Like Directional, with an eased movement - Tags: slide, push, directional - Parameters: - `direction` (vec2 = vec2(0, 1)): Direction of the movement - Author: Max Plotnikov - License: MIT - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/transitions/directional-easing.glsl - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/sksl/directional-easing.sksl - Preview: https://gl-transitions.com/editor/directional-easing ## directionalwarp A diagonal wipe with a warped, smeared edge - Tags: wipe, warp, directional - Parameters: - `smoothness` (float = 0.1): Softness of the edge - `direction` (vec2 = vec2(-1, 1)): Direction of the wipe - Author: pschroen - License: MIT - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/transitions/directionalwarp.glsl - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/sksl/directionalwarp.sksl - Preview: https://gl-transitions.com/editor/directionalwarp ## directionalwipe A soft-edged diagonal wipe - Tags: wipe, directional - Parameters: - `direction` (vec2 = vec2(1, -1)): Direction of the wipe - `smoothness` (float = 0.5): Softness of the edge - Author: gre - License: MIT - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/transitions/directionalwipe.glsl - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/sksl/directionalwipe.sksl - Preview: https://gl-transitions.com/editor/directionalwipe ## displacement A crossfade in which a displacement map (an extra grayscale texture) warps both images - Tags: displace, distort, blend - Parameters: - `strength` (float = 0.5): Strength of the displacement - Extra textures: `displacementMap` (sampler2D) - Author: Travis Fischer - License: MIT - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/transitions/displacement.glsl - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/sksl/displacement.sksl - Preview: https://gl-transitions.com/editor/displacement ## dissolve The incoming image spreads over the outgoing one with a hot, glowing edge - Tags: dissolve, burn, glow - Parameters: - `uLineWidth` (float = 0.1) - `uSpreadClr` (vec3 = vec3(1, 0, 0)) [color]: Color of the spreading edge - `uHotClr` (vec3 = vec3(0.9, 0.9, 0.2)) [color]: Color of the hottest part of the edge - `uPow` (float = 5) - `uIntensity` (float = 1) - Author: hjm1fb - License: MIT - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/transitions/dissolve.glsl - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/sksl/dissolve.sksl - Preview: https://gl-transitions.com/editor/dissolve ## doorway The outgoing image opens like double doors as the incoming one comes forward, with a floor reflection - Tags: doors, 3d, reflection - Parameters: - `reflection` (float = 0.4): Strength of the reflection - `perspective` (float = 0.4): Amount of perspective - `depth` (float = 3) - Author: gre - License: MIT - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/transitions/doorway.glsl - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/sksl/doorway.sksl - Preview: https://gl-transitions.com/editor/doorway ## fade A linear crossfade between the two images - Tags: fade, blend - Parameters: none - Author: gre - License: MIT - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/transitions/fade.glsl - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/sksl/fade.sksl - Preview: https://gl-transitions.com/editor/fade ## fadecolor A fade through a solid color, black by default - Tags: fade, color - Parameters: - `color` (vec3 = vec3(0, 0, 0)) [color]: Color to fade through - `colorPhase` (float = 0.4) [range 0 to 1]: How long the color shows in the middle - Author: gre - License: MIT - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/transitions/fadecolor.glsl - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/sksl/fadecolor.sksl - Preview: https://gl-transitions.com/editor/fadecolor ## fadegrayscale A crossfade through grayscale - Tags: fade, grayscale, color - Parameters: - `intensity` (float = 0.3) [range 0 to 1]: How long the grayscale phase lasts - Author: gre - License: MIT - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/transitions/fadegrayscale.glsl - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/sksl/fadegrayscale.sksl - Preview: https://gl-transitions.com/editor/fadegrayscale ## flyeye The image breaks into a fly's-eye grid of lenses with color separation - Tags: lens, distort, chromatic - Parameters: - `size` (float = 0.04) - `zoom` (float = 50) - `colorSeparation` (float = 0.3) - Author: gre - License: MIT - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/transitions/flyeye.glsl - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/sksl/flyeye.sksl - Preview: https://gl-transitions.com/editor/flyeye ## fragment The outgoing image shatters into fragments that fly away - Tags: shatter, fragments - Parameters: none - Author: lbl - License: MIT - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/transitions/fragment.glsl - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/sksl/fragment.sksl - Preview: https://gl-transitions.com/editor/fragment ## heart A heart shape grows from the center to reveal the incoming image - Tags: shape, wipe, heart - Parameters: none - Author: gre - License: MIT - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/transitions/heart.glsl - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/sksl/heart.sksl - Preview: https://gl-transitions.com/editor/heart ## hexagonalize Both images turn into hexagons, crossfade, then sharpen again - Tags: pixelate, hexagon, blend - Parameters: - `steps` (int = 50) - `horizontalHexagons` (float = 20): Number of hexagons across - Author: Fernando Kuteken - License: MIT - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/transitions/hexagonalize.glsl - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/sksl/hexagonalize.sksl - Preview: https://gl-transitions.com/editor/hexagonalize ## kaleidoscope A crossfade through a spinning kaleidoscope - Tags: kaleidoscope, distort, blend - Parameters: - `speed` (float = 1) - `angle` (float = 1) - `power` (float = 1.5) - Author: nwoeanhinnogaehr - License: MIT - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/transitions/kaleidoscope.glsl - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/sksl/kaleidoscope.sksl - Preview: https://gl-transitions.com/editor/kaleidoscope ## luma A wipe that follows the brightness of a grayscale mask (the luma texture) - Tags: wipe, luma, mask - Parameters: none - Extra textures: `luma` (sampler2D) - Author: gre - License: MIT - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/transitions/luma.glsl - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/sksl/luma.sksl - Preview: https://gl-transitions.com/editor/luma ## luminance_melt The outgoing image melts away in noisy vertical streaks, depending on its brightness - Tags: melt, noise, luma - Parameters: - `direction` (bool = true): Direction of the melt (false: up, true: down) - `l_threshold` (float = 0.8) [range 0 to 1]: Luminance threshold - `above` (bool = false): Melt the parts above the threshold instead of below - Author: 0gust1 - License: MIT - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/transitions/luminance_melt.glsl - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/sksl/luminance_melt.sksl - Preview: https://gl-transitions.com/editor/luminance_melt ## morph A crossfade in which each image is displaced by the other's colors, like a morph - Tags: morph, distort, blend - Parameters: - `strength` (float = 0.1): Strength of the displacement - Author: paniq - License: MIT - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/transitions/morph.glsl - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/sksl/morph.sksl - Preview: https://gl-transitions.com/editor/morph ## mosaic_transition Both images break into mosaic blocks that blend, then sharpen into the incoming image - Tags: mosaic, pixelate, blend - Parameters: - `mosaicNum` (float = 10): Number of mosaic blocks - Author: YueDev - License: MIT - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/transitions/mosaic_transition.glsl - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/sksl/mosaic_transition.sksl - Preview: https://gl-transitions.com/editor/mosaic_transition ## multiply_blend A crossfade through the multiplied blend of both images - Tags: blend, fade - Parameters: none - Author: Fernando Kuteken - License: MIT - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/transitions/multiply_blend.glsl - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/sksl/multiply_blend.sksl - Preview: https://gl-transitions.com/editor/multiply_blend ## old_tv_lost_signal A crossfade with drifting tracking lines and tearing, like a TV losing its signal - Tags: retro, glitch, scanlines - Parameters: none - Author: mernking (gitlab.com/Godswork) - License: MIT - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/transitions/old_tv_lost_signal.glsl - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/sksl/old_tv_lost_signal.sksl - Preview: https://gl-transitions.com/editor/old_tv_lost_signal ## parametric_glitch A crossfade with glitchy horizontal bands and color shifts - Tags: glitch, blend - Parameters: - `ampx` (float = 1): Horizontal amplitude of the glitch - `ampy` (float = 1): Vertical amplitude of the glitch - Author: Yoni Maltsman @friendlyspinach - License: MIT - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/transitions/parametric_glitch.glsl - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/sksl/parametric_glitch.sksl - Preview: https://gl-transitions.com/editor/parametric_glitch ## perlin The incoming image appears through blobs of Perlin noise - Tags: noise, dissolve - Parameters: - `scale` (float = 4): Scale of the noise; higher values make smaller blobs - `smoothness` (float = 0.01): Softness of the blob edges - `seed` (float = 12.9898): Random seed - Author: Rich Harris - License: MIT - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/transitions/perlin.glsl - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/sksl/perlin.sksl - Preview: https://gl-transitions.com/editor/perlin ## pinwheel A spinning pinwheel reveals the incoming image - Tags: pinwheel, radial, rotate - Parameters: - `speed` (float = 2): Rotation speed - Author: Mr Speaker - License: MIT - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/transitions/pinwheel.glsl - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/sksl/pinwheel.sksl - Preview: https://gl-transitions.com/editor/pinwheel ## pixelize Both images pixelate, crossfade, then sharpen again - Tags: pixelate, blend - Parameters: - `squaresMin` (ivec2 = ivec2(20, 20)): Number of squares at the strongest pixelation - `steps` (int = 50): Number of pixelation steps; 0 for a continuous effect - Author: gre - License: MIT - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/transitions/pixelize.glsl - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/sksl/pixelize.sksl - Preview: https://gl-transitions.com/editor/pixelize ## polar_function A flower shape with several petals grows to reveal the incoming image - Tags: shape, wipe, polar - Parameters: - `segments` (int = 5): Number of petals - Author: Fernando Kuteken - License: MIT - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/transitions/polar_function.glsl - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/sksl/polar_function.sksl - Preview: https://gl-transitions.com/editor/polar_function ## powerKaleido The image folds into an animated kaleidoscope before revealing the incoming one - Tags: kaleidoscope, distort - Parameters: - `scale` (float = 2) - `z` (float = 1.5) - `speed` (float = 5) - Author: Boundless - License: MIT - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/transitions/powerKaleido.glsl - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/sksl/powerKaleido.sksl - Preview: https://gl-transitions.com/editor/powerKaleido ## randomNoisex The incoming image appears pixel by pixel in random noise - Tags: dissolve, noise - Parameters: none - Author: towrabbit - License: MIT - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/transitions/randomNoisex.glsl - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/sksl/randomNoisex.sksl - Preview: https://gl-transitions.com/editor/randomNoisex ## randomsquares The incoming image appears in random squares - Tags: squares, grid, dissolve - Parameters: - `size` (ivec2 = ivec2(10, 10)): Number of squares (columns, rows) - `smoothness` (float = 0.5): Softness of each square's switch - Author: gre - License: MIT - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/transitions/randomsquares.glsl - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/sksl/randomsquares.sksl - Preview: https://gl-transitions.com/editor/randomsquares ## ripple Ripples spread from the center while crossfading - Tags: ripple, wave, blend - Parameters: - `amplitude` (float = 100): Frequency of the ripples - `speed` (float = 50): Speed of the ripples - Author: gre - License: MIT - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/transitions/ripple.glsl - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/sksl/ripple.sksl - Preview: https://gl-transitions.com/editor/ripple ## rotateTransition The images spin around the center while crossfading - Tags: rotate, spin, blend - Parameters: none - Author: haiyoucuv - License: MIT - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/transitions/rotateTransition.glsl - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/sksl/rotateTransition.sksl - Preview: https://gl-transitions.com/editor/rotateTransition ## rotate_scale_fade The outgoing image spins and zooms while fading to the incoming one, over a background color - Tags: rotate, zoom, fade - Parameters: - `center` (vec2 = vec2(0.5, 0.5)): Center of the rotation - `rotations` (float = 1): Number of turns - `scale` (float = 8): Maximum zoom - `backColor` (vec4 = vec4(0.15, 0.15, 0.15, 1)) [color]: Background color - Author: Fernando Kuteken - License: MIT - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/transitions/rotate_scale_fade.glsl - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/sksl/rotate_scale_fade.sksl - Preview: https://gl-transitions.com/editor/rotate_scale_fade ## scale-in The incoming image scales in from the center while fading in - Tags: zoom, fade - Parameters: none - Author: haiyoucuv - License: MIT - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/transitions/scale-in.glsl - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/sksl/scale-in.sksl - Preview: https://gl-transitions.com/editor/scale-in ## splitSlideInHorizontal The incoming image slides in as two halves moving horizontally in opposite directions - Tags: slide, split, horizontal - Parameters: - `reverse` (bool = false): Swap the directions of the halves - Author: OllyOllyOlly - License: MIT - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/transitions/splitSlideInHorizontal.glsl - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/sksl/splitSlideInHorizontal.sksl - Preview: https://gl-transitions.com/editor/splitSlideInHorizontal ## splitSlideInOutHorizontal The halves of both images slide horizontally in opposite directions, out and in at once - Tags: slide, split, horizontal - Parameters: - `reverse` (bool = false): Swap the directions of the halves - Author: OllyOllyOlly - License: MIT - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/transitions/splitSlideInOutHorizontal.glsl - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/sksl/splitSlideInOutHorizontal.sksl - Preview: https://gl-transitions.com/editor/splitSlideInOutHorizontal ## splitSlideInOutVertical The halves of both images slide vertically in opposite directions, out and in at once - Tags: slide, split, vertical - Parameters: - `reverse` (bool = false): Swap the directions of the halves - Author: OllyOllyOlly - License: MIT - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/transitions/splitSlideInOutVertical.glsl - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/sksl/splitSlideInOutVertical.sksl - Preview: https://gl-transitions.com/editor/splitSlideInOutVertical ## splitSlideInVertical The incoming image slides in as two halves moving vertically in opposite directions - Tags: slide, split, vertical - Parameters: - `reverse` (bool = false): Swap the directions of the halves - Author: OllyOllyOlly - License: MIT - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/transitions/splitSlideInVertical.glsl - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/sksl/splitSlideInVertical.sksl - Preview: https://gl-transitions.com/editor/splitSlideInVertical ## splitSlideOutHorizontal The outgoing image slides out as two halves moving horizontally in opposite directions - Tags: slide, split, horizontal - Parameters: - `reverse` (bool = false): Swap the directions of the halves - Author: OllyOllyOlly - License: MIT - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/transitions/splitSlideOutHorizontal.glsl - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/sksl/splitSlideOutHorizontal.sksl - Preview: https://gl-transitions.com/editor/splitSlideOutHorizontal ## splitSlideOutVertical The outgoing image slides out as two halves moving vertically in opposite directions - Tags: slide, split, vertical - Parameters: - `reverse` (bool = false): Swap the directions of the halves - Author: OllyOllyOlly - License: MIT - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/transitions/splitSlideOutVertical.glsl - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/sksl/splitSlideOutVertical.sksl - Preview: https://gl-transitions.com/editor/splitSlideOutVertical ## squareswire Squares grow along a diagonal sweep to reveal the incoming image - Tags: squares, grid, wipe, directional - Parameters: - `squares` (ivec2 = ivec2(10, 10)): Number of squares (columns, rows) - `direction` (vec2 = vec2(1, -0.5)): Direction of the sweep - `smoothness` (float = 1.6): Softness of the sweep - Author: gre - License: MIT - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/transitions/squareswire.glsl - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/sksl/squareswire.sksl - Preview: https://gl-transitions.com/editor/squareswire ## squeeze The outgoing image is squeezed into a line with color separation, revealing the incoming one - Tags: squeeze, chromatic, vertical - Parameters: - `colorSeparation` (float = 0.04): Amount of color separation - Author: gre - License: MIT - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/transitions/squeeze.glsl - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/sksl/squeeze.sksl - Preview: https://gl-transitions.com/editor/squeeze ## static_wipe A wipe from top to bottom with a band of TV static at its edge - Tags: wipe, static, noise, vertical - Parameters: - `u_transitionUpToDown` (bool = true): Wipe from top to bottom; false wipes from bottom to top - `u_max_static_span` (float = 0.5): Maximum height of the static band - Author: Ben Lucas - License: MIT - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/transitions/static_wipe.glsl - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/sksl/static_wipe.sksl - Preview: https://gl-transitions.com/editor/static_wipe ## swap The two images swap places in 3D, with a floor reflection - Tags: 3d, swap, reflection - Parameters: - `reflection` (float = 0.4): Strength of the reflection - `perspective` (float = 0.2): Amount of perspective - `depth` (float = 3) - Author: gre - License: MIT - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/transitions/swap.glsl - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/sksl/swap.sksl - Preview: https://gl-transitions.com/editor/swap ## tangentMotionBlur The outgoing image is flung away along a curve with motion blur - Tags: motion-blur, rotate, slide - Parameters: none - Author: chenkai - License: MIT - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/transitions/tangentMotionBlur.glsl - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/sksl/tangentMotionBlur.sksl - Preview: https://gl-transitions.com/editor/tangentMotionBlur ## undulatingBurnOut A circle with a wavy edge burns out from the center to reveal the incoming image - Tags: circle, burn, wipe - Parameters: - `smoothness` (float = 0.03): Softness of the edge - `center` (vec2 = vec2(0.5, 0.5)): Center of the circle - `color` (vec3 = vec3(0, 0, 0)) [color]: Color of the burning edge - Author: pthrasher - License: MIT - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/transitions/undulatingBurnOut.glsl - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/sksl/undulatingBurnOut.sksl - Preview: https://gl-transitions.com/editor/undulatingBurnOut ## wind A ragged left-to-right wipe, as if the image was blown away by the wind - Tags: wipe, horizontal, noise - Parameters: - `size` (float = 0.2) [range 0 to 1]: Width of the ragged edge - `reversed` (bool = false): Wipe from right to left instead - Author: gre - License: MIT - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/transitions/wind.glsl - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/sksl/wind.sksl - Preview: https://gl-transitions.com/editor/wind ## windowblinds A crossfade through horizontal window blinds - Tags: blinds, stripes, blend - Parameters: none - Author: Fabien Benetou - License: MIT - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/transitions/windowblinds.glsl - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/sksl/windowblinds.sksl - Preview: https://gl-transitions.com/editor/windowblinds ## windowslice The incoming image appears through vertical slices that widen - Tags: slices, stripes, wipe - Parameters: - `count` (float = 10): Number of slices - `smoothness` (float = 0.5): Softness of the slices' edges - Author: gre - License: MIT - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/transitions/windowslice.glsl - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/sksl/windowslice.sksl - Preview: https://gl-transitions.com/editor/windowslice ## wipeDown A hard-edged wipe from top to bottom - Tags: wipe, vertical - Parameters: none - Author: Jake Nelson - License: MIT - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/transitions/wipeDown.glsl - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/sksl/wipeDown.sksl - Preview: https://gl-transitions.com/editor/wipeDown ## wipeLeft A hard-edged wipe from right to left - Tags: wipe, horizontal - Parameters: none - Author: Jake Nelson - License: MIT - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/transitions/wipeLeft.glsl - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/sksl/wipeLeft.sksl - Preview: https://gl-transitions.com/editor/wipeLeft ## wipeRight A hard-edged wipe from left to right - Tags: wipe, horizontal - Parameters: none - Author: Jake Nelson - License: MIT - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/transitions/wipeRight.glsl - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/sksl/wipeRight.sksl - Preview: https://gl-transitions.com/editor/wipeRight ## wipeUp A hard-edged wipe from bottom to top - Tags: wipe, vertical - Parameters: none - Author: Jake Nelson - License: MIT - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/transitions/wipeUp.glsl - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/sksl/wipeUp.sksl - Preview: https://gl-transitions.com/editor/wipeUp ## x_axis_translation The outgoing image slides to the right, uncovering a crossfade to the incoming one - Tags: slide, horizontal, blend - Parameters: none - Author: lizhongjian - License: MIT - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/transitions/x_axis_translation.glsl - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/sksl/x_axis_translation.sksl - Preview: https://gl-transitions.com/editor/x_axis_translation ## zoomInOut Zooms into the outgoing image until it blurs into a flat color, then out to the incoming one - Tags: zoom, blur - Parameters: none - Author: OllyOllyOlly - License: MIT - GLSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/transitions/zoomInOut.glsl - SkSL: https://cdn.jsdelivr.net/npm/gl-transitions@1.75.0/sksl/zoomInOut.sksl - Preview: https://gl-transitions.com/editor/zoomInOut