In yesterday’s post, I ran across this statement about Simplex noise:
noise generated for different dimensions are visually distinct (e.g. 2D noise has a different look than 2D slices of 3D noise, and it looks increasingly worse for higher dimensions).
https://en.wikipedia.org/wiki/Simplex_noise
As promised, here’s an analysis of what that actually means visually for rendering Simplex noise.
As usual, I made a little app so you can experiment with it yourself and come to your own conclusions.
Live App:
Now let’s look at some screenshots and discuss what we see.
All screenshots for a little while here…
First with scale at 0.01 and resolution at 1 pixel. 2d Simplex noise on the left, 3d on the right.
I’m not expecting them to match pixel for pixel. Just looking at the overall quality of the image. From my viewpoint, the 3d noise has a bit less contrast. It’s subtle here, but in the app you can move around with the offsets and decide if you see the same thing.
Next, let’s crank the scale to the maximum.
Here, I think the difference is undeniable. The 3d noise has less contrast and seems blurry. In fact, the scale may even be a bit different – it seems like there are larger shapes in the 3d rendering, but it could just be the blurriness.
Let’s try it in color.
In this one, I feel like the green areas are larger. This would correspond to a smaller dynamic range or contrast. More values in the mid ranges, fewer at the far ends. But it’s subtle.
Summary for Simplex noise: yeah, there’s a difference, but it’s pretty subtle and not a deal breaker of any kind. it’s still got way more contrast than Perlin noise any day.
Just for fun, let’s try the same tests with Perlin noise.
Perlin noise
I made another app which is pretty much the same, but uses Perlin instead of Simplex noise. I also adjusted the scale range to bring it more in line with the look of Simplex noise.
Live app:
And some screenshots:
At low scale, no obvious difference.
At high scale, no obvious difference.
In color, no obvious difference.
Summary for Perlin noise: no obvious difference between the 2d and 3d variants.
One thought on “Noise: 2d vs 3d, Perlin and Simplex”