32e4477cf805735a5735369e5baf64e3d789c536
[movit] / gamma_compression_effect.cpp
1 #include <assert.h>
2
3 #include "gamma_compression_effect.h"
4 #include "util.h"
5
6 GammaCompressionEffect::GammaCompressionEffect()
7         : destination_curve(GAMMA_LINEAR)
8 {
9         register_int("destination_curve", (int *)&destination_curve);
10 }
11
12 std::string GammaCompressionEffect::output_fragment_shader()
13 {
14         switch (destination_curve) {
15         case GAMMA_LINEAR:
16                 return read_file("identity-fs.glsl");
17         case GAMMA_sRGB:
18                 return read_file("gamma_compression_effect_srgb.glsl");
19         case GAMMA_REC_709:  // and GAMMA_REC_601
20                 return read_file("gamma_compression_effect_rec709.glsl");
21         default:
22                 assert(false);
23         }
24 }