Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time


Experimenting with noise to generate terrain.

See live demo here.

How it works

Terrain is generated based on the improved Perlin noise algorithm. Noise is added in a fractal way and the user can adjust it by changing the configured number of octaves.

Terrain colors are chosen according to elevation. A palette is defined in the CSS file, parsed and filled with a linearly-interpolated gradient, contributing to finer detail. A bit of sauce is added to the palette: +/-5% uniformly distributed noise.

Normals are calculated for each terrain point and lighting is added based on that, considering current sun position.

To run the terrain generation, web workers can be used by setting Threads to something greater than zero in the control panel.