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

class PerlinSimplexNoise : public Synth
{
private:
	SimplexNoise **noiseLevels;
    int levels;

public:
    PerlinSimplexNoise(int levels);
    PerlinSimplexNoise(Random *random, int levels);
	void init(Random *random, int levels);
	~PerlinSimplexNoise();

    virtual double getValue(double x, double y);
    double getValue(double x, double y, double z);

    doubleArray getRegion(doubleArray buffer, double x, double y, int xSize, int ySize, double xScale, double yScale, double sizeScale);   
    doubleArray getRegion(doubleArray buffer, double x, double y, int xSize, int ySize, double xScale, double yScale, double sizeScale, double powScale);
    doubleArray getRegion(doubleArray buffer, double x, double y, double z, int xSize, int ySize, int zSize, double xScale, double yScale, double zScale);
};