another small change to gamma2 igamma2

This commit is contained in:
Desmis 2018-04-05 07:56:22 +02:00
parent 6561636ee0
commit 7926e01f49
3 changed files with 11 additions and 5 deletions

View File

@ -1080,8 +1080,11 @@ public:
static inline double gamma2 (double x) // g3 1+g4 static inline double gamma2 (double x) // g3 1+g4
{ {
// return x <= 0.003041 ? x * 12.92 : 1.055 * exp(log(x) / 2.39990) - 0.055;//calculate with calcgamma // return x <= 0.003041 ? x * 12.92 : 1.055 * exp(log(x) / 2.39990) - 0.055;//calculate with calcgamma
return x <= 0.0031308 ? x * 12.92 : 1.055 * exp(log(x) / sRGBGammaCurve) - 0.055; //return x <= 0.0031308 ? x * 12.92 : 1.055 * exp(log(x) / sRGBGammaCurve) - 0.055;//standard discontinuous
//very small differences between the 2 //very small differences between the 2
return x <= 0.003040 ? x * 12.92310 : 1.055 * exp(log(x) / sRGBGammaCurve) - 0.055;//continuous
// return x <= 0.003041 ? x * 12.92 : 1.055011 * exp(log(x) / sRGBGammaCurve) - 0.055011;//continuous
} }
@ -1094,8 +1097,11 @@ public:
static inline double igamma2 (double x) //g2 static inline double igamma2 (double x) //g2
{ {
// return x <= 0.039289 ? x / 12.92 : exp(log((x + 0.055) / 1.055) * 2.39990);//calculate with calcgamma // return x <= 0.039289 ? x / 12.92 : exp(log((x + 0.055) / 1.055) * 2.39990);//calculate with calcgamma
return x <= 0.04045 ? x / 12.92 : exp(log((x + 0.055) / 1.055) * sRGBGammaCurve); // return x <= 0.04045 ? x / 12.92 : exp(log((x + 0.055) / 1.055) * sRGBGammaCurve);//standard discontinuous
//very small differences between the 2 //very small differences between the 4
return x <= 0.039286 ? x / 12.92310 : exp(log((x + 0.055) / 1.055) * sRGBGammaCurve);//continuous
// return x <= 0.039293 ? x / 12.92 : exp(log((x + 0.055011) / 1.055011) * sRGBGammaCurve);//continuous
} }

View File

@ -1083,7 +1083,7 @@ void rtengine::ICCStore::getGammaArray(const procparams::ColorManagementParams &
ga[3] = 1. / slope; ga[3] = 1. / slope;
ga[5] = 0.0; ga[5] = 0.0;
ga[6] = 0.0; ga[6] = 0.0;
printf("ga[0]=%f ga[1]=%f ga[2]=%f ga[3]=%f ga[4]=%f\n", ga[0],ga[1],ga[2],ga[3],ga[4]); // printf("ga[0]=%f ga[1]=%f ga[2]=%f ga[3]=%f ga[4]=%f\n", ga[0],ga[1],ga[2],ga[3],ga[4]);
} }
} }

View File

@ -251,7 +251,7 @@ ICMPanel::ICMPanel () : FoldableToolPanel(this, "icm", M("TP_ICM_LABEL")), iunch
} }
gampos->show(); gampos->show();
slpos = Gtk::manage(new Adjuster (M("TP_GAMMA_SLOP"), 0, 15, 0.01, 4.5)); slpos = Gtk::manage(new Adjuster (M("TP_GAMMA_SLOP"), 0, 15, 0.00001, 4.5));
slpos->setAdjusterListener (this); slpos->setAdjusterListener (this);
if (slpos->delay < options.adjusterMaxDelay) { if (slpos->delay < options.adjusterMaxDelay) {