79 {
80
84 uint16_t
z = millis32 /
invSpeedZ.as<uint16_t>();
85 uint16_t noise16 =
inoise16(
x << 8,
y << 8,
z << 8);
86 uint8_t noise_val = noise16 >> 8;
87 int8_t subtraction_factor =
abs8(j - (
WIDTH - 1)) * 255 / (
WIDTH - 1);
88 return qsub8(noise_val, subtraction_factor);
89}
UISlider scaleXY("Scale", 8, 1, 100, 1)
UISlider invSpeedZ("Inverse SpeedZ", 20, 1, 100, 1)
UISlider scale("Scale", 4,.1, 4,.1)
LIB8STATIC_ALWAYS_INLINE int8_t abs8(int8_t i)
Take the absolute value of a signed 8-bit uint8_t.
LIB8STATIC_ALWAYS_INLINE uint8_t qsub8(uint8_t i, uint8_t j)
Subtract one byte from another, saturating at 0x00.
uint16_t inoise16(uint32_t x, uint32_t y, uint32_t z, uint32_t t)
16-bit, fixed point implementation of Perlin's noise.