FastLED 3.10.8
Loading...
Searching...
No Matches

◆ noise()

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

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

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

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

+ Here is the call graph for this function: