Back to shaders
Shader test bench
Angular
runnable transition
GLSL transition function. Stronghold supplies two demo textures and progress/time uniforms.
Code
// Author: Fernando Kuteken
// License: MIT
#define PI 3.141592653589
uniform float startingAngle; // = 90
vec4 transition (vec2 uv) {
float offset = startingAngle * PI / 180.0;
float angle = atan(uv.y - 0.5, uv.x - 0.5) + offset;
float normalizedAngle = (angle + PI) / (2.0 * PI);
normalizedAngle = normalizedAngle - floor(normalizedAngle);
return mix(
getFromColor(uv),
getToColor(uv),
step(normalizedAngle, progress)
);
}