A library for generating coherent noise. It can be used to procedurally create natural-looking textures (such as wood, stone, or clouds), terrain heightmaps, and other things.
SharpNoise is a loose port of Jason Bevins' libNoise to C#. It adds some .Net features such as serialization and support for C# Object Initializer syntax. SharpNoise is published unter the terms of the Gnu LGPL 3.
Available on NuGet: https://www.nuget.org/packages/SharpNoise
SharpNoise has modules as building blocks for noise generators. There are two kinds of modules:
- Generator modules, which produce the actual noise
- Modifier and Combiner modules, which take one or more inputs and do something with them, producing a new value
These modules can be joined together in a tree structure to generate very complex noise patterns.
To see how to use SharpNoise, check out the example applications:
- ComplexPlanetExample generates a complex planetary surface, using over 100 connected noise modules.
- OpenGLExample renders ever-changing data from a simpler noise generator in real time, using OpenGL 3.3.