cloudy-raytracer/common/noise/cloudnoise.h

36 lines
701 B
C++

#ifndef CG1_TRACER_CLOUDNOISE_H
#define CG1_TRACER_CLOUDNOISE_H
#include "noise.h"
#include "worleynoise.h"
#include "perlinnoise.h"
int const LOWRES_SIZE = 32;
class CloudNoise : public Noise
{
public:
/**
*
* @param size
* @param seed 0 for random seed
*/
explicit CloudNoise(int size, unsigned int seed = 0);
void renderNoiseThread(int xOffset, int xSize);
private:
// Some worley noises
WorleyNoise worleyNoise1;
WorleyNoise worleyNoise3;
// Some perlin noises
PerlinNoise perlinNoise1;
PerlinNoise perlinNoise2;
static void runCloudNoiseInThread(int xOffset, int xSize, CloudNoise *noise);
};
#endif //CG1_TRACER_CLOUDNOISE_H