I just tried using this approach to create a tiling 2d simplex noise function with Gustavson's java implementation. The result tiled, but the texture seemed muddy / washed out.
I decided to compare the result of using the 2d, 3d & 4d versions to make a 2d texture by holding any 'extra' dimension parameters at zero. The 4d output looked the same as my tiled 2d output. Furthermore, I noticed a trend: as the dimensions increase, the noise starts to drift away from the min & max toward the average. Here are the results along with their histograms:
I ran across this post discussing some artifacts in Gustavson's implementation & wondered if that might be contributing to the problem, so I tried using OpenSimplex noise instead & got very similar results.
What's going on here? I'd like to use the 4d simplex noise to make a tiling 2d texture that looks more like the regular 2d simplex noise. If necessary I can try to massage the output, but that seems like hack & I'd rather treat the problem rather than the symptoms if possible.
Again, just to clarify, I'm asking: why does the dimensionality seem to affect the final 2D as illustrated?