Use glTexSubImage2D on second and later uploads.
authorSteinar H. Gunderson <sgunderson@bigfoot.com>
Tue, 2 Oct 2012 09:48:34 +0000 (11:48 +0200)
committerSteinar H. Gunderson <sgunderson@bigfoot.com>
Tue, 2 Oct 2012 09:48:34 +0000 (11:48 +0200)
effect_chain.cpp

index 85832db..0f2e69d 100644 (file)
@@ -213,7 +213,12 @@ void EffectChain::render_to_screen(unsigned char *src)
                assert(false);
        }
 
-       glTexImage2D(GL_TEXTURE_2D, 0, internal_format, width, height, 0, format, GL_UNSIGNED_BYTE, src);
+       static bool first = true;
+       if (first) {
+               glTexImage2D(GL_TEXTURE_2D, 0, internal_format, width, height, 0, format, GL_UNSIGNED_BYTE, src);
+       } else {
+               glTexSubImage2D(GL_TEXTURE_2D, 0, 0, 0, width, height, format, GL_UNSIGNED_BYTE, src);
+       }
        check_error();
        glUniform1i(glGetUniformLocation(glsl_program_num, "input_tex"), 0);