1
0
Fork 0
mirror of https://github.com/eXpl0it3r/libnoise.git synced 2026-01-01 10:43:01 +00:00
A portable, open-source, coherent noise-generating library for C++ http://libnoise.sourceforge.net/
Find a file
2023-02-11 10:27:21 +01:00
.github/workflows Add support for GitHub Actions 2023-02-11 10:27:21 +01:00
doc Remove forced build type 2023-02-11 10:13:06 +01:00
examples Added examples, restructered the directories and applied a few small other changes. 2013-03-15 14:58:40 +01:00
include/noise Adjusted the CMake script and directory structure to match the original source, removed the src/win32 directory and corrected the README.md. 2013-03-23 16:08:38 +01:00
src Adjusted the CMake script and directory structure to match the original source, removed the src/win32 directory and corrected the README.md. 2013-03-23 16:08:38 +01:00
CMakeLists.txt Remove forced build type 2023-02-11 10:13:06 +01:00
COPYING.txt Added examples, restructered the directories and applied a few small other changes. 2013-03-15 14:58:40 +01:00
README.md Modernize the README.md file 2021-05-15 21:35:15 +02:00

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.

Mountains

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.

About this Fork

I'm using libnoise, version 1.0.0, in one of my projects and thus had to rebuild libnoise a few times to keep up with the different platforms and dependencies, since the Makefile of the original source code for version 1.0.0 is broken, I've decided to create a fork and get libnoise to a modern build system, i.e. CMake. I hope it will be of some help to others as well.

To provide an unified way to build libnoise static and shared the dll meta data previously in the src/win32 directory has been removed.

Credits

All the credit goes to the original author: Jason Bevins

Licensing

The library is under the GNU Lesser General Public License (LGPL). For more details see the COPYING.txt file.


Original Information from the Website

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.

Mountains

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.