diff --git a/src/presets/Presets.gd b/src/presets/Presets.gd index 4d4cece..c009bd2 100644 --- a/src/presets/Presets.gd +++ b/src/presets/Presets.gd @@ -6,6 +6,7 @@ const dir = "res://src/presets/shaders/" "Empty": load(dir + "empty.gdshader"), "Greyscale": load(dir + "greyscale.gdshader"), "Lowpass": load(dir + "lowpass.gdshader"), + "Channel Offset": load(dir + "channel_offset.gdshader"), "RGB -> UV Distort": load(dir + "rgb_uv_distort.gdshader"), "Mix": load(dir + "mix.gdshader") } diff --git a/src/presets/shaders/channel_offset.gdshader b/src/presets/shaders/channel_offset.gdshader new file mode 100644 index 0000000..e3ac188 --- /dev/null +++ b/src/presets/shaders/channel_offset.gdshader @@ -0,0 +1,12 @@ +shader_type canvas_item; + +const vec2 offset_r = vec2(-0.002, -0.002); +const vec2 offset_g = vec2(0., 0.); +const vec2 offset_b = vec2(0.002, 0.002); + +void fragment() { + COLOR.r = texture(TEXTURE , UV + offset_r).r; + COLOR.g = texture(TEXTURE , UV + offset_g).g; + COLOR.b = texture(TEXTURE , UV + offset_b).b; + COLOR.a = COLOR.a; +}