Allow the EffectChainTester framebuffer to be in something else than float. This...
authorSteinar H. Gunderson <sgunderson@bigfoot.com>
Mon, 5 Nov 2012 22:56:39 +0000 (23:56 +0100)
committerSteinar H. Gunderson <sgunderson@bigfoot.com>
Mon, 5 Nov 2012 22:56:39 +0000 (23:56 +0100)
test_util.cpp
test_util.h

index cc02801..9053c5e 100644 (file)
@@ -25,7 +25,8 @@ void vertical_flip(T *data, unsigned width, unsigned height)
 }  // namespace
 
 EffectChainTester::EffectChainTester(const float *data, unsigned width, unsigned height,
-                                     MovitPixelFormat pixel_format, Colorspace color_space, GammaCurve gamma_curve)
+                                     MovitPixelFormat pixel_format, Colorspace color_space, GammaCurve gamma_curve,
+                                     GLenum framebuffer_format)
        : chain(width, height), width(width), height(height), finalized(false)
 {
        init_movit();
@@ -38,7 +39,7 @@ EffectChainTester::EffectChainTester(const float *data, unsigned width, unsigned
        check_error();
        glBindTexture(GL_TEXTURE_2D, texnum);
        check_error();
-       glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA16F_ARB, width, height, 0, GL_RGBA, GL_UNSIGNED_BYTE, NULL);
+       glTexImage2D(GL_TEXTURE_2D, 0, framebuffer_format, width, height, 0, GL_RGBA, GL_UNSIGNED_BYTE, NULL);
        check_error();
 
        glGenFramebuffers(1, &fbo);
index 67e975d..407824d 100644 (file)
@@ -8,7 +8,8 @@ public:
        EffectChainTester(const float *data, unsigned width, unsigned height,
                          MovitPixelFormat pixel_format = FORMAT_GRAYSCALE,
                          Colorspace color_space = COLORSPACE_sRGB,
-                         GammaCurve gamma_curve = GAMMA_LINEAR);
+                         GammaCurve gamma_curve = GAMMA_LINEAR,
+                         GLenum framebuffer_format = GL_RGBA16F_ARB);
        ~EffectChainTester();
        
        EffectChain *get_chain() { return &chain; }