dorkhub

noiz

A simple, configurable, blazingly fast noise library built for and with Bevy.

ElliottjPierce
Rust959 forksApache-2.0updated 1 month ago
git clone https://github.com/ElliottjPierce/noiz.gitElliottjPierce/noiz

Noiz

License Crates.io Docs.io

A simple, configurable, blazingly fast noise library built for and with Bevy. See the book for a taste.

Noiz is:

  • Simple
  • Extendable
  • Blazingly fast (meant for realtime use)
  • Easy to use in Bevy
  • Built in pure rust
  • Consistent between platforms (with a feature flag)
  • Serializable
  • Reflectable
  • Readable
  • Under development (as I have time and features are requested)
  • Free and open source forever (feel free to open issues and prs!)
  • No Std compatible

Noiz is not:

  • Spelled correctly (noise was already taken)
  • Mathematically precise (only supports f32 types for now)
  • Fully optimized yet (algebraic float math is not stable in rust yet)
  • Meant to replace art tools for asset generation
  • Meant to be standalone (you'll want to also depend on either bevy_math or bevy.)
Bevy version noiz version
0.16 0.1, 0.2
0.17 0.3
0.18 0.4
0.19 0.5

What Makes Noiz Unique?

  • Noiz is powered by a custom random number generator built on a hash function instead of the traditional permutation table. This gives competitive performance while using less memory and reducing tiling artifacts.
  • Noiz seamlessly integrates with Bevy!
  • Noiz changes seed automatically between octaves (which prevents some artifacting common in other libraries).
  • Noiz is endlessly cusomizable. Really, the combinations and settings are limitless!
  • Noiz is no_std.
  • Noiz supports all your favorite noise types. If you see one that's missing, please open an issue!
  • Noiz supports noise derivatives and gradiesnts, allowing fast erosion approximations, analytical normals, etc.
  • Noiz supports many noise types that other libraries do not, for example, distance-to-edge worly noise and smooth worly noise.
  • Noiz has good documentation and a book.
  • Noiz is faster than many other libraries (see the book for benchmarks).

For a Quick Start, Check Out the Book!

In addition to rust docs, Noiz has a book available here. This explains how to use Noiz in practice with much more detail than the API reference. Also see the interactive examples for inspiration.

more like this

search

search projects, people, and tags