godot/doc/classes/Texture.xml
Andrii Doroshenko (Xrayez) 2edd489f83 Describe ImageTexture, Image creation and usage
Ported from commit 0ee88d6705.
2020-11-17 18:06:52 +02:00

143 lines
5.5 KiB
XML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?xml version="1.0" encoding="UTF-8" ?>
<class name="Texture" inherits="Resource" version="3.2">
<brief_description>
Texture for 2D and 3D.
</brief_description>
<description>
A texture works by registering an image in the video hardware, which then can be used in 3D models or 2D [Sprite] or GUI [Control].
Textures are often created by loading them from a file. See [method @GDScript.load].
[Texture] is a base for other resources. It cannot be used directly.
[b]Note:[/b] The maximum texture size is 16384×16384 pixels due to graphics hardware limitations. Larger textures may fail to import.
</description>
<tutorials>
</tutorials>
<methods>
<method name="draw" qualifiers="const">
<return type="void">
</return>
<argument index="0" name="canvas_item" type="RID">
</argument>
<argument index="1" name="position" type="Vector2">
</argument>
<argument index="2" name="modulate" type="Color" default="Color( 1, 1, 1, 1 )">
</argument>
<argument index="3" name="transpose" type="bool" default="false">
</argument>
<argument index="4" name="normal_map" type="Texture" default="null">
</argument>
<description>
Draws the texture using a [CanvasItem] with the [VisualServer] API at the specified [code]position[/code]. Equivalent to [method VisualServer.canvas_item_add_texture_rect] with a rect at [code]position[/code] and the size of this [Texture].
</description>
</method>
<method name="draw_rect" qualifiers="const">
<return type="void">
</return>
<argument index="0" name="canvas_item" type="RID">
</argument>
<argument index="1" name="rect" type="Rect2">
</argument>
<argument index="2" name="tile" type="bool">
</argument>
<argument index="3" name="modulate" type="Color" default="Color( 1, 1, 1, 1 )">
</argument>
<argument index="4" name="transpose" type="bool" default="false">
</argument>
<argument index="5" name="normal_map" type="Texture" default="null">
</argument>
<description>
Draws the texture using a [CanvasItem] with the [VisualServer] API. Equivalent to [method VisualServer.canvas_item_add_texture_rect].
</description>
</method>
<method name="draw_rect_region" qualifiers="const">
<return type="void">
</return>
<argument index="0" name="canvas_item" type="RID">
</argument>
<argument index="1" name="rect" type="Rect2">
</argument>
<argument index="2" name="src_rect" type="Rect2">
</argument>
<argument index="3" name="modulate" type="Color" default="Color( 1, 1, 1, 1 )">
</argument>
<argument index="4" name="transpose" type="bool" default="false">
</argument>
<argument index="5" name="normal_map" type="Texture" default="null">
</argument>
<argument index="6" name="clip_uv" type="bool" default="true">
</argument>
<description>
Draws a part of the texture using a [CanvasItem] with the [VisualServer] API. Equivalent to [method VisualServer.canvas_item_add_texture_rect_region].
</description>
</method>
<method name="get_data" qualifiers="const">
<return type="Image">
</return>
<description>
Returns an [Image] that is a copy of data from this [Texture]. [Image]s can be accessed and manipulated directly.
</description>
</method>
<method name="get_height" qualifiers="const">
<return type="int">
</return>
<description>
Returns the texture height.
</description>
</method>
<method name="get_size" qualifiers="const">
<return type="Vector2">
</return>
<description>
Returns the texture size.
</description>
</method>
<method name="get_width" qualifiers="const">
<return type="int">
</return>
<description>
Returns the texture width.
</description>
</method>
<method name="has_alpha" qualifiers="const">
<return type="bool">
</return>
<description>
Returns [code]true[/code] if this [Texture] has an alpha channel.
</description>
</method>
</methods>
<members>
<member name="flags" type="int" setter="set_flags" getter="get_flags" default="4">
The texture's [enum Flags]. [enum Flags] are used to set various properties of the [Texture].
</member>
</members>
<constants>
<constant name="FLAGS_DEFAULT" value="7" enum="Flags">
Default flags. [constant FLAG_MIPMAPS], [constant FLAG_REPEAT] and [constant FLAG_FILTER] are enabled.
</constant>
<constant name="FLAG_MIPMAPS" value="1" enum="Flags">
Generates mipmaps, which are smaller versions of the same texture to use when zoomed out, keeping the aspect ratio.
</constant>
<constant name="FLAG_REPEAT" value="2" enum="Flags">
Repeats the texture (instead of clamp to edge).
[b]Note:[/b] Ignored when using an [AtlasTexture] as these don't support repetition.
</constant>
<constant name="FLAG_FILTER" value="4" enum="Flags">
Uses a magnifying filter, to enable smooth zooming in of the texture.
</constant>
<constant name="FLAG_ANISOTROPIC_FILTER" value="8" enum="Flags">
Uses anisotropic mipmap filtering. Generates smaller versions of the same texture with different aspect ratios.
This results in better-looking textures when viewed from oblique angles.
</constant>
<constant name="FLAG_CONVERT_TO_LINEAR" value="16" enum="Flags">
Converts the texture to the sRGB color space.
</constant>
<constant name="FLAG_MIRRORED_REPEAT" value="32" enum="Flags">
Repeats the texture with alternate sections mirrored.
[b]Note:[/b] Ignored when using an [AtlasTexture] as these don't support repetition.
</constant>
<constant name="FLAG_VIDEO_SURFACE" value="2048" enum="Flags">
Texture is a video surface.
</constant>
</constants>
</class>