]> git.sesse.net Git - movit/blobdiff - fft_pass_effect.frag
Remove C++11 dependency from ResampleEffect.
[movit] / fft_pass_effect.frag
index 462a6734c9ba87eae62f67aa2d09c5d264066718..9750e8b045199b6005d44f0d9cf4e62ebdf1c974 100644 (file)
@@ -1,16 +1,17 @@
 // DIRECTION_VERTICAL will be #defined to 1 if we are doing a vertical FFT,
 // and 0 otherwise.
 
-uniform float PREFIX(num_repeats);
-uniform sampler1D PREFIX(support_tex);
+// Implicit uniforms:
+// uniform float PREFIX(num_repeats);
+// uniform sampler2D PREFIX(support_tex);
 
 vec4 FUNCNAME(vec2 tc) {
 #if DIRECTION_VERTICAL
-       vec4 support = texture1D(PREFIX(support_tex), tc.y * PREFIX(num_repeats));
-        vec4 c1 = INPUT(vec2(tc.x, 1.0 - (tc.y + support.x)));
-        vec4 c2 = INPUT(vec2(tc.x, 1.0 - (tc.y + support.y)));
+       vec4 support = tex2D(PREFIX(support_tex), vec2(tc.y * PREFIX(num_repeats), 0.0));
+        vec4 c1 = INPUT(vec2(tc.x, tc.y + support.x));
+        vec4 c2 = INPUT(vec2(tc.x, tc.y + support.y));
 #else
-       vec4 support = texture1D(PREFIX(support_tex), tc.x * PREFIX(num_repeats));
+       vec4 support = tex2D(PREFIX(support_tex), vec2(tc.x * PREFIX(num_repeats), 0.0));
         vec4 c1 = INPUT(vec2(tc.x + support.x, tc.y));
         vec4 c2 = INPUT(vec2(tc.x + support.y, tc.y));
 #endif
@@ -22,3 +23,5 @@ vec4 FUNCNAME(vec2 tc) {
        // where * is complex multiplication.
        return c1 + support.z * c2 + support.w * vec4(-c2.y, c2.x, -c2.w, c2.z);
 }
+
+#undef DIRECTION_VERTICAL