1#include "utils/Color.hpp"
2#include "utils/VecN.hpp"
7namespace Raytracer::Utils
11 static constexpr int pointCount = 256;
23 static void permute(
int *perm,
int n);
25 const Utils::Vec3 c[2][2][2],
double u,
double v,
double w);
static int * perlinGeneratePerm()
Generate the permutation table.
Definition Perlin.cpp:103
static void permute(int *perm, int n)
Permute the permutation table.
Definition Perlin.cpp:122
double noise(const Utils::Point3 &point) const
Get the noise value at the given point.
Definition Perlin.cpp:46
~Perlin()
Destroy the Perlin object.
Definition Perlin.cpp:29
static double perlinInterp(const Utils::Vec3 c[2][2][2], double u, double v, double w)
Interpolate the noise value.
Definition Perlin.cpp:144
double turbulence(const Utils::Point3 &point, int depth=7) const
Get the turbulence value at the given point.
Definition Perlin.cpp:80
Perlin()
Construct a new Perlin object.
Definition Perlin.cpp:12