implement LinearHeightmapSampler

This commit is contained in:
dfsek 2021-12-15 20:38:22 -07:00
parent bce7481290
commit 8579b6f6eb

View File

@ -0,0 +1,27 @@
package com.dfsek.terra.addons.noise.samplers;
import com.dfsek.terra.api.noise.NoiseSampler;
public class LinearHeightmapSampler implements NoiseSampler {
private final NoiseSampler sampler;
private final double scale;
private final double base;
public LinearHeightmapSampler(NoiseSampler sampler, double scale, double base) {
this.sampler = sampler;
this.scale = scale;
this.base = base;
}
@Override
public double noise(long seed, double x, double y) {
return noise(seed, x, 0, y);
}
@Override
public double noise(long seed, double x, double y, double z) {
return -y + base + sampler.noise(seed, x, y, z) * scale;
}
}