Skip to content
Jordan Peck edited this page Feb 25, 2026 · 18 revisions

FastNoise2

FastNoise2 is a modular, node-based noise generation library built using SIMD for maximum performance. It is written in modern C++17 and designed with ease of use and flexibilty in mind.

Noise node graphs can be created in code or with the included visual Node Editor tool. If you just need basic coherent noise, you can generate it from a single Simplex or Perlin node in a few lines of code.

Quick Start

#include <FastNoise/FastNoise.h>
#include <vector>

// Create a Simplex FBm fractal
auto simplex = FastNoise::New<FastNoise::Simplex>();
auto fractal = FastNoise::New<FastNoise::FractalFBm>();
fractal->SetSource( simplex );
fractal->SetOctaveCount( 5 );

// Generate a 16x16x16 grid of 3D noise
std::vector<float> noise( 16 * 16 * 16 );
fractal->GenUniformGrid3D( noise.data(), 0, 0, 0, 16, 16, 16, 1, 1, 1337 );

int index = 0;
for( int z = 0; z < 16; z++ )
{
    for( int y = 0; y < 16; y++ )
    {
        for( int x = 0; x < 16; x++ )
        {
            // Process the voxel noise however you need for your use case
            // Create a terrain mesh using marching cubes, etc.
            ProcessVoxelData( x, y, z, noiseOutput[index++] );			
        }
    }
}

Or load a string encoded node tree created in the Node Editor:

auto generator = FastNoise::NewFromEncodedNodeTree( "DQkGDA==" );

Documentation

Setup

Guides

Node Reference (auto-generated)

  • Basic Generators - Constant, White, Checkerboard, SineWave, Gradient, DistanceToPoint
  • Coherent Noise - Simplex, SuperSimplex, Perlin, Value, Cellular
  • Fractal - FBm, Ridged
  • Operators - Add, Subtract, Multiply, Divide, Modulus
  • Blends - Min, Max, SmoothMin, SmoothMax, Fade, Pow
  • Modifiers - Remap, Terrace, PingPong, SeedOffset, Cache, and more
  • Domain Modifiers - Scale, Offset, Rotate, Axis Scale, Add/Remove Dimension
  • Domain Warp - Gradient, Simplex, SuperSimplex, Fractal variants

Other

  • FAQ - Common questions and troubleshooting

Links

Clone this wiki locally