tahoma2d/toonz/sources/stdfx/perlinnoise.h

36 lines
1,017 B
C
Raw Normal View History

2016-05-17 03:04:11 +12:00
#pragma once
2016-03-19 06:57:51 +13:00
#ifndef PERLINNOISE_H
#define PERLINOISE_H
2016-04-15 21:51:36 +12:00
#include <memory>
2016-03-19 06:57:51 +13:00
#include "tfxparam.h"
#include "tspectrumparam.h"
2016-06-15 18:43:10 +12:00
enum { PNOISE_CLOUDS, PNOISE_WOODS };
2016-03-19 06:57:51 +13:00
2016-06-15 18:43:10 +12:00
class PerlinNoise {
static int Size;
static int TimeSize;
static int Offset;
static double Pixel_size;
std::unique_ptr<float[]> Noise;
double LinearNoise(double x, double y, double t);
2016-03-19 06:57:51 +13:00
public:
2016-06-15 18:43:10 +12:00
PerlinNoise();
double Turbolence(double u, double v, double k, double grain);
double Turbolence(double u, double v, double k, double grain, double min,
double max);
double Marble(double u, double v, double k, double grain);
double Marble(double u, double v, double k, double grain, double min,
double max);
2016-03-19 06:57:51 +13:00
};
/*---------------------------------------------------------------------------*/
2016-06-15 18:43:10 +12:00
void doClouds(const TRasterP &ras, const TSpectrumParamP colors, TPointD pos,
double evolution, double size, double min, double max, int type,
double scale, double frame);
2016-03-19 06:57:51 +13:00
#endif