libnoise logo

A portable, open-source, coherent noise-generating library for C++




libnoise is a portable C++ library that is used to generate coherent noise, a type of smoothly-changing noise. libnoise can generate Perlin noise, ridged multifractal noise, and other types of coherent noise.

Coherent noise is often used by graphics programmers to generate natural-looking textures, planetary terrain, and other things. It can also be used to move critters in a realistic way.

libnoise is known to compile using the following compilers on the following platforms:

  • Microsoft Visual C++ 5.0 under Microsoft Windows 2000 Service Pack 4
  • gcc 3.3.4 under Gentoo Linux 10.0 (x86)

It is not known if libnoise will compile on 64-bit platforms, although there is a good change that it will.

Noise Modules

In libnoise, coherent-noise generators are encapsulated in classes called noise modules. There are many different types of noise modules. Some noise modules can combine or modify the outputs of other noise modules in various ways; you can join these modules together to generate very complex coherent noise.

A noise module receives a 3-dimensional input value from the application, computes the noise value given that input value, and returns the resulting value back to the application.

If the application passes the same input value to a noise module, the noise module returns the same output value.

All noise modules are derived from the noise::module::Module abstract base class.


Contact jas for questions about libnoise. The spam-resistant email address is (For great email, take off every zig.)