Wiki copymirror

This is a mirror of the wiki at pascal.chat. Editing, history and sign-in are there.

Perlin Noise

English · Français · 中文(中国)

This page is the start of a tutorial about using Perlin Noise on LCL applications to generate natural looking images. It will cover both basic theory and real usage examples, with a focus on compilable examples.

Perlin Noise was invented by Ken Perlin to generate textures for a movie called Tron. Today it is widely used on movies and video games to produce natural looking smoke, landscapes, clouds and any texture including marble, irregular glass, etc.

Getting Started

Perlin Noise is based on the idea of fractals, that things in nature show different degrees of change. On a rocky mountain landscape for example when can see changes with a very big amplitude, which are the mountains themselves. Smaller changes represent irregularities on those mountains and even smaller ones represent rocks.

First Example

This application demonstrates a simple noise function with the following properties:

Files:

Persistence Example

This application demonstrates how to sum many noise functions to get a perlin noise function. It has the following properties:

Files:

Use Perlin noise to create textures

It is possible to create tilable textures of stone, water, wood... with Perlin noise.

Here is a tutorial on how to do this: BGRABitmap tutorial 8

Subversion

You can download the source code for the examples and the library using this command:

svn co https://svn.code.sf.net/p/lazarus-ccr/svn/examples/noise noise

External Links


From the Free Pascal wiki, page "Perlin Noise", as it stood on 2019-04-11 after a change by PascalR, out of the wiki's dump of 2024-05-26. Copyright stays with the author who wrote it, according to the old wiki's Licensing page. If you have concerns about this material, message the admin.

Revision 2, last changed by WikiArchive .