virtualx-engine/modules/noise/doc_classes/FastNoiseLite.xml
Rémi Verschelde 81064cc239
Doctool: Remove version attribute from XML header
We don't use that info for anything, and it generates unnecessary diffs
every time we bump the minor version (and CI failures if we forget to
sync some files from opt-in modules (mono, text_server_fb).
2023-07-06 10:08:21 +02:00

163 lines
11 KiB
XML

<?xml version="1.0" encoding="UTF-8" ?>
<class name="FastNoiseLite" inherits="Noise" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../doc/class.xsd">
<brief_description>
Generates noise using the FastNoiseLite library.
</brief_description>
<description>
This class generates noise using the FastNoiseLite library, which is a collection of several noise algorithms including Cellular, Perlin, Value, and more.
Most generated noise values are in the range of [code][-1,1][/code], however not always. Some of the cellular noise algorithms return results above [code]1[/code].
</description>
<tutorials>
</tutorials>
<members>
<member name="cellular_distance_function" type="int" setter="set_cellular_distance_function" getter="get_cellular_distance_function" enum="FastNoiseLite.CellularDistanceFunction" default="0">
Determines how the distance to the nearest/second-nearest point is computed. See [enum CellularDistanceFunction] for options.
</member>
<member name="cellular_jitter" type="float" setter="set_cellular_jitter" getter="get_cellular_jitter" default="0.45">
Maximum distance a point can move off of its grid position. Set to [code]0[/code] for an even grid.
</member>
<member name="cellular_return_type" type="int" setter="set_cellular_return_type" getter="get_cellular_return_type" enum="FastNoiseLite.CellularReturnType" default="1">
Return type from cellular noise calculations. See [enum CellularReturnType].
</member>
<member name="domain_warp_amplitude" type="float" setter="set_domain_warp_amplitude" getter="get_domain_warp_amplitude" default="30.0">
Sets the maximum warp distance from the origin.
</member>
<member name="domain_warp_enabled" type="bool" setter="set_domain_warp_enabled" getter="is_domain_warp_enabled" default="false">
If enabled, another FastNoiseLite instance is used to warp the space, resulting in a distortion of the noise.
</member>
<member name="domain_warp_fractal_gain" type="float" setter="set_domain_warp_fractal_gain" getter="get_domain_warp_fractal_gain" default="0.5">
Determines the strength of each subsequent layer of the noise which is used to warp the space.
A low value places more emphasis on the lower frequency base layers, while a high value puts more emphasis on the higher frequency layers.
</member>
<member name="domain_warp_fractal_lacunarity" type="float" setter="set_domain_warp_fractal_lacunarity" getter="get_domain_warp_fractal_lacunarity" default="6.0">
Octave lacunarity of the fractal noise which warps the space. Increasing this value results in higher octaves producing noise with finer details and a rougher appearance.
</member>
<member name="domain_warp_fractal_octaves" type="int" setter="set_domain_warp_fractal_octaves" getter="get_domain_warp_fractal_octaves" default="5">
The number of noise layers that are sampled to get the final value for the fractal noise which warps the space.
</member>
<member name="domain_warp_fractal_type" type="int" setter="set_domain_warp_fractal_type" getter="get_domain_warp_fractal_type" enum="FastNoiseLite.DomainWarpFractalType" default="1">
The method for combining octaves into a fractal which is used to warp the space. See [enum DomainWarpFractalType].
</member>
<member name="domain_warp_frequency" type="float" setter="set_domain_warp_frequency" getter="get_domain_warp_frequency" default="0.05">
Frequency of the noise which warps the space. Low frequency results in smooth noise while high frequency results in rougher, more granular noise.
</member>
<member name="domain_warp_type" type="int" setter="set_domain_warp_type" getter="get_domain_warp_type" enum="FastNoiseLite.DomainWarpType" default="0">
Sets the warp algorithm. See [enum DomainWarpType].
</member>
<member name="fractal_gain" type="float" setter="set_fractal_gain" getter="get_fractal_gain" default="0.5">
Determines the strength of each subsequent layer of noise in fractal noise.
A low value places more emphasis on the lower frequency base layers, while a high value puts more emphasis on the higher frequency layers.
</member>
<member name="fractal_lacunarity" type="float" setter="set_fractal_lacunarity" getter="get_fractal_lacunarity" default="2.0">
Frequency multiplier between subsequent octaves. Increasing this value results in higher octaves producing noise with finer details and a rougher appearance.
</member>
<member name="fractal_octaves" type="int" setter="set_fractal_octaves" getter="get_fractal_octaves" default="5">
The number of noise layers that are sampled to get the final value for fractal noise types.
</member>
<member name="fractal_ping_pong_strength" type="float" setter="set_fractal_ping_pong_strength" getter="get_fractal_ping_pong_strength" default="2.0">
Sets the strength of the fractal ping pong type.
</member>
<member name="fractal_type" type="int" setter="set_fractal_type" getter="get_fractal_type" enum="FastNoiseLite.FractalType" default="1">
The method for combining octaves into a fractal. See [enum FractalType].
</member>
<member name="fractal_weighted_strength" type="float" setter="set_fractal_weighted_strength" getter="get_fractal_weighted_strength" default="0.0">
Higher weighting means higher octaves have less impact if lower octaves have a large impact.
</member>
<member name="frequency" type="float" setter="set_frequency" getter="get_frequency" default="0.01">
The frequency for all noise types. Low frequency results in smooth noise while high frequency results in rougher, more granular noise.
</member>
<member name="noise_type" type="int" setter="set_noise_type" getter="get_noise_type" enum="FastNoiseLite.NoiseType" default="1">
The noise algorithm used. See [enum NoiseType].
</member>
<member name="offset" type="Vector3" setter="set_offset" getter="get_offset" default="Vector3(0, 0, 0)">
Translate the noise input coordinates by the given [Vector3].
</member>
<member name="seed" type="int" setter="set_seed" getter="get_seed" default="0">
The random number seed for all noise types.
</member>
</members>
<constants>
<constant name="TYPE_VALUE" value="5" enum="NoiseType">
A lattice of points are assigned random values then interpolated based on neighboring values.
</constant>
<constant name="TYPE_VALUE_CUBIC" value="4" enum="NoiseType">
Similar to Value noise, but slower. Has more variance in peaks and valleys.
Cubic noise can be used to avoid certain artifacts when using value noise to create a bumpmap. In general, you should always use this mode if the value noise is being used for a heightmap or bumpmap.
</constant>
<constant name="TYPE_PERLIN" value="3" enum="NoiseType">
A lattice of random gradients. Their dot products are interpolated to obtain values in between the lattices.
</constant>
<constant name="TYPE_CELLULAR" value="2" enum="NoiseType">
Cellular includes both Worley noise and Voronoi diagrams which creates various regions of the same value.
</constant>
<constant name="TYPE_SIMPLEX" value="0" enum="NoiseType">
As opposed to [constant TYPE_PERLIN], gradients exist in a simplex lattice rather than a grid lattice, avoiding directional artifacts.
</constant>
<constant name="TYPE_SIMPLEX_SMOOTH" value="1" enum="NoiseType">
Modified, higher quality version of [constant TYPE_SIMPLEX], but slower.
</constant>
<constant name="FRACTAL_NONE" value="0" enum="FractalType">
No fractal noise.
</constant>
<constant name="FRACTAL_FBM" value="1" enum="FractalType">
Method using Fractional Brownian Motion to combine octaves into a fractal.
</constant>
<constant name="FRACTAL_RIDGED" value="2" enum="FractalType">
Method of combining octaves into a fractal resulting in a "ridged" look.
</constant>
<constant name="FRACTAL_PING_PONG" value="3" enum="FractalType">
Method of combining octaves into a fractal with a ping pong effect.
</constant>
<constant name="DISTANCE_EUCLIDEAN" value="0" enum="CellularDistanceFunction">
Euclidean distance to the nearest point.
</constant>
<constant name="DISTANCE_EUCLIDEAN_SQUARED" value="1" enum="CellularDistanceFunction">
Squared Euclidean distance to the nearest point.
</constant>
<constant name="DISTANCE_MANHATTAN" value="2" enum="CellularDistanceFunction">
Manhattan distance (taxicab metric) to the nearest point.
</constant>
<constant name="DISTANCE_HYBRID" value="3" enum="CellularDistanceFunction">
Blend of [constant DISTANCE_EUCLIDEAN] and [constant DISTANCE_MANHATTAN] to give curved cell boundaries
</constant>
<constant name="RETURN_CELL_VALUE" value="0" enum="CellularReturnType">
The cellular distance function will return the same value for all points within a cell.
</constant>
<constant name="RETURN_DISTANCE" value="1" enum="CellularReturnType">
The cellular distance function will return a value determined by the distance to the nearest point.
</constant>
<constant name="RETURN_DISTANCE2" value="2" enum="CellularReturnType">
The cellular distance function returns the distance to the second-nearest point.
</constant>
<constant name="RETURN_DISTANCE2_ADD" value="3" enum="CellularReturnType">
The distance to the nearest point is added to the distance to the second-nearest point.
</constant>
<constant name="RETURN_DISTANCE2_SUB" value="4" enum="CellularReturnType">
The distance to the nearest point is subtracted from the distance to the second-nearest point.
</constant>
<constant name="RETURN_DISTANCE2_MUL" value="5" enum="CellularReturnType">
The distance to the nearest point is multiplied with the distance to the second-nearest point.
</constant>
<constant name="RETURN_DISTANCE2_DIV" value="6" enum="CellularReturnType">
The distance to the nearest point is divided by the distance to the second-nearest point.
</constant>
<constant name="DOMAIN_WARP_SIMPLEX" value="0" enum="DomainWarpType">
The domain is warped using the simplex noise algorithm.
</constant>
<constant name="DOMAIN_WARP_SIMPLEX_REDUCED" value="1" enum="DomainWarpType">
The domain is warped using a simplified version of the simplex noise algorithm.
</constant>
<constant name="DOMAIN_WARP_BASIC_GRID" value="2" enum="DomainWarpType">
The domain is warped using a simple noise grid (not as smooth as the other methods, but more performant).
</constant>
<constant name="DOMAIN_WARP_FRACTAL_NONE" value="0" enum="DomainWarpFractalType">
No fractal noise for warping the space.
</constant>
<constant name="DOMAIN_WARP_FRACTAL_PROGRESSIVE" value="1" enum="DomainWarpFractalType">
Warping the space progressively, octave for octave, resulting in a more "liquified" distortion.
</constant>
<constant name="DOMAIN_WARP_FRACTAL_INDEPENDENT" value="2" enum="DomainWarpFractalType">
Warping the space independently for each octave, resulting in a more chaotic distortion.
</constant>
</constants>
</class>