mirror of
https://gitlab.gnome.org/GNOME/gtk.git
synced 2024-12-27 14:10:30 +00:00
35 lines
681 B
Plaintext
35 lines
681 B
Plaintext
|
uniform float progress;
|
||
|
uniform sampler2D u_texture1;
|
||
|
uniform sampler2D u_texture2;
|
||
|
|
||
|
vec4 getFromColor (vec2 uv) {
|
||
|
return GskTexture(u_texture1, uv);
|
||
|
}
|
||
|
|
||
|
vec4 getToColor (vec2 uv) {
|
||
|
return GskTexture(u_texture2, uv);
|
||
|
}
|
||
|
|
||
|
// Source: https://gl-transitions.com/editor/Radial
|
||
|
// License: MIT
|
||
|
// Author: Xaychru
|
||
|
|
||
|
const float smoothness = 1.0;
|
||
|
|
||
|
const float PI = 3.141592653589;
|
||
|
|
||
|
vec4 transition(vec2 p) {
|
||
|
vec2 rp = p*2.-1.;
|
||
|
return mix(
|
||
|
getToColor(p),
|
||
|
getFromColor(p),
|
||
|
smoothstep(0., smoothness, atan(rp.y,rp.x) - (progress-.5) * PI * 2.5)
|
||
|
);
|
||
|
}
|
||
|
|
||
|
|
||
|
void mainImage(out vec4 fragColor, in vec2 fragCoord, in vec2 resolution, in vec2 uv)
|
||
|
{
|
||
|
fragColor = transition(uv);
|
||
|
}
|