18 #ifndef PIC_COLORS_COLOR_CONV_XYZ_TO_xyY_HPP 19 #define PIC_COLORS_COLOR_CONV_XYZ_TO_xyY_HPP 21 #include "../colors/color_conv.hpp" 42 void direct(
float *colIn,
float *colOut)
44 float XYZ = colIn[0] + colIn[1] + colIn[2];
47 colOut[0] = colIn[0] / XYZ;
48 colOut[1] = colIn[1] / XYZ;
64 if(colIn[0] != 0.0f) {
65 float ratio = colIn[2] / colIn[1];
66 float z =
CLAMPi(1.0f - colIn[0] - colIn[1], 0.0f, 1.0f);
68 colOut[0] = colIn[0] * ratio;
70 colOut[2] = z * ratio;
ColorConvXYZtoxyY()
Definition: color_conv_xyz_xyY.hpp:32
bool linear
Definition: display.hpp:30
The ColorConvXYZtoxyY class.
Definition: color_conv_xyz_xyY.hpp:28
void direct(float *colIn, float *colOut)
direct
Definition: color_conv_xyz_xyY.hpp:42
void inverse(float *colIn, float *colOut)
inverse
Definition: color_conv_xyz_xyY.hpp:62
#define CLAMPi(x, a, b)
Definition: math.hpp:81
Definition: bilateral_separation.hpp:25
The ColorConv class.
Definition: color_conv.hpp:26