Back to shaders
Shader test bench
Directional Easing
runnable transition
GLSL transition function. Stronghold supplies two demo textures and progress/time uniforms.
Code
// Author: Max Plotnikov
// License: MIT
uniform vec2 direction; // = vec2(0.0, 1.0)
vec4 transition (vec2 uv) {
float easing = sqrt((2.0 - progress) * progress);
vec2 p = uv + easing * sign(direction);
vec2 f = fract(p);
return mix(
getToColor(f),
getFromColor(f),
step(0.0, p.y) * step(p.y, 1.0) * step(0.0, p.x) * step(p.x, 1.0)
);
}