aboutsummaryrefslogtreecommitdiff
path: root/Minecraft.World/ImprovedNoise.h
blob: b35bb3fd611d3d1de73afd3668d1cdb0104e621d (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
25
26
27
28
29
#pragma once
#include "Synth.h"

class ImprovedNoise : public Synth
{
	friend class PerlinNoise_SPU;
private:
    int *p;

public:
    double scale;
    double xo, yo, zo;

    ImprovedNoise();
    ImprovedNoise(Random *random);
	void init(Random *random);

	~ImprovedNoise();

    double noise(double _x, double _y, double _z);

    double lerp(double t, double a, double b);
    double grad2(int hash, double x, double z);
    double grad(int hash, double x, double y, double z);
    virtual double getValue(double x, double y);
    double getValue(double x, double y, double z);

    void add(doubleArray buffer, double _x, double _y, double _z, int xSize, int ySize, int zSize, double xs, double ys, double zs, double pow);
};