libnoise logo

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


Mountain background created with libnoise

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. The mountain scene shown above was rendered in Terragen with a terrain file generated by libnoise. You can also view some other examples of what libnoise can do.

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.

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)
  • gcc 3.x.x under FreeBSD 6 (64-bit SPARC)

From this site, you can download the following:

  • libnoise sources
  • libnoise headers
  • libnoise binaries
  • libnoise documentation

Before using libnoise, you may want to learn more about coherent noise. You may also want to learn how coherent noise is generated.

Note: libnoise does not generate images, it only generates coherent-noise values. It is up to the programmer to use these values to generate images.