Marc Gilleron 973cf729cd Added FastNoise2 for SIMD noise, but it won't be integrated yet.
It requires C++17, while Godot uses C++14. I was unable to override it,
and I'm not sure how compatible this will be with the runtime.
At least this would be doable in Godot 4.
2021-01-09 16:35:40 +00:00
..

GitHub Actions CI Discord

FastNoise2

Documentation WIP

WIP successor to FastNoiseSIMD

FastNoise2 is a fully featured noise generation library which aims to meet all your coherent noise needs while being extremely fast

Uses FastSIMD to compile classes with multiple SIMD types

Supports:

  • 32/64 bit
  • Windows
  • Linux
  • MacOS
  • MSVC
  • Clang
  • GCC

Check the releases for early versions of the Noise Tool

NoiseTool

Getting Started

There are 2 ways to use FastNoise 2, creating a node tree structure in code or importing a serialised node tree created using the NoiseTool.

This is creating a Simplex Fractal FBm with 5 octaves from code:

auto fnSimplex = FastNoise::New<FastNoise::Simplex>();
auto fnFractal = FastNoise::New<FastNoise::FractalFBm>();

fnFractal->SetSource( fnSimplex );
fnFractal->SetOctaveCount( 5 );

fnFractal->GenUniformGrid2D( ... );

Here is the same Simplex Fractal FBm with 5 octaves but using serialised data from the NoiseTool:

FastNoise::SmartNode<> fnGenerator = FastNoise::NewFromEncodedNodeTree( "DQAFAAAAAAAAQAgAAAAAAD8=" );

fnGenerator->GenUniformGrid2D( ... );

This is the node graph for the above from the NoiseTool

SimplexFractalNodes