Пример #1
0
        protected override XYZ GetValue(XYZ xyz)
        {
            if (xyz == default)
            {
                throw new ArgumentNullException(nameof(xyz));
            }

            var amp       = Bounding * Warp.Amptitude;
            var frequency = Warp.Frequency;

            return(Warp.Get(amp, frequency, xyz));
        }
Пример #2
0
        protected override XYZ GetValue(XYZ xyz)
        {
            if (xyz == default)
            {
                throw new ArgumentNullException(nameof(xyz));
            }

            var amp  = Warp.Amptitude * Bounding;
            var freq = Warp.Frequency;
            var seed = Warp.Seed;

            return(Warp.Get(seed, amp, freq, xyz));
        }
        protected override XYZ GetValue(XYZ xyz)
        {
            if (xyz == default)
            {
                throw new ArgumentNullException(nameof(xyz));
            }

            var amp  = Bounding * Warp.Amptitude;
            var freq = Warp.Frequency;
            var seed = Warp.Seed;

            var result = new XYZ(xyz);

            for (int i = 0; i < Octaves; i++)
            {
                result = Warp.Get(seed, amp, freq, result);

                seed++;
                amp  *= Gain;
                freq *= Lacunarity;
            }

            return(result);
        }