mirror of
https://github.com/PolyhedralDev/Terra.git
synced 2025-07-01 15:37:24 +00:00
Update Seismic
This commit is contained in:
parent
77b1960757
commit
21ef8c0dc4
@ -5,9 +5,9 @@ object Versions {
|
||||
|
||||
object Libraries {
|
||||
const val tectonic = "4.2.1"
|
||||
const val paralithic = "1.0.3"
|
||||
const val paralithic = "2.0.0"
|
||||
const val strata = "1.3.2"
|
||||
const val seismic = "0.3.4"
|
||||
const val seismic = "2.0.1"
|
||||
|
||||
const val cloud = "2.0.0"
|
||||
|
||||
|
@ -119,21 +119,21 @@ public class NoiseAddon implements AddonInitializer {
|
||||
noiseRegistry.register(addon.key("PING_PONG"), PingPongTemplate::new);
|
||||
noiseRegistry.register(addon.key("RIDGED"), RidgedFractalTemplate::new);
|
||||
|
||||
noiseRegistry.register(addon.key("OPEN_SIMPLEX_2"), () -> new SimpleNoiseTemplate(OpenSimplex2Sampler::new));
|
||||
noiseRegistry.register(addon.key("OPEN_SIMPLEX_2S"), () -> new SimpleNoiseTemplate(OpenSimplex2SSampler::new));
|
||||
noiseRegistry.register(addon.key("PERLIN"), () -> new SimpleNoiseTemplate(PerlinSampler::new));
|
||||
noiseRegistry.register(addon.key("SIMPLEX"), () -> new SimpleNoiseTemplate(SimplexSampler::new));
|
||||
noiseRegistry.register(addon.key("OPEN_SIMPLEX_2"), () -> new SimpleNoiseTemplate<>(OpenSimplex2Sampler.class));
|
||||
noiseRegistry.register(addon.key("OPEN_SIMPLEX_2S"), () -> new SimpleNoiseTemplate<>(OpenSimplex2SSampler.class));
|
||||
noiseRegistry.register(addon.key("PERLIN"), () -> new SimpleNoiseTemplate<>(PerlinSampler.class));
|
||||
noiseRegistry.register(addon.key("SIMPLEX"), () -> new SimpleNoiseTemplate<>(SimplexSampler.class));
|
||||
noiseRegistry.register(addon.key("GABOR"), GaborNoiseTemplate::new);
|
||||
noiseRegistry.register(addon.key("PSEUDOEROSION"), PseudoErosionTemplate::new);
|
||||
|
||||
noiseRegistry.register(addon.key("VALUE"), () -> new SimpleNoiseTemplate(ValueSampler::new));
|
||||
noiseRegistry.register(addon.key("VALUE_CUBIC"), () -> new SimpleNoiseTemplate(ValueCubicSampler::new));
|
||||
noiseRegistry.register(addon.key("VALUE"), () -> new SimpleNoiseTemplate<>(ValueSampler.class));
|
||||
noiseRegistry.register(addon.key("VALUE_CUBIC"), () -> new SimpleNoiseTemplate<>(ValueCubicSampler.class));
|
||||
|
||||
noiseRegistry.register(addon.key("CELLULAR"), CellularNoiseTemplate::new);
|
||||
|
||||
noiseRegistry.register(addon.key("WHITE_NOISE"), () -> new SimpleNoiseTemplate(WhiteNoiseSampler::new));
|
||||
noiseRegistry.register(addon.key("POSITIVE_WHITE_NOISE"), () -> new SimpleNoiseTemplate(PositiveWhiteNoiseSampler::new));
|
||||
noiseRegistry.register(addon.key("GAUSSIAN"), () -> new SimpleNoiseTemplate(GaussianNoiseSampler::new));
|
||||
noiseRegistry.register(addon.key("WHITE_NOISE"), () -> new SimpleNoiseTemplate<>(WhiteNoiseSampler.class));
|
||||
noiseRegistry.register(addon.key("POSITIVE_WHITE_NOISE"), () -> new SimpleNoiseTemplate<>(PositiveWhiteNoiseSampler.class));
|
||||
noiseRegistry.register(addon.key("GAUSSIAN"), () -> new SimpleNoiseTemplate<>(GaussianNoiseSampler.class));
|
||||
|
||||
noiseRegistry.register(addon.key("DISTANCE"), DistanceSamplerTemplate::new);
|
||||
|
||||
|
@ -45,8 +45,7 @@ public class KernelTemplate extends SamplerTemplate<KernelSampler> {
|
||||
}
|
||||
}
|
||||
|
||||
KernelSampler sampler = new KernelSampler(k, function);
|
||||
sampler.setFrequency(frequency);
|
||||
KernelSampler sampler = new KernelSampler(frequency, k, function);
|
||||
return sampler;
|
||||
}
|
||||
|
||||
|
@ -34,7 +34,7 @@ public class CellularNoiseTemplate extends NoiseTemplate<CellularSampler> {
|
||||
|
||||
@Value("lookup")
|
||||
@Default
|
||||
private @Meta Sampler lookup = new OpenSimplex2Sampler();
|
||||
private @Meta Sampler lookup = new OpenSimplex2Sampler(0.02d, 0);
|
||||
|
||||
@Value("salt-lookup")
|
||||
@Default
|
||||
@ -42,14 +42,7 @@ public class CellularNoiseTemplate extends NoiseTemplate<CellularSampler> {
|
||||
|
||||
@Override
|
||||
public Sampler get() {
|
||||
CellularSampler sampler = new CellularSampler();
|
||||
sampler.setNoiseLookup(lookup);
|
||||
sampler.setFrequency(frequency);
|
||||
sampler.setJitterModifier(cellularJitter);
|
||||
sampler.setReturnType(cellularReturnType);
|
||||
sampler.setDistanceFunction(cellularDistanceFunction);
|
||||
sampler.setSalt(salt);
|
||||
sampler.setSaltLookup(saltLookup);
|
||||
CellularSampler sampler = new CellularSampler(frequency, salt, lookup, cellularDistanceFunction, cellularReturnType, cellularJitter, saltLookup);
|
||||
return sampler;
|
||||
}
|
||||
}
|
||||
|
@ -9,7 +9,7 @@ import com.dfsek.terra.addons.noise.config.templates.SamplerTemplate;
|
||||
import com.dfsek.terra.api.config.meta.Meta;
|
||||
|
||||
|
||||
public class DistanceSamplerTemplate extends SamplerTemplate<DistanceSampler> {
|
||||
public class DistanceSamplerTemplate extends NoiseTemplate<DistanceSampler> {
|
||||
|
||||
@Value("distance-function")
|
||||
@Default
|
||||
@ -37,6 +37,6 @@ public class DistanceSamplerTemplate extends SamplerTemplate<DistanceSampler> {
|
||||
|
||||
@Override
|
||||
public DistanceSampler get() {
|
||||
return new DistanceSampler(distanceFunction, x, y, z, normalize, normalizeRadius);
|
||||
return new DistanceSampler(salt, distanceFunction, x, y, z, normalize, normalizeRadius);
|
||||
}
|
||||
}
|
||||
|
@ -37,16 +37,13 @@ public class GaborNoiseTemplate extends NoiseTemplate<GaborSampler> {
|
||||
@Default
|
||||
private @Meta double f0 = 0.625;
|
||||
|
||||
@Value("a")
|
||||
@Default
|
||||
private @Meta double a = 0.1;
|
||||
|
||||
@Override
|
||||
public Sampler get() {
|
||||
GaborSampler gaborSampler = new GaborSampler();
|
||||
gaborSampler.setFrequency(frequency);
|
||||
gaborSampler.setRotation(rotation);
|
||||
gaborSampler.setIsotropic(isotropic);
|
||||
gaborSampler.setDeviation(deviation);
|
||||
gaborSampler.setImpulsesPerKernel(impulses);
|
||||
gaborSampler.setFrequency0(f0);
|
||||
gaborSampler.setSalt(salt);
|
||||
GaborSampler gaborSampler = new GaborSampler(frequency, salt, f0, deviation, rotation, impulses, a, isotropic);
|
||||
return gaborSampler;
|
||||
}
|
||||
}
|
||||
|
@ -45,7 +45,7 @@ public class PseudoErosionTemplate extends NoiseTemplate<PseudoErosionSampler> {
|
||||
|
||||
@Value("sampler")
|
||||
@Default
|
||||
private DerivativeSampler heightSampler = new OpenSimplex2Sampler();
|
||||
private DerivativeSampler heightSampler = new OpenSimplex2Sampler(0.02d, 0);
|
||||
|
||||
@Value("slope-mask.enable")
|
||||
@Default
|
||||
@ -69,11 +69,9 @@ public class PseudoErosionTemplate extends NoiseTemplate<PseudoErosionSampler> {
|
||||
|
||||
@Override
|
||||
public PseudoErosionSampler get() {
|
||||
PseudoErosionSampler pseudoErosion = new PseudoErosionSampler(octaves, gain, lacunarity,
|
||||
PseudoErosionSampler pseudoErosion = new PseudoErosionSampler(frequency, salt, octaves, gain, lacunarity,
|
||||
slopeStrength, branchStrength, strength,
|
||||
erosionFrequency, heightSampler, slopeMask, slopeMaskFull, slopeMaskNone, jitterModifier, averageErosionImpulses);
|
||||
pseudoErosion.setFrequency(frequency);
|
||||
pseudoErosion.setSalt(salt);
|
||||
return pseudoErosion;
|
||||
}
|
||||
}
|
||||
|
@ -10,21 +10,26 @@ package com.dfsek.terra.addons.noise.config.templates.noise;
|
||||
import com.dfsek.seismic.algorithms.sampler.noise.NoiseFunction;
|
||||
import com.dfsek.seismic.type.sampler.Sampler;
|
||||
|
||||
import java.lang.reflect.InvocationTargetException;
|
||||
import java.util.function.Supplier;
|
||||
|
||||
|
||||
public class SimpleNoiseTemplate extends NoiseTemplate<NoiseFunction> {
|
||||
private final Supplier<NoiseFunction> samplerSupplier;
|
||||
public class SimpleNoiseTemplate<T extends NoiseFunction> extends NoiseTemplate<NoiseFunction> {
|
||||
private final Class<T> samplerClass;
|
||||
|
||||
public SimpleNoiseTemplate(Supplier<NoiseFunction> samplerSupplier) {
|
||||
this.samplerSupplier = samplerSupplier;
|
||||
public SimpleNoiseTemplate(Class<T> samplerClass) {
|
||||
this.samplerClass = samplerClass;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Sampler get() {
|
||||
NoiseFunction sampler = samplerSupplier.get();
|
||||
sampler.setFrequency(frequency);
|
||||
sampler.setSalt(salt);
|
||||
NoiseFunction sampler = null;
|
||||
try {
|
||||
sampler = samplerClass.getConstructor(double.class, long.class)
|
||||
.newInstance(frequency, salt);
|
||||
} catch(InstantiationException | IllegalAccessException | InvocationTargetException | NoSuchMethodException e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
return sampler;
|
||||
}
|
||||
}
|
||||
|
@ -15,11 +15,7 @@ import com.dfsek.seismic.type.sampler.Sampler;
|
||||
public class BrownianMotionTemplate extends FractalTemplate<BrownianMotionSampler> {
|
||||
@Override
|
||||
public Sampler get() {
|
||||
BrownianMotionSampler sampler = new BrownianMotionSampler(function);
|
||||
sampler.setGain(fractalGain);
|
||||
sampler.setLacunarity(fractalLacunarity);
|
||||
sampler.setOctaves(octaves);
|
||||
sampler.setWeightedStrength(weightedStrength);
|
||||
BrownianMotionSampler sampler = new BrownianMotionSampler(salt, function, fractalGain, fractalLacunarity, weightedStrength, octaves);
|
||||
return sampler;
|
||||
}
|
||||
}
|
||||
|
@ -13,10 +13,11 @@ import com.dfsek.tectonic.api.config.template.annotations.Default;
|
||||
import com.dfsek.tectonic.api.config.template.annotations.Value;
|
||||
|
||||
import com.dfsek.terra.addons.noise.config.templates.SamplerTemplate;
|
||||
import com.dfsek.terra.addons.noise.config.templates.noise.NoiseTemplate;
|
||||
import com.dfsek.terra.api.config.meta.Meta;
|
||||
|
||||
|
||||
public abstract class FractalTemplate<T extends FractalNoiseFunction> extends SamplerTemplate<T> {
|
||||
public abstract class FractalTemplate<T extends FractalNoiseFunction> extends NoiseTemplate<T> {
|
||||
@Value("octaves")
|
||||
@Default
|
||||
protected @Meta int octaves = 3;
|
||||
|
@ -23,12 +23,7 @@ public class PingPongTemplate extends FractalTemplate<PingPongSampler> {
|
||||
|
||||
@Override
|
||||
public Sampler get() {
|
||||
PingPongSampler sampler = new PingPongSampler(function);
|
||||
sampler.setGain(fractalGain);
|
||||
sampler.setLacunarity(fractalLacunarity);
|
||||
sampler.setOctaves(octaves);
|
||||
sampler.setWeightedStrength(weightedStrength);
|
||||
sampler.setPingPongStrength(pingPong);
|
||||
PingPongSampler sampler = new PingPongSampler(salt, function, fractalGain, fractalLacunarity, weightedStrength, octaves, pingPong);
|
||||
return sampler;
|
||||
}
|
||||
}
|
||||
|
@ -15,11 +15,7 @@ import com.dfsek.seismic.type.sampler.Sampler;
|
||||
public class RidgedFractalTemplate extends FractalTemplate<RidgedFractalSampler> {
|
||||
@Override
|
||||
public Sampler get() {
|
||||
RidgedFractalSampler sampler = new RidgedFractalSampler(function);
|
||||
sampler.setGain(fractalGain);
|
||||
sampler.setLacunarity(fractalLacunarity);
|
||||
sampler.setOctaves(octaves);
|
||||
sampler.setWeightedStrength(weightedStrength);
|
||||
RidgedFractalSampler sampler = new RidgedFractalSampler(salt, function, fractalGain, fractalLacunarity, weightedStrength, octaves);
|
||||
return sampler;
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user