fractal noise meta

This commit is contained in:
dfsek committed 2021-06-14 01:35:17 -07:00
1 parent 571a5fdf3a
commit df45aecdab
4 files changed
+21 -20

No files matched your search

@@ -6,11 +6,11 @@ import com.dfsek.terra.api.math.noise.samplers.noise.fractal.BrownianMotionSampl
public class BrownianMotionTemplate extends FractalTemplate<BrownianMotionSampler> { public class BrownianMotionTemplate extends FractalTemplate<BrownianMotionSampler> {
@Override @Override
public NoiseSampler apply(Long seed) { public NoiseSampler apply(Long seed) {
BrownianMotionSampler sampler = new BrownianMotionSampler((int) (long) seed, function.apply(seed)); BrownianMotionSampler sampler = new BrownianMotionSampler((int) (long) seed, function.get().apply(seed));
sampler.setGain(fractalGain); sampler.setGain(fractalGain.get());
sampler.setLacunarity(fractalLacunarity); sampler.setLacunarity(fractalLacunarity.get());
sampler.setOctaves(octaves); sampler.setOctaves(octaves.get());
sampler.setWeightedStrength(weightedStrength); sampler.setWeightedStrength(weightedStrength.get());
return sampler; return sampler;
} }
} }
@@ -2,6 +2,7 @@ package com.dfsek.terra.config.loaders.config.sampler.templates.noise.fractal;
import com.dfsek.tectonic.annotations.Default; import com.dfsek.tectonic.annotations.Default;
import com.dfsek.tectonic.annotations.Value; import com.dfsek.tectonic.annotations.Value;
import com.dfsek.terra.api.config.meta.MetaValue;
import com.dfsek.terra.api.math.noise.samplers.noise.fractal.FractalNoiseFunction; import com.dfsek.terra.api.math.noise.samplers.noise.fractal.FractalNoiseFunction;
import com.dfsek.terra.api.util.seeded.NoiseSeeded; import com.dfsek.terra.api.util.seeded.NoiseSeeded;
import com.dfsek.terra.config.loaders.config.sampler.templates.SamplerTemplate; import com.dfsek.terra.config.loaders.config.sampler.templates.SamplerTemplate;
@@ -9,20 +10,20 @@ import com.dfsek.terra.config.loaders.config.sampler.templates.SamplerTemplate;
public abstract class FractalTemplate<T extends FractalNoiseFunction> extends SamplerTemplate<T> { public abstract class FractalTemplate<T extends FractalNoiseFunction> extends SamplerTemplate<T> {
@Value("octaves") @Value("octaves")
@Default @Default
protected int octaves = 3; protected MetaValue<Integer> octaves = MetaValue.of(3);
@Value("gain") @Value("gain")
@Default @Default
protected double fractalGain = 0.5D; protected MetaValue<Double> fractalGain = MetaValue.of(0.5D);
@Value("lacunarity") @Value("lacunarity")
@Default @Default
protected double fractalLacunarity = 2.0D; protected MetaValue<Double> fractalLacunarity = MetaValue.of(2.0D);
@Value("weighted-strength") @Value("weighted-strength")
@Default @Default
protected double weightedStrength = 0.0D; protected MetaValue<Double> weightedStrength = MetaValue.of(0.0D);
@Value("function") @Value("function")
protected NoiseSeeded function; protected MetaValue<NoiseSeeded> function;
} }
@@ -12,11 +12,11 @@ public class PingPongTemplate extends FractalTemplate<PingPongSampler> {
@Override @Override
public NoiseSampler apply(Long seed) { public NoiseSampler apply(Long seed) {
PingPongSampler sampler = new PingPongSampler((int) (long) seed, function.apply(seed)); PingPongSampler sampler = new PingPongSampler((int) (long) seed, function.get().apply(seed));
sampler.setGain(fractalGain); sampler.setGain(fractalGain.get());
sampler.setLacunarity(fractalLacunarity); sampler.setLacunarity(fractalLacunarity.get());
sampler.setOctaves(octaves); sampler.setOctaves(octaves.get());
sampler.setWeightedStrength(weightedStrength); sampler.setWeightedStrength(weightedStrength.get());
sampler.setPingPongStrength(pingPong); sampler.setPingPongStrength(pingPong);
return sampler; return sampler;
} }
@@ -6,11 +6,11 @@ import com.dfsek.terra.api.math.noise.samplers.noise.fractal.RidgedFractalSample
public class RidgedFractalTemplate extends FractalTemplate<RidgedFractalSampler> { public class RidgedFractalTemplate extends FractalTemplate<RidgedFractalSampler> {
@Override @Override
public NoiseSampler apply(Long seed) { public NoiseSampler apply(Long seed) {
RidgedFractalSampler sampler = new RidgedFractalSampler((int) (long) seed, function.apply(seed)); RidgedFractalSampler sampler = new RidgedFractalSampler((int) (long) seed, function.get().apply(seed));
sampler.setGain(fractalGain); sampler.setGain(fractalGain.get());
sampler.setLacunarity(fractalLacunarity); sampler.setLacunarity(fractalLacunarity.get());
sampler.setOctaves(octaves); sampler.setOctaves(octaves.get());
sampler.setWeightedStrength(weightedStrength); sampler.setWeightedStrength(weightedStrength.get());
return sampler; return sampler;
} }
} }