FastLED 3.10.6
Loading...
Searching...
No Matches

◆ buildWhiteAllocationQ16()

bool fl::buildWhiteAllocationQ16 ( const colorimetric_response::EmitterProfile & profile,
const i32(&) white_xyz[3],
WhiteAllocationPolicy policy,
WhiteAllocationQ16 * out )

Derive the allocation for a three-primary profile plus one white emitter.

white_xyz is the white emitter's XYZ at full drive, in s16.16 – the same working domain the rest of the pipeline carries.

False on the profiles buildRgbSolveMatrixQ16 rejects, and on a white emitter the RGB primaries cannot express at all.

Definition at line 168 of file white_allocation.cpp.hpp.

171 {
173 return buildRgbSolveMatrixQ16(profile, &solve) &&
174 buildWhiteAllocationFromSolveQ16(profile, solve, white_xyz, policy, out);
175}
bool buildWhiteAllocationFromSolveQ16(const colorimetric_response::EmitterProfile &profile, const EmitterSolveMatrixQ16 &solve, const i32(&white_xyz)[3], WhiteAllocationPolicy policy, WhiteAllocationQ16 *out) FL_NO_EXCEPT
Bind from an RGB solve already adapted to the D65 working domain.
bool buildRgbSolveMatrixQ16(const colorimetric_response::EmitterProfile &profile, EmitterSolveMatrixQ16 *out) FL_NO_EXCEPT
Invert the emitter matrix for a three-emitter profile.
Inverse emitter matrix in s16.16, mapping XYZ to three emitter drives.

References buildRgbSolveMatrixQ16(), buildWhiteAllocationFromSolveQ16(), and FL_NO_EXCEPT.

+ Here is the call graph for this function: