|
|
template<class T > |
math::vec2< T > | cct_to_ucs (T t) noexcept |
| Calculates CIE 1960 UCS colorspace chromaticity coordinates given a correlated color temperature using Krystek's algorithm. More...
|
|
template<class T > |
math::vec3< T > | cct_to_xyy (T t) |
| Calculates CIE xyY colorspace chromaticity coordinates given a correlated color temperature using Krystek's algorithm. More...
|
|
template<class T > |
math::vec3< T > | cct_to_xyz (T t) |
| Calculates CIE XYZ colorspace chromaticity coordinates given a correlated color temperature using Krystek's algorithm. More...
|
|
|
template<class T > |
T | bv_to_cct (T bv) noexcept |
| Approximates the temperature of a star, given its B-V index. More...
|
|
|
template<class T > |
constexpr math::mat3< T > | rgb_to_xyz (const math::vec2< T > &r, const math::vec2< T > &g, const math::vec2< T > &b, const math::vec2< T > &w) |
| Constructs a matrix which transforms an RGB color into a CIE XYZ color. More...
|
|
template<class T > |
constexpr math::mat3< T > | rgb_to_rgb (const rgb_color_space< T > &s0, const rgb_color_space< T > &s1, const math::mat3< T > &cone_response=bradford_cone_response< T >) |
| Constructs a matrix which transforms a color from one RGB color space to another RGB color space. More...
|
|
|
template<class T > |
math::vec3< T > | srgb_oetf (const math::vec3< T > &x) |
| sRGB opto-electronic transfer function (OETF). More...
|
|
template<class T > |
math::vec3< T > | srgb_eotf (const math::vec3< T > &x) |
| sRGB electro-optical transfer function (EOTF). More...
|
|
template<class T > |
constexpr rgb_color_space< T > | srgb ({T{0.64}, T{0.33}}, {T{0.30}, T{0.60}}, {T{0.15}, T{0.06}}, deg2_d65< T >, &srgb_eotf< T >, &srgb_oetf< T >) |
| sRGB color space. More...
|
|
|
template<class T > |
constexpr math::vec3< T > | ucs_to_xyy (const math::vec2< T > &uv, T y=T{1}) noexcept |
| Transforms CIE 1960 UCS chromaticity coordinates into the CIE xyY colorspace. More...
|
|
|
template<class T > |
constexpr T | xyy_to_luminance (const math::vec3< T > &x) noexcept |
| Returns the luminance of a CIE xyY color. More...
|
|
template<class T > |
constexpr math::vec2< T > | xyy_to_ucs (const math::vec3< T > &x) noexcept |
| Transforms a CIE xyY color into the CIE 1960 UCS colorspace. More...
|
|
template<class T > |
constexpr math::vec3< T > | xyy_to_xyz (const math::vec3< T > &x) noexcept |
| Transforms a CIE xyY color into the CIE XYZ colorspace. More...
|
|
|
template<class T > |
constexpr T | xyz_to_luminance (const math::vec3< T > &x) noexcept |
| Returns the luminance of a CIE XYZ color. More...
|
|
template<class T > |
constexpr math::vec3< T > | xyz_to_xyy (const math::vec3< T > &x) noexcept |
| Transforms a CIE XYZ color into the CIE xyY color space. More...
|
|
template<class T > |
T | xyz_match_x (T lambda) |
| CIE 1931 standard observer color matching function for the X tristimulus value. More...
|
|
template<class T > |
T | xyz_match_y (T lambda) |
| CIE 1931 standard observer color matching function for the Y tristimulus value. More...
|
|
template<class T > |
T | xyz_match_z (T lambda) |
| CIE 1931 standard observer color matching function for the Z tristimulus value. More...
|
|
template<class T > |
math::vec3< T > | xyz_match (T lambda) |
| Fitted piecewise gaussian approximation to the CIE 1931 standard observer color matching function. More...
|
|
|
|
template<class T > |
constexpr math::vec2< T > | deg2_a = {T{0.44757}, T{0.40745}} |
|
template<class T > |
constexpr math::vec2< T > | deg2_b = {T{0.34842}, T{0.35161}} |
|
template<class T > |
constexpr math::vec2< T > | deg2_c = {T{0.31006}, T{0.31616}} |
|
template<class T > |
constexpr math::vec2< T > | deg2_d50 = {T{0.34567}, T{0.35850}} |
|
template<class T > |
constexpr math::vec2< T > | deg2_d55 = {T{0.33242}, T{0.34743}} |
|
template<class T > |
constexpr math::vec2< T > | deg2_d65 = {T{0.31271}, T{0.32902}} |
|
template<class T > |
constexpr math::vec2< T > | deg2_d75 = {T{0.29902}, T{0.31485}} |
|
template<class T > |
constexpr math::vec2< T > | deg2_d93 = {T{0.28315}, T{0.29711}} |
|
template<class T > |
constexpr math::vec2< T > | deg2_e = {T{0.33333}, T{0.33333}} |
|
template<class T > |
constexpr math::vec2< T > | deg2_f1 = {T{0.31310}, T{0.33727}} |
|
template<class T > |
constexpr math::vec2< T > | deg2_f2 = {T{0.37208}, T{0.37529}} |
|
template<class T > |
constexpr math::vec2< T > | deg2_f3 = {T{0.40910}, T{0.39430}} |
|
template<class T > |
constexpr math::vec2< T > | deg2_f4 = {T{0.44018}, T{0.40329}} |
|
template<class T > |
constexpr math::vec2< T > | deg2_f5 = {T{0.31379}, T{0.34531}} |
|
template<class T > |
constexpr math::vec2< T > | deg2_f6 = {T{0.37790}, T{0.38835}} |
|
template<class T > |
constexpr math::vec2< T > | deg2_f7 = {T{0.31292}, T{0.32933}} |
|
template<class T > |
constexpr math::vec2< T > | deg2_f8 = {T{0.34588}, T{0.35875}} |
|
template<class T > |
constexpr math::vec2< T > | deg2_f9 = {T{0.37417}, T{0.37281}} |
|
template<class T > |
constexpr math::vec2< T > | deg2_f10 = {T{0.34609}, T{0.35986}} |
|
template<class T > |
constexpr math::vec2< T > | deg2_f11 = {T{0.38052}, T{0.37713}} |
|
template<class T > |
constexpr math::vec2< T > | deg2_f12 = {T{0.43695}, T{0.40441}} |
|
template<class T > |
constexpr math::vec2< T > | deg2_led_b1 = {T{0.4560}, T{0.4078}} |
|
template<class T > |
constexpr math::vec2< T > | deg2_led_b2 = {T{0.4357}, T{0.4012}} |
|
template<class T > |
constexpr math::vec2< T > | deg2_led_b3 = {T{0.3756}, T{0.3723}} |
|
template<class T > |
constexpr math::vec2< T > | deg2_led_b4 = {T{0.3422}, T{0.3502}} |
|
template<class T > |
constexpr math::vec2< T > | deg2_led_b5 = {T{0.3118}, T{0.3236}} |
|
template<class T > |
constexpr math::vec2< T > | deg2_led_bh1 = {T{0.4474}, T{0.4066}} |
|
template<class T > |
constexpr math::vec2< T > | deg2_led_rgb1 = {T{0.4557}, T{0.4211}} |
|
template<class T > |
constexpr math::vec2< T > | deg2_led_v1 = {T{0.4560}, T{0.4548}} |
|
template<class T > |
constexpr math::vec2< T > | deg2_led_v2 = {T{0.3781}, T{0.3775}} |
|
|
template<class T > |
constexpr math::vec2< T > | deg10_a = {T{0.45117}, T{0.40594}} |
|
template<class T > |
constexpr math::vec2< T > | deg10_b = {T{0.34980}, T{0.35270}} |
|
template<class T > |
constexpr math::vec2< T > | deg10_c = {T{0.31039}, T{0.31905}} |
|
template<class T > |
constexpr math::vec2< T > | deg10_d50 = {T{0.34773}, T{0.35952}} |
|
template<class T > |
constexpr math::vec2< T > | deg10_d55 = {T{0.33411}, T{0.34877}} |
|
template<class T > |
constexpr math::vec2< T > | deg10_d65 = {T{0.31382}, T{0.33100}} |
|
template<class T > |
constexpr math::vec2< T > | deg10_d75 = {T{0.29968}, T{0.31740}} |
|
template<class T > |
constexpr math::vec2< T > | deg10_d93 = {T{0.28327}, T{0.30043}} |
|
template<class T > |
constexpr math::vec2< T > | deg10_e = {T{0.33333}, T{0.33333}} |
|
template<class T > |
constexpr math::vec2< T > | deg10_f1 = {T{0.31811}, T{0.33559}} |
|
template<class T > |
constexpr math::vec2< T > | deg10_f2 = {T{0.37925}, T{0.36733}} |
|
template<class T > |
constexpr math::vec2< T > | deg10_f3 = {T{0.41761}, T{0.38324}} |
|
template<class T > |
constexpr math::vec2< T > | deg10_f4 = {T{0.44920}, T{0.39074}} |
|
template<class T > |
constexpr math::vec2< T > | deg10_f5 = {T{0.31975}, T{0.34246}} |
|
template<class T > |
constexpr math::vec2< T > | deg10_f6 = {T{0.38660}, T{0.37847}} |
|
template<class T > |
constexpr math::vec2< T > | deg10_f7 = {T{0.31569}, T{0.32960}} |
|
template<class T > |
constexpr math::vec2< T > | deg10_f8 = {T{0.34902}, T{0.35939}} |
|
template<class T > |
constexpr math::vec2< T > | deg10_f9 = {T{0.37829}, T{0.37045}} |
|
template<class T > |
constexpr math::vec2< T > | deg10_f10 = {T{0.35090}, T{0.35444}} |
|
template<class T > |
constexpr math::vec2< T > | deg10_f11 = {T{0.38541}, T{0.37123}} |
|
template<class T > |
constexpr math::vec2< T > | deg10_f12 = {T{0.44256}, T{0.39717}} |
|
|
template<class T > |
constexpr math::vec2< T > | aces_white_point = {T{0.32168}, T{0.33767}} |
| CIE xy chromaticity coordinates of the ACES white point (~D60). More...
|
|
template<class T > |
constexpr math::mat3< T > | aces_ap1_rrt_sat = aces_adjust_saturation(T{0.96}, aces_ap1<T>.to_y) |
| ACES AP1 RRT saturation adjustment matrix. More...
|
|
template<class T > |
constexpr math::mat3< T > | aces_ap1_odt_sat = aces_adjust_saturation(T{0.93}, aces_ap1<T>.to_y) |
| ACES AP1 ODT saturation adjustment matrix. More...
|
|
template<class T > |
constexpr rgb_color_space< T > | aces_ap0 ({T{0.7347}, T{ 0.2653}}, {T{0.0000}, T{ 1.0000}}, {T{0.0001}, T{-0.0770}}, aces_white_point< T >, nullptr, nullptr) |
| ACES AP0 color space. More...
|
|
template<class T > |
constexpr rgb_color_space< T > | aces_ap1 ({T{0.713}, T{0.293}}, {T{0.165}, T{0.830}}, {T{0.128}, T{0.044}}, aces_white_point< T >, nullptr, nullptr) |
| ACES AP1 color space. More...
|
|
template<class T > |
constexpr math::mat3< T > | aces_adjust_saturation (T s, const math::vec3< T > &to_y) noexcept |
| Constructs a saturation adjustment matrix. More...
|
|