#ifndef COLORPROFILE_H #define COLORPROFILE_H #include "basics_global.h" #include "Color.h" namespace paysages { namespace basics { class BASICSSHARED_EXPORT ColorProfile { public: typedef enum { TONE_MAPPING_UNCHARTED, TONE_MAPPING_REIHNARD, TONE_MAPPING_CLAMP } ToneMappingOperator; public: ColorProfile(); ColorProfile(ToneMappingOperator tonemapper, double exposure); void setToneMapping(ToneMappingOperator tonemapper, double exposure); void save(PackStream* stream) const; void load(PackStream* stream); void copy(ColorProfile* destination) const; Color apply(const Color &pixel) const; private: ToneMappingOperator mapper; double exposure; }; } } #endif // COLORPROFILE_H