21template <
typename T>
class LUT;
67 uint32_t maxIndex =
length - 1;
68 uint32_t
pos = uint32_t(alpha) * maxIndex;
69 uint32_t idx0 =
pos / 255;
70 uint32_t idx1 = idx0 < maxIndex ? idx0 + 1 : maxIndex;
73 const T &a =
data[idx0];
74 const T &b =
data[idx1];
76 return a + (b - a) *
blend / 255;
88 uint32_t maxIndex =
length - 1;
89 uint32_t
pos = uint32_t(alpha) * maxIndex;
90 uint32_t idx0 =
pos / 65535;
91 uint32_t idx1 = idx0 < maxIndex ? idx0 + 1 : maxIndex;
94 const T &a =
data[idx0];
95 const T &b =
data[idx1];
97 return a + (b - a) *
blend / 65535;
LUT(uint32_t length, T *data)
const T & operator[](uint32_t index) const
fl::scoped_ptr< uint16_t > mDataHandle
T interp16(uint16_t alpha)
const T * getData() const
const T & operator[](uint16_t index) const
static T * Alloc(size_t n)
Implements the FastLED namespace macros.
CRGB blend(const CRGB &p1, const CRGB &p2, fract8 amountOfP2)
LUT< vec2< uint16_t > > LUTXY16
Implements a simple red square effect for 2D LED grids.
#define FASTLED_SMART_PTR_NO_FWD(type)