Squash linear gamma back into the sRGB curve at the end.
[movit] / gamma_expansion_effect.cpp
index cef1416..1ecc897 100644 (file)
@@ -1,7 +1,23 @@
+#include <assert.h>
+
 #include "gamma_expansion_effect.h"
+#include "util.h"
 
 GammaExpansionEffect::GammaExpansionEffect()
        : source_curve(GAMMA_LINEAR)
 {
        register_int("source_curve", (int *)&source_curve);
 }
+
+std::string GammaExpansionEffect::output_glsl()
+{
+       switch (source_curve) {
+       case GAMMA_sRGB:
+               return read_file("gamma_expansion_effect_srgb.glsl");
+       case GAMMA_REC_709:  // and GAMMA_REC_601
+               // Not implemented yet.
+               assert(false);
+       default:
+               assert(false);
+       }
+}