[gtk: 4/5] gtk-demo/gltransition: Replace fire background with more mellow blobs
- From: Matthias Clasen <matthiasc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk: 4/5] gtk-demo/gltransition: Replace fire background with more mellow blobs
- Date: Wed, 30 Sep 2020 15:01:00 +0000 (UTC)
commit d6648871b16297bf99f0e399b44bbf9673aaee7f
Author: Alexander Larsson <alexl redhat com>
Date: Wed Sep 30 16:26:03 2020 +0200
gtk-demo/gltransition: Replace fire background with more mellow blobs
demos/gtk-demo/background.glsl | 26 +++++++++++++++
demos/gtk-demo/demo.gresource.xml | 2 +-
demos/gtk-demo/fire.glsl | 70 ---------------------------------------
demos/gtk-demo/gltransition.c | 2 +-
4 files changed, 28 insertions(+), 72 deletions(-)
---
diff --git a/demos/gtk-demo/background.glsl b/demos/gtk-demo/background.glsl
new file mode 100644
index 0000000000..b807935a91
--- /dev/null
+++ b/demos/gtk-demo/background.glsl
@@ -0,0 +1,26 @@
+uniform float u_time;
+
+void
+mainImage(out vec4 fragColor, in vec2 fragCoord, in vec2 resolution, in vec2 uv)
+{
+ vec2 pos = (fragCoord.xy * 2.0 - resolution.xy)/ min (resolution.x, resolution.y) ;
+
+ float t0 = sin ((u_time + 0.00)*1.0);
+ float t1 = sin ((u_time + 0.30)*0.4);
+ float t2 = cos ((u_time + 0.23)*0.9);
+ float t3 = cos ((u_time + 0.41)*0.6);
+ float t4 = cos ((u_time + 0.11)*0.3);
+
+ vec2 p0 = vec2 (t1, t0) ;
+ vec2 p1 = vec2 (t2, t3) ;
+ vec2 p2 = vec2 (t4, t3) ;
+
+ float r = 1.0/distance (pos, p0);
+ float g = 1.0/distance (pos, p1);
+ float b = 1.0/distance (pos, p2);
+ float sum = r + g + b;
+
+ float alpha = 1.0 - pow (1.0/(sum), 40)*pow (10.0, 40*0.7);
+
+ fragColor = vec4 (r*0.5, g*0.5, b*0.5, 1.0) * alpha;
+}
diff --git a/demos/gtk-demo/demo.gresource.xml b/demos/gtk-demo/demo.gresource.xml
index d279d08af5..2b7cdc0a8a 100644
--- a/demos/gtk-demo/demo.gresource.xml
+++ b/demos/gtk-demo/demo.gresource.xml
@@ -139,7 +139,7 @@
<file>gtkshaderbin.h</file>
<file>gtkshaderbin.c</file>
<file>ripple.glsl</file>
- <file>fire.glsl</file>
+ <file>background.glsl</file>
<file>transition1.glsl</file>
<file>transition2.glsl</file>
<file>transition3.glsl</file>
diff --git a/demos/gtk-demo/gltransition.c b/demos/gtk-demo/gltransition.c
index 9977a317f4..c80b3fcc2b 100644
--- a/demos/gtk-demo/gltransition.c
+++ b/demos/gtk-demo/gltransition.c
@@ -294,7 +294,7 @@ create_gltransition_window (GtkWidget *do_widget)
outer_grid = gtk_grid_new ();
gtk_window_set_child (GTK_WINDOW (window), outer_grid);
- paintable = gsk_shader_paintable_new (gsk_gl_shader_new_from_resource ("/gltransition/fire.glsl"), NULL);
+ paintable = gsk_shader_paintable_new (gsk_gl_shader_new_from_resource ("/gltransition/background.glsl"),
NULL);
background = gtk_picture_new_for_paintable (paintable);
gtk_widget_add_tick_callback (background, update_paintable, NULL, NULL);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]