public PerlinNoise(PerlinNoiseSettings settings) { this.noise = Api.Shared.CreateSimplexNoise(settings.Seed); this.settings = settings; // generate octave offsets this.octaveOffsets = new Vector2F[settings.Octaves]; var random = new Random(settings.Seed); for (var i = 0; i < settings.Octaves; i++) { var offsetX = random.Next(-100000, 100000); // + settings.Offset.X; var offsetY = random.Next(-100000, 100000); // - settings.Offset.Y; this.octaveOffsets[i] = (offsetX, offsetY); } this.combineFunction = settings.GetCombineFunction(); }
public NoiseSelector(double from, double to, ISimplexNoise noise) : this(new RangeDouble(from, to), noise) { }
public NoiseSelector(RangeDouble range, ISimplexNoise noise) { this.noise = noise; this.rangeFrom = range.From; this.rangeTo = range.To; }
private static double GetNoiseValue(ISimplexNoise noise, int x, int y, double noiseScale) { return(noise.Get(x * noiseScale, y * noiseScale)); }