本文整理汇总了C++中color::Y方法的典型用法代码示例。如果您正苦于以下问题:C++ color::Y方法的具体用法?C++ color::Y怎么用?C++ color::Y使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类color
的用法示例。
在下文中一共展示了color::Y方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: pow
/** Convert a color in CIE(x,y,Y) to SRGB. */
inline const color xyY_to_srgb(const color& in)
{
// First convert xyY to XYZ tristimulus values
color t{in.Y() * in.x() / in.y(), in.Y(),
in.Y() * (1.0f - in.x() - in.y()) / in.y()};
// Then perform the matrix multiplication to linear RGB
color lin{3.2406f * t[0] + -1.5372f * t[1] + -0.4986f * t[2],
-0.9689f * t[0] + 1.8758f * t[1] + 0.0415f * t[2],
0.0557f * t[0] + -0.2040f * t[1] + 1.0570f * t[2]};
// Assume a 80 cd/m2 display.
lin /= 80.f;
// Finally, apply gamma and return sRGB
const float gamma = 1.0f / 2.2f;
return pow(clamp_elements(lin, 0.0f, 1.0f), gamma);
}