22template <
typename T>
class LUT;
35template <
typename T>
class LUT {
69 u32
pos = u32(alpha) * maxIndex;
71 u32 idx1 = idx0 < maxIndex ? idx0 + 1 : maxIndex;
74 const T &a =
data[idx0];
75 const T &b =
data[idx1];
77 return a + (b - a) *
blend / 255;
90 u32
pos = u32(alpha) * maxIndex;
91 u32 idx0 =
pos / 65535;
92 u32 idx1 = idx0 < maxIndex ? idx0 + 1 : maxIndex;
95 const T &a =
data[idx0];
96 const T &b =
data[idx1];
98 return a + (b - a) *
blend / 65535;
const T & operator[](u32 index) const
fl::unique_ptr< u16 > mDataHandle
const T & operator[](u16 index) const
const T * getData() const
static T * Alloc(fl::size n)
Implements the FastLED namespace macros.
LUT< vec2< u16 > > LUTXY16
CRGB blend(const CRGB &p1, const CRGB &p2, fract8 amountOfP2)
#define FASTLED_SMART_PTR_NO_FWD(type)