Modular node based noise generation using SIMD, C++17 and templates
WIP successor to FastNoiseSIMD
Modular node based noise generation using SIMD, modern C++17 and templates
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 and selects the fastest supported SIMD level at runtime - Scalar (non-SIMD) - SSE2 - SSE4.1 - AVX2 - AVX512
Supports: - 32/64 bit - Windows - Linux - MacOS - MSVC - Clang - GCC
Check the releases for early versions of the Noise Tool
Benchmarked using NoiseBenchmarking
Million points of noise generated per second (higher = better)
| 3D | Value | Perlin | (Open)Simplex | Cellular | |--------------------|--------|--------|----------------|----------| | FastNoise Lite | 64.13 | 47.93 | 36.83 | 12.49 | | FastNoise (Legacy) | 49.34 | 37.75 | 44.74 | 13.27 | | FastNoise 2 (AVX2) | 494.49 | 261.10 | 268.44 | 52.43 | | libnoise | | 27.35 | | 0.65 | | stb perlin | | 34.32 | | |
| 2D | Value | Perlin | Simplex | Cellular | |--------------------|--------|--------|---------|----------| | FastNoise Lite | 114.01 | 92.83 | 71.30 | 39.15 | | FastNoise (Legacy) | 102.12 | 87.99 | 65.29 | 36.84 | | FastNoise 2 (AVX2) | 776.33 | 624.27 | 466.03 | 194.30 |
See documentation