noise - Simplex noise function

Note

This library was ported from FastLED

group Noise

Simplex noise function definitions.

scaled 16 bit noise functions

16 bit, fixed point implementation of perlin’s Simplex Noise.

Coordinates are 16.16 fixed point values, 32 bit integers with integral coordinates in the high 16 bits and fractional in the low 16 bits, and the function takes 1d, 2d, and 3d coordinate values. These functions are scaled to return 0-65535

uint16_t inoise16_3d(uint32_t x, uint32_t y, uint32_t z)
uint16_t inoise16_2d(uint32_t x, uint32_t y)
uint16_t inoise16_1d(uint32_t x)

raw 16 bit noise functions

16 bit raw versions of the noise functions.

These values are not scaled/altered and have output values roughly in the range (-18k,18k)

int16_t inoise16_3d_raw(uint32_t x, uint32_t y, uint32_t z)
int16_t inoise16_2d_raw(uint32_t x, uint32_t y)
int16_t inoise16_1d_raw(uint32_t x)

8 bit scaled noise functions

8 bit, fixed point implementation of perlin’s Simplex Noise.

Coordinates are 8.8 fixed point values, 16 bit integers with integral coordinates in the high 8 bits and fractional in the low 8 bits, and the function takes 1d, 2d, and 3d coordinate values. These functions are scaled to return 0-255

uint8_t inoise8_3d(uint16_t x, uint16_t y, uint16_t z)
uint8_t inoise8_2d(uint16_t x, uint16_t y)
uint8_t inoise8_1d(uint16_t x)

8 bit raw noise functions

8 bit raw versions of the noise functions.

These values are not scaled/altered and have output values roughly in the range (-70,70)

int8_t inoise8_3d_raw(uint16_t x, uint16_t y, uint16_t z)
int8_t inoise8_2d_raw(uint16_t x, uint16_t y)
int8_t inoise8_1d_raw(uint16_t x)

raw fill functions

Raw noise fill functions - fill into a 1d or 2d array of 8-bit values using either 8-bit noise or 16-bit noise functions.

param pData

the array of data to write into

param num_points

the number of points of noise to compute

param octaves

the number of octaves to use for noise

param x

the x position in the noise field

param y

the y position in the noise field for 2d functions

param scalex

the scale (distance) between x points when filling in noise

param scaley

the scale (distance) between y points when filling in noise

param time

the time position for the noise field

void fill_raw_noise8(uint8_t *pData, uint8_t num_points, uint8_t octaves, uint16_t x, int scale, uint16_t time)
void fill_raw_noise16into8(uint8_t *pData, uint8_t num_points, uint8_t octaves, uint32_t x, int scale, uint32_t time)