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

◆ processPixelWideQ16()

void fl::processPixelWideQ16 ( const StreamingPipelineQ16 & pipeline,
u8 r,
u8 g,
u8 b,
i32(&) drives[5] )

Like processPixelQ16, but solves the physical 4/5-emitter hull.

The first three drives are RGB, followed by W or warm/cool W. Unused slots are zero; call only when wide is present.

Definition at line 358 of file pipeline.cpp.hpp.

359 {
360 processPixelWideLinearQ16(pipeline, r, g, b, drives);
361 if (!pipeline.wide) return;
362 const bool rgbww = pipeline.wide && pipeline.wide->topology ==
364 const int count = rgbww ? 5 : 4;
365 applyFluxScalar(pipeline.flux, span<i32>(drives, count));
366 if (pipeline.response) {
367 drives[0] = inverseResponseQ16(drives[0], pipeline.response->red);
368 drives[1] = inverseResponseQ16(drives[1], pipeline.response->green);
369 drives[2] = inverseResponseQ16(drives[2], pipeline.response->blue);
370 drives[3] = inverseResponseQ16(drives[3],
371 pipeline.wide->white1_response);
372 if (rgbww) {
373 drives[4] = inverseResponseQ16(drives[4],
374 pipeline.wide->white2_response);
375 }
376 }
377}
void applyFluxScalar(FluxScalar scalar, span< i32 > drives) FL_NO_EXCEPT
Scale every drive by one scalar, in place.
void processPixelWideLinearQ16(const StreamingPipelineQ16 &pipeline, u8 r, u8 g, u8 b, i32(&drives)[5]) FL_NO_EXCEPT
InputGamut g
Definition rgbw.h:124
shared_ptr< const ResponseLutsQ16 > response
Absent means linear code-to-light response.
Definition pipeline.h:102
FluxScalar flux
Brightness times power limiting, as one scalar (C4).
Definition pipeline.h:98
shared_ptr< const WidePipelineQ16 > wide
Definition pipeline.h:104

References applyFluxScalar(), FL_NO_EXCEPT, fl::StreamingPipelineQ16::flux, g, processPixelWideLinearQ16(), fl::StreamingPipelineQ16::response, fl::colorimetric_response::RGBWW, and fl::StreamingPipelineQ16::wide.

Referenced by fl::ColorManagedPixelSource::loadAndScaleRGBW(), and fl::ColorManagedPixelSource::loadAndScaleRGBWW().

+ Here is the call graph for this function:
+ Here is the caller graph for this function: