Noise texture

Any one can explain me what does W factor on noise texture when I switch options to 1D or 4D?
How does it work? what is the meaning of 4 dimension in 3d space?


1 Like

In standard physics the 4th dimension is “time”. So you can use it for animations or just as a random value. I think “cgmatter” is describing this in one of his short tutorials.

The noise function doesn’t really work with a 3d space… it works with some inputs to produce one output.
In practice, we feed a 3D space coordinate to it, but that’s just a typical use.

Think about it as this:
A 1D noise function produces an output in the range [0, 1], for any Value1 we use as Input.
(the ‘color’ output, is just the noise function being called 3 times with Value1 but with a different ‘seed’, one for each rgb component)
Sometimes, we have a Value2 that should also influence the output, in parallel to Value1, so we add a second dimension to the function.
And this can go on for as many dimensions you need.

If Value1, Value2, …, ValueN, are spatial coordinates is another matter. The Noise function is abstract enough to use whatever you give it as input.

1 Like

Thanks, can you send your mentioned link?

Thank you too for your explanation about that,
But what do you mean when you say “The noise function doesn’t really work with a 3d space”? okay it’s one of his long videos. LOL

Well, perhaps that was to much! :upside_down_face:
What i wanted to say, is that the underlying noise is ultimatelly a 1d function, that is repeated with a different seed, to build lattices of bigger dimensions.

The noise texture calls the noise function to build a lattice of points around the sampling point, and interpolates the result. A 2d noise uses a square, and a 3d noise uses a cube.
A 4d noise still uses a cube, but the 4th dimension scrambles the values from the previous lattice points. It’s the same as the 3d noise applied to a plane… if you change the value of Z, you’ll get a variation of the result, even if Z doesn’t mean nothing to a plane.

To this matter, the same occurs with the voronoi 4d; where a 3x3 grid of cells is used around the sampling location, with a random point inside each, and the result is just the distance to the nearest point… the 4th dimension scrambles the location of those points (inside their cells).

Thanks man​:pray::pray::pray:

Examples of dimensions:

  1. 2D generator set to 3D allows time to modify it. If set to 4D you can have cos(time) and sin(time) allowing a looping evolution of the generator without apparent movement on the mesh.
  2. 2D generator set to 3D allows manipulation of the coordinates to produce seamless generator in one dimension. Known as the cylindrical lookup approach. Setting to 4D using seamless in one, allows time to modify it.
  3. 2D generator set to 4D allows manipulation of the coordinates to produce seamless generator in two dimensions. These coordinates are tricky to manipulate though, but does not suffer the stretching from the torus lookup approach.
  4. I wouldn’t use a generator dimension to create “per object/island” seed, as the increase in dimension is costly. I would just add to the location offset making them appear different. Centered musgrave might be the exception if you’re going for what that produce.
    Example of multidimensional manipulation to create seamless UV[0,1] space:
    My shading, textures, and material experiments
    Maybe Secrop can have a sanity check on these? :slight_smile: