Page 1 of 1

Omissions and inaccuracies in Noise Expressions aux docs

Posted: Thu Nov 20, 2025 6:32 pm
by Hanodest
In Built-in constants, control:temperature:bias and control:temperature:frequency are missing. They are used in temperature, which is used for tree placement. Weirdly, they also don't have associated controls in the UI either.

In Built-in functions, expression_in_range function is missing, which is used e.g. here

In voronoi_spot_noise, minkowski3 distance should use abs(x) and abs(y). Same for other voronoi functions.

Re: Omissions and inaccuracies in Noise Expressions aux docs

Posted: Fri Nov 21, 2025 5:28 pm
by Hanodest
variable_persistence_multioctave_noise incorrectly suggests that it's same as multioctave_noise. In practice, they have different parameters. E.g. the following two expressions have the same result:

Code: Select all

variable_persistence_multioctave_noise{x = x, y = y, persistence = persistence, seed0 = map_seed, seed1 = 0, input_scale = input_scale, output_scale = output_scale}
multioctave_noise{x = x, y = y, persistence = persistence, seed0 = map_seed, seed1 = 0, input_scale = input_scale / 2, output_scale = output_scale * 2} 
Notice the difference in input_scale and output_scale. With higher number of octaves the difference is even more complicated.

Re: Omissions and inaccuracies in Noise Expressions aux docs

Posted: Tue Nov 25, 2025 1:38 pm
by Bilka
Hanodest wrote: Thu Nov 20, 2025 6:32 pm In Built-in constants, control:temperature:bias and control:temperature:frequency are missing. They are used in temperature, which is used for tree placement. Weirdly, they also don't have associated controls in the UI either.

In Built-in functions, expression_in_range function is missing, which is used e.g. here

In voronoi_spot_noise, minkowski3 distance should use abs(x) and abs(y). Same for other voronoi functions.
All fixed for the next version.

For variable_persistence_multioctave_noise, I'm a bit confused what you mean. It makes sense to me that if you halve the input scale but double the output scale you'd get the same result. So what's the issue there?

Re: Omissions and inaccuracies in Noise Expressions aux docs

Posted: Thu Nov 27, 2025 5:00 pm
by Hanodest
input_scale affects frequency of the noise. output_scale controls the amplitude. So, with the same exact parameters 1-octave variable_persistence_multioctave_noise has half the freqency and double the amplitude of regular multioctave_noise:

Code: Select all

      if(
        x < 0,
        variable_persistence_multioctave_noise{
          x = x, y = y, persistence = 1, 
          seed0 = map_seed, seed1 = 0,
          input_scale = 1/64, output_scale = 1/2,
          octaves = 1
        },
        multioctave_noise{
          x = x, y = y, persistence = 1,
          seed0 = map_seed, seed1 = 0,
          input_scale = 1/64, output_scale = 1/2,
          octaves = 1
        } 
      )
noise.png
noise.png (211.71 KiB) Viewed 156 times
At higher number of octaves, if persistence is 1, then the amplitude of multioctave_noise scales as sqrt(octaves), of variable_persistence_multioctave_noise - as octaves * 2^octaves