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

◆ fill_2dnoise16()

void fill_2dnoise16 ( CRGB * leds,
int width,
int height,
bool serpentine,
uint8_t octaves,
uint32_t x,
int xscale,
uint32_t y,
int yscale,
uint32_t time,
uint8_t hue_octaves,
uint16_t hue_x,
int hue_xscale,
uint16_t hue_y,
uint16_t hue_yscale,
uint16_t hue_time,
bool blend,
uint16_t hue_shift = 0 )

Fill an LED matrix with random colors, using 16-bit noise.

Parameters
ledspointer to LED array
widththe width of the LED matrix
heightthe height of the LED matrix
serpentinewhether the matrix is laid out in a serpentine pattern (alternating left/right directions per row)
octavesthe number of octaves to use for value (brightness) noise
xx-axis coordinate on noise map for value (brightness) noise
xscalethe scale (distance) between x points when filling in value (brightness) noise
yy-axis coordinate on noise map for value (brightness) noise
yscalethe scale (distance) between y points when filling in value (brightness) noise
timethe time position for the value (brightness) noise field
hue_octavesthe number of octaves to use for color hue noise
hue_xx-axis coordinate on noise map for color hue noise
hue_xscalethe scale (distance) between x points when filling in color hue noise
hue_yy-axis coordinate on noise map for color hue noise.
hue_yscalethe scale (distance) between y points when filling in color hue noise
hue_timethe time position for the color hue noise field
blendif true, will blend the newly generated LED values into the array. If false, will overwrite the array values directly.
hue_shifthow much to shift the final hues by for every LED

Definition at line 938 of file noise.cpp.

940 {
941
942 FASTLED_STACK_ARRAY(uint8_t, V, height*width);
943 FASTLED_STACK_ARRAY(uint8_t, H, height*width);
944
945 memset(V,0,height*width);
946 memset(H,0,height*width);
947
948 fill_raw_2dnoise16into8((uint8_t*)V,width,height,octaves,q44(2,0),171,1,x,xscale,y,yscale,time);
949 // fill_raw_2dnoise16into8((uint8_t*)V,width,height,octaves,x,xscale,y,yscale,time);
950 // fill_raw_2dnoise8((uint8_t*)V,width,height,hue_octaves,x,xscale,y,yscale,time);
951 fill_raw_2dnoise8((uint8_t*)H,width,height,hue_octaves,hue_x,hue_xscale,hue_y,hue_yscale,hue_time);
952
953
954 int w1 = width-1;
955 int h1 = height-1;
956 hue_shift >>= 8;
957
958 for(int i = 0; i < height; ++i) {
959 int wb = i*width;
960 for(int j = 0; j < width; ++j) {
961 CRGB led(CHSV(hue_shift + (H[(h1-i)*width + (w1-j)]), 196, V[i*width + j]));
962
963 int pos = j;
964 if(serpentine && (i & 0x1)) {
965 pos = w1-j;
966 }
967
968 if(blend) {
969 leds[wb+pos] >>= 1; leds[wb+pos] += (led>>=1);
970 } else {
971 leds[wb+pos] = led;
972 }
973 }
974 }
975}
CRGB leds[NUM_LEDS]
Definition Apa102.ino:11
int y
Definition Audio.ino:72
int x
Definition Audio.ino:71
uint8_t pos
Definition Blur.ino:11
uint8_t hue_octaves
int yscale
uint8_t octaves
int xscale
uint32_t hue_time
#define FASTLED_STACK_ARRAY(TYPE, NAME, SIZE)
Definition array.h:169
CRGB blend(const CRGB &p1, const CRGB &p2, fract8 amountOfP2)
qfx< uint8_t, 4, 4 > q44
A 4.4 integer (4 bits integer, 4 bits fraction)
Definition qfx.h:48
void fill_raw_2dnoise16into8(uint8_t *pData, int width, int height, uint8_t octaves, q44 freq44, fract8 amplitude, int skip, uint32_t x, int32_t scalex, uint32_t y, int32_t scaley, uint32_t time)
Fill a 2D 8-bit buffer with noise, using inoise16()
Definition noise.cpp:808
void fill_raw_2dnoise8(uint8_t *pData, int width, int height, uint8_t octaves, q44 freq44, fract8 amplitude, int skip, uint16_t x, int16_t scalex, uint16_t y, int16_t scaley, uint16_t time)
Fill a 2D 8-bit buffer with noise, using inoise8()
Definition noise.cpp:732
Representation of an HSV pixel (hue, saturation, value (aka brightness)).
Definition chsv.h:16
Representation of an RGB pixel (Red, Green, Blue)
Definition crgb.h:55

References blend(), FASTLED_STACK_ARRAY, fill_raw_2dnoise16into8(), fill_raw_2dnoise8(), hue_octaves, hue_time, leds, octaves, pos, x, xscale, y, and yscale.

Referenced by loop().

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