Share Your Experience: Take the 2024 Developer Survey

# Tag Info

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 ...
• 25.1k
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 ...
• 548
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 ...
• 4,420
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 ...
• 471
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 ...
• 7,801
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 ...
• 6,830
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 ...
• 25.1k
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 ...
• 25.1k

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 ...
• 3,219
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 ...

### 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 ...
• 131
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 ...
• 1,283
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 ...
• 25.1k

### 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 ...
• 471
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 ...
• 901

### 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 ...
• 246
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,226
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 ...
• 1,283
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)...
• 2,222
1 vote

### Are systems like double pendulum used for generating terrain?

for the creation of a 2-dimensional terrains it seems to work well, as your picture shows most clearly. But it does not work for 3-dimensional terrains, because the behavior of a double pendulum is ...
• 1,265
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 ...
• 4,261
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 ...
• 830
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 ...
• 2,226
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,585
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#. ...
• 11
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 ...
• 186
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 ...
• 21
1 vote

### How to modify Perlin (not simplex) noise to create continental like terrain generation

Here’s a video that talks about a couple different techniques. One idea mentioned in the video is to take the values from 0.0 to 1.0 you get from the noise and only care about ones within a certain ...
• 111
1 vote
Accepted

### Downscaling by skipping rows and columns – any example images?

"Downscaling by skipping rows and columns – any example images?" You asked for example images: The following is a sequence of 50 frames from a well known (and hopefully freely available) sequence, ...
• 4,261

Only top scored, non community-wiki answers of a minimum length are eligible