virtualx-engine/modules/noise/doc_classes/FastNoiseLite.xml
2022-04-19 19:49:48 +02:00

163 lines
11 KiB
XML

<?xml version="1.0" encoding="UTF-8" ?>
<class name="FastNoiseLite" inherits="Noise" version="4.0" 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>