public LatticeNoiseGenerator(Random Random, LatticeNoiseSettings Settings) : this(Random) { _Frequency = Settings.Frequency; _Lacunarity = Settings.Lacunarity; _Octaves = Settings.Octaves; _Persistence = Settings.Persistence; _Bias = Settings.Bias; _Factor = Settings.Factor; _Interpolator = Settings.Interpolator; _Evaluator = Settings.Evaluator; GeneratorMode = Settings.GeneratorMode; PreTreatment = Settings.PreTreatment; PostTreatment = Settings.PostTreatment; Turbulence = Settings.Turbulence; PostModification = Settings.PostModification; }
public Brush(int Radius, Interpolator.InterpolatorFunction Interpolator, BlendFilter BlendMode, FloatingColor Color) { this.Radius = Radius; int Width = Radius * 2 + 1; this.Color = Color; this.BlendMode = BlendMode; Matrix = new float[Width, Width]; for (int i = 0; i < Width; ++i) { for (int j = 0; j < Width; ++j) { int X = i - Radius; int Y = j - Radius; double Dist = Math.Sqrt(X * X + Y * Y) / Radius; if (Dist > 1) { Dist = 1; } Matrix[i, j] = (float)Interpolator(Dist); } } }