finalize shaders and replay
[carveJwlIkooP6JGAAIwe30JlM.git] / shaders / blitblur.fs
index 1d3bdfa656882360273daa25a393ade631516a90..7f08b4f4265f5f344d1265c6a75449e8f1abd22a 100644 (file)
@@ -5,6 +5,7 @@ uniform float uBlurStrength;
 uniform vec2 uOverrideDir;
 uniform float uTime;
 uniform float uGlitchStrength;
+uniform vec2 uClampUv;
 
 in vec2 aUv;
 
@@ -36,10 +37,10 @@ void main(){
    
    vec2 vdir = texture( uTexMotion, vuv ).xy * uBlurStrength + uOverrideDir;
 
-   vec4 vcolour0 = texture( uTexMain, vuv + vdir*vrand.x );
-   vec4 vcolour1 = texture( uTexMain, vuv + vdir*vrand.y );
-   vec4 vcolour2 = texture( uTexMain, vuv + vdir*vrand1.x );
-   vec4 vcolour3 = texture( uTexMain, vuv + vdir*vrand1.y );
+   vec4 vcolour0 = texture( uTexMain, min(vuv + vdir*vrand.x,uClampUv) );
+   vec4 vcolour1 = texture( uTexMain, min(vuv + vdir*vrand.y,uClampUv) );
+   vec4 vcolour2 = texture( uTexMain, min(vuv + vdir*vrand1.x,uClampUv) );
+   vec4 vcolour3 = texture( uTexMain, min(vuv + vdir*vrand1.y,uClampUv) );
 
    FragColor = ( vcolour0 + vcolour1 + vcolour2 + vcolour3 ) * 0.25;
 }