Diffstat (limited to 'effects/glitch.tres')
-rw-r--r--effects/glitch.tres14
1 files changed, 14 insertions, 0 deletions
diff --git a/effects/glitch.tres b/effects/glitch.tres
new file mode 100644
index 0000000..0062913
--- /dev/null
+++ b/effects/glitch.tres
@@ -0,0 +1,14 @@
+[gd_resource type="Shader" format=2]
+
+[resource]
+code = "shader_type canvas_item;
+
+uniform bool apply = false;
+uniform float offset = 1.;
+
+void fragment(){
+ vec4 green_channel = texture(SCREEN_TEXTURE, SCREEN_UV);
+ vec4 red_channel = texture(SCREEN_TEXTURE, vec2(SCREEN_UV.x + (offset * SCREEN_PIXEL_SIZE.x), SCREEN_UV.y));
+ vec4 blue_channel = texture(SCREEN_TEXTURE, vec2(SCREEN_UV.x - (offset * SCREEN_PIXEL_SIZE.x), SCREEN_UV.y));
+ COLOR = vec4(red_channel.r, green_channel.g, blue_channel.b, 1.);
+}"