Skip to content

Auburn/FastNoise2

master
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?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
July 17, 2023 17:38
April 29, 2023 20:24
July 26, 2021 20:56
June 5, 2023 20:56
April 20, 2023 22:51
April 22, 2023 20:22
October 2, 2022 13:57
February 12, 2020 20:24
April 24, 2023 23:08

GitHub Actions CI Discord MIT License

FastNoise2

WIP successor to FastNoiseSIMD

Modular node based noise generation library 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
  • NEON

Supports:

  • 32/64 bit
  • Windows
  • Linux
  • Android
  • MacOS x86/ARM
  • MSVC
  • Clang
  • GCC

Bindings:

Roadmap:

Noise Tool

The FastNoise2 noise tool provides a node graph editor to create trees of FastNoise2 nodes. Node trees can be exported as serialised strings and loaded into the FastNoise2 library in your own code. The noise tool has 2D and 3D previews for the node graph output, see screenshots below for examples.

Check the Releases for compiled NoiseTool binaries

NoiseTool

Performance

FastNoise2 has continuous benchmarking to track of performance for each node type across commits

Results can be found here: https://auburn.github.io/fastnoise2benchmarking/

Library Comparisons

Benchmarked using NoiseBenchmarking

  • CPU: Intel 7820X @ 4.9Ghz
  • OS: Win10 x64
  • Compiler: clang-cl 10.0.0 -m64 /O2

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
FastNoise2 (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
FastNoise2 (AVX2) 776.33 624.27 466.03 194.30

Getting Started

See documentation