Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/auburn/fastnoise2
Modular node graph based noise generation library using SIMD, C++17 and templates
https://github.com/auburn/fastnoise2
cross-platform fastnoise magnum node-graph noise noise-algorithms noise-generator perlin-noise procedural-generation simd simplex terrain-generation texture-generation
Last synced: 2 days ago
JSON representation
Modular node graph based noise generation library using SIMD, C++17 and templates
- Host: GitHub
- URL: https://github.com/auburn/fastnoise2
- Owner: Auburn
- License: mit
- Created: 2020-02-12T20:24:57.000Z (almost 5 years ago)
- Default Branch: master
- Last Pushed: 2024-12-03T23:36:39.000Z (18 days ago)
- Last Synced: 2024-12-13T07:04:00.246Z (9 days ago)
- Topics: cross-platform, fastnoise, magnum, node-graph, noise, noise-algorithms, noise-generator, perlin-noise, procedural-generation, simd, simplex, terrain-generation, texture-generation
- Language: C++
- Homepage:
- Size: 2.98 MB
- Stars: 1,035
- Watchers: 21
- Forks: 109
- Open Issues: 16
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README
[![GitHub Actions CI](https://img.shields.io/github/actions/workflow/status/Auburn/FastNoise2/main.yml?branch=master&style=for-the-badge&logo=GitHub "GitHub Actions CI")](https://github.com/Auburn/FastNoise2/actions?query=workflow%3ACI)
[![Discord](https://img.shields.io/discord/703636892901441577?style=for-the-badge&logo=discord "Discord")](https://discord.gg/SHVaVfV)
[![MIT License](https://img.shields.io/badge/license-MIT-blue.svg?style=for-the-badge)](https://opensource.org/licenses/MIT)# FastNoise2
WIP successor to [FastNoiseSIMD](https://github.com/Auburn/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
- NEONSupports:
- 32/64 bit
- Windows
- Linux
- Android
- MacOS x86/ARM
- MSVC
- Clang
- GCCBindings:
- [C#](https://github.com/Auburn/FastNoise2Bindings)
- [Unreal Engine CMake](https://github.com/caseymcc/UE4_FastNoise2)
- [Unreal Engine Blueprint](https://github.com/DoubleDeez/UnrealFastNoise2)
- [Rust](https://github.com/Lemonzyy/fastnoise2-rs)
- [Java](https://github.com/CoolLoong/FastNoise2Bindings-Java)Roadmap:
- [Vague collection of ideas](https://github.com/users/Auburn/projects/1)## 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](https://github.com/Auburn/FastNoise2/releases/latest) for compiled NoiseTool binaries
![NoiseTool](https://user-images.githubusercontent.com/1349548/90967950-4e8da600-e4de-11ea-902a-94e72cb86481.png)
## 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](https://github.com/Auburn/NoiseBenchmarking)
- CPU: Intel 7820X @ 4.9Ghz
- OS: Win10 x64
- Compiler: clang-cl 10.0.0 -m64 /O2Million 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](https://github.com/Auburn/FastNoise2/wiki)