]> git.sesse.net Git - movit/blobdiff - fft_pass_effect.cpp
Fix the widget display in the demo app.
[movit] / fft_pass_effect.cpp
index 9e1b7b54af52bfcc087fff958a1f31e5cf7128f0..51bde35aec5d31ea313694b892668ab586b38026 100644 (file)
@@ -7,6 +7,8 @@
 
 using namespace std;
 
+namespace movit {
+
 FFTPassEffect::FFTPassEffect()
        : input_width(1280),
          input_height(720),
@@ -130,13 +132,13 @@ void FFTPassEffect::set_gl_state(GLuint glsl_program_num, const string &prefix,
 
        glActiveTexture(GL_TEXTURE0 + *sampler_num);
        check_error();
-       glBindTexture(GL_TEXTURE_1D, tex);
+       glBindTexture(GL_TEXTURE_2D, tex);
        check_error();
-       glTexParameteri(GL_TEXTURE_1D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
+       glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
        check_error();
-       glTexParameteri(GL_TEXTURE_1D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
+       glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
        check_error();
-       glTexParameteri(GL_TEXTURE_1D, GL_TEXTURE_WRAP_S, GL_REPEAT);
+       glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT);
        check_error();
 
        // Supposedly FFTs are very sensitive to inaccuracies in the twiddle factors,
@@ -145,7 +147,7 @@ void FFTPassEffect::set_gl_state(GLuint glsl_program_num, const string &prefix,
        // small sizes, all components are exact anyway, so we can cheat there
        // (although noting that the source coordinates become somewhat less
        // accurate then, too).
-       glTexImage1D(GL_TEXTURE_1D, 0, (subfft_size <= 4) ? GL_RGBA16F : GL_RGBA32F, fft_size, 0, GL_RGBA, GL_FLOAT, tmp);
+       glTexImage2D(GL_TEXTURE_2D, 0, (subfft_size <= 4) ? GL_RGBA16F : GL_RGBA32F, fft_size, 1, 0, GL_RGBA, GL_FLOAT, tmp);
        check_error();
 
        delete[] tmp;
@@ -156,3 +158,5 @@ void FFTPassEffect::set_gl_state(GLuint glsl_program_num, const string &prefix,
        assert(input_size % fft_size == 0);
        set_uniform_float(glsl_program_num, prefix, "num_repeats", input_size / fft_size);
 }
+
+}  // namespace movit