|
FastLED 3.10.6
|
Shared colorimetric primitives reusable by the RGBW and (future) RGB colorimetric paths (issue #3255).
This module is the topology-independent layer extracted from rgbw_colorimetric.h: small-matrix linear algebra, chromaticity conversions, the source-primary matrix construction, and the LUT quantization constants. None of these helpers know about W diodes, RGBW sub-gamuts, or the boosted / RGBCCT solver topology.
All helpers are header-inline — they appear in hot inner loops and the optimizer needs to fold them. Tests at tests/fl/gfx/colorimetric_response.cpp exercise them in isolation of the RGBW topology, complementing the RGBW-flavored coverage in tests/fl/gfx/rgbw_colorimetric.cpp.
Backward compatibility: the existing fl::colorimetric_detail:: namespace re-exports every name from here via using-declarations, so callers reaching into colorimetric_detail::xyY_to_XYZ(...) etc. keep compiling unchanged. New code should reach colorimetric_response:: directly.
Definition in file colorimetric_response.h.
Include dependency graph for colorimetric_response.h:
This graph shows which files directly or indirectly include this file:Go to the source code of this file.
Classes | |
| struct | fl::colorimetric_response::EmitterProfile |
| struct | fl::colorimetric_response::RgbColorimetricCache |
Namespaces | |
| namespace | fl |
| Base definition for an LED controller. | |
| namespace | fl::colorimetric_response |
| namespace | fl::colorimetric_response::detail |
| namespace | fl::colorimetric_response::profiles |
| namespace | fl::profiles |
Typedefs | |
| using | fl::colorimetric_response::RgbColorimetricProfile = EmitterProfile |
Enumerations | |
| enum class | fl::colorimetric_response::EmitterTopology : u8 { fl::colorimetric_response::RGB = 0 , fl::colorimetric_response::RGBW = 1 , fl::colorimetric_response::RGBWW = 2 } |
| enum class | fl::colorimetric_response::LutInterp : u8 { fl::colorimetric_response::Bilinear = 0 , fl::colorimetric_response::Hermite = 1 } |
Variables | |
| constexpr i16 | fl::colorimetric_response::kLutQ = 4096 |
| constexpr int | fl::colorimetric_response::kLutStrideBilinear = 4 |
| constexpr int | fl::colorimetric_response::kLutStrideHermite = 12 |
| constexpr float | fl::colorimetric_response::detail::kRelativeSingularity = 1e-6f |
| How small a determinant may be, relative to the matrix's own scale, before the inverse is rounding noise. | |
| static constexpr EmitterProfile | fl::colorimetric_response::profiles::WS2812B |
| static constexpr EmitterProfile | fl::profiles::WS2812B |