24
votes
Accepted
Why does my Perlin Noise look "blocky"?
The interpolation looks fine. The main problem here is that the hash function you're using isn't very good. If I look at just one octave, and visualize the hash result by outputting ...
13
votes
Accepted
benefit of perlin noise over value noise
The benefit of perlin noise is the overall distribution of frequencies. Since value noise uses simple values that are interpolated, there is a higher chance, that a row of several values only differs ...
11
votes
Accepted
How to modify Perlin (not simplex) noise to create continental like terrain generation
Perlin noise is just a base block, not very interesting by itself. You don't need to modify it, but to combine and filter it in interesting ways. Look at how to make fractal Brownian motion (fBm) with ...
11
votes
Is all grid based noise inevitably anisotropic?
As usual with numerical methods and samplings, it also depends of your quality threshold of what you consider "isotropic". And of what you would consider as a being or not a "grid-based ...
9
votes
Accepted
What's a proper way to clamp dither noise?
TL;DR: 2*1LSB triangular-pdf dithering breaks in edgecases at 0 and 1 due to clamping. A solution is to lerp to a 1bit uniform dither in those edgecases.
I am adding a second answer, seeing as this ...
8
votes
Accepted
Is it possible to directly generate mipmap levels of perlin noise?
I would say yes with a small asterisk.
When generating a perlin noise texture, using multiple of octaves of noise like you are talking about, the point of adding higher octaves (higher frequency ...
6
votes
Perturbed image texture implementation from renderman language
As you've surmised, the transform() function transforms points from one co-ordinate space to another. (There are also ...
5
votes
What makes a good permutation table?
First of all - a number must not occur twice, that is implied since we're talking about permutations. So filling the table with a simple random(255) function won't work.
Secondly, you need to ensure ...
5
votes
Accepted
What is the basic idea of denoising?
Is denoising ALWAYS about doing a low pass filter / blur?
No, but this is the most obvious technique. A good denoiser isn't just a filter that runs on the image, but actually performs the ...
4
votes
Accepted
How to approximate the heightmap of processed wood?
A sine wave remapped to [0, 1] and raised to a power will give you periodic ridges: (Desmos graph)
That could be a good place to start. It will make perfectly straight, even ridges; but you could ...
3
votes
Accepted
Help understanding Perlin Noise
Yep, you've got that right. In Perlin's reference implementation of "improved noise", the noise will be periodic, repeating after 256 units along each axis. It's usually not very noticeable even if ...
3
votes
What's a proper way to clamp dither noise?
I am not sure I can fully answer your question, but I will add some thoughts and maybe we can arrive at an answer together :)
First, the foundation of the question is a bit unclear to me: Why do you ...
3
votes
Accepted
Creating a gently moving 2D fog effect
Animated noise can be created by using time as an extra dimension. So instead of 2D noise, you'd use 3D noise with time as the z-axis position, like ...
3
votes
Accepted
Procedural terrain: What's the best approach to calculate noise in the GPU?
r a similar problem (a tree of combined noise functions, evaluated on the GPU), I found a good method is to generate a shader from the expression tree. Each predefined node corresponds to a single ...
3
votes
Accepted
How to create 2D (directional) noise?
Why don't you just use Perlin noise twice on the same grid, or volume? Each with slightly different parameters (a phase shift, or different pseudo-random vectors). In this case both component of your ...
3
votes
Accepted
Analytical derivative of a 3D Simplex Noise field
I have published it, in several versions, and it's not difficult to do it. Simplex noise is a lot easier to differentiate because it's a sum of polynomials, rather than a nested polynomial ...
3
votes
Noise and fragment shader
Perhaps this will be helpful:
Typically when I think of noise in computer graphics I also think in terms of a grid, usually the grid is 2D or 3D. (the rest of this post refers to 2D noise)
So given a ...
2
votes
Accepted
Finding the normals of a tileable 2D surface extracted from 4D space
Since the question was somewhat clarified I will formalize both the question and the answer for future readers.
Having a differentiable scalar field $f : \mathbb{R}^4 \rightarrow \mathbb{R}$ we want ...
2
votes
Does MRG32k3a compare well with PCG and Xorshift256*?
Short answer is yes.
MRG32k3a has withstood the test of time, much more than PCG or XorShift256*. In fact, a recent paper by Matsumoto (creator of Mersenne-Twister) shows some poor properties of ...
2
votes
Accepted
What noises can be sliced?
Worley noise, also known as cellular noise, has the same property. It just as easily implemented as Perlin noise and easily extends to higher dimensions. Thus the slicing of 4D Worley noise will ...
2
votes
What is the basic idea of denoising?
It certainly isn't always about low pass filters (see for example here on WP on "Noise Reduction") but you have to keep in mind that in your case the noise will always have a high frequency because ...
2
votes
Accepted
Perlin Noise, surface deformation NOT along the normal vector
You can do this, and the results can be interesting, but they’re pretty far from looking like realistic terrain. Here’s a plane deformed with 3D simplex noise (Perlin doesn’t look significantly better)...
1
vote
Perlin Noise implementation looks blocky in WebGL2
I made a mistake while translating the code from JavaScript to GLSL. The first line in the perlinAux function:
...
1
vote
Why the gradients generated in original Perlin Noise causing axis-aligned clumping?
Very briefly, Perlin noise ideally is meant to have, on average, the same frequency characteristics no matter where in the texture you are or in what direction you are looking.
However, the way it's ...
1
vote
Accepted
Nice way to make noise seamless (without tampering with the noise generator)
If you can't change the textures, I see 2 possibilities:
Use mirrored repeat on the noise textures so they tile seamlessly. (taken from here)
Do like Gimp does (or many other alternatives) and ...
1
vote
How to create 2D (directional) noise?
You can use the gradient of the noise/hash which for a function $f:\mathbb{R}^n\rightarrow\mathbb{R}$ would be $n$ dimensional (depending on the application this may not work for you). Another ...
1
vote
ScratchAPixel : Understanding how to use Perlin's permutations hash table
First, (1/2) I didn't understand how the hash table is actually used. The workflow I think I understood is the following :
For an input (coordinate), we find the both nearest pre-defined ...
1
vote
unwanted patterns in simplex noise
I know im a bit late, but hopefully this can help other people. you can add detail by using Fractal Brownian Motion. There is a great article here that i used as a guide to make my own version in c#. ...
1
vote
What's a proper way to clamp dither noise?
I've simplified Mikkel Gjoel's idea of dithering with triangular noise to a simple function that only needs a single RNG call. I've stripped away all unecessary bits so it should be pretty readable ...
1
vote
How to modify Perlin (not simplex) noise to create continental like terrain generation
Perlin noise not good for real planet surface because planet surface is not random. Planet structure is create by geology/physics and interaction between different parts.
This video show geology ...
Only top scored, non community-wiki answers of a minimum length are eligible
Related Tags
noise × 44procedural-generation × 9
algorithm × 6
sampling × 5
image-processing × 4
pathtracing × 3
raytracing × 2
texture × 2
glsl × 2
c++ × 2
mathematics × 2
gpu × 2
interpolation × 2
artifacts × 2
opengl × 1
rendering × 1
shader × 1
transformations × 1
brdf × 1
projections × 1
shading × 1
compute-shader × 1
rasterizer × 1
image × 1
monte-carlo × 1