コード例 #1
0
ファイル: PerlinNoise.cs プロジェクト: peter-r-g/CryoFall
        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();
        }
コード例 #2
0
ファイル: NoiseSelector.cs プロジェクト: peter-r-g/CryoFall
 public NoiseSelector(double from, double to, ISimplexNoise noise)
     : this(new RangeDouble(from, to), noise)
 {
 }
コード例 #3
0
ファイル: NoiseSelector.cs プロジェクト: peter-r-g/CryoFall
 public NoiseSelector(RangeDouble range, ISimplexNoise noise)
 {
     this.noise     = noise;
     this.rangeFrom = range.From;
     this.rangeTo   = range.To;
 }
コード例 #4
0
 private static double GetNoiseValue(ISimplexNoise noise, int x, int y, double noiseScale)
 {
     return(noise.Get(x * noiseScale, y * noiseScale));
 }