9
0
mirror of https://github.com/VolmitSoftware/Iris.git synced 2025-12-27 11:09:06 +00:00
This commit is contained in:
Dan Macbook
2020-08-13 08:10:48 -04:00
parent a4d1b5b972
commit 991aaa8677
4 changed files with 80 additions and 5 deletions

View File

@@ -0,0 +1,38 @@
package com.volmit.iris.noise;
import com.volmit.iris.noise.FastNoise.FractalType;
import com.volmit.iris.util.RNG;
public class FractalBillowPerlinNoise implements NoiseGenerator, OctaveNoise {
private final FastNoise n;
public FractalBillowPerlinNoise(long seed) {
this.n = new FastNoise(new RNG(seed).imax());
n.SetFractalOctaves(1);
n.SetFractalType(FractalType.Billow);
}
public double f(double v) {
return (v / 2D) + 0.5D;
}
@Override
public double noise(double x) {
return f(n.GetPerlinFractal((float) x, 0f));
}
@Override
public double noise(double x, double z) {
return f(n.GetPerlinFractal((float) x, (float) z));
}
@Override
public double noise(double x, double y, double z) {
return f(n.GetPerlinFractal((float) x, (float) y, (float) z));
}
@Override
public void setOctaves(int o) {
n.SetFractalOctaves(o);
}
}

View File

@@ -5,6 +5,7 @@ public enum NoiseType {
SIMPLEX(seed -> new SimplexNoise(seed)),
PERLIN(seed -> new PerlinNoise(seed)),
FRACTAL_BILLOW_SIMPLEX(seed -> new FractalBillowSimplexNoise(seed)),
FRACTAL_BILLOW_PERLIN(seed -> new FractalBillowPerlinNoise(seed)),
FRACTAL_FBM_SIMPLEX(seed -> new FractalFBMSimplexNoise(seed)),
FRACTAL_RIGID_MULTI_SIMPLEX(seed -> new FractalRigidMultiSimplexNoise(seed)),
CELLULAR(seed -> new CellularNoise(seed)),