X-Git-Url: https://git.sesse.net/?p=movit;a=blobdiff_plain;f=white_balance_effect.cpp;h=b00f0ca6b50b40705f31d7426379cf48388cf6d4;hp=8a495fb6f3616b45fb8c78b9988d028b1c8cfa1e;hb=29072985d0a00a53e5b578a1444cee61a0c9e1f2;hpb=181fca60b28290c92207cfb40e27113e4f5f021c diff --git a/white_balance_effect.cpp b/white_balance_effect.cpp index 8a495fb..b00f0ca 100644 --- a/white_balance_effect.cpp +++ b/white_balance_effect.cpp @@ -1,11 +1,11 @@ #include #include +#include #include #include "white_balance_effect.h" #include "util.h" -#include "opengl.h" #include "d65.h" using namespace Eigen; @@ -39,7 +39,7 @@ Vector3d convert_color_temperature_to_xyz(float T) } // Assuming sRGB primaries, from Wikipedia. -double rgb_to_xyz_matrix[9] = { +const double rgb_to_xyz_matrix[9] = { 0.4124, 0.2126, 0.0193, 0.3576, 0.7152, 0.1192, 0.1805, 0.0722, 0.9505, @@ -53,9 +53,9 @@ double rgb_to_xyz_matrix[9] = { * (Hunt-Pointer-Estevez, or HPE) for the actual perception post-adaptation. * * CIECAM02 chromatic adaptation, while related to the transformation we want, - * is a more complex phenomenon that depends on factors like the total luminance - * (in cd/m²) of the illuminant, and can no longer be implemented by just scaling - * each component in LMS space linearly. The simpler way out is to use the HPE matrix, + * is a more complex phenomenon that depends on factors like the viewing conditions + * (e.g. amount of surrounding light), and can no longer be implemented by just scaling + * each component in LMS space. The simpler way out is to use the HPE matrix, * which is intended to be close to the actual cone response; this results in * the “von Kries transformation” when we couple it with normalization in LMS space. *