FastLED 3.9.15
Loading...
Searching...
No Matches

◆ getPaletteIndex()

uint8_t getPaletteIndex ( uint32_t millis32,
int i,
int j,
uint32_t y_speed )

Definition at line 79 of file FireMatrix.ino.

79 {
80 // get palette index
81 uint16_t scale = scaleXY.as<uint16_t>();
82 uint16_t x = i * scale;
83 uint32_t y = j * scale + y_speed;
84 uint16_t z = millis32 / invSpeedZ.as<uint16_t>();
85 uint16_t noise16 = inoise16(x << 8, y << 8, z << 8);
86 uint8_t noise_val = noise16 >> 8;
87 int8_t subtraction_factor = abs8(j - (WIDTH - 1)) * 255 / (WIDTH - 1);
88 return qsub8(noise_val, subtraction_factor);
89}
#define WIDTH
Definition Blur2d.ino:9
uint32_t z[NUM_LAYERS]
Definition Fire2023.ino:82
uint32_t x[NUM_LAYERS]
Definition Fire2023.ino:80
uint32_t y[NUM_LAYERS]
Definition Fire2023.ino:81
UISlider scaleXY("Scale", 8, 1, 100, 1)
UISlider invSpeedZ("Inverse SpeedZ", 20, 1, 100, 1)
UISlider scale("Scale", 4,.1, 4,.1)
int y_speed
LIB8STATIC_ALWAYS_INLINE int8_t abs8(int8_t i)
Take the absolute value of a signed 8-bit uint8_t.
Definition math8.h:500
LIB8STATIC_ALWAYS_INLINE uint8_t qsub8(uint8_t i, uint8_t j)
Subtract one byte from another, saturating at 0x00.
Definition math8.h:103
uint16_t inoise16(uint32_t x, uint32_t y, uint32_t z, uint32_t t)
16-bit, fixed point implementation of Perlin's noise.
Definition noise.cpp:466

References abs8(), inoise16(), invSpeedZ, qsub8(), scale, scaleXY, WIDTH, x, y, y_speed, and z.

Referenced by loop().

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