X-Git-Url: https://git.sesse.net/?p=movit;a=blobdiff_plain;f=fft_pass_effect.cpp;h=51bde35aec5d31ea313694b892668ab586b38026;hp=ccca74dd05df7ef7696378ddccb62f4e615dede7;hb=5dfd8dfbd444210f9c9e3a0baf5c82b49e76e7ff;hpb=a7bc6c9c002f26b0bb781a3475774eba5dab6acf diff --git a/fft_pass_effect.cpp b/fft_pass_effect.cpp index ccca74d..51bde35 100644 --- a/fft_pass_effect.cpp +++ b/fft_pass_effect.cpp @@ -132,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, @@ -147,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;