diff --git a/app/shaders/gaussianblur.frag b/app/shaders/gaussianblur.frag index e0c601770..3da27b07f 100644 --- a/app/shaders/gaussianblur.frag +++ b/app/shaders/gaussianblur.frag @@ -10,6 +10,7 @@ uniform sampler2D tex_in; uniform float sigma_in; uniform bool horiz_in; uniform bool vert_in; +uniform bool repeat_edge_pixels_in; // Gaussian function uses PI #define M_PI 3.1415926535897932384626433832795 @@ -62,7 +63,13 @@ void main(void) { pixel_coord.y += i/ove_resolution.y; } - composite += texture2D(tex_in, pixel_coord) * weight; + if (repeat_edge_pixels_in + || (pixel_coord.x >= 0.0 + && pixel_coord.x < 1.0 + && pixel_coord.y >= 0.0 + && pixel_coord.y < 1.0)) { + composite += texture2D(tex_in, pixel_coord) * weight; + } } gl_FragColor = composite; } diff --git a/app/shaders/gaussianblur.xml b/app/shaders/gaussianblur.xml index 80b722668..205a22e06 100644 --- a/app/shaders/gaussianblur.xml +++ b/app/shaders/gaussianblur.xml @@ -35,6 +35,12 @@ 1 + + + Repeat Edge Pixels + 0 + +