<?xml version="1.0" encoding="UTF-8" ?>
<class name="SpriteBase3D" inherits="GeometryInstance" version="3.5">
	<brief_description>
		2D sprite node in 3D environment.
	</brief_description>
	<description>
		A node that displays 2D texture information in a 3D environment.
	</description>
	<tutorials>
	</tutorials>
	<methods>
		<method name="generate_triangle_mesh" qualifiers="const">
			<return type="TriangleMesh" />
			<description>
			</description>
		</method>
		<method name="get_draw_flag" qualifiers="const">
			<return type="bool" />
			<argument index="0" name="flag" type="int" enum="SpriteBase3D.DrawFlags" />
			<description>
				Returns the value of the specified flag.
			</description>
		</method>
		<method name="get_item_rect" qualifiers="const">
			<return type="Rect2" />
			<description>
				Returns the rectangle representing this sprite.
			</description>
		</method>
		<method name="set_draw_flag">
			<return type="void" />
			<argument index="0" name="flag" type="int" enum="SpriteBase3D.DrawFlags" />
			<argument index="1" name="enabled" type="bool" />
			<description>
				If [code]true[/code], the specified flag will be enabled.
			</description>
		</method>
	</methods>
	<members>
		<member name="alpha_cut" type="int" setter="set_alpha_cut_mode" getter="get_alpha_cut_mode" enum="SpriteBase3D.AlphaCutMode" default="0">
		</member>
		<member name="axis" type="int" setter="set_axis" getter="get_axis" enum="Vector3.Axis" default="2">
			The direction in which the front of the texture faces.
		</member>
		<member name="billboard" type="int" setter="set_billboard_mode" getter="get_billboard_mode" enum="SpatialMaterial.BillboardMode" default="0">
		</member>
		<member name="centered" type="bool" setter="set_centered" getter="is_centered" default="true">
			If [code]true[/code], texture will be centered.
		</member>
		<member name="double_sided" type="bool" setter="set_draw_flag" getter="get_draw_flag" default="true">
			If [code]true[/code], texture can be seen from the back as well, if [code]false[/code], it is invisible when looking at it from behind.
		</member>
		<member name="flip_h" type="bool" setter="set_flip_h" getter="is_flipped_h" default="false">
			If [code]true[/code], texture is flipped horizontally.
		</member>
		<member name="flip_v" type="bool" setter="set_flip_v" getter="is_flipped_v" default="false">
			If [code]true[/code], texture is flipped vertically.
		</member>
		<member name="modulate" type="Color" setter="set_modulate" getter="get_modulate" default="Color( 1, 1, 1, 1 )">
			A color value used to [i]multiply[/i] the texture's colors. Can be used for mood-coloring or to simulate the color of light.
			[b]Note:[/b] If a [member GeometryInstance.material_override] is defined on the [SpriteBase3D], the material override must be configured to take vertex colors into account for albedo. Otherwise, the color defined in [member modulate] will be ignored. For a [SpatialMaterial], [member SpatialMaterial.vertex_color_use_as_albedo] must be [code]true[/code]. For a [ShaderMaterial], [code]ALBEDO *= COLOR.rgb;[/code] must be inserted in the shader's [code]fragment()[/code] function.
		</member>
		<member name="offset" type="Vector2" setter="set_offset" getter="get_offset" default="Vector2( 0, 0 )">
			The texture's drawing offset.
		</member>
		<member name="opacity" type="float" setter="set_opacity" getter="get_opacity" default="1.0">
			The texture's visibility on a scale from [code]0[/code] (fully invisible) to [code]1[/code] (fully visible). [member opacity] is a multiplier for the [member modulate] color's alpha channel.
			[b]Note:[/b] If a [member GeometryInstance.material_override] is defined on the [SpriteBase3D], the material override must be configured to take vertex colors into account for albedo. Otherwise, the opacity defined in [member opacity] will be ignored. For a [SpatialMaterial], [member SpatialMaterial.vertex_color_use_as_albedo] must be [code]true[/code]. For a [ShaderMaterial], [code]ALPHA *= COLOR.a;[/code] must be inserted in the shader's [code]fragment()[/code] function.
		</member>
		<member name="pixel_size" type="float" setter="set_pixel_size" getter="get_pixel_size" default="0.01">
			The size of one pixel's width on the sprite to scale it in 3D.
		</member>
		<member name="portal_mode" type="int" setter="set_portal_mode" getter="get_portal_mode" overrides="CullInstance" enum="CullInstance.PortalMode" default="0" />
		<member name="shaded" type="bool" setter="set_draw_flag" getter="get_draw_flag" default="false">
			If [code]true[/code], the [Light] in the [Environment] has effects on the sprite.
		</member>
		<member name="transparent" type="bool" setter="set_draw_flag" getter="get_draw_flag" default="true">
			If [code]true[/code], the texture's transparency and the opacity are used to make those parts of the sprite invisible.
		</member>
	</members>
	<constants>
		<constant name="FLAG_TRANSPARENT" value="0" enum="DrawFlags">
			If set, the texture's transparency and the opacity are used to make those parts of the sprite invisible.
		</constant>
		<constant name="FLAG_SHADED" value="1" enum="DrawFlags">
			If set, lights in the environment affect the sprite.
		</constant>
		<constant name="FLAG_DOUBLE_SIDED" value="2" enum="DrawFlags">
			If set, texture can be seen from the back as well, if not, it is invisible when looking at it from behind.
		</constant>
		<constant name="FLAG_MAX" value="3" enum="DrawFlags">
			Represents the size of the [enum DrawFlags] enum.
		</constant>
		<constant name="ALPHA_CUT_DISABLED" value="0" enum="AlphaCutMode">
		</constant>
		<constant name="ALPHA_CUT_DISCARD" value="1" enum="AlphaCutMode">
		</constant>
		<constant name="ALPHA_CUT_OPAQUE_PREPASS" value="2" enum="AlphaCutMode">
		</constant>
	</constants>
</class>