godot_voxel/thirdparty/fast_noise_2
Marc Gilleron 00fe474d46 Attempted again to integrate FastNoise2, but C++17 is really needed. 2021-02-21 03:02:32 +00:00
..
cmake Added FastNoise2 for SIMD noise, but it won't be integrated yet. 2021-01-09 16:35:40 +00:00
include Added FastNoise2 for SIMD noise, but it won't be integrated yet. 2021-01-09 16:35:40 +00:00
src Added FastNoise2 for SIMD noise, but it won't be integrated yet. 2021-01-09 16:35:40 +00:00
CMakeLists.txt Added FastNoise2 for SIMD noise, but it won't be integrated yet. 2021-01-09 16:35:40 +00:00
CMakeSettings.json Added FastNoise2 for SIMD noise, but it won't be integrated yet. 2021-01-09 16:35:40 +00:00
LICENSE Added FastNoise2 for SIMD noise, but it won't be integrated yet. 2021-01-09 16:35:40 +00:00
README.md Added FastNoise2 for SIMD noise, but it won't be integrated yet. 2021-01-09 16:35:40 +00:00
SConscript Attempted again to integrate FastNoise2, but C++17 is really needed. 2021-02-21 03:02:32 +00:00

README.md

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