Git Product home page Git Product logo

fastnoise2's Introduction

GitHub Actions CI Discord

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

Supports:

  • 32/64 bit
  • Windows
  • Linux
  • MacOS
  • 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

fastnoise2's People

Contributors

0xbama avatar auburn avatar caseymcc avatar cbondurant avatar doubledeez avatar ndrwl avatar shup1 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.