surfaceNoise = new SubSampledNoise2D(new Noise3DTo2DAdapter(new BrownianNoise3D(new PerlinNoise(seed), 8)), new Vector2f(0.004f, 0.004f), SAMPLE_RATE);
}
@Override
public void process(GeneratingRegion region) {
Border3D border = region.getBorderForFacet(SurfaceHeightFacet.class);
SurfaceHeightFacet facet = new SurfaceHeightFacet(region.getRegion(), border);
SeaLevelFacet seaLevelFacet = region.getRegionFacet(SeaLevelFacet.class);
float seaLevel = seaLevelFacet.getSeaLevel();
Rect2i processRegion = facet.getWorldRegion();
float[] noise = surfaceNoise.noise(processRegion);