============ NoiseSampler ============ .. seealso:: :doc:`/config/development/noise/index` A sampler is a config defined function that provides a value when given a position and seed. A 'sample' is defined as the value produced by a single calculation provided by a sampler. A collective set of samples is regarded as 'noise'. Noise produced by noise samplers :doc:`determine some kind of behaviour ` for each block or column. This behaviour is dependent on the context of the sampler definition. Types ===== Different types of ``NoiseSampler`` provide different behaviours and may have additional parameters for configuring that behavior. The type is specified by setting the :bdg-primary:`type` parameter to the name of the type. If the same name is used by two different addons, you can prefix the name with ``ADDON_NAME:`` to specify which one to use. A list of available types for ``NoiseSampler`` are listed below: --------- DISTANCE -------- :superscript:`*Type requires the 'config-noise-function' addon to use` Returns the distance from a point. .. _object-noisesampler-template-config-noise-function-distance-parameter-distance-function: :bdg-ref-success:`distance-function ` :doc:`/config/documentation/objects/String` - The function used to calculate distance between sample positions and the configured point. Default: ``Euclidean`` Valid values: - ``Euclidean`` - Regular distance calculated using the Pythagorean theorem. See the `Wikipedia page `__ for more info. - ``EuclideanSq`` - Same as ``Euclidean`` but the result is squared. (This is included if exact distance is not needed, and is slightly faster than ``Euclidean`` as it avoids a slow ``sqrt`` call.) - ``Manhattan`` - See the `Wikipedia page `__ for more info. .. _object-noisesampler-template-config-noise-function-distance-parameter-normalize: :bdg-ref-success:`normalize ` :doc:`/config/documentation/objects/Boolean` - If set to true, the returned distance will be normalized to be within the range ``[-1, 1]``, otherwise the raw distance is returned. Default: ``false`` ``-1`` corresponds to the distance = ``0``, and ``1`` to distance = radius as configured by the ``radius`` parameter. Any distances above ``radius`` will clamped to ``1``. .. _object-noisesampler-template-config-noise-function-distance-parameter-point.x: :bdg-ref-success:`point.x ` :doc:`/config/documentation/objects/Float` Default: ``0`` .. _object-noisesampler-template-config-noise-function-distance-parameter-point.y: :bdg-ref-success:`point.y ` :doc:`/config/documentation/objects/Float` Default: ``0`` Only relevant if the sampler is sampling in 3D. .. _object-noisesampler-template-config-noise-function-distance-parameter-point.z: :bdg-ref-success:`point.z ` :doc:`/config/documentation/objects/Float` Default: ``0`` .. _object-noisesampler-template-config-noise-function-distance-parameter-radius: :bdg-ref-success:`radius ` :doc:`/config/documentation/objects/Float` - The radius from the configured point corresponding to an output of ``1``. Default: ``100`` Only relevant if ``normalize`` is set to ``true``. --------- WHITE_NOISE ----------- :superscript:`*Type requires the 'config-noise-function' addon to use` Produces `White noise`_. .. image:: /img/concepts/noise/whitenoise64x64.png .. _White noise: https://en.wikipedia.org/wiki/White_noise .. _object-noisesampler-template-config-noise-function-white_noise-parameter-frequency: :bdg-ref-success:`frequency ` :doc:`/config/documentation/objects/Float` - Controls the :ref:`frequency ` of noise. Default: ``0.02`` .. _object-noisesampler-template-config-noise-function-white_noise-parameter-salt: :bdg-ref-success:`salt ` :doc:`/config/documentation/objects/Integer` - Determines the :ref:`seed ` for the sampler. Default: ``0`` --------- POSITIVE_WHITE_NOISE -------------------- :superscript:`*Type requires the 'config-noise-function' addon to use` Identical to `WHITE_NOISE`_, but redistributed to only produce positive values for convenience. .. _object-noisesampler-template-config-noise-function-positive_white_noise-parameter-frequency: :bdg-ref-success:`frequency ` :doc:`/config/documentation/objects/Float` - Controls the :ref:`frequency ` of noise. Default: ``0.02`` .. _object-noisesampler-template-config-noise-function-positive_white_noise-parameter-salt: :bdg-ref-success:`salt ` :doc:`/config/documentation/objects/Integer` - Determines the :ref:`seed ` for the sampler. Default: ``0`` --------- GAUSSIAN -------- :superscript:`*Type requires the 'config-noise-function' addon to use` Identical to `WHITE_NOISE`_, but redistributed to follow a `gaussian distribution`_\. .. _gaussian distribution: https://en.wikipedia.org/wiki/Normal_distribution .. _object-noisesampler-template-config-noise-function-gaussian-parameter-frequency: :bdg-ref-success:`frequency ` :doc:`/config/documentation/objects/Float` - Controls the :ref:`frequency ` of noise. Default: ``0.02`` .. _object-noisesampler-template-config-noise-function-gaussian-parameter-salt: :bdg-ref-success:`salt ` :doc:`/config/documentation/objects/Integer` - Determines the :ref:`seed ` for the sampler. Default: ``0`` --------- PERLIN ------ :superscript:`*Type requires the 'config-noise-function' addon to use` Produces `Perlin noise`_. .. _Perlin noise: https://en.wikipedia.org/wiki/Perlin_noise .. _object-noisesampler-template-config-noise-function-perlin-parameter-frequency: :bdg-ref-success:`frequency ` :doc:`/config/documentation/objects/Float` - Controls the :ref:`frequency ` of noise. Default: ``0.02`` .. _object-noisesampler-template-config-noise-function-perlin-parameter-salt: :bdg-ref-success:`salt ` :doc:`/config/documentation/objects/Integer` - Determines the :ref:`seed ` for the sampler. Default: ``0`` .. tip:: It is recommended to use other simplex based samplers rather than PERLIN, as Perlin noise produces signficant directional artifacts, which may be undesired. --------- SIMPLEX ------- :superscript:`*Type requires the 'config-noise-function' addon to use` Produces `Simplex noise`_. .. _Simplex noise: https://en.wikipedia.org/wiki/Simplex_noise .. _object-noisesampler-template-config-noise-function-simplex-parameter-frequency: :bdg-ref-success:`frequency ` :doc:`/config/documentation/objects/Float` - Controls the :ref:`frequency ` of noise. Default: ``0.02`` .. _object-noisesampler-template-config-noise-function-simplex-parameter-salt: :bdg-ref-success:`salt ` :doc:`/config/documentation/objects/Integer` - Determines the :ref:`seed ` for the sampler. Default: ``0`` --------- OPEN_SIMPLEX_2 -------------- :superscript:`*Type requires the 'config-noise-function' addon to use` Produces `Simplex noise`_ (using the algorithm from OpenSimplex2_). .. _Simplex noise: https://en.wikipedia.org/wiki/Simplex_noise .. _OpenSimplex2: https://github.com/KdotJPG/OpenSimplex2 .. image:: /img/concepts/noise/opensimplex2_64x64.png .. _object-noisesampler-template-config-noise-function-open_simplex_2-parameter-frequency: :bdg-ref-success:`frequency ` :doc:`/config/documentation/objects/Float` - Controls the :ref:`frequency ` of noise. Default: ``0.02`` .. _object-noisesampler-template-config-noise-function-open_simplex_2-parameter-salt: :bdg-ref-success:`salt ` :doc:`/config/documentation/objects/Integer` - Determines the :ref:`seed ` for the sampler. Default: ``0`` --------- OPEN_SIMPLEX_2S --------------- :superscript:`*Type requires the 'config-noise-function' addon to use` Produces smoother `Simplex noise`_ (using the algorithm from OpenSimplex2_). .. _Simplex noise: https://en.wikipedia.org/wiki/Simplex_noise .. _OpenSimplex2: https://github.com/KdotJPG/OpenSimplex2 .. _object-noisesampler-template-config-noise-function-open_simplex_2s-parameter-frequency: :bdg-ref-success:`frequency ` :doc:`/config/documentation/objects/Float` - Controls the :ref:`frequency ` of noise. Default: ``0.02`` .. _object-noisesampler-template-config-noise-function-open_simplex_2s-parameter-salt: :bdg-ref-success:`salt ` :doc:`/config/documentation/objects/Integer` - Determines the :ref:`seed ` for the sampler. Default: ``0`` --------- VALUE ----- :superscript:`*Type requires the 'config-noise-function' addon to use` Produces `Value noise`_ using `linear interpolation`_ (`bilinear`_ for 2D, `trilinear`_ for 3D). .. _Value noise: https://en.wikipedia.org/wiki/Value_noise .. _linear interpolation: https://en.wikipedia.org/wiki/Linear_interpolation .. _bilinear: https://en.wikipedia.org/wiki/Bilinear_interpolation .. _trilinear: https://en.wikipedia.org/wiki/Trilinear_interpolation .. _object-noisesampler-template-config-noise-function-value-parameter-frequency: :bdg-ref-success:`frequency ` :doc:`/config/documentation/objects/Float` - Controls the :ref:`frequency ` of noise. Default: ``0.02`` .. _object-noisesampler-template-config-noise-function-value-parameter-salt: :bdg-ref-success:`salt ` :doc:`/config/documentation/objects/Integer` - Determines the :ref:`seed ` for the sampler. Default: ``0`` --------- VALUE_CUBIC ----------- :superscript:`*Type requires the 'config-noise-function' addon to use` Identical to `VALUE`_ except using `cubic interpolation`_ (`bicubic`_ for 2D, `tricubic`_ for 3D). .. _cubic interpolation: https://en.wikipedia.org/wiki/Cubic_Hermite_spline#Interpolation_on_a_single_interval .. _bicubic: https://en.wikipedia.org/wiki/Bicubic_interpolation .. _tricubic: https://en.wikipedia.org/wiki/Tricubic_interpolation .. _object-noisesampler-template-config-noise-function-value_cubic-parameter-frequency: :bdg-ref-success:`frequency ` :doc:`/config/documentation/objects/Float` - Controls the :ref:`frequency ` of noise. Default: ``0.02`` .. _object-noisesampler-template-config-noise-function-value_cubic-parameter-salt: :bdg-ref-success:`salt ` :doc:`/config/documentation/objects/Integer` - Determines the :ref:`seed ` for the sampler. Default: ``0`` --------- GABOR ----- :superscript:`*Type requires the 'config-noise-function' addon to use` Produces `Gabor noise`_. .. _Gabor noise: https://graphics.cs.kuleuven.be/publications/GLLD12GNBE/ .. warning:: The GABOR sampler is significantly slower at producing noise compared to other noise samplers. .. _object-noisesampler-template-config-noise-function-gabor-parameter-deviation: :bdg-ref-success:`deviation ` :doc:`/config/documentation/objects/Float` Default: ``1.0`` .. _object-noisesampler-template-config-noise-function-gabor-parameter-frequency: :bdg-ref-success:`frequency ` :doc:`/config/documentation/objects/Float` - Controls the :ref:`frequency ` of noise. Default: ``0.02`` .. _object-noisesampler-template-config-noise-function-gabor-parameter-frequency_0: :bdg-ref-success:`frequency_0 ` :doc:`/config/documentation/objects/Float` Default: ``0.625`` .. _object-noisesampler-template-config-noise-function-gabor-parameter-impulses: :bdg-ref-success:`impulses ` :doc:`/config/documentation/objects/Float` Default: ``64.0`` .. _object-noisesampler-template-config-noise-function-gabor-parameter-isotropic: :bdg-ref-success:`isotropic ` :doc:`/config/documentation/objects/Boolean` Default: ``true`` .. _object-noisesampler-template-config-noise-function-gabor-parameter-rotation: :bdg-ref-success:`rotation ` :doc:`/config/documentation/objects/Float` Default: ``0.25`` .. _object-noisesampler-template-config-noise-function-gabor-parameter-salt: :bdg-ref-success:`salt ` :doc:`/config/documentation/objects/Integer` - Determines the :ref:`seed ` for the sampler. Default: ``0`` --------- CELLULAR -------- :superscript:`*Type requires the 'config-noise-function' addon to use` Produces cellular / `Worley noise`_. .. _Worley noise: https://en.wikipedia.org/wiki/Worley_noise .. image:: /img/concepts/noise/cellular_256x256.png **DIAGRAM** .. image:: /img/concepts/noise/cellular_diagram.svg .. role:: black .. role:: red .. role:: blue .. role:: green .. role:: purple .. role:: orange .. role:: gold - :black:`Black dots` - The center of each cell. - :red:`Red lines` - A random direction and distance from the cell center, called 'jitter'. - :blue:`Blue dots` - The cell origin, determined by jitter from the cell center. - :green:`Green dot` - Coordinates being sampled. - :purple:`Purple line` - Distance to the closest cell origin. - :orange:`Orange line` - Distance to the second closest cell origin. - :gold:`Gold line` - Distance to the third closest cell origin. .. _object-noisesampler-template-config-noise-function-cellular-parameter-distance: :bdg-ref-success:`distance ` :doc:`/config/documentation/objects/String` - The method used for calculating the distance from the cell origin. Default: ``EuclideanSq`` **Distance Types** - ``Euclidean`` - ``EuclideanSq`` - ``Manhattan`` - ``Hybrid`` .. _object-noisesampler-template-config-noise-function-cellular-parameter-frequency: :bdg-ref-success:`frequency ` :doc:`/config/documentation/objects/Float` - Controls the :ref:`frequency ` of noise. Default: ``0.02`` .. _object-noisesampler-template-config-noise-function-cellular-parameter-jitter: :bdg-ref-success:`jitter ` :doc:`/config/documentation/objects/Float` - Determines how far cell origins can randomly spread out from the center of cells. Default: ``1`` A jitter of ``0`` places cell origins exactly in the center of each cell, resulting in a perfect grid. Values between ``-1`` and ``1`` are recommended, as values outside that range may produce artifacts. .. _object-noisesampler-template-config-noise-function-cellular-parameter-lookup: :bdg-ref-success:`lookup ` :doc:`/config/documentation/objects/NoiseSampler` - The lookup sampler used when the ``distance`` parameter is set to ``NoiseLookup`` Default: ```OPEN_SIMPLEX_2`_ sampler`` .. _object-noisesampler-template-config-noise-function-cellular-parameter-return: :bdg-ref-success:`return ` :doc:`/config/documentation/objects/String` - The function the sampler will use to calculate the noise. Default: ``Distance`` **Return Types** Definitions: ``s`` - The coordinates being sampled. ``c`` - The coordinates of the nearest cell origin. ``d1`` - The distance from the nearest cell origin. ``d2`` - The distance from the second nearest cell origin ``d3`` - The distance from the third nearest cell origin Types: - ``NoiseLookup`` - Passes ``c`` into a sampler, and returns the output. - ``CellValue`` - Returns a random value based on ``c`` (Equivalent to ``NoiseLookup`` with a `WHITE_NOISE`_ sampler). - ``LocalNoiseLookup`` - Passes ``s - c`` into a sampler, and returns the output. - ``Angle`` - Returns the angle from ``s`` to ``c``. - ``Distance`` - Returns ``d1``. - ``Distance2``- Returns ``d2``. - ``Distance2Add`` - Returns ``(d1 + d2) / 2``. - ``Distance2Sub`` - Returns ``d2 - d1``. - ``Distance2Mul`` - Returns ``(d1 * d2) / 2``. - ``Distance2Div`` - Returns ``d1 / d2``. - ``Distance3`` - Returns ``d3``. - ``Distance3Add`` - Returns ``(d1 + d3) / 2``. - ``Distance3Sub`` - Returns ``d3 - d1``. - ``Distance3Mul`` - Returns ``d3 * d1``. - ``Distance3Div`` - Returns ``d1 / d3``. .. _object-noisesampler-template-config-noise-function-cellular-parameter-salt: :bdg-ref-success:`salt ` :doc:`/config/documentation/objects/Integer` - Determines the :ref:`seed ` for the sampler. Default: ``0`` --------- IMAGE ----- :superscript:`*Type requires the 'config-noise-function' addon to use` Outputs the channel of an image that is tiled, redistributed from the channel range [0-255] to output range [-1, 1]. .. _object-noisesampler-template-config-noise-function-image-parameter-channel: :bdg-ref-primary:`channel ` :doc:`/config/documentation/objects/String` - Which channel of the image to output. Valid channels: - ``GRAYSCALE`` - ``ALPHA`` - ``RED`` - ``GREEN`` - ``BLUE`` .. card:: Channel Examples .. grid:: 6 .. grid-item:: Original Image :columns: 4 .. image:: /img/concepts/noise/image/pacman_ghosts.png .. grid-item:: Grayscale :columns: 4 .. image:: /img/concepts/noise/image/pacman_ghosts_grayscale.png .. grid-item:: Alpha Channel* :columns: 4 .. image:: /img/concepts/noise/image/pacman_ghosts_alpha_channel.png .. grid-item:: Red Channel :columns: 4 .. image:: /img/concepts/noise/image/pacman_ghosts_red_channel.png .. grid-item:: Green Channel :columns: 4 .. image:: /img/concepts/noise/image/pacman_ghosts_green_channel.png .. grid-item:: Blue Channel :columns: 4 .. image:: /img/concepts/noise/image/pacman_ghosts_blue_channel.png \*The alpha channel is all white because there is no transparency in the original image. .. _object-noisesampler-template-config-noise-function-image-parameter-frequency: :bdg-ref-primary:`frequency ` :doc:`/config/documentation/objects/Float` - :ref:`Frequency ` of the image. Determines how the image gets scaled. A frequency of ``1.0`` means 1 pixel = 1 block, a frequency of ``2.0`` means 2 pixels = 1 block. .. attention:: Frequencies below ``1.0`` are not recommended, as pixels aren't interpolated when upscaled; results may look pixelated depending on use. .. grid:: 3 .. grid-item:: **grayscale_circles.png** :padding: 0 .. image:: /img/concepts/noise/image/grayscale_circles.png :width: 200 .. grid-item:: **1.0 Frequency** .. image:: /img/concepts/noise/image/image_sampler_circles_frequency_1.0_zoomed.png :width: 200 .. grid-item:: **0.25 Frequency** .. image:: /img/concepts/noise/image/image_sampler_circles_frequency_0.25_zoomed.png :width: 200 ``0.25`` frequency = ``0.25 pixels = 1 block`` or ``1 pixel = 4 blocks`` (as demonstrated above using a block grid). .. _object-noisesampler-template-config-noise-function-image-parameter-image: :bdg-ref-primary:`image ` :doc:`/config/documentation/objects/String` - Path to the image relative to the config pack directory. (For Windows users: Use the ``/`` directory separator instead of ``\``) Example path: `path/to/the/image.png` .. dropdown:: Example Image Samplers .. grid:: 3 .. grid-item:: **grayscale_circles.png** :padding: 0 .. image:: /img/concepts/noise/image/grayscale_circles.png :width: 200 .. grid-item:: **mountain_heightmap.png** .. image:: /img/concepts/noise/image/mountain_heightmap.png :width: 200 World generated using the mountain heightmap to shape the terrain, and the circles to determine biome temperature: .. image:: /img/concepts/noise/image/image_distributed_biomes.png :width: 50% **Terrain Sampler** (Using `LINEAR_HEIGHTMAP`_ to work as a terrain sampler) .. code-block:: yaml type: LINEAR_HEIGHTMAP base: 128 scale: 64 sampler: type: IMAGE image: mountain_heightmap.png channel: GRAYSCALE frequency: 1 **Temperature Sampler** .. code-block:: yaml type: IMAGE image: grayscale_circles.png channel: GRAYSCALE frequency: 1 --------- CONSTANT -------- :superscript:`*Type requires the 'config-noise-function' addon to use` Outputs a constant value, regardless of the inputs. Typically used in cases where you don't want the sampler to do anything. .. _object-noisesampler-template-config-noise-function-constant-parameter-value: :bdg-ref-success:`value ` :doc:`/config/documentation/objects/Float` - The value to be outputted. Default: ``0.0`` --------- DOMAIN_WARP ----------- :superscript:`*Type requires the 'config-noise-function' addon to use` Warps a sampler by another sampler. See :ref:`Domain Warping ` for more information. .. _object-noisesampler-template-config-noise-function-domain_warp-parameter-sampler: :bdg-ref-primary:`sampler ` :doc:`/config/documentation/objects/NoiseSampler` - The sampler to be warped. .. _object-noisesampler-template-config-noise-function-domain_warp-parameter-warp: :bdg-ref-primary:`warp ` :doc:`/config/documentation/objects/NoiseSampler` - The sampler that determines warping. .. _object-noisesampler-template-config-noise-function-domain_warp-parameter-amplitude: :bdg-ref-success:`amplitude ` :doc:`/config/documentation/objects/Float` - How much warping to apply. Default: ``1.0`` --------- KERNEL ------ :superscript:`*Type requires the 'config-noise-function' addon to use` .. _object-noisesampler-template-config-noise-function-kernel-parameter-kernel: :bdg-ref-primary:`kernel ` :doc:`/config/documentation/objects/List`\<:doc:`/config/documentation/objects/List`\<:doc:`/config/documentation/objects/Float`\>> .. _object-noisesampler-template-config-noise-function-kernel-parameter-sampler: :bdg-ref-primary:`sampler ` :doc:`/config/documentation/objects/NoiseSampler` .. _object-noisesampler-template-config-noise-function-kernel-parameter-factor: :bdg-ref-success:`factor ` :doc:`/config/documentation/objects/Float` Default: ``1.0`` .. _object-noisesampler-template-config-noise-function-kernel-parameter-frequency: :bdg-ref-success:`frequency ` :doc:`/config/documentation/objects/Float` Default: ``1.0`` --------- LINEAR_HEIGHTMAP ---------------- :superscript:`*Type requires the 'config-noise-function' addon to use` Treats a 2D sampler as a heightmap, converting it to a 3D `SDF`_ for use as a terrain sampler. .. _SDF: https://en.wikipedia.org/wiki/Signed_distance_function .. _object-noisesampler-template-config-noise-function-linear_heightmap-parameter-base: :bdg-ref-primary:`base ` :doc:`/config/documentation/objects/Float` - The base y level of the terrain. .. _object-noisesampler-template-config-noise-function-linear_heightmap-parameter-sampler: :bdg-ref-success:`sampler ` :doc:`/config/documentation/objects/NoiseSampler` - The sampler to be used as a heightmap. Default: ```CONSTANT`_ sampler`` .. _object-noisesampler-template-config-noise-function-linear_heightmap-parameter-scale: :bdg-ref-success:`scale ` :doc:`/config/documentation/objects/Float` - Scales the height of the heightmap. Default: ``1.0`` --------- FBM --- :superscript:`*Type requires the 'config-noise-function' addon to use` .. _object-noisesampler-template-config-noise-function-fbm-parameter-sampler: :bdg-ref-primary:`sampler ` :doc:`/config/documentation/objects/NoiseSampler` .. _object-noisesampler-template-config-noise-function-fbm-parameter-gain: :bdg-ref-success:`gain ` :doc:`/config/documentation/objects/Float` Default: ``0.5`` .. _object-noisesampler-template-config-noise-function-fbm-parameter-lacunarity: :bdg-ref-success:`lacunarity ` :doc:`/config/documentation/objects/Float` Default: ``2.0`` .. _object-noisesampler-template-config-noise-function-fbm-parameter-octaves: :bdg-ref-success:`octaves ` :doc:`/config/documentation/objects/Integer` Default: ``3`` .. _object-noisesampler-template-config-noise-function-fbm-parameter-weighted-strength: :bdg-ref-success:`weighted-strength ` :doc:`/config/documentation/objects/Float` Default: ``0.0`` --------- PING_PONG --------- :superscript:`*Type requires the 'config-noise-function' addon to use` .. _object-noisesampler-template-config-noise-function-ping_pong-parameter-sampler: :bdg-ref-primary:`sampler ` :doc:`/config/documentation/objects/NoiseSampler` .. _object-noisesampler-template-config-noise-function-ping_pong-parameter-gain: :bdg-ref-success:`gain ` :doc:`/config/documentation/objects/Float` Default: ``0.5`` .. _object-noisesampler-template-config-noise-function-ping_pong-parameter-lacunarity: :bdg-ref-success:`lacunarity ` :doc:`/config/documentation/objects/Float` Default: ``2.0`` .. _object-noisesampler-template-config-noise-function-ping_pong-parameter-octaves: :bdg-ref-success:`octaves ` :doc:`/config/documentation/objects/Integer` Default: ``3`` .. _object-noisesampler-template-config-noise-function-ping_pong-parameter-ping-pong: :bdg-ref-success:`ping-pong ` :doc:`/config/documentation/objects/Float` Default: ``2.0`` .. _object-noisesampler-template-config-noise-function-ping_pong-parameter-weighted-strength: :bdg-ref-success:`weighted-strength ` :doc:`/config/documentation/objects/Float` Default: ``0.0`` --------- RIDGED ------ :superscript:`*Type requires the 'config-noise-function' addon to use` .. _object-noisesampler-template-config-noise-function-ridged-parameter-sampler: :bdg-ref-primary:`sampler ` :doc:`/config/documentation/objects/NoiseSampler` .. _object-noisesampler-template-config-noise-function-ridged-parameter-gain: :bdg-ref-success:`gain ` :doc:`/config/documentation/objects/Float` Default: ``0.5`` .. _object-noisesampler-template-config-noise-function-ridged-parameter-lacunarity: :bdg-ref-success:`lacunarity ` :doc:`/config/documentation/objects/Float` Default: ``2.0`` .. _object-noisesampler-template-config-noise-function-ridged-parameter-octaves: :bdg-ref-success:`octaves ` :doc:`/config/documentation/objects/Integer` Default: ``3`` .. _object-noisesampler-template-config-noise-function-ridged-parameter-weighted-strength: :bdg-ref-success:`weighted-strength ` :doc:`/config/documentation/objects/Float` Default: ``0.0`` --------- LINEAR ------ :superscript:`*Type requires the 'config-noise-function' addon to use` Redistributes the range ``[min, max]`` to ``[-1, 1]``, typically for use with weighted pools. .. _object-noisesampler-template-config-noise-function-linear-parameter-max: :bdg-ref-primary:`max ` :doc:`/config/documentation/objects/Float` .. _object-noisesampler-template-config-noise-function-linear-parameter-min: :bdg-ref-primary:`min ` :doc:`/config/documentation/objects/Float` .. _object-noisesampler-template-config-noise-function-linear-parameter-sampler: :bdg-ref-primary:`sampler ` :doc:`/config/documentation/objects/NoiseSampler` --------- CUBIC_SPLINE ------------ :superscript:`*Type requires the 'config-noise-function' addon to use` Remaps values using a cubic spline defined according to a set of points and gradients. .. _object-noisesampler-template-config-noise-function-cubic_spline-parameter-points: :bdg-ref-primary:`points ` :doc:`/config/documentation/objects/List`\<:doc:`/config/documentation/objects/CubicSplinePoint`\> .. _object-noisesampler-template-config-noise-function-cubic_spline-parameter-sampler: :bdg-ref-primary:`sampler ` :doc:`/config/documentation/objects/NoiseSampler` --------- EXPRESSION_NORMALIZER --------------------- :superscript:`*Type requires the 'config-noise-function' addon to use` Returns the result of evaluating an expression that uses samples provided by the input sampler. .. _object-noisesampler-template-config-noise-function-expression_normalizer-parameter-expression: :bdg-ref-primary:`expression ` :doc:`/config/documentation/objects/Expression` - An expression utilizes the ``in`` variable (short for 'input'). The ``in`` variable is calculated by the result of passing the coordinates of the current sampler to the provided input ``sampler``. .. _object-noisesampler-template-config-noise-function-expression_normalizer-parameter-sampler: :bdg-ref-primary:`sampler ` :doc:`/config/documentation/objects/NoiseSampler` .. _object-noisesampler-template-config-noise-function-expression_normalizer-parameter-functions: :bdg-ref-success:`functions ` :doc:`/config/documentation/objects/Map`\<:doc:`/config/documentation/objects/String`\, :doc:`/config/documentation/objects/MathFunction`\> - An additional mappping of named math functions that can be used in the ``expression``. Default: ``{}`` .. _object-noisesampler-template-config-noise-function-expression_normalizer-parameter-samplers: :bdg-ref-success:`samplers ` :doc:`/config/documentation/objects/Map`\<:doc:`/config/documentation/objects/String`\, :doc:`/config/documentation/objects/DimensionApplicableSampler`\> - An additional mappping of named noise samplers that can be used in the ``expression``. Default: ``{}`` This probably won't be too useful as ``expression`` does not expose access to ``x``, ``y``, or ``z`` variables. This behaviour may be changed in the future. .. _object-noisesampler-template-config-noise-function-expression_normalizer-parameter-variables: :bdg-ref-success:`variables ` :doc:`/config/documentation/objects/Map`\<:doc:`/config/documentation/objects/String`\, :doc:`/config/documentation/objects/Float`\> - An additional mapping of named constant variables that can be used by the ``expression``. Default: ``{}`` This is a convenience short hand version of the `EXPRESSION`_ sampler which you should refer to for more info. For example the following sampler: .. code:: yaml type: EXPRESSION expression: (noise(x, z) + 3) / 2 samplers: noise: dimensions: 2 type: WHITE_NOISE Can be simplified to: .. code:: yaml type: EXPRESSION_NORMALIZER expression: (in + 3) / 2 sampler: type: WHITE_NOISE --------- CLAMP ----- :superscript:`*Type requires the 'config-noise-function' addon to use` Outputs ``max`` when the sampler outputs a value greater than ``max``, and returns ``min`` when the sampler outputs a value less than ``min``, used to constrain sampler outputs to a certain range. .. _object-noisesampler-template-config-noise-function-clamp-parameter-max: :bdg-ref-primary:`max ` :doc:`/config/documentation/objects/Float` .. _object-noisesampler-template-config-noise-function-clamp-parameter-min: :bdg-ref-primary:`min ` :doc:`/config/documentation/objects/Float` .. _object-noisesampler-template-config-noise-function-clamp-parameter-sampler: :bdg-ref-primary:`sampler ` :doc:`/config/documentation/objects/NoiseSampler` --------- NORMAL ------ :superscript:`*Type requires the 'config-noise-function' addon to use` Redistributes normally distributed outputs to be evenly distributed. .. _object-noisesampler-template-config-noise-function-normal-parameter-mean: :bdg-ref-primary:`mean ` :doc:`/config/documentation/objects/Float` .. _object-noisesampler-template-config-noise-function-normal-parameter-sampler: :bdg-ref-primary:`sampler ` :doc:`/config/documentation/objects/NoiseSampler` .. _object-noisesampler-template-config-noise-function-normal-parameter-standard-deviation: :bdg-ref-primary:`standard-deviation ` :doc:`/config/documentation/objects/Float` .. _object-noisesampler-template-config-noise-function-normal-parameter-groups: :bdg-ref-success:`groups ` :doc:`/config/documentation/objects/Integer` Default: ``16384`` --------- PROBABILITY ----------- :superscript:`*Type requires the 'config-noise-function' addon to use` Redistributes the range ``[-1, 1]`` to ``[0, 1]``, typically used in cases where it's easier to work with values from ``0`` to ``1``, e.g defining a threshold as a percentage of a noise sampler. .. _object-noisesampler-template-config-noise-function-probability-parameter-sampler: :bdg-ref-primary:`sampler ` :doc:`/config/documentation/objects/NoiseSampler` --------- SCALE ----- :superscript:`*Type requires the 'config-noise-function' addon to use` Evaluates ``sampler() * amplitude``. .. _object-noisesampler-template-config-noise-function-scale-parameter-amplitude: :bdg-ref-primary:`amplitude ` :doc:`/config/documentation/objects/Float` .. _object-noisesampler-template-config-noise-function-scale-parameter-sampler: :bdg-ref-primary:`sampler ` :doc:`/config/documentation/objects/NoiseSampler` --------- POSTERIZATION ------------- :superscript:`*Type requires the 'config-noise-function' addon to use` Applies a step function to the sampler, where ``steps`` determines how many steps will be within the range ``[-1, 1]``. .. _object-noisesampler-template-config-noise-function-posterization-parameter-sampler: :bdg-ref-primary:`sampler ` :doc:`/config/documentation/objects/NoiseSampler` .. _object-noisesampler-template-config-noise-function-posterization-parameter-steps: :bdg-ref-primary:`steps ` :doc:`/config/documentation/objects/Integer` --------- ADD --- :superscript:`*Type requires the 'config-noise-function' addon to use` Evaluates ``left() + right()``. .. _object-noisesampler-template-config-noise-function-add-parameter-left: :bdg-ref-primary:`left ` :doc:`/config/documentation/objects/NoiseSampler` .. _object-noisesampler-template-config-noise-function-add-parameter-right: :bdg-ref-primary:`right ` :doc:`/config/documentation/objects/NoiseSampler` --------- SUB --- :superscript:`*Type requires the 'config-noise-function' addon to use` Evaluates ``left() - right()``. .. _object-noisesampler-template-config-noise-function-sub-parameter-left: :bdg-ref-primary:`left ` :doc:`/config/documentation/objects/NoiseSampler` .. _object-noisesampler-template-config-noise-function-sub-parameter-right: :bdg-ref-primary:`right ` :doc:`/config/documentation/objects/NoiseSampler` --------- MUL --- :superscript:`*Type requires the 'config-noise-function' addon to use` Evaluates ``left() * right()``. .. _object-noisesampler-template-config-noise-function-mul-parameter-left: :bdg-ref-primary:`left ` :doc:`/config/documentation/objects/NoiseSampler` .. _object-noisesampler-template-config-noise-function-mul-parameter-right: :bdg-ref-primary:`right ` :doc:`/config/documentation/objects/NoiseSampler` --------- DIV --- :superscript:`*Type requires the 'config-noise-function' addon to use` Evaluates ``left() / right()``. .. _object-noisesampler-template-config-noise-function-div-parameter-left: :bdg-ref-primary:`left ` :doc:`/config/documentation/objects/NoiseSampler` .. _object-noisesampler-template-config-noise-function-div-parameter-right: :bdg-ref-primary:`right ` :doc:`/config/documentation/objects/NoiseSampler` --------- MAX --- :superscript:`*Type requires the 'config-noise-function' addon to use` Evaluates ``max(left(), right())``. .. _object-noisesampler-template-config-noise-function-max-parameter-left: :bdg-ref-primary:`left ` :doc:`/config/documentation/objects/NoiseSampler` .. _object-noisesampler-template-config-noise-function-max-parameter-right: :bdg-ref-primary:`right ` :doc:`/config/documentation/objects/NoiseSampler` --------- MIN --- :superscript:`*Type requires the 'config-noise-function' addon to use` Evaluates ``min(left(), right())``. .. _object-noisesampler-template-config-noise-function-min-parameter-left: :bdg-ref-primary:`left ` :doc:`/config/documentation/objects/NoiseSampler` .. _object-noisesampler-template-config-noise-function-min-parameter-right: :bdg-ref-primary:`right ` :doc:`/config/documentation/objects/NoiseSampler` --------- EXPRESSION ---------- :superscript:`*Type requires the 'config-noise-function' addon to use` Evaluates an arbitrary user defined expression as the sampler output. Expression samplers additionally allow the use of user defined functions, including other samplers, as well as constants defined within the sampler. .. _object-noisesampler-template-config-noise-function-expression-parameter-expression: :bdg-ref-primary:`expression ` :doc:`/config/documentation/objects/Expression` The expression to be evaluated for each sample. Variables ``x``, ``y`` (3D only), and ``z`` act as the sampler's coordinate inputs. **Expression example** .. code-block:: yaml expression: (x * 3) / z .. _object-noisesampler-template-config-noise-function-expression-parameter-functions: :bdg-ref-success:`functions ` :doc:`/config/documentation/objects/Map`\<:doc:`/config/documentation/objects/String`\, :doc:`/config/documentation/objects/MathFunction`\> Default: ``{}`` Defines a mapping of function names to user-defined math functions. Functions may be called within the expression like so ``(, , ...)``, where is the declared function name, and where each input coorresponds to the argument list defined by the function. **Example defining functions** .. code-block:: yaml functions: addThenDivide: arguments: - a - b - c expression: (a + b) / c .. _object-noisesampler-template-config-noise-function-expression-parameter-samplers: :bdg-ref-success:`samplers ` :doc:`/config/documentation/objects/Map`\<:doc:`/config/documentation/objects/String`\, :doc:`/config/documentation/objects/DimensionApplicableSampler`\> - Defines a mapping of function names to samplers. Default: ``{}`` Each sampler may be utilized within the expression like so: ``(, )`` (for 2D) or ``(, , )`` (for 3D), where is the declared function name, and where the respective axis coordinates are the coordinate inputs passed to the sampler. .. note:: Samplers defined within an EXPRESSION sampler must be ``DimensionApplicableSampler``\s, see the :doc:`DimensionApplicableSampler` section for details. **Example defining samplers** .. code-block:: yaml samplers: whiteNoise: dimensions: 2 type: WHITE_NOISE .. _object-noisesampler-template-config-noise-function-expression-parameter-variables: :bdg-ref-success:`variables ` :doc:`/config/documentation/objects/Map`\<:doc:`/config/documentation/objects/String`\, :doc:`/config/documentation/objects/Float`\> Default: ``{}`` Defines a mapping of variable names to values for use in the scope of the expression. This is most useful for providing named constants that can easily be modified if needed. **Example defining variables** .. code-block:: yaml variables: a: 1 b: 2 .. dropdown:: Example Expression Samplers :class-container: nested-cards .. card:: **Simple addition** .. code-block:: yaml type: EXPRESSION expression: 1 + 1 The sampler above outputs the result of ``1`` plus ``1``, therefore the sampler will always output ``2``. .. card:: **Using variables** .. code-block:: yaml type: EXPRESSION variables: a: 1 b: 2 expression: a - b The sampler above outputs the result of ``a`` minus ``b``, which is evaluated as ``1`` minus ``2``, therefore the sampler will always output ``-1``. .. card:: **Using functions** .. code-block:: yaml type: EXPRESSION functions: addThenDivide: arguments: - a - b - c expression: (a + b) / c expression: addThenDivide(3, 2, 10) The sampler above outputs the results of passing ``3``, ``2``, and ``10`` into the function ``addThenDivide()``. This function evaluation would be ``(3 + 2) / 10``, or ``3 + 2`` = ``5``, then ``5 / 10`` = ``0.5``. Therefore the sampler will always output ``0.5``. .. card:: **Using coordinates** .. code-block:: yaml type: EXPRESSION expression: x + z The sampler above will output the result of adding the ``x`` coordinate and the ``z`` coordinate. For example, if Terra wanted to sample a block where ``x = 4``, and ``z = 2``, that sample would return ``4 + 2`` or ``6`` for that block. .. card:: **Using samplers** .. code-block:: yaml type: EXPRESSION samplers: whiteNoise: dimensions: 2 type: WHITE_NOISE expression: whiteNoise(2, 5) The sampler above will output the result of a 2D `WHITE_NOISE`_ sampler when passed the coordinates ``X = 2`` and ``Z = 5``. .. card:: **Salting samplers** .. code-block:: yaml type: EXPRESSION samplers: whiteNoise: dimensions: 2 type: WHITE_NOISE salt: 2 expression: whiteNoiseSalted(2, 5, 1) The sampler above will output the result of a 2D `WHITE_NOISE`_ sampler when passed the coordinates ``X = 2`` and ``Z = 5`` and ``salt = 3`` (the specified salt is additive to any already configured salt, in this case ``2 + 1 = 3``). The ``Salted`` function is automatically generated for each sampler with the salt added as the last parameter of the sampler call. This also works for samplers contained within other samplers, e.g. nested `EXPRESSION`_ or `DOMAIN_WARP`_ samplers. .. card:: **Combining everything** .. code-block:: yaml type: EXPRESSION variables: someConstant: 3 anotherConstant: 2.5 functions: add: arguments: - a - b expression: a + b samplers: exampleSampler: dimensions: 2 type: WHITE_NOISE expression: | exampleSampler(x * 2, z * 2) + add(someConstant, anotherConstant) The expression sampler above defines: - Two variables ``someConstant`` and ``anotherConstant``, which are ``3`` and ``2.5`` respectively. - A 2 argument function ``exampleFunction()``, that simply adds the two arguments together. - A 2D sampler ``exampleSampler()``. - An expression that: - Evaluates ``exampleSampler()`` using: - ``x`` coordinate multiplied by ``2`` as the X coordinate, and - ``z`` multiplied by ``2`` as the Z coordinate. - Evaluates ``add()`` using: - ``3`` (defined by ``someConstant``) as the ``a`` argument, and - ``2.5`` (defined by ``anotherConstant``) as the ``b`` argument. - Adds the result of ``add()`` or ``5.5`` to the ``exampleSampler()`` evaluation. - Outputs the final result. --------- CHANNEL ------- :superscript:`*Type requires the 'library-image' addon to use` Outputs a channel from a color sampler. .. _object-noisesampler-template-library-image-channel-parameter-color-sampler: :bdg-ref-primary:`color-sampler ` :doc:`/config/documentation/objects/ColorSampler` - The color sampler to extract channel values from. .. _object-noisesampler-template-library-image-channel-parameter-normalize: :bdg-ref-success:`normalize ` :doc:`/config/documentation/objects/Boolean` - If the channel should be normalized to range [-1, 1] or not. Default: ``true`` .. _object-noisesampler-template-library-image-channel-parameter-premultiply: :bdg-ref-success:`premultiply ` :doc:`/config/documentation/objects/Boolean` - Whether to multiply color channels by the alpha channel or not. Default: ``false`` If you are expecting pixel transparency to reduce the output value then this should be set to true. --------- DISTANCE_TRANSFORM ------------------ :superscript:`*Type requires the 'library-image' addon to use` Returns the result of a `distance transform `_ on an image. .. _object-noisesampler-template-library-image-distance_transform-parameter-image: :bdg-ref-primary:`image ` :doc:`/config/documentation/objects/Image` .. _object-noisesampler-template-library-image-distance_transform-parameter-channel: :bdg-ref-success:`channel ` Channel Default: ``GRAYSCALE`` .. _object-noisesampler-template-library-image-distance_transform-parameter-clamp-to-max-edge: :bdg-ref-success:`clamp-to-max-edge ` :doc:`/config/documentation/objects/Boolean` Default: ``false`` .. _object-noisesampler-template-library-image-distance_transform-parameter-cost-function: :bdg-ref-success:`cost-function ` :doc:`/config/documentation/objects/String` Default: ``Channel`` Valid values: - ``Channel`` - ``Threshold`` - ``ThresholdEdge`` - ``ThresholdEdgeSigned`` .. _object-noisesampler-template-library-image-distance_transform-parameter-invert-threshold: :bdg-ref-success:`invert-threshold ` :doc:`/config/documentation/objects/Boolean` Default: ``false`` .. _object-noisesampler-template-library-image-distance_transform-parameter-normalization: :bdg-ref-success:`normalization ` :doc:`/config/documentation/objects/String` Default: ``None`` Valid values: - ``None`` - ``Linear`` - ``SmoothPreserveZero`` .. _object-noisesampler-template-library-image-distance_transform-parameter-threshold: :bdg-ref-success:`threshold ` :doc:`/config/documentation/objects/Integer` Default: ``127`` Uses ==== Used by 45 parameters: - :ref:`In MIN in NoiseSampler `: :bdg-ref-primary:`right ` :doc:`/config/documentation/objects/NoiseSampler` - :ref:`In SET in Extrusion `: :bdg-ref-primary:`sampler ` :doc:`/config/documentation/objects/NoiseSampler` - :ref:`In CELLULAR in NoiseSampler `: :bdg-ref-success:`lookup ` :doc:`/config/documentation/objects/NoiseSampler` - The lookup sampler used when the ``distance`` parameter is set to ``NoiseLookup`` - :ref:`In REPLACE in Stage `: :bdg-ref-primary:`sampler ` :doc:`/config/documentation/objects/NoiseSampler` - The noise sampler used to distribute pipeline biomes. - :ref:`In DIV in NoiseSampler `: :bdg-ref-primary:`left ` :doc:`/config/documentation/objects/NoiseSampler` - :ref:`In SAMPLER in Locator `: :bdg-ref-primary:`samplers ` :doc:`/config/documentation/objects/List`\<:doc:`/config/documentation/objects/NoiseSampler`\> - :ref:`In FBM in NoiseSampler `: :bdg-ref-primary:`sampler ` :doc:`/config/documentation/objects/NoiseSampler` - :ref:`In REPLACE_LIST in Stage `: :bdg-ref-primary:`sampler ` :doc:`/config/documentation/objects/NoiseSampler` - The noise sampler used to distribute pipeline biomes. - :ref:`In EXPRESSION_NORMALIZER in NoiseSampler `: :bdg-ref-primary:`sampler ` :doc:`/config/documentation/objects/NoiseSampler` - :ref:`In REPLACE in Extrusion `: :bdg-ref-primary:`sampler ` :doc:`/config/documentation/objects/NoiseSampler` - :ref:`In LINEAR_HEIGHTMAP in NoiseSampler `: :bdg-ref-success:`sampler ` :doc:`/config/documentation/objects/NoiseSampler` - The sampler to be used as a heightmap. - :ref:`In LINEAR in NoiseSampler `: :bdg-ref-primary:`sampler ` :doc:`/config/documentation/objects/NoiseSampler` - :ref:`In SUB in NoiseSampler `: :bdg-ref-primary:`left ` :doc:`/config/documentation/objects/NoiseSampler` - :ref:`In base in BIOME `: :bdg-ref-primary:`terrain.sampler ` :doc:`/config/documentation/objects/NoiseSampler` - :ref:`In PIPELINE in BiomeProvider `: :bdg-ref-success:`blend.sampler ` :doc:`/config/documentation/objects/NoiseSampler` - A sampler that blends the pixelated effect produced by higher resolutions. - :ref:`In KERNEL in NoiseSampler `: :bdg-ref-primary:`sampler ` :doc:`/config/documentation/objects/NoiseSampler` - :ref:`In SCALE in NoiseSampler `: :bdg-ref-primary:`sampler ` :doc:`/config/documentation/objects/NoiseSampler` - :ref:`In DOMAIN_WARP in NoiseSampler `: :bdg-ref-primary:`sampler ` :doc:`/config/documentation/objects/NoiseSampler` - The sampler to be warped. - :ref:`In BORDER in Stage `: :bdg-ref-primary:`sampler ` :doc:`/config/documentation/objects/NoiseSampler` - The noise sampler used to distribute pipeline biomes. - :ref:`In MAX in NoiseSampler `: :bdg-ref-primary:`left ` :doc:`/config/documentation/objects/NoiseSampler` - :ref:`In MUL in NoiseSampler `: :bdg-ref-primary:`left ` :doc:`/config/documentation/objects/NoiseSampler` - :ref:`In base in BIOME `: :bdg-ref-success:`terrain.sampler-2d ` :doc:`/config/documentation/objects/NoiseSampler` - :ref:`In SUB in NoiseSampler `: :bdg-ref-primary:`right ` :doc:`/config/documentation/objects/NoiseSampler` - :ref:`In CLAMP in NoiseSampler `: :bdg-ref-primary:`sampler ` :doc:`/config/documentation/objects/NoiseSampler` - :ref:`In CUBIC_SPLINE in NoiseSampler `: :bdg-ref-primary:`sampler ` :doc:`/config/documentation/objects/NoiseSampler` - :ref:`In SMOOTH in Stage `: :bdg-ref-primary:`sampler ` :doc:`/config/documentation/objects/NoiseSampler` - Used to randomly determine which pipeline biome should be chosen. - :ref:`In NORMAL in NoiseSampler `: :bdg-ref-primary:`sampler ` :doc:`/config/documentation/objects/NoiseSampler` - :ref:`In SAMPLER in Source `: :bdg-ref-primary:`sampler ` :doc:`/config/documentation/objects/NoiseSampler` - :ref:`In PING_PONG in NoiseSampler `: :bdg-ref-primary:`sampler ` :doc:`/config/documentation/objects/NoiseSampler` - :ref:`In DOMAIN_WARP in NoiseSampler `: :bdg-ref-primary:`warp ` :doc:`/config/documentation/objects/NoiseSampler` - The sampler that determines warping. - :ref:`In ADD in NoiseSampler `: :bdg-ref-primary:`left ` :doc:`/config/documentation/objects/NoiseSampler` - :ref:`In PROBABILITY in NoiseSampler `: :bdg-ref-primary:`sampler ` :doc:`/config/documentation/objects/NoiseSampler` - :ref:`In MUL in NoiseSampler `: :bdg-ref-primary:`right ` :doc:`/config/documentation/objects/NoiseSampler` - :ref:`In BORDER_LIST in Stage `: :bdg-ref-primary:`sampler ` :doc:`/config/documentation/objects/NoiseSampler` - The noise sampler used to distribute pipeline biomes. - :ref:`In ADD in NoiseSampler `: :bdg-ref-primary:`right ` :doc:`/config/documentation/objects/NoiseSampler` - :ref:`In MIN in NoiseSampler `: :bdg-ref-primary:`left ` :doc:`/config/documentation/objects/NoiseSampler` - :ref:`In base in FEATURE `: :bdg-ref-primary:`structures.distribution ` :doc:`/config/documentation/objects/NoiseSampler` - :ref:`In MAX in NoiseSampler `: :bdg-ref-primary:`right ` :doc:`/config/documentation/objects/NoiseSampler` - :ref:`In base in PALETTE `: :bdg-ref-success:`sampler ` :doc:`/config/documentation/objects/NoiseSampler` - :ref:`In RIDGED in NoiseSampler `: :bdg-ref-primary:`sampler ` :doc:`/config/documentation/objects/NoiseSampler` - :ref:`In SAMPLER_3D in Locator `: :bdg-ref-primary:`sampler ` :doc:`/config/documentation/objects/NoiseSampler` - :ref:`In SAMPLER in Distributor `: :bdg-ref-primary:`sampler ` :doc:`/config/documentation/objects/NoiseSampler` - :ref:`In DIV in NoiseSampler `: :bdg-ref-primary:`right ` :doc:`/config/documentation/objects/NoiseSampler` - :ref:`In POSTERIZATION in NoiseSampler `: :bdg-ref-primary:`sampler ` :doc:`/config/documentation/objects/NoiseSampler` - :ref:`In FRACTAL_EXPAND in Stage `: :bdg-ref-primary:`sampler ` :doc:`/config/documentation/objects/NoiseSampler` - Used to randomly determine which pipeline biome should be chosen.