FastLED
3.9.15
Loading...
Searching...
No Matches
noisegen.h
Go to the documentation of this file.
1
3
4
#pragma once
5
6
#include <stdint.h>
7
#include "
noise.h
"
8
9
#include "
fl/math_macros.h
"
10
#include "
fl/namespace.h
"
11
12
FASTLED_NAMESPACE_BEGIN
13
14
15
// Simple noise generator for 1-d waves. Default values will give good results
16
// for most cases.
17
struct
NoiseGenerator
{
18
int32_t
iteration_scale
;
19
unsigned
long
time_multiplier
;
20
21
NoiseGenerator
() :
iteration_scale
(10),
time_multiplier
(10) {}
22
NoiseGenerator
(int32_t itScale, int32_t timeMul) :
iteration_scale
(itScale),
time_multiplier
(timeMul) {}
23
24
uint8_t
Value
(int32_t i,
unsigned
long
time_ms)
const
{
25
uint32_t input =
iteration_scale
* i + time_ms *
time_multiplier
;
26
uint16_t v1 =
inoise16
(input);
27
return
uint8_t(v1 >> 8);
28
}
29
30
int
LedValue
(int32_t i,
unsigned
long
time_ms)
const
{
31
int
val =
Value
(i, time_ms);
32
return
MAX
(0, val - 128) * 2;
33
}
34
};
35
36
FASTLED_NAMESPACE_END
MAX
#define MAX(a, b)
Definition
math_macros.h:4
math_macros.h
inoise16
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
FASTLED_NAMESPACE_END
#define FASTLED_NAMESPACE_END
Definition
namespace.h:22
namespace.h
Implements the FastLED namespace macros.
FASTLED_NAMESPACE_BEGIN
Definition
colorutils.cpp:42
noise.h
Functions to generate and fill arrays with noise.
NoiseGenerator::NoiseGenerator
NoiseGenerator()
Definition
noisegen.h:21
NoiseGenerator::time_multiplier
unsigned long time_multiplier
Definition
noisegen.h:19
NoiseGenerator::iteration_scale
int32_t iteration_scale
Definition
noisegen.h:18
NoiseGenerator::LedValue
int LedValue(int32_t i, unsigned long time_ms) const
Definition
noisegen.h:30
NoiseGenerator::NoiseGenerator
NoiseGenerator(int32_t itScale, int32_t timeMul)
Definition
noisegen.h:22
NoiseGenerator::Value
uint8_t Value(int32_t i, unsigned long time_ms) const
Definition
noisegen.h:24
noisegen.h
Generated on Fri Apr 18 2025 03:39:31 for FastLED by
1.13.2