ColorPicker -> ColorSampler

This commit is contained in:
Astrash
2022-11-25 10:17:56 +11:00
parent 64c2a41d19
commit 8670c4cdf3
17 changed files with 105 additions and 115 deletions
@@ -7,31 +7,27 @@
package com.dfsek.terra.addons.noise.image;
import java.awt.image.BufferedImage;
import com.dfsek.terra.addons.image.picker.ColorPicker;
import com.dfsek.terra.addons.image.sampler.ColorSampler;
import com.dfsek.terra.addons.image.util.ColorUtil.Channel;
import com.dfsek.terra.api.noise.NoiseSampler;
public class ImageSampler implements NoiseSampler {
private final BufferedImage image;
private final Channel channel;
private final double frequency;
private final ColorPicker colorPicker;
private final ColorSampler colorSampler;
public ImageSampler(BufferedImage image, ColorPicker colorPicker, Channel channel, double frequency) {
this.image = image;
public ImageSampler(ColorSampler colorSampler, Channel channel, double frequency) {
this.channel = channel;
this.frequency = frequency;
this.colorPicker = colorPicker;
this.colorSampler = colorSampler;
}
@Override
public double noise(long seed, double x, double y) {
return channel.from(colorPicker.apply(image, (int) (x * frequency), (int) (y * frequency))) / 255D * 2 - 1;
return channel.from(colorSampler.apply((int) (x * frequency), (int) (y * frequency))) / 255D * 2 - 1;
}
@Override
@@ -9,9 +9,7 @@ package com.dfsek.terra.addons.noise.image.config;
import com.dfsek.tectonic.api.config.template.annotations.Value;
import java.awt.image.BufferedImage;
import com.dfsek.terra.addons.image.picker.ColorPicker;
import com.dfsek.terra.addons.image.sampler.ColorSampler;
import com.dfsek.terra.addons.image.util.ColorUtil.Channel;
import com.dfsek.terra.addons.noise.config.templates.SamplerTemplate;
import com.dfsek.terra.addons.noise.image.ImageSampler;
@@ -23,10 +21,7 @@ import com.dfsek.terra.api.noise.NoiseSampler;
public class ImageSamplerTemplate extends SamplerTemplate<ImageSampler> {
@Value("image")
private @Meta BufferedImage image;
@Value("mode")
private @Meta ColorPicker colorPicker;
private @Meta ColorSampler colorSampler;
@Value("frequency")
private @Meta double frequency;
@@ -36,6 +31,6 @@ public class ImageSamplerTemplate extends SamplerTemplate<ImageSampler> {
@Override
public NoiseSampler get() {
return new ImageSampler(image, colorPicker, channel, frequency);
return new ImageSampler(colorSampler, channel, frequency);
}
}