summaryrefslogtreecommitdiff
path: root/modules/opensimplex/doc_classes/OpenSimplexNoise.xml
blob: b5bc35df6910a1cd7ec6efb62e5381222de90b61 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
<?xml version="1.0" encoding="UTF-8" ?>
<class name="OpenSimplexNoise" inherits="Resource" category="Core" version="3.2">
	<brief_description>
		Noise generator based on Open Simplex.
	</brief_description>
	<description>
		This resource allows you to configure and sample a fractal noise space. Here is a brief usage example that configures an OpenSimplexNoise and gets samples at various positions and dimensions:
		[codeblock]
		var noise = OpenSimplexNoise.new()

		# Configure
		noise.seed = randi()
		noise.octaves = 4
		noise.period = 20.0
		noise.persistence = 0.8

		# Sample
		print("Values:")
		print(noise.get_noise_2d(1.0, 1.0))
		print(noise.get_noise_3d(0.5, 3.0, 15.0))
		print(noise.get_noise_4d(0.5, 1.9, 4.7, 0.0))
		[/codeblock]
	</description>
	<tutorials>
	</tutorials>
	<demos>
	</demos>
	<methods>
		<method name="get_image">
			<return type="Image">
			</return>
			<argument index="0" name="width" type="int">
			</argument>
			<argument index="1" name="height" type="int">
			</argument>
			<description>
				Generate a noise image with the requested [code]width[/code] and [code]height[/code], based on the current noise parameters.
			</description>
		</method>
		<method name="get_noise_2d">
			<return type="float">
			</return>
			<argument index="0" name="x" type="float">
			</argument>
			<argument index="1" name="y" type="float">
			</argument>
			<description>
				Returns the 2D noise value [code][-1,1][/code] at the given position.
			</description>
		</method>
		<method name="get_noise_2dv">
			<return type="float">
			</return>
			<argument index="0" name="pos" type="Vector2">
			</argument>
			<description>
				Returns the 2D noise value [code][-1,1][/code] at the given position.
			</description>
		</method>
		<method name="get_noise_3d">
			<return type="float">
			</return>
			<argument index="0" name="x" type="float">
			</argument>
			<argument index="1" name="y" type="float">
			</argument>
			<argument index="2" name="z" type="float">
			</argument>
			<description>
				Returns the 3D noise value [code][-1,1][/code] at the given position.
			</description>
		</method>
		<method name="get_noise_3dv">
			<return type="float">
			</return>
			<argument index="0" name="pos" type="Vector3">
			</argument>
			<description>
				Returns the 3D noise value [code][-1,1][/code] at the given position.
			</description>
		</method>
		<method name="get_noise_4d">
			<return type="float">
			</return>
			<argument index="0" name="x" type="float">
			</argument>
			<argument index="1" name="y" type="float">
			</argument>
			<argument index="2" name="z" type="float">
			</argument>
			<argument index="3" name="w" type="float">
			</argument>
			<description>
				Returns the 4D noise value [code][-1,1][/code] at the given position.
			</description>
		</method>
		<method name="get_seamless_image">
			<return type="Image">
			</return>
			<argument index="0" name="size" type="int">
			</argument>
			<description>
				Generate a tileable noise image, based on the current noise parameters. Generated seamless images are always square ([code]size[/code] x [code]size[/code]).
			</description>
		</method>
	</methods>
	<members>
		<member name="lacunarity" type="float" setter="set_lacunarity" getter="get_lacunarity">
			Difference in period between [member octaves].
		</member>
		<member name="octaves" type="int" setter="set_octaves" getter="get_octaves">
			Number of OpenSimplex noise layers that are sampled to get the fractal noise.
		</member>
		<member name="period" type="float" setter="set_period" getter="get_period">
			Period of the base octave. A lower period results in a higher-frequency noise (more value changes across the same distance).
		</member>
		<member name="persistence" type="float" setter="set_persistence" getter="get_persistence">
			Contribution factor of the different octaves. A [code]persistence[/code] value of 1 means all the octaves have the same contribution, a value of 0.5 means each octave contributes half as much as the previous one.
		</member>
		<member name="seed" type="int" setter="set_seed" getter="get_seed">
			Seed used to generate random values, different seeds will generate different noise maps.
		</member>
	</members>
	<constants>
	</constants>
</class>