/// <summary> /// Create a copy of the source fractal passed in /// </summary> /// <param name="srcFractal"></param> public Fractal(Fractal srcFractal) { m_frequency = srcFractal.Frequency; m_lacunarity = srcFractal.Lacunarity; m_octaves = srcFractal.Octaves; m_persistence = srcFractal.Persistence; m_seed = srcFractal.Seed; FractalType = srcFractal.FractalType; }
/// <summary> /// Construct and initialise a fractal generator /// </summary> /// <param name="frequency">The frequency of the first octave</param> /// <param name="lacunarity">The frequency multiplier between successive octaves. Experiment between 1.5 - 3.5.</param> /// <param name="octaves">The amount of detail in the fractal - more octaves mean more detail and longer calc time.</param> /// <param name="persistance">The roughness of the fractal noise. Controls how quickly amplitudes diminish for successive octaves. 0..1.</param> /// <param name="seed">Seed - different seeds generate replicable different fractals</param> /// <param name="type">The type of generator being used</param> public Fractal(float frequency, float lacunarity, int octaves, float persistance, float seed, GeneratedFractalType type) { m_frequency = frequency; m_lacunarity = lacunarity; m_octaves = octaves; m_persistence = persistance; m_seed = seed; FractalType = type; }
private GetCalcValue m_noiseCalculator; //Switch in the relevant fractal algorithm /// <summary> /// Constructor /// </summary> public Fractal() { FractalType = GeneratedFractalType.Perlin; }