#include "effect.h"
#include "effect_chain.h"
+#define EXPANSION_CURVE_SIZE 256
+
class GammaExpansionEffect : public Effect {
public:
GammaExpansionEffect();
- std::string output_glsl();
+ std::string output_fragment_shader();
+
+ virtual bool needs_linear_light() const { return false; }
+ virtual bool needs_srgb_primaries() const { return false; }
private:
GammaCurve source_curve;
+ float expansion_curve[EXPANSION_CURVE_SIZE];
};
#endif // !defined(_GAMMA_EXPANSION_EFFECT_H)