<?xml version="1.0" encoding="UTF-8" ?>
<class name="NoiseTexture" inherits="Texture" version="4.2">
	<brief_description>
		[OpenSimplexNoise] filled texture.
	</brief_description>
	<description>
		Uses an [OpenSimplexNoise] to fill the texture data. You can specify the texture size but keep in mind that larger textures will take longer to generate and seamless noise only works with square sized textures.
		NoiseTexture can also generate normalmap textures.
		The class uses [Thread]s to generate the texture data internally, so [method Texture.get_data] may return [code]null[/code] if the generation process has not completed yet. In that case, you need to wait for the texture to be generated before accessing the data:
		[codeblock]
		var texture = preload("res://noise.tres")
		yield(texture, "changed")
		var image = texture.get_data()
		[/codeblock]
	</description>
	<tutorials>
	</tutorials>
	<methods>
	</methods>
	<members>
		<member name="as_normalmap" type="bool" setter="set_as_normalmap" getter="is_normalmap" default="false">
			If [code]true[/code], the resulting texture contains a normal map created from the original noise interpreted as a bump map.
		</member>
		<member name="bump_strength" type="float" setter="set_bump_strength" getter="get_bump_strength" default="8.0">
			Strength of the bump maps used in this texture. A higher value will make the bump maps appear larger while a lower value will make them appear softer.
		</member>
		<member name="flags" type="int" setter="set_flags" getter="get_flags" overrides="Texture" default="7" />
		<member name="height" type="int" setter="set_height" getter="get_height" default="512">
			Height of the generated texture.
		</member>
		<member name="noise" type="OpenSimplexNoise" setter="set_noise" getter="get_noise">
			The [OpenSimplexNoise] instance used to generate the noise.
		</member>
		<member name="noise_offset" type="Vector2" setter="set_noise_offset" getter="get_noise_offset" default="Vector2( 0, 0 )">
			An offset used to specify the noise space coordinate of the top left corner of the generated noise. This value is ignored if [member seamless] is enabled.
		</member>
		<member name="resource_local_to_scene" type="bool" setter="set_local_to_scene" getter="is_local_to_scene" overrides="Resource" default="false" />
		<member name="seamless" type="bool" setter="set_seamless" getter="get_seamless" default="false">
			Whether the texture can be tiled without visible seams or not. Seamless textures take longer to generate.
			[b]Note:[/b] Seamless noise has a lower contrast compared to non-seamless noise. This is due to the way noise uses higher dimensions for generating seamless noise.
		</member>
		<member name="width" type="int" setter="set_width" getter="get_width" default="512">
			Width of the generated texture.
		</member>
	</members>
	<constants>
	</constants>
</class>
