public ValueNoise(int seed, float frequency, float amplitude = 1.0f)
        {
            Frequency = frequency;
            Amplitude = amplitude;
            Offset    = Vector3.Zero;

            Perm = new PermutationTable(1024, 255, seed);
        }
        public WorleyNoise(int seed, float frequency, float jitter, float amplitude = 1.0f)
        {
            Frequency   = frequency;
            Amplitude   = amplitude;
            Offset      = Vector3.Zero;
            Jitter      = jitter;
            Distance    = VORONOI_DISTANCE.EUCLIDIAN;
            Combination = VORONOI_COMBINATION.D1_D0;

            Perm = new PermutationTable(1024, 255, seed);
        }
        public VoronoiNoise(int seed, float frequency, float amplitude = 1.0f)
        {
            Frequency = frequency;
            Amplitude = amplitude;
            Offset    = Vector3.Zero;

            Distance    = VORONOI_DISTANCE.EUCLIDIAN;
            Combination = VORONOI_COMBINATION.D1_D0;

            Perm = new PermutationTable(1024, int.MaxValue, seed);
        }