43 TCOD_NOISE_PERLIN = 1,
44 TCOD_NOISE_SIMPLEX = 2,
45 TCOD_NOISE_WAVELET = 4,
46 TCOD_NOISE_DEFAULT = 0
52 unsigned char map[256];
54 float buffer[256][TCOD_NOISE_MAX_DIMENSIONS];
58 float exponent[TCOD_NOISE_MAX_OCTAVES];
59 float* __restrict waveletTileData;
62 TCOD_noise_type_t noise_type;
70TCOD_PUBLIC
TCOD_Noise* TCOD_noise_new(
int dimensions,
float hurst,
float lacunarity,
TCOD_Random* random);
73TCOD_PUBLIC
void TCOD_noise_set_type(
TCOD_Noise* __restrict noise, TCOD_noise_type_t type);
75TCOD_PUBLIC
float TCOD_noise_get_ex(
TCOD_Noise* __restrict noise,
const float* __restrict f, TCOD_noise_type_t type);
77TCOD_PUBLIC
float TCOD_noise_get_fbm_ex(
78 TCOD_Noise* __restrict noise,
const float* __restrict f,
float octaves, TCOD_noise_type_t type);
80TCOD_PUBLIC
float TCOD_noise_get_turbulence_ex(
81 TCOD_Noise* __restrict noise,
const float* __restrict f,
float octaves, TCOD_noise_type_t type);
83TCOD_PUBLIC
float TCOD_noise_get(
TCOD_Noise* __restrict noise,
const float* __restrict f);
85TCOD_PUBLIC
float TCOD_noise_get_fbm(
TCOD_Noise* __restrict noise,
const float* __restrict f,
float octaves);
87TCOD_PUBLIC
float TCOD_noise_get_turbulence(
TCOD_Noise* __restrict noise,
const float* __restrict f,
float octaves);
89TCOD_PUBLIC
void TCOD_noise_delete(
TCOD_Noise* __restrict noise);
113 TCOD_noise_type_t type,
119 float* __restrict out);
133 TCOD_noise_type_t type,
140 float* __restrict out);
154 TCOD_noise_type_t type,
161 float* __restrict out);
Random number generator types.
void TCOD_noise_get_fbm_vectorized(TCOD_Noise *noise, TCOD_noise_type_t type, float octaves, int n, float *x, float *y, float *z, float *w, float *out)
Generate noise as a vectorized operation with fractional Brownian motion.
void TCOD_noise_get_vectorized(TCOD_Noise *noise, TCOD_noise_type_t type, int n, float *x, float *y, float *z, float *w, float *out)
Generate noise as a vectorized operation.
void TCOD_noise_get_turbulence_vectorized(TCOD_Noise *noise, TCOD_noise_type_t type, float octaves, int n, float *x, float *y, float *z, float *w, float *out)
Generate noise as a vectorized operation with turbulence.
Noise default parameters.
float buffer[256][TCOD_NOISE_MAX_DIMENSIONS]
Random 256 x ndim buffer.
Definition noise.h:54
unsigned char map[256]
Randomized map of indexes into buffer.
Definition noise.h:52
Pseudorandom number generator toolkit, all attributes are private.
Definition mersenne_types.h:87