diff options
Diffstat (limited to 'demos/gtk-demo/transition2.glsl')
-rw-r--r-- | demos/gtk-demo/transition2.glsl | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/demos/gtk-demo/transition2.glsl b/demos/gtk-demo/transition2.glsl new file mode 100644 index 0000000000..77a2647fef --- /dev/null +++ b/demos/gtk-demo/transition2.glsl @@ -0,0 +1,33 @@ +float progress = u_args.y; + +vec4 getFromColor (vec2 uv) { + return texture(u_source, uv); +} + +vec4 getToColor (vec2 uv) { + return texture(u_source2, uv); +} + + +// Source: https://gl-transitions.com/editor/Radial +// License: MIT +// Author: Xaychru + +uniform 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); +} |