54 for (
size_t i = 0; i <
mIndices.size(); i++) {
77 for (fl::u32
x = 0;
x <
width;
x++) {
80 batch.push(idx, value8);
fl::GradientInlined Gradient
void mapWaveToLEDs(const XYMap &xymap, WaveSimulation2D &waveSim, fl::span< CRGB > leds) override
Map wave values to gradient-colored LEDs.
fl::WaveSimulation1D waveSim(NUM_LEDS, fl::SuperSample::SUPER_SAMPLE_2X)
FASTLED_FORCE_INLINE float grad(int hash, float x, float y, float z)
Base definition for an LED controller.
2D wave simulation effect for LED matrices
Representation of an 8-bit RGB pixel (Red, Green, Blue)
WaveCrgbGradientMap::Gradient * mGradient
Gradient for color mapping.
bool isFull()
Check if batch is full.
ArrayIndices mIndices
LED indices in current batch.
void flush()
Process all accumulated entries and update LEDs.
fl::FixedVector< fl::u32, kMaxBatchSize > ArrayIndices
fl::span< CRGB > mLeds
Target LED array.
fl::FixedVector< u8, kMaxBatchSize > ArrayAlphas
ArrayAlphas mAlphas
Wave amplitudes in current batch.
BatchDraw(fl::span< CRGB > leds, WaveCrgbGradientMap::Gradient *grad)
Construct batch drawer.
static const size_t kMaxBatchSize
Maximum batch size before forced flush.
void push(fl::u32 index, u8 alpha)
Add an LED to the current batch.