/** * @param min the minimum thickness for the layer * @param max the maximum thickness for the layer */ public MinMaxLayerThickness(int min, int max) { //TODO: make sure that layers at different heights have different noise super(seed -> new BrownianNoise(new SimplexNoise(seed), 2)); this.min = min; this.max = max; }
@Override public void setSeed(long seed) { // TODO: reduce the number of octaves in BrownianNoise mountainNoise = new SubSampledNoise(new BrownianNoise(new PerlinNoise(seed + 3)), new Vector2f(0.0002f, 0.0002f), 4); hillNoise = new SubSampledNoise(new BrownianNoise(new PerlinNoise(seed + 4)), new Vector2f(0.0008f, 0.0008f), 4); }
@Override public void setSeed(long seed) { oceanNoise = new SubSampledNoise(new BrownianNoise(new PerlinNoise(seed + 1), 8), new Vector2f(0.0009f, 0.0009f), SAMPLE_RATE); }
@Override public void setSeed(long seed) { riverNoise = new SubSampledNoise(new BrownianNoise(new PerlinNoise(seed + 2), 8), new Vector2f(0.0008f, 0.0008f), SAMPLE_RATE); }
@Override public void setSeed(long seed) { temperatureNoise = new SubSampledNoise(new BrownianNoise(new PerlinNoise(seed + 5), 8), new Vector2f(0.0005f, 0.0005f), SAMPLE_RATE); }
private void reload() { float realScale = config.scale * 0.01f; Vector2f scale = new Vector2f(realScale, realScale); BrownianNoise brown = new BrownianNoise(new PerlinNoise(seed + 6), config.octaves); humidityNoise = new SubSampledNoise(brown, scale, SAMPLE_RATE); }
@Override public void setSeed(long seed) { BrownianNoise source = new BrownianNoise(new PerlinNoise(seed), 8); surfaceNoise = new SubSampledNoise(source, new Vector2f(0.004f, 0.004f), SAMPLE_RATE); }
@Parameters(name = "{0}") public static Collection<Noise[]> data() { return Arrays.asList(new Noise[][]{ {new WhiteNoise(0xCAFE)}, {new DiscreteWhiteNoise(0xCAFE)}, {new SimplexNoise(0xCAFE)}, {new PerlinNoise(0xCAFE)}, {new BrownianNoise(new WhiteNoise(0xCAFE), 3)} }); }