X-Git-Url: https://git.sesse.net/?p=movit;a=blobdiff_plain;f=effect_chain.cpp;h=0985ee4ef185432a959472b149daf29dc8249d2f;hp=b83e81e78a9146339f1a8293f2cc6d5c08eb93cb;hb=86b456fd6112ba54dd890c4f8be408d297de07d5;hpb=ba19dad35d753c81041f9111fa4fd3bce168b319 diff --git a/effect_chain.cpp b/effect_chain.cpp index b83e81e..0985ee4 100644 --- a/effect_chain.cpp +++ b/effect_chain.cpp @@ -221,9 +221,14 @@ void EffectChain::finalize() glGenTextures(num_textures, temp_textures); unsigned char *empty = new unsigned char[width * height * 4]; + memset(empty, 0, width * height * 4); for (unsigned i = 0; i < num_textures; ++i) { glBindTexture(GL_TEXTURE_2D, temp_textures[i]); check_error(); + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE); + check_error(); + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE); + check_error(); glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA16F_ARB, width, height, 0, GL_RGBA, GL_UNSIGNED_BYTE, empty); check_error(); } @@ -334,7 +339,7 @@ void EffectChain::render_to_screen(unsigned char *src) if (phases[phase].input_needs_mipmaps) { glGenerateMipmap(GL_TEXTURE_2D); check_error(); - glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR_MIPMAP_LINEAR); + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR_MIPMAP_NEAREST); check_error(); } else { glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR); @@ -399,5 +404,7 @@ void EffectChain::render_to_screen(unsigned char *src) glActiveTexture(GL_TEXTURE0); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_BASE_LEVEL, 0); check_error(); + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAX_LEVEL, 1000); + check_error(); } }