Noise-Extras
Noise & procedural generation code pieces that I didn't feel needed whole repos all to themselves. (by KdotJPG)
webgl-noise
Procedural Noise Shader Routines compatible with WebGL (by ashima)
Noise-Extras | webgl-noise | |
---|---|---|
22 | 5 | |
23 | 2,695 | |
- | 0.6% | |
4.4 | 0.0 | |
3 months ago | 5 months ago | |
Java | C | |
Creative Commons Zero v1.0 Universal | 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.
Noise-Extras
Posts with mentions or reviews of Noise-Extras.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2023-04-27.
-
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
webgl-noise
Posts with mentions or reviews of webgl-noise.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2022-02-11.
-
How do you make textures for games WITHOUT drawing them?
you may want to start with (4d cellular) ashima-simplex-noise functions of https://github.com/ashima/webgl-noise as basis function, as this is not convergent+iterative like other procgen functions (that are more like a convergent game-of-life). demos of them are in https://www.shadertoy.com/results?query=ashima&sort=newest&filter=
-
Best noise algo for height-mapping continents on a sphere?
Oh nice. I think the GLM noise is actually based off the Ashima Arts + Stefan Gustavson GLSL noise https://github.com/ashima/webgl-noise
- Simplex noise(or any fast smooth noise functions) in godot shaders?
-
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!
Oh I see what you mean now. Not saying https://github.com/KdotJPG/OpenSimplex2 isn't safe, just that https://github.com/ashima/webgl-noise/blob/master/src/noise3D.glsl isn't. Ty for clarifying, makes perfect sense now!
-
Biome generation using 7 noise maps. Some generation patterns don't quite make proper sense, but I'm happy with it!
Several years ago when I was experimenting with all of this I found that OpenSimplex was significantly slower than regular Simplex (not sure what library I was using). Maybe it's improved since then? Anyway, I've since moved my noise computation to the GPU and speed is less of an issue for that particular project. I'm currently using the simplex noise function from GLM, which comes from https://github.com/ashima/webgl-noise. Do you have any idea how that compares with the various noise functions you've listed?
What are some alternatives?
When comparing Noise-Extras and webgl-noise you can also consider the following projects:
FastNoise - Fast Portable Noise Library - C# C++ C Java HLSL GLSL JavaScript Rust Go
TinyEngine - Tiny OpenGL Wrapper / 3D Engine in C++
3DWorld - 3D Procedural Game Engine Using OpenGL
gaseous-giganticus - This program procedurally generates gas giant cubemap textures for the game Space Nerds In Space. https://www.patreon.com/smcameron
OpenSimplex2 - Successors to OpenSimplex Noise, plus updated OpenSimplex.
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
fr_public - Farbrausch demo tools 2001-2011
Scattered-Biome-Blender - Smooth transitions over biome borders using scattered point evaluations.
Noise-Extras vs FastNoise
webgl-noise vs FastNoise
Noise-Extras vs TinyEngine
webgl-noise vs 3DWorld
Noise-Extras vs gaseous-giganticus
webgl-noise vs OpenSimplex2
Noise-Extras vs OpenSimplex2
webgl-noise vs glNoise
Noise-Extras vs world
webgl-noise vs fr_public
Noise-Extras vs Scattered-Biome-Blender
Noise-Extras vs glNoise