#include "effect.h"
#include "effect_id.h"
-enum PixelFormat { FORMAT_RGB, FORMAT_RGBA };
+enum PixelFormat { FORMAT_RGB, FORMAT_RGBA, FORMAT_BGR, FORMAT_BGRA };
enum ColorSpace {
COLORSPACE_sRGB = 0,
void render_to_screen(unsigned char *src);
private:
+ void normalize_to_linear_gamma();
+ void normalize_to_srgb();
+
unsigned width, height;
ImageFormat input_format, output_format;
std::vector<Effect *> effects;
- int glsl_program_num;
+ bool use_srgb_texture_format;
+
+ GLint glsl_program_num;
+ GLenum format, bytes_per_pixel;
bool finalized;
// Used during the building of the effect chain.