Skip to content

A composable noise generator. The algorithms and layers are composable to build procedural generated worlds. Implements PerlinNoise, Fbm, DomainWarping, Dla.

License

Notifications You must be signed in to change notification settings

GustavoBodi/GreatNoise

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Great Noise

This is a prototype for a composable noise generator that will allow, creating multiple layers of noise via composition. It currently implements PerlinNoise.

Algorithms

Current state of algorithms and features:

  • PerlinNoise
  • FBM
  • SimplexNoise
  • Voronoi
  • DomainWarping
  • ValueNoise
  • Smooth voronoi

Organization

The NoisePresentation project is an example project of the usage of the generated noise map. The library itself is located at the NoiseGenerator project.

Images

This is one of the images generated by GreatNoise:

image

How to use it

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);

License

The current program is licensed under the MIT license.

About

A composable noise generator. The algorithms and layers are composable to build procedural generated worlds. Implements PerlinNoise, Fbm, DomainWarping, Dla.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published