class_texture.rst 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165
  1. :github_url: hide
  2. .. Generated automatically by doc/tools/makerst.py in Godot's source tree.
  3. .. DO NOT EDIT THIS FILE, but the Texture.xml source instead.
  4. .. The source is found in doc/classes or modules/<name>/doc_classes.
  5. .. _class_Texture:
  6. Texture
  7. =======
  8. **Inherits:** :ref:`Resource<class_Resource>` **<** :ref:`Reference<class_Reference>` **<** :ref:`Object<class_Object>`
  9. **Inherited By:** :ref:`AnimatedTexture<class_AnimatedTexture>`, :ref:`AtlasTexture<class_AtlasTexture>`, :ref:`CameraTexture<class_CameraTexture>`, :ref:`CurveTexture<class_CurveTexture>`, :ref:`GradientTexture<class_GradientTexture>`, :ref:`ImageTexture<class_ImageTexture>`, :ref:`LargeTexture<class_LargeTexture>`, :ref:`MeshTexture<class_MeshTexture>`, :ref:`NoiseTexture<class_NoiseTexture>`, :ref:`ProxyTexture<class_ProxyTexture>`, :ref:`StreamTexture<class_StreamTexture>`, :ref:`ViewportTexture<class_ViewportTexture>`
  10. Texture for 2D and 3D.
  11. Description
  12. -----------
  13. A texture works by registering an image in the video hardware, which then can be used in 3D models or 2D :ref:`Sprite<class_Sprite>` or GUI :ref:`Control<class_Control>`.
  14. Textures are often created by loading them from a file. See :ref:`@GDScript.load<class_@GDScript_method_load>`.
  15. Properties
  16. ----------
  17. +-----------------------+--------------------------------------------+-------+
  18. | :ref:`int<class_int>` | :ref:`flags<class_Texture_property_flags>` | ``4`` |
  19. +-----------------------+--------------------------------------------+-------+
  20. Methods
  21. -------
  22. +-------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  23. | void | :ref:`draw<class_Texture_method_draw>` **(** :ref:`RID<class_RID>` canvas_item, :ref:`Vector2<class_Vector2>` position, :ref:`Color<class_Color>` modulate=Color( 1, 1, 1, 1 ), :ref:`bool<class_bool>` transpose=false, :ref:`Texture<class_Texture>` normal_map=null **)** const |
  24. +-------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  25. | void | :ref:`draw_rect<class_Texture_method_draw_rect>` **(** :ref:`RID<class_RID>` canvas_item, :ref:`Rect2<class_Rect2>` rect, :ref:`bool<class_bool>` tile, :ref:`Color<class_Color>` modulate=Color( 1, 1, 1, 1 ), :ref:`bool<class_bool>` transpose=false, :ref:`Texture<class_Texture>` normal_map=null **)** const |
  26. +-------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  27. | void | :ref:`draw_rect_region<class_Texture_method_draw_rect_region>` **(** :ref:`RID<class_RID>` canvas_item, :ref:`Rect2<class_Rect2>` rect, :ref:`Rect2<class_Rect2>` src_rect, :ref:`Color<class_Color>` modulate=Color( 1, 1, 1, 1 ), :ref:`bool<class_bool>` transpose=false, :ref:`Texture<class_Texture>` normal_map=null, :ref:`bool<class_bool>` clip_uv=true **)** const |
  28. +-------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  29. | :ref:`Image<class_Image>` | :ref:`get_data<class_Texture_method_get_data>` **(** **)** const |
  30. +-------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  31. | :ref:`int<class_int>` | :ref:`get_height<class_Texture_method_get_height>` **(** **)** const |
  32. +-------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  33. | :ref:`Vector2<class_Vector2>` | :ref:`get_size<class_Texture_method_get_size>` **(** **)** const |
  34. +-------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  35. | :ref:`int<class_int>` | :ref:`get_width<class_Texture_method_get_width>` **(** **)** const |
  36. +-------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  37. | :ref:`bool<class_bool>` | :ref:`has_alpha<class_Texture_method_has_alpha>` **(** **)** const |
  38. +-------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  39. Enumerations
  40. ------------
  41. .. _enum_Texture_Flags:
  42. .. _class_Texture_constant_FLAGS_DEFAULT:
  43. .. _class_Texture_constant_FLAG_MIPMAPS:
  44. .. _class_Texture_constant_FLAG_REPEAT:
  45. .. _class_Texture_constant_FLAG_FILTER:
  46. .. _class_Texture_constant_FLAG_ANISOTROPIC_FILTER:
  47. .. _class_Texture_constant_FLAG_CONVERT_TO_LINEAR:
  48. .. _class_Texture_constant_FLAG_MIRRORED_REPEAT:
  49. .. _class_Texture_constant_FLAG_VIDEO_SURFACE:
  50. enum **Flags**:
  51. - **FLAGS_DEFAULT** = **7** --- Default flags. :ref:`FLAG_MIPMAPS<class_Texture_constant_FLAG_MIPMAPS>`, :ref:`FLAG_REPEAT<class_Texture_constant_FLAG_REPEAT>` and :ref:`FLAG_FILTER<class_Texture_constant_FLAG_FILTER>` are enabled.
  52. - **FLAG_MIPMAPS** = **1** --- Generates mipmaps, which are smaller versions of the same texture to use when zoomed out, keeping the aspect ratio.
  53. - **FLAG_REPEAT** = **2** --- Repeats the texture (instead of clamp to edge).
  54. - **FLAG_FILTER** = **4** --- Uses a magnifying filter, to enable smooth zooming in of the texture.
  55. - **FLAG_ANISOTROPIC_FILTER** = **8** --- Uses anisotropic mipmap filtering. Generates smaller versions of the same texture with different aspect ratios.
  56. This results in better-looking textures when viewed from oblique angles.
  57. - **FLAG_CONVERT_TO_LINEAR** = **16** --- Converts the texture to the sRGB color space.
  58. - **FLAG_MIRRORED_REPEAT** = **32** --- Repeats the texture with alternate sections mirrored.
  59. - **FLAG_VIDEO_SURFACE** = **2048** --- Texture is a video surface.
  60. Property Descriptions
  61. ---------------------
  62. .. _class_Texture_property_flags:
  63. - :ref:`int<class_int>` **flags**
  64. +-----------+------------------+
  65. | *Default* | ``4`` |
  66. +-----------+------------------+
  67. | *Setter* | set_flags(value) |
  68. +-----------+------------------+
  69. | *Getter* | get_flags() |
  70. +-----------+------------------+
  71. The texture's flags.
  72. Method Descriptions
  73. -------------------
  74. .. _class_Texture_method_draw:
  75. - void **draw** **(** :ref:`RID<class_RID>` canvas_item, :ref:`Vector2<class_Vector2>` position, :ref:`Color<class_Color>` modulate=Color( 1, 1, 1, 1 ), :ref:`bool<class_bool>` transpose=false, :ref:`Texture<class_Texture>` normal_map=null **)** const
  76. ----
  77. .. _class_Texture_method_draw_rect:
  78. - void **draw_rect** **(** :ref:`RID<class_RID>` canvas_item, :ref:`Rect2<class_Rect2>` rect, :ref:`bool<class_bool>` tile, :ref:`Color<class_Color>` modulate=Color( 1, 1, 1, 1 ), :ref:`bool<class_bool>` transpose=false, :ref:`Texture<class_Texture>` normal_map=null **)** const
  79. ----
  80. .. _class_Texture_method_draw_rect_region:
  81. - void **draw_rect_region** **(** :ref:`RID<class_RID>` canvas_item, :ref:`Rect2<class_Rect2>` rect, :ref:`Rect2<class_Rect2>` src_rect, :ref:`Color<class_Color>` modulate=Color( 1, 1, 1, 1 ), :ref:`bool<class_bool>` transpose=false, :ref:`Texture<class_Texture>` normal_map=null, :ref:`bool<class_bool>` clip_uv=true **)** const
  82. ----
  83. .. _class_Texture_method_get_data:
  84. - :ref:`Image<class_Image>` **get_data** **(** **)** const
  85. ----
  86. .. _class_Texture_method_get_height:
  87. - :ref:`int<class_int>` **get_height** **(** **)** const
  88. Returns the texture height.
  89. ----
  90. .. _class_Texture_method_get_size:
  91. - :ref:`Vector2<class_Vector2>` **get_size** **(** **)** const
  92. Returns the texture size.
  93. ----
  94. .. _class_Texture_method_get_width:
  95. - :ref:`int<class_int>` **get_width** **(** **)** const
  96. Returns the texture width.
  97. ----
  98. .. _class_Texture_method_has_alpha:
  99. - :ref:`bool<class_bool>` **has_alpha** **(** **)** const