OpenSimplex2
FastNoise2
Our great sponsors
OpenSimplex2 | FastNoise2 | |
---|---|---|
24 | 5 | |
529 | 901 | |
- | - | |
4.6 | 5.4 | |
3 months ago | 2 days ago | |
Java | C++ | |
Creative Commons Zero v1.0 Universal | MIT License |
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.
OpenSimplex2
- Sweeping Quad Lines - Gallery One
-
I finally nailed the smooth rotation of a noise field. No unsteady or flickering edges anymore. No quality loss no matter what the actual rotation angle is.
Wow you have been playing with noise for a while :) . It amazes me all the different noises that exist now.. Perlin, Simplex, OpenSimplex, OpenSimplex2S, OpenSimplex2F, Worley... If you are curious about OpenSimplex https://github.com/KdotJPG/OpenSimplex2
-
Some of the results of my work-in-progress tool to generate random tile-based worlds. (More info in comments)
Probably true, although a neat repo for open simplex is https://github.com/KdotJPG/OpenSimplex2
-
Value Noise Resources
This may not answer what you're actually looking for - but a few years ago I found a library for coherent noise in Java, which at least meets my needs. I use bits and pieces of the Open Simplex Noise implementation from that library. It's unlicense/CC0, so easily copy-paste-able straight in to one's own project. https://github.com/KdotJPG/OpenSimplex2/
-
Question about OpenSimplex2S
So I was looking for a noise function, and I found this repo from the author of the OpenSimplex algorithm. And in the GLSL implementation, which is the one I'm gonna use, since I want to generate terrain with compute shaders, the function%20%7B) looks like this:
-
How would you loop a 3D noise?
If you want to feel safer from that, you might opt to use one of these instead. Use the ImproveXY endpoint to get a Z that repeats after 500.5626833874055. Go up one directory and into the glsl directory if you need GLSL versions instead .
- C# Simplex noise library offering 1D, 2D, and 3D forms
-
Map + River generation using the "Lanczos Value-Noise" I wrote [Details in the comments]
Fair. I definitely agree Simplex has some characteristics that don't work great in some places. Especially when you threshold near zero of a single octave. Have you tried OpenSimplex2S? It's made to be less "bubbly" than standard simplex. In own repo, In FastNoiseLite, [Shader preview (3D noise)[https://www.shadertoy.com/view/ttdGR8]. Both the 2D function and 2D slices of the 3D function might be worth looking into if you haven't yet.
-
Need some help making the GLSL implementation of OpenSimplex2 tileable
Here's a link to the original implementation: github.com/KdotJPG/OpenSimplex2/blob/master/glsl/OpenSimplex2.glsl
- Oh cool, i just found this sub reddit and had a few questions on my current project.
FastNoise2
-
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?
FastNoise - Fast Portable Noise Library - C# C++ C Java HLSL GLSL JavaScript Rust Go
glNoise - A collection of GLSL noise functions for use with WebGL with an easy to use API.
world - A set of tools for wide world generation and manipulation
simplex - Simplex noise implementation offering 1D, 2D, and 3D forms.
Ue4MarchingCubes - 📦3D Perlin Noise using Marching cubes algorithm for Unreal Engine 4📦
webgl-noise - Procedural Noise Shader Routines compatible with WebGL
TerraGen3D - 3D Procedural Terrain Generation and Texturing Tool in OpenGL/C++ [Moved to: https://github.com/Jaysmito101/TerraForge3D]
LearnOpenGL - Code repository of all OpenGL chapters from the book and its accompanying website https://learnopengl.com
UltraNoiseExamples
3DWorld - 3D Procedural Game Engine Using OpenGL
FastNoise2Bindings - Bindings for FastNoise2 noise generation library