aboutsummaryrefslogtreecommitdiff
path: root/Minecraft.World/PerlinNoise.h
blob: 25b6762727a5266b9cea558ee076ec8e5b1fba58 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#pragma once
#include "Synth.h"
#include "ImprovedNoise.h"


class PerlinNoise: public Synth
{
	friend class PerlinNoise_SPU;
private:
    ImprovedNoise **noiseLevels;
    int levels;

public:
    PerlinNoise(int levels);
    PerlinNoise(Random *random, int levels);

	void init(Random *random, int levels);
	~PerlinNoise();

    virtual double getValue(double x, double y);
    double getValue(double x, double y, double z);
    doubleArray getRegion(doubleArray buffer, int x, int y, int z, int xSize, int ySize, int zSize, double xScale, double yScale, double zScale);
    doubleArray getRegion(doubleArray sr, int x, int z, int xSize, int zSize, double xScale, double zScale, double pow);
};