#define MSP_GL_COLORCURVE_H_
#include "postprocessor.h"
-#include "program.h"
#include "programdata.h"
#include "texture1d.h"
namespace Msp {
namespace GL {
+class Program;
+
/**
Processes oversaturated colors to preserve hues. When one color component
exceeds 1.0, the overflow is distributed to the other components, scaling the
void srgb();
};
- float exposure_adjust;
- float brightness_response;
- float gamma;
- bool srgb;
-
- Template();
+ float exposure_adjust = 0.0f;
+ float brightness_response = 0.4f;
+ float gamma = 1.0f;
+ bool srgb = false;
- virtual ColorCurve *create(Resources &, unsigned, unsigned) const;
+ virtual ColorCurve *create(unsigned, unsigned) const;
};
private:
const Sampler &nearest_sampler;
public:
- ColorCurve(Resources &);
+ ColorCurve();
/** Set exposure adjustment in EV units. Positive values brighten the
image, negative values darken it. Zero is neutral. */
void set_linear();
virtual void render(Renderer &, const Texture2D &, const Texture2D &);
+
+ virtual void set_debug_name(const std::string &);
};
} // namespace GL