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

◆ noise()

float fl::FlowFieldFloat::Perlin2D::noise ( float x,
float y ) const

Definition at line 78 of file flowfield.cpp.hpp.

78 {
79 int xi = ((int)floorf(x)) & 255;
80 int yi = ((int)floorf(y)) & 255;
81 float xf = x - floorf(x);
82 float yf = y - floorf(y);
83 float u = fade(xf);
84 float v = fade(yf);
85 int aa = perm[perm[xi] + yi];
86 int ab = perm[perm[xi] + yi + 1];
87 int ba = perm[perm[xi + 1] + yi];
88 int bb = perm[perm[xi + 1] + yi + 1];
89 float x1 = lerp(grad(aa, xf, yf), grad(ba, xf - 1.0f, yf), u);
90 float x2 = lerp(grad(ab, xf, yf - 1.0f),
91 grad(bb, xf - 1.0f, yf - 1.0f), u);
92 return lerp(x1, x2, v);
93}
static float fade(float t)
Definition flowfield.h:313
static float lerp(float a, float b, float t)
Definition flowfield.h:316
static float grad(int h, float x, float y)
float floorf(float value) FL_NOEXCEPT
Definition math.h:304

References fl::fade(), fl::floorf(), fl::grad(), fl::lerp(), perm, fl::x, and fl::y.

+ Here is the call graph for this function: