FastNoise2Bindings
Noise-Extras
FastNoise2Bindings | Noise-Extras | |
---|---|---|
2 | 22 | |
19 | 23 | |
- | - | |
0.0 | 4.4 | |
over 1 year ago | 4 months ago | |
C# | Java | |
- | Creative Commons Zero v1.0 Universal |
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.
FastNoise2Bindings
-
While working on my game I made a highly optimized Noise Library for C#, I just made it open-source!
Thanks for making this open source. FastNoise is pretty old now. Have you compared against FastNoise2? It has a CSharp wrapper: https://github.com/Auburn/FastNoise2Bindings/blob/master/CSharp/FastNoise2.cs
-
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
Noise-Extras
-
how to stack noise layers for more interesting landscape
If it helps, I wrote an implementation inspired by this here: https://github.com/KdotJPG/Noise-Extras/blob/master/OpenSimplex2S_Exp.java
-
While working on my game I made a highly optimized Noise Library for C#, I just made it open-source!
Periodicity is definitely a limitation of Simplex, at least without complicated skew adjustments. I wouldn't say this limitation should hold the noise back for non-periodic applications, but it certainly can't be ignored when it does come to them.
-
How can I Make a Procedural 2d Map that Loops at Borders?
Yep! You also need to slightly adjust the grid skew so that the corners of your target square/rectangle coincide with vertices on the noise grid. Example implementation: https://github.com/KdotJPG/Noise-Extras/blob/master/OpenSimplex2S_ImprovedXZPlanes_TileableXZ.java
-
Does anyone have a good library for Exponential Distributed Noise and/or Amortized Noise with derivatives in c#?
I have this https://github.com/KdotJPG/Noise-Extras/blob/master/OpenSimplex2S_Exp.java but it's up to you whether or not you'd consider it a good library.
-
New Blog Post! "The Perlin Problem: Moving Past Square Noise"
Tileability is an issue, you're right. Perhaps I should have made a note on that in the article. I've made some progress in the code at this link to bring proper tileability to simplex-type. It's quite usable as-is, but it does still need work to become the best it can. In particular I need to take a closer look at performance (I accounted hard for the grid re-skewing in a way that won't make much difference given a sufficiently-large repeat period), configurability (tileable in either 2 or 3 axes), quality (mostly I could improve the primes in the hash function I used), and variety (bring this to more algos/dimensionalities).
-
Wind direction from noise map?
Either way /u/pds314 I would look for a good simplex-type noise impl that supports derivatives. Here's one. Alternatively, here's a domain-rotated Perlin which addresses its square artifacts by rotating them out of the evaluation plane of focus through the extra dimension. In this, use X and Y of the 3D "ImproveXY" function" or X and Z of the 3D "ImproveXZ" function for derivatives. In the OpenSimplex2S, you can just use the 2D function with derivatives.
- Noisy map, but smooth beaches! My new algorithm!
-
Added 3D Noise and Blend Modes to my GLSL Noise library (gl-Noise)! Used it to make a Planet Generator. Demo and GitHub in comments!
Code for the domain rotation in Java is here. There are various wrappers. You would want one of the methods noise4_ImproveXYZ_ImproveXY, noise4_ImproveXYZ_ImproveXZ, or noise4_ImproveXYZ. You could copy the code from these wrappers directly, or convert it to matrix form to write it compactly in GLSL. For example, noise4_ImproveXYZ_ImproveXZ would be this. Note that I'm using left multiplication so the column-major constructor format can be rearranged to show up the way you would typically write the matrix when doing linear algebra if doing right multiplication.
-
How do I avoid the "2^64 variations of one continent" problem?
Depends on: this. Would also work well with this, or also this if you adapt to its features.
- Perlin noise Voxel planets + Caves
What are some alternatives?
FastNoise - Fast Portable Noise Library - C# C++ C Java HLSL GLSL JavaScript Rust Go
FastNoise2 - Modular node graph based noise generation library using SIMD, C++17 and templates
TinyEngine - Tiny OpenGL Wrapper / 3D Engine in C++
FastNoise_CSharp - FastNoise C# Version
gaseous-giganticus - This program procedurally generates gas giant cubemap textures for the game Space Nerds In Space. https://www.patreon.com/smcameron
Icaria-Noise - A highly-optimized C# noise-function library.
webgl-noise - Procedural Noise Shader Routines compatible with WebGL
UltraNoiseNodeGraph
OpenSimplex2 - Successors to OpenSimplex Noise, plus updated OpenSimplex.
world - A set of tools for wide world generation and manipulation
Scattered-Biome-Blender - Smooth transitions over biome borders using scattered point evaluations.