summaryrefslogtreecommitdiff
path: root/demos/gtk-demo/transition2.glsl
diff options
context:
space:
mode:
Diffstat (limited to 'demos/gtk-demo/transition2.glsl')
-rw-r--r--demos/gtk-demo/transition2.glsl33
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);
+}