mirror of
https://github.com/PolyhedralDev/Terra.git
synced 2025-07-02 07:55:28 +00:00
Merge pull request #372 from Astrashh/dev/salt-lookup
Add option to not salt cellular lookup
This commit is contained in:
commit
d8d2d30a3f
@ -35,6 +35,10 @@ public class CellularNoiseTemplate extends NoiseTemplate<CellularSampler> {
|
|||||||
@Default
|
@Default
|
||||||
private @Meta NoiseSampler lookup = new OpenSimplex2Sampler();
|
private @Meta NoiseSampler lookup = new OpenSimplex2Sampler();
|
||||||
|
|
||||||
|
@Value("salt-lookup")
|
||||||
|
@Default
|
||||||
|
private @Meta boolean saltLookup = true;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public NoiseSampler get() {
|
public NoiseSampler get() {
|
||||||
CellularSampler sampler = new CellularSampler();
|
CellularSampler sampler = new CellularSampler();
|
||||||
@ -44,6 +48,7 @@ public class CellularNoiseTemplate extends NoiseTemplate<CellularSampler> {
|
|||||||
sampler.setReturnType(cellularReturnType);
|
sampler.setReturnType(cellularReturnType);
|
||||||
sampler.setDistanceFunction(cellularDistanceFunction);
|
sampler.setDistanceFunction(cellularDistanceFunction);
|
||||||
sampler.setSalt(salt);
|
sampler.setSalt(salt);
|
||||||
|
sampler.setSaltLookup(saltLookup);
|
||||||
return sampler;
|
return sampler;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -200,6 +200,8 @@ public class CellularSampler extends NoiseFunction {
|
|||||||
|
|
||||||
private NoiseSampler noiseLookup;
|
private NoiseSampler noiseLookup;
|
||||||
|
|
||||||
|
private boolean saltLookup;
|
||||||
|
|
||||||
public CellularSampler() {
|
public CellularSampler() {
|
||||||
noiseLookup = new OpenSimplex2Sampler();
|
noiseLookup = new OpenSimplex2Sampler();
|
||||||
}
|
}
|
||||||
@ -220,6 +222,10 @@ public class CellularSampler extends NoiseFunction {
|
|||||||
this.returnType = returnType;
|
this.returnType = returnType;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void setSaltLookup(boolean saltLookup) {
|
||||||
|
this.saltLookup = saltLookup;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public double getNoiseRaw(long sl, double x, double y) {
|
public double getNoiseRaw(long sl, double x, double y) {
|
||||||
int seed = (int) sl;
|
int seed = (int) sl;
|
||||||
@ -350,7 +356,7 @@ public class CellularSampler extends NoiseFunction {
|
|||||||
case Distance2Sub -> distance1 - distance0 - 1;
|
case Distance2Sub -> distance1 - distance0 - 1;
|
||||||
case Distance2Mul -> distance1 * distance0 * 0.5 - 1;
|
case Distance2Mul -> distance1 * distance0 * 0.5 - 1;
|
||||||
case Distance2Div -> distance0 / distance1 - 1;
|
case Distance2Div -> distance0 / distance1 - 1;
|
||||||
case NoiseLookup -> noiseLookup.noise(sl, centerX, centerY);
|
case NoiseLookup -> noiseLookup.noise(sl - (saltLookup ? 0 : salt), centerX, centerY);
|
||||||
case Distance3 -> distance2 - 1;
|
case Distance3 -> distance2 - 1;
|
||||||
case Distance3Add -> (distance2 + distance0) * 0.5 - 1;
|
case Distance3Add -> (distance2 + distance0) * 0.5 - 1;
|
||||||
case Distance3Sub -> distance2 - distance0 - 1;
|
case Distance3Sub -> distance2 - distance0 - 1;
|
||||||
@ -513,7 +519,7 @@ public class CellularSampler extends NoiseFunction {
|
|||||||
case Distance2Sub -> distance1 - distance0 - 1;
|
case Distance2Sub -> distance1 - distance0 - 1;
|
||||||
case Distance2Mul -> distance1 * distance0 * 0.5 - 1;
|
case Distance2Mul -> distance1 * distance0 * 0.5 - 1;
|
||||||
case Distance2Div -> distance0 / distance1 - 1;
|
case Distance2Div -> distance0 / distance1 - 1;
|
||||||
case NoiseLookup -> noiseLookup.noise(sl, centerX, centerY, centerZ);
|
case NoiseLookup -> noiseLookup.noise(sl - (saltLookup ? 0 : salt), centerX, centerY, centerZ);
|
||||||
case Distance3 -> distance2 - 1;
|
case Distance3 -> distance2 - 1;
|
||||||
case Distance3Add -> (distance2 + distance0) * 0.5 - 1;
|
case Distance3Add -> (distance2 + distance0) * 0.5 - 1;
|
||||||
case Distance3Sub -> distance2 - distance0 - 1;
|
case Distance3Sub -> distance2 - distance0 - 1;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user