Texture

Inherits: Resource < Reference < Object

Inherited By: AnimatedTexture, AtlasTexture, CameraTexture, CurveTexture, ExternalTexture, GradientTexture, GradientTexture2D, ImageTexture, LargeTexture, MeshTexture, NoiseTexture, ProxyTexture, StreamTexture, 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 Sprite or GUI Control.

Textures are often created by loading them from a file. See @GDScript.load.

Texture 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.

Properties

int

flags

4

Methods

void

draw ( RID canvas_item, Vector2 position, Color modulate=Color( 1, 1, 1, 1 ), bool transpose=false, Texture normal_map=null ) const

void

draw_rect ( RID canvas_item, Rect2 rect, bool tile, Color modulate=Color( 1, 1, 1, 1 ), bool transpose=false, Texture normal_map=null ) const

void

draw_rect_region ( RID canvas_item, Rect2 rect, Rect2 src_rect, Color modulate=Color( 1, 1, 1, 1 ), bool transpose=false, Texture normal_map=null, bool clip_uv=true ) const

Image

get_data ( ) const

int

get_height ( ) const

Vector2

get_size ( ) const

int

get_width ( ) const

bool

has_alpha ( ) const


Enumerations

enum Flags:

Flags FLAGS_DEFAULT = 7

Default flags. FLAG_MIPMAPS, FLAG_REPEAT and FLAG_FILTER are enabled.

Flags FLAG_MIPMAPS = 1

Generates mipmaps, which are smaller versions of the same texture to use when zoomed out, keeping the aspect ratio.

Flags FLAG_REPEAT = 2

Repeats the texture (instead of clamp to edge).

Note: Ignored when using an AtlasTexture as these don't support repetition.

Flags FLAG_FILTER = 4

Uses a magnifying filter, to enable smooth zooming in of the texture.

Flags FLAG_ANISOTROPIC_FILTER = 8

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.

Flags FLAG_CONVERT_TO_LINEAR = 16

Converts the texture to the sRGB color space.

Flags FLAG_MIRRORED_REPEAT = 32

Repeats the texture with alternate sections mirrored.

Note: Ignored when using an AtlasTexture as these don't support repetition.

Flags FLAG_VIDEO_SURFACE = 2048

Texture is a video surface.


Property Descriptions

int flags = 4

  • void set_flags ( int value )

  • int get_flags ( )

The texture's Flags. Flags are used to set various properties of the Texture.


Method Descriptions

void draw ( RID canvas_item, Vector2 position, Color modulate=Color( 1, 1, 1, 1 ), bool transpose=false, Texture normal_map=null ) const

Draws the texture using a CanvasItem with the VisualServer API at the specified position. Equivalent to VisualServer.canvas_item_add_texture_rect with a rect at position and the size of this Texture.


void draw_rect ( RID canvas_item, Rect2 rect, bool tile, Color modulate=Color( 1, 1, 1, 1 ), bool transpose=false, Texture normal_map=null ) const

Draws the texture using a CanvasItem with the VisualServer API. Equivalent to VisualServer.canvas_item_add_texture_rect.


void draw_rect_region ( RID canvas_item, Rect2 rect, Rect2 src_rect, Color modulate=Color( 1, 1, 1, 1 ), bool transpose=false, Texture normal_map=null, bool clip_uv=true ) const

Draws a part of the texture using a CanvasItem with the VisualServer API. Equivalent to VisualServer.canvas_item_add_texture_rect_region.


Image get_data ( ) const

Returns an Image that is a copy of data from this Texture. Images can be accessed and manipulated directly.


int get_height ( ) const

Returns the texture height.


Vector2 get_size ( ) const

Returns the texture size.


int get_width ( ) const

Returns the texture width.


bool has_alpha ( ) const

Returns true if this Texture has an alpha channel.