104 {
105 int X, Y, Z;
110 X &= 255;
111 Y &= 255;
112 Z &= 255;
113
114 fl::i32 u =
fade(
x, fade_lut);
115 fl::i32 v =
fade(
y, fade_lut);
116 fl::i32 w =
fade(
z, fade_lut);
117
118 int A = perm[X & 255] + Y;
119 int AA = perm[A & 255] + Z;
120 int AB = perm[(A + 1) & 255] + Z;
121 int B = perm[(X + 1) & 255] + Y;
122 int BA = perm[
B & 255] + Z;
123 int BB = perm[(
B + 1) & 255] + Z;
124
136
138}
static constexpr int FRAC_BITS
FL_DISABLE_WARNING_PUSH unsigned char * B
expected< T, E > result
Alias for expected (Rust-style naming)
static fl::i32 fade(fl::i32 t, const fl::i32 *table)
static constexpr fl::i32 HP_ONE
static void floor_frac(fl::i32 fp16, int &ifloor, fl::i32 &frac24)
static fl::i32 lerp(fl::i32 t, fl::i32 a, fl::i32 b)
static constexpr int HP_BITS
static fl::i32 grad3d(int hash, fl::i32 x, fl::i32 y, fl::i32 z)