private float T2(float x, float y, FastNoise.Interp interp) { var fastNoise = new FastNoise(); fastNoise.SetNoiseType(FastNoise.NoiseType.Value); fastNoise.SetInterp(interp); float val = fastNoise.GetNoise(x, y); Console.WriteLine($"Fast NoiseValue: {val} for X:{x},Y:{y}"); return(val); }
private static float GetNoise(float x, float y, FastNoise.Interp interp) { var fastNoise = new FastNoise(); fastNoise.SetNoiseType(FastNoise.NoiseType.Value); fastNoise.SetInterp(interp); fastNoise.SetSeed(1336); fastNoise.SetFrequency(0.1f); float val = fastNoise.GetNoise(x, y); return(val); }
private void Comparison(Interp interp1, FastNoise.Interp interp2) { for (float y = 0.0f; y < 32.0f; ++y) { for (float x = 0.0f; x < 32.0f; ++x) { float val1 = T1(x, y, interp1); float val2 = T2(x, y, interp2); Assert.AreEqual(val1, val2, 0.00000001f, $"X: {x}, Y: {y} are not equal."); } } }
public FractalNoiseGenerator(FractalNoiseType noiseType, int seed, float frequency, float fractalGain, FastNoise.Interp interpolation, FastNoise.FractalType fractalType, int octaves, float lacunarity) { fastNoise = new FastNoise(seed); switch (noiseType) { case FractalNoiseType.Perlin: fastNoise.SetNoiseType(FastNoise.NoiseType.PerlinFractal); break; case FractalNoiseType.Simplex: fastNoise.SetNoiseType(FastNoise.NoiseType.SimplexFractal); break; case FractalNoiseType.Value: fastNoise.SetNoiseType(FastNoise.NoiseType.ValueFractal); break; } fastNoise.SetFrequency(frequency); fastNoise.SetFractalGain(fractalGain); fastNoise.SetInterp(interpolation); fastNoise.SetFractalType(fractalType); fastNoise.SetFractalOctaves(octaves); fastNoise.SetFractalLacunarity(lacunarity); }