X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fcolorcurve.h;h=dac0ac08ab689382ace03041070d4db77ec873e2;hb=HEAD;hp=d7589cb565b8bacd4f63c0f60d672b294ec7d9bf;hpb=b1d0b6bb1412d0c23d891a4804ddb60623d1f6b4;p=libs%2Fgl.git diff --git a/source/colorcurve.h b/source/colorcurve.h deleted file mode 100644 index d7589cb5..00000000 --- a/source/colorcurve.h +++ /dev/null @@ -1,57 +0,0 @@ -#ifndef MSP_GL_COLORCURVE_H_ -#define MSP_GL_COLORCURVE_H_ - -#include "postprocessor.h" -#include "program.h" -#include "programdata.h" -#include "texture1d.h" - -namespace Msp { -namespace GL { - -/** -Processes oversaturated colors to preserve hues. When one color component -exceeds 1.0, the others are scaled towards white. A transition curve is also -applied near 1.0 to prevent the abrupt change in the gradient. - -Gamma or sRGB correction can also be applied to the output. It can be used to -improve color reproduction by performing lighting calculations in linear color -space and converting to sRGB for display. -*/ -class ColorCurve: public PostProcessor -{ -private: - Program shprog; - ProgramData shdata; - Texture1D curve; - const Mesh &quad; - -public: - ColorCurve(); - - /// Sets the size of the peak zone. Must be between 0 and 1, inclusive. - void set_peak(float); - - /** Sets brightness for oversaturated colors. Must be >= 1. Suggested - values are between 1.5 and 2.0; a value of 1.0 will clamp colors to the - saturated value. */ - void set_brightness(float); - - /** Sets the gamma value used for mapping output colors. Allowed range is - from 0.1 to 10. */ - void set_gamma(float); - - /** Sets output mapping to sRGB. This is almost, but not exactly equivalent - to set_gamma(2.2). */ - void set_srgb(); - - /// Sets output mapping to linear. This is equivalent to set_gamma(1). - void set_linear(); - - virtual void render(const Texture2D &, const Texture2D &); -}; - -} // namespace GL -} // namespace Msp - -#endif