10fl::u16
inoise16(fl::u32
x, fl::u32
y, fl::u32
z, fl::u32
t);
34 u32 nx =
static_cast<u32
>((
x + 1.0f) * 0.5f * radius * 0xffff);
35 u32 ny =
static_cast<u32
>((
y + 1.0f) * 0.5f * radius * 0xffff);
48 return HSV16(h, s, v);
56 u8 h = (hsv16.
h + 128) >> 8;
57 u8 s = (hsv16.
s + 128) >> 8;
58 u8 v = (hsv16.
v + 128) >> 8;
70 u32 nx =
static_cast<u32
>((
x + 1.0f) * 0.5f * radius * 0xffff);
71 u32 ny =
static_cast<u32
>((
y + 1.0f) * 0.5f * radius * 0xffff);
108 u32 nx =
static_cast<u32
>((
x + 1.0f) * 0.5f * radius * 0xffff);
109 u32 ny =
static_cast<u32
>((
y + 1.0f) * 0.5f * radius * 0xffff);
110 u32 nz =
static_cast<u32
>((
z + 1.0f) * 0.5f * radius * 0xffff);
118 return HSV16(h, s, v);
126 u8 h = (hsv16.
h + 128) >> 8;
127 u8 s = (hsv16.
s + 128) >> 8;
128 u8 v = (hsv16.
v + 128) >> 8;
130 return CHSV(h, s, v);
147 u32 nx =
static_cast<u32
>((
x + 1.0f) * 0.5f * radius * 0xffff);
148 u32 ny =
static_cast<u32
>((
y + 1.0f) * 0.5f * radius * 0xffff);
149 u32 nz =
static_cast<u32
>((
z + 1.0f) * 0.5f * radius * 0xffff);
157 u8 r = fl::int_scale<u16, u8>(r16);
158 u8 g = fl::int_scale<u16, u8>(g16);
159 u8 b = fl::int_scale<u16, u8>(b16);
161 return CRGB(r, g, b);
178 u32 nx =
static_cast<u32
>((
x + 1.0f) * 0.5f * radius * 0xffff);
179 u32 ny =
static_cast<u32
>((
y + 1.0f) * 0.5f * radius * 0xffff);
180 u32 nz =
static_cast<u32
>(
height * radius * 0xffff);
193 return HSV16(h, s, v);
201 u8 h = (hsv16.
h + 128) >> 8;
202 u8 s = (hsv16.
s + 128) >> 8;
203 u8 v = (hsv16.
v + 128) >> 8;
205 return CHSV(h, s, v);
220 u32 nx =
static_cast<u32
>((
x + 1.0f) * 0.5f * radius * 0xffff);
221 u32 ny =
static_cast<u32
>((
y + 1.0f) * 0.5f * radius * 0xffff);
222 u32 nz =
static_cast<u32
>(
height * radius * 0xffff);
236 u8 r = fl::int_scale<u16, u8>(r16);
237 u8 g = fl::int_scale<u16, u8>(g16);
238 u8 b = fl::int_scale<u16, u8>(b16);
240 return CRGB(r, g, b);
fl::u16 inoise16(fl::u32 x, fl::u32 y, fl::u32 z, fl::u32 t)
Functions to generate noise patterns on rings and spheres.
Internal FastLED header for implementation files.
CRGB noiseCylinderCRGB(float angle, float height, u32 time, float radius)
Generate CRGB noise for a cylinder pattern.
CHSV noiseCylinderHSV8(float angle, float height, u32 time, float radius)
Generate HSV8 (8-bit) noise for a cylinder pattern.
HSV16 noiseCylinderHSV16(float angle, float height, u32 time, float radius)
Cylinder noise functions - sample three z-slices for independent component evolution.
CHSV noiseRingHSV8(float angle, u32 time, float radius)
Generate HSV8 (8-bit) noise for a ring pattern.
HSV16 noiseRingHSV16(float angle, u32 time, float radius)
Ring noise functions - sample three z-slices for independent component evolution.
CRGB noiseRingCRGB(float angle, u32 time, float radius)
Generate CRGB noise for a ring pattern.
HSV16 noiseSphereHSV16(float angle, float phi, u32 time, float radius)
Sphere noise functions - sample three z-slices for independent component evolution.
CHSV noiseSphereHSV8(float angle, float phi, u32 time, float radius)
Generate HSV8 (8-bit) noise for a sphere pattern.
CRGB noiseSphereCRGB(float angle, float phi, u32 time, float radius)
Generate CRGB noise for a sphere pattern.
FASTLED_FORCE_INLINE u16 rescaleNoiseValue16(u16 raw_value)
Rescale raw inoise16() output to full 16-bit range [0, 65535] Curries in the global NOISE16_EXTENT_MI...
fl::u64 time() FL_NOEXCEPT
Alias for millis64() - returns 64-bit millisecond time.
float sinf(float value) FL_NOEXCEPT
constexpr u16 NOISE16_EXTENT_MAX
FASTLED_FORCE_INLINE U map_range_clamped(T value, T in_min, T in_max, U out_min, U out_max) FL_NOEXCEPT
float cosf(float value) FL_NOEXCEPT
constexpr u16 NOISE16_EXTENT_MIN
Observed min/max extents for inoise16() output.
Base definition for an LED controller.
#define FASTLED_FORCE_INLINE
Representation of an 8-bit RGB pixel (Red, Green, Blue)