NoiseNormalizer
Uses gradient ascent to attempt to determine the maximum value that a gradient-based coherent noise would generate. (by KdotJPG)
FastNoise2
Modular node graph based noise generation library using SIMD, C++17 and templates (by Auburn)
NoiseNormalizer | FastNoise2 | |
---|---|---|
2 | 5 | |
3 | 909 | |
- | - | |
0.0 | 5.4 | |
about 3 years ago | 5 days ago | |
Java | C++ | |
MIT License | MIT License |
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
NoiseNormalizer
Posts with mentions or reviews of NoiseNormalizer.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2021-02-26.
-
Second Blog Post: Normalizing Gradient Noise
Github Repo: https://github.com/KdotJPG/NoiseNormalizer/
-
Cricket, a coherent noise generation and manipulation library
I think Simplex 4D could benefit from that in almost as good of a way. I haven't tested this myself, but the unskew constant to change to would be 0.3618033988749895 or changing the - to a + in the unskew constant so it becomes (5.0f + SQRT5) / 20.0f. I computed this by taking the unskew constant, writing out the full unskew matrix, multiplying by a rotation matrix, seeing that it can be converted back into a constant, then seeing that it just amounts to the sqrt term sign change. The new scale value will be (TBD - running NoiseNormalizer as I type this, will update with result).
FastNoise2
Posts with mentions or reviews of FastNoise2.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2022-12-12.
-
Is PerlinNoise overloaded to make procedural maps?
Note the notice at the top of the readme, the author is replacing that library with FastNoise2 which is also SIMD enabled, although the library as a whole is still a work in progress, it claims to have superior performance.
-
Starting of a voxel terrain engine
I am using a very fast [noise library](https://github.com/Auburn/FastNoise2). After generating a 64x64 area of noise I turn that into a 64x64x64 array of voxel byte data. I then use my own version of this [greedy meshing algorithm](https://github.com/cgerikj/binary-greedy-meshing).
-
How do space games handle the scale without loading screens?
There's a nice GDC talk about noise functions here, and if you're interested in trying things out there's an Open Source noise library written by a No Man's Sky developer here.
-
UltraNoise - An OpenSource Node based processing tool for Unity (link in comments)
Very cool! Have you considered using FastNoise2 as a noise source? It's SIMD optimized C++ https://github.com/Auburn/FastNoise2 But they've made C# bindings so there's less native legwork: https://github.com/Auburn/FastNoise2Bindings
-
Cricket, a coherent noise generation and manipulation library
Let Simplex 3D use its same gradient generator, but use 1/2 instead of 1/6 for the noise's unskew constant. This rotates the axis angles of the gradient set out of the main noise evaluation planes. I haven't implemented+run this myself, but it is implemented here in FastNoise2 (SIMD library), and I simulated the difference using OpenSimplex2 in this image (bottom with change). The result isn't perfect, but it's much nicer I think. After making this change, either set scale to 32.69428253173828125 to make a proper -1 to 1 range, or bake it into the gradient table directly.
What are some alternatives?
When comparing NoiseNormalizer and FastNoise2 you can also consider the following projects:
FastNoise - Fast Portable Noise Library - C# C++ C Java HLSL GLSL JavaScript Rust Go
OpenSimplex2 - Successors to OpenSimplex Noise, plus updated OpenSimplex.
world - A set of tools for wide world generation and manipulation
Ue4MarchingCubes - 📦3D Perlin Noise using Marching cubes algorithm for Unreal Engine 4📦
TerraGen3D - 3D Procedural Terrain Generation and Texturing Tool in OpenGL/C++ [Moved to: https://github.com/Jaysmito101/TerraForge3D]
UltraNoiseExamples
FastNoise2Bindings - Bindings for FastNoise2 noise generation library
CDLOD
manta-ray - An open source physically based renderer.
binary-greedy-meshing - Demo: https://www.youtube.com/watch?v=LxfDmF0HxSg
NoiseNormalizer vs FastNoise
FastNoise2 vs FastNoise
NoiseNormalizer vs OpenSimplex2
FastNoise2 vs OpenSimplex2
FastNoise2 vs world
FastNoise2 vs Ue4MarchingCubes
FastNoise2 vs TerraGen3D
FastNoise2 vs UltraNoiseExamples
FastNoise2 vs FastNoise2Bindings
FastNoise2 vs CDLOD
FastNoise2 vs manta-ray
FastNoise2 vs binary-greedy-meshing