:github_url: hide .. DO NOT EDIT THIS FILE!!! .. Generated automatically from Godot engine sources. .. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py. .. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/Texture2D.xml. .. _class_Texture2D: Texture2D ========= **Inherits:** :ref:`Texture` **<** :ref:`Resource` **<** :ref:`RefCounted` **<** :ref:`Object` **Inherited By:** :ref:`AnimatedTexture`, :ref:`AtlasTexture`, :ref:`CameraTexture`, :ref:`CanvasTexture`, :ref:`CompressedTexture2D`, :ref:`CurveTexture`, :ref:`CurveXYZTexture`, :ref:`GradientTexture1D`, :ref:`GradientTexture2D`, :ref:`ImageTexture`, :ref:`MeshTexture`, :ref:`NoiseTexture`, :ref:`PlaceholderTexture2D`, :ref:`PortableCompressedTexture2D`, :ref:`ProxyTexture`, :ref:`ViewportTexture` Texture for 2D and 3D. Description ----------- A texture works by registering an image in the video hardware, which then can be used in 3D models or 2D :ref:`Sprite2D` or GUI :ref:`Control`. Textures are often created by loading them from a file. See :ref:`@GDScript.load`. \ ``Texture2D`` is a base for other resources. It cannot be used directly. \ **Note:** The maximum texture size is 16384×16384 pixels due to graphics hardware limitations. Larger textures may fail to import. Methods ------- +-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`_draw` **(** :ref:`RID` to_canvas_item, :ref:`Vector2` pos, :ref:`Color` modulate, :ref:`bool` transpose **)** |virtual| |const| | +-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`_draw_rect` **(** :ref:`RID` to_canvas_item, :ref:`Rect2` rect, :ref:`bool` tile, :ref:`Color` modulate, :ref:`bool` transpose **)** |virtual| |const| | +-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`_draw_rect_region` **(** :ref:`RID` tp_canvas_item, :ref:`Rect2` rect, :ref:`Rect2` src_rect, :ref:`Color` modulate, :ref:`bool` transpose, :ref:`bool` clip_uv **)** |virtual| |const| | +-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`_get_height` **(** **)** |virtual| |const| | +-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`_get_width` **(** **)** |virtual| |const| | +-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`_has_alpha` **(** **)** |virtual| |const| | +-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`_is_pixel_opaque` **(** :ref:`int` x, :ref:`int` y **)** |virtual| |const| | +-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`draw` **(** :ref:`RID` canvas_item, :ref:`Vector2` position, :ref:`Color` modulate=Color(1, 1, 1, 1), :ref:`bool` transpose=false **)** |const| | +-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`draw_rect` **(** :ref:`RID` canvas_item, :ref:`Rect2` rect, :ref:`bool` tile, :ref:`Color` modulate=Color(1, 1, 1, 1), :ref:`bool` transpose=false **)** |const| | +-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`draw_rect_region` **(** :ref:`RID` canvas_item, :ref:`Rect2` rect, :ref:`Rect2` src_rect, :ref:`Color` modulate=Color(1, 1, 1, 1), :ref:`bool` transpose=false, :ref:`bool` clip_uv=true **)** |const| | +-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`get_height` **(** **)** |const| | +-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Image` | :ref:`get_image` **(** **)** |const| | +-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Vector2` | :ref:`get_size` **(** **)** |const| | +-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`get_width` **(** **)** |const| | +-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`has_alpha` **(** **)** |const| | +-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ Method Descriptions ------------------- .. _class_Texture2D_method__draw: - void **_draw** **(** :ref:`RID` to_canvas_item, :ref:`Vector2` pos, :ref:`Color` modulate, :ref:`bool` transpose **)** |virtual| |const| ---- .. _class_Texture2D_method__draw_rect: - void **_draw_rect** **(** :ref:`RID` to_canvas_item, :ref:`Rect2` rect, :ref:`bool` tile, :ref:`Color` modulate, :ref:`bool` transpose **)** |virtual| |const| ---- .. _class_Texture2D_method__draw_rect_region: - void **_draw_rect_region** **(** :ref:`RID` tp_canvas_item, :ref:`Rect2` rect, :ref:`Rect2` src_rect, :ref:`Color` modulate, :ref:`bool` transpose, :ref:`bool` clip_uv **)** |virtual| |const| ---- .. _class_Texture2D_method__get_height: - :ref:`int` **_get_height** **(** **)** |virtual| |const| ---- .. _class_Texture2D_method__get_width: - :ref:`int` **_get_width** **(** **)** |virtual| |const| ---- .. _class_Texture2D_method__has_alpha: - :ref:`bool` **_has_alpha** **(** **)** |virtual| |const| ---- .. _class_Texture2D_method__is_pixel_opaque: - :ref:`bool` **_is_pixel_opaque** **(** :ref:`int` x, :ref:`int` y **)** |virtual| |const| ---- .. _class_Texture2D_method_draw: - void **draw** **(** :ref:`RID` canvas_item, :ref:`Vector2` position, :ref:`Color` modulate=Color(1, 1, 1, 1), :ref:`bool` transpose=false **)** |const| Draws the texture using a :ref:`CanvasItem` with the :ref:`RenderingServer` API at the specified ``position``. ---- .. _class_Texture2D_method_draw_rect: - void **draw_rect** **(** :ref:`RID` canvas_item, :ref:`Rect2` rect, :ref:`bool` tile, :ref:`Color` modulate=Color(1, 1, 1, 1), :ref:`bool` transpose=false **)** |const| Draws the texture using a :ref:`CanvasItem` with the :ref:`RenderingServer` API. ---- .. _class_Texture2D_method_draw_rect_region: - void **draw_rect_region** **(** :ref:`RID` canvas_item, :ref:`Rect2` rect, :ref:`Rect2` src_rect, :ref:`Color` modulate=Color(1, 1, 1, 1), :ref:`bool` transpose=false, :ref:`bool` clip_uv=true **)** |const| Draws a part of the texture using a :ref:`CanvasItem` with the :ref:`RenderingServer` API. ---- .. _class_Texture2D_method_get_height: - :ref:`int` **get_height** **(** **)** |const| Returns the texture height. ---- .. _class_Texture2D_method_get_image: - :ref:`Image` **get_image** **(** **)** |const| Returns an :ref:`Image` that is a copy of data from this ``Texture2D`` (a new :ref:`Image` is created each time). :ref:`Image`\ s can be accessed and manipulated directly. \ **Note:** This will fetch the texture data from the GPU, which might cause performance problems when overused. ---- .. _class_Texture2D_method_get_size: - :ref:`Vector2` **get_size** **(** **)** |const| Returns the texture size. ---- .. _class_Texture2D_method_get_width: - :ref:`int` **get_width** **(** **)** |const| Returns the texture width. ---- .. _class_Texture2D_method_has_alpha: - :ref:`bool` **has_alpha** **(** **)** |const| Returns ``true`` if this ``Texture2D`` has an alpha channel. .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)` .. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)` .. |vararg| replace:: :abbr:`vararg (This method accepts any number of arguments after the ones described here.)` .. |constructor| replace:: :abbr:`constructor (This method is used to construct a type.)` .. |static| replace:: :abbr:`static (This method doesn't need an instance to be called, so it can be called directly using the class name.)` .. |operator| replace:: :abbr:`operator (This method describes a valid operator to use with this type as left-hand operand.)`