| #pragma once |
| |
| #ifndef PERLINNOISE_H |
| #define PERLINOISE_H |
| |
| #include <memory> |
| |
| #include "tfxparam.h" |
| #include "tspectrumparam.h" |
| |
| enum { PNOISE_CLOUDS, PNOISE_WOODS }; |
| |
| 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); |
| |
| public: |
| 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); |
| }; |
| |
| void doClouds(const TRasterP &ras, const TSpectrumParamP colors, TPointD pos, |
| double evolution, double size, double min, double max, int type, |
| double scale, double frame); |
| |
| #endif |