basin/include/basin/perlin.h

22 lines
575 B
C

#ifndef BASIN_PERLIN_H_
#define BASIN_PERLIN_H_
#include <stdint.h>
struct perlin {
uint8_t perm[256];
uint8_t perm2[512];
};
uint64_t perlin_rand(uint64_t seed);
double perlin_octave(struct perlin* perlin, double x, double y, double z, double amp, double freq, uint32_t octaves, double persistence);
double perlin_mod(struct perlin* perlin, double x, double y, double z, double amp, double freq);
double perlin(struct perlin* perlin, double x, double y, double z);
void perlin_init(struct perlin* perlin, uint64_t seed);
#endif /* BASIN_PERLIN_H_ */