This is a prototype for a composable noise generator that will allow, creating multiple layers of noise via composition. It currently implements PerlinNoise.
Current state of algorithms and features:
- PerlinNoise
- FBM
- SimplexNoise
- Voronoi
- DomainWarping
- ValueNoise
- Smooth voronoi
- Biomes
- Temperature
- Humidity
- Procedural inherent properties
The NoisePresentation project is an example project of the usage of the generated noise map. The library itself is located at the NoiseGenerator project.
This is one of the images generated by GreatNoise:
It's quite simple, import it, choose an algorithm, set the parameters you want to change, then create a map object and start the generation.
using NoiseGenerator;
// Creates a perlin noise object
var perlin = new EnhancedPerlinNoise(new PerlinNoiseParameter().SetShouldShuffle(true));
// Creates an fbm object applied to the perlin noise
var brownian = new BrownianMotion(new BrownianMotionParameter(perlin).SetOctaves(12).SetLacunarity(0.50).SetPersistency(2.2));
// Set the map to be the result of the brownian noise
var map = new NoiseMap<double>(1000, brownian);
// Generate the map
map.GenerateNoise();
// Drawer object
var drawer = new MapBitmapDrawer();
// Writes the bitmap to output.png
drawer.ToBitmap(map, false);
The current program is licensed under the MIT license.