pygame is
Python
Simple DirectMedia Layer
 
 
pygame.org is
Site Swing

noiselib - 1.0b

Chandler Armstrong (omnirizon)

Tags:

Description

noiselib is a coherent noise library modeled after the C++ libnoise library. It provides noise generators, fractal Brownian motion, and modules for modifying, filtering, combining, and otherwise manipulating noise.

with release 2.0a, the noise generators are implemented in C. while this is a great speed boost over pure python, the fractal Brownian motion functions are now a large bottleneck (primarily due to all the looping). the next step (and what will signify succession from alpha status) is to implement the fractal Brownian motion in C.

the modules, implemented in pure python, are how the generated noise is manipulated and combined to create more complex 'noise-scapes'. modules are not computationally intensive, and are simple to code (especially in pure python). several modules are built-in to noiselib, but it is possible to add your own. see the 'modules' subpackage in the source distribution for how modules are implemented and work. if you add your own, or have an idea for a module, please contact me or leave a message here (my contact info is included in the source).

Much credit goes to Casey Duncan, whose noise library for Python provided the code from which I started. I simply separated noise generators from fBm, and included a way to expose a user provided permuation table to the C implementation of the noise generators (Casey's implementation had hard-coded a permutation table).

SEE ALSO:
* pynoise (http://home.gna.org/pynoise/)
- pynoise is a python interface to libnoise using SWIG
* libnoise (http://libnoise.sourceforge.net/index.html)
- this site will have complete information on what all the modules do.
* noise.py
- Casey Duncan's noise library for Python

NOTE: Currently, only a Perlin Simplex noise generator is offered, with options to also output the noise through a 'billow' xor ridged-multifractal noise function. In the future I may add Improved Perlin noise, Voronio generators, and will probably add to the possible Perlin noise output functions (I've heard the cosine function is popular for some purpose).

Download and unzip to your python path. With version 2.0, you will need to first build the C extension. Use 'python setup.py build_ext' to build the C extension. You can then import and use noiselib normally. Inspect and launch the demo (python demo.py) for an example. This has been tested with python 2.6.2 on windows 7 with VS 2008 installed. I do not know if it works on other platforms or without VS. Please, if you try this library and it works or doesn't work, contact me or leave a message here (my contact info is in the source)

Links

Home Page: https://sourceforge.net/projects/noiselib/
Source: https://sourceforge.net/projects/noiselib/files/

Screenshot


click to view original size

Releases

noiselib - 2.0a - Jul 5, 2010
noiselib - 1.0b - Mar 13, 2010

Comments

If you wish to leave a comment, please sign in first.

No user comments have been submitted.
spotlight

 
our projects
pygame.org welcomes all python game, art, music, sound, video and multimedia projects. If they use pygame or not.
 
recent releases
Sep 1, 2010


Aug 29, 2010



Aug 28, 2010

Aug 26, 2010

Aug 25, 2010

Aug 24, 2010

Aug 21, 2010

Aug 19, 2010

Aug 18, 2010

... more!
 
for pygame related questions, comments, and suggestions, please see help (lists, irc)