mirror of
https://github.com/VolmitSoftware/Iris.git
synced 2025-12-27 11:09:06 +00:00
MOAR
This commit is contained in:
@@ -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);
|
||||
}
|
||||
}
|
||||
@@ -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)),
|
||||
|
||||
Reference in New Issue
Block a user