class_portablecompressedtexture2d.rst 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304
  1. :github_url: hide
  2. .. DO NOT EDIT THIS FILE!!!
  3. .. Generated automatically from Godot engine sources.
  4. .. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py.
  5. .. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/PortableCompressedTexture2D.xml.
  6. .. _class_PortableCompressedTexture2D:
  7. PortableCompressedTexture2D
  8. ===========================
  9. **Inherits:** :ref:`Texture2D<class_Texture2D>` **<** :ref:`Texture<class_Texture>` **<** :ref:`Resource<class_Resource>` **<** :ref:`RefCounted<class_RefCounted>` **<** :ref:`Object<class_Object>`
  10. Provides a compressed texture for disk and/or VRAM in a way that is portable.
  11. .. rst-class:: classref-introduction-group
  12. Description
  13. -----------
  14. This class allows storing compressed textures as self contained (not imported) resources.
  15. For 2D usage (compressed on disk, uncompressed on VRAM), the lossy and lossless modes are recommended. For 3D usage (compressed on VRAM) it depends on the target platform.
  16. If you intend to only use desktop, S3TC or BPTC are recommended. For only mobile, ETC2 is recommended.
  17. For portable, self contained 3D textures that work on both desktop and mobile, Basis Universal is recommended (although it has a small quality cost and longer compression time as a tradeoff).
  18. This resource is intended to be created from code.
  19. .. rst-class:: classref-reftable-group
  20. Properties
  21. ----------
  22. .. table::
  23. :widths: auto
  24. +-------------------------------+--------------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------+
  25. | :ref:`bool<class_bool>` | :ref:`keep_compressed_buffer<class_PortableCompressedTexture2D_property_keep_compressed_buffer>` | ``false`` |
  26. +-------------------------------+--------------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------+
  27. | :ref:`bool<class_bool>` | resource_local_to_scene | ``false`` (overrides :ref:`Resource<class_Resource_property_resource_local_to_scene>`) |
  28. +-------------------------------+--------------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------+
  29. | :ref:`Vector2<class_Vector2>` | :ref:`size_override<class_PortableCompressedTexture2D_property_size_override>` | ``Vector2(0, 0)`` |
  30. +-------------------------------+--------------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------+
  31. .. rst-class:: classref-reftable-group
  32. Methods
  33. -------
  34. .. table::
  35. :widths: auto
  36. +--------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  37. | |void| | :ref:`create_from_image<class_PortableCompressedTexture2D_method_create_from_image>`\ (\ image\: :ref:`Image<class_Image>`, compression_mode\: :ref:`CompressionMode<enum_PortableCompressedTexture2D_CompressionMode>`, normal_map\: :ref:`bool<class_bool>` = false, lossy_quality\: :ref:`float<class_float>` = 0.8\ ) |
  38. +--------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  39. | :ref:`CompressionMode<enum_PortableCompressedTexture2D_CompressionMode>` | :ref:`get_compression_mode<class_PortableCompressedTexture2D_method_get_compression_mode>`\ (\ ) |const| |
  40. +--------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  41. | :ref:`Format<enum_Image_Format>` | :ref:`get_format<class_PortableCompressedTexture2D_method_get_format>`\ (\ ) |const| |
  42. +--------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  43. | :ref:`bool<class_bool>` | :ref:`is_keeping_all_compressed_buffers<class_PortableCompressedTexture2D_method_is_keeping_all_compressed_buffers>`\ (\ ) |static| |
  44. +--------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  45. | |void| | :ref:`set_basisu_compressor_params<class_PortableCompressedTexture2D_method_set_basisu_compressor_params>`\ (\ uastc_level\: :ref:`int<class_int>`, rdo_quality_loss\: :ref:`float<class_float>`\ ) |
  46. +--------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  47. | |void| | :ref:`set_keep_all_compressed_buffers<class_PortableCompressedTexture2D_method_set_keep_all_compressed_buffers>`\ (\ keep\: :ref:`bool<class_bool>`\ ) |static| |
  48. +--------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  49. .. rst-class:: classref-section-separator
  50. ----
  51. .. rst-class:: classref-descriptions-group
  52. Enumerations
  53. ------------
  54. .. _enum_PortableCompressedTexture2D_CompressionMode:
  55. .. rst-class:: classref-enumeration
  56. enum **CompressionMode**: :ref:`🔗<enum_PortableCompressedTexture2D_CompressionMode>`
  57. .. _class_PortableCompressedTexture2D_constant_COMPRESSION_MODE_LOSSLESS:
  58. .. rst-class:: classref-enumeration-constant
  59. :ref:`CompressionMode<enum_PortableCompressedTexture2D_CompressionMode>` **COMPRESSION_MODE_LOSSLESS** = ``0``
  60. .. container:: contribute
  61. There is currently no description for this enum. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
  62. .. _class_PortableCompressedTexture2D_constant_COMPRESSION_MODE_LOSSY:
  63. .. rst-class:: classref-enumeration-constant
  64. :ref:`CompressionMode<enum_PortableCompressedTexture2D_CompressionMode>` **COMPRESSION_MODE_LOSSY** = ``1``
  65. .. container:: contribute
  66. There is currently no description for this enum. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
  67. .. _class_PortableCompressedTexture2D_constant_COMPRESSION_MODE_BASIS_UNIVERSAL:
  68. .. rst-class:: classref-enumeration-constant
  69. :ref:`CompressionMode<enum_PortableCompressedTexture2D_CompressionMode>` **COMPRESSION_MODE_BASIS_UNIVERSAL** = ``2``
  70. .. container:: contribute
  71. There is currently no description for this enum. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
  72. .. _class_PortableCompressedTexture2D_constant_COMPRESSION_MODE_S3TC:
  73. .. rst-class:: classref-enumeration-constant
  74. :ref:`CompressionMode<enum_PortableCompressedTexture2D_CompressionMode>` **COMPRESSION_MODE_S3TC** = ``3``
  75. .. container:: contribute
  76. There is currently no description for this enum. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
  77. .. _class_PortableCompressedTexture2D_constant_COMPRESSION_MODE_ETC2:
  78. .. rst-class:: classref-enumeration-constant
  79. :ref:`CompressionMode<enum_PortableCompressedTexture2D_CompressionMode>` **COMPRESSION_MODE_ETC2** = ``4``
  80. .. container:: contribute
  81. There is currently no description for this enum. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
  82. .. _class_PortableCompressedTexture2D_constant_COMPRESSION_MODE_BPTC:
  83. .. rst-class:: classref-enumeration-constant
  84. :ref:`CompressionMode<enum_PortableCompressedTexture2D_CompressionMode>` **COMPRESSION_MODE_BPTC** = ``5``
  85. .. container:: contribute
  86. There is currently no description for this enum. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
  87. .. _class_PortableCompressedTexture2D_constant_COMPRESSION_MODE_ASTC:
  88. .. rst-class:: classref-enumeration-constant
  89. :ref:`CompressionMode<enum_PortableCompressedTexture2D_CompressionMode>` **COMPRESSION_MODE_ASTC** = ``6``
  90. .. container:: contribute
  91. There is currently no description for this enum. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
  92. .. rst-class:: classref-section-separator
  93. ----
  94. .. rst-class:: classref-descriptions-group
  95. Property Descriptions
  96. ---------------------
  97. .. _class_PortableCompressedTexture2D_property_keep_compressed_buffer:
  98. .. rst-class:: classref-property
  99. :ref:`bool<class_bool>` **keep_compressed_buffer** = ``false`` :ref:`🔗<class_PortableCompressedTexture2D_property_keep_compressed_buffer>`
  100. .. rst-class:: classref-property-setget
  101. - |void| **set_keep_compressed_buffer**\ (\ value\: :ref:`bool<class_bool>`\ )
  102. - :ref:`bool<class_bool>` **is_keeping_compressed_buffer**\ (\ )
  103. When running on the editor, this class will keep the source compressed data in memory. Otherwise, the source compressed data is lost after loading and the resource can't be re saved.
  104. This flag allows to keep the compressed data in memory if you intend it to persist after loading.
  105. \ **Note:** This must be set before :ref:`create_from_image()<class_PortableCompressedTexture2D_method_create_from_image>` to take effect.
  106. .. rst-class:: classref-item-separator
  107. ----
  108. .. _class_PortableCompressedTexture2D_property_size_override:
  109. .. rst-class:: classref-property
  110. :ref:`Vector2<class_Vector2>` **size_override** = ``Vector2(0, 0)`` :ref:`🔗<class_PortableCompressedTexture2D_property_size_override>`
  111. .. rst-class:: classref-property-setget
  112. - |void| **set_size_override**\ (\ value\: :ref:`Vector2<class_Vector2>`\ )
  113. - :ref:`Vector2<class_Vector2>` **get_size_override**\ (\ )
  114. Allow overriding the texture size (for 2D only).
  115. .. rst-class:: classref-section-separator
  116. ----
  117. .. rst-class:: classref-descriptions-group
  118. Method Descriptions
  119. -------------------
  120. .. _class_PortableCompressedTexture2D_method_create_from_image:
  121. .. rst-class:: classref-method
  122. |void| **create_from_image**\ (\ image\: :ref:`Image<class_Image>`, compression_mode\: :ref:`CompressionMode<enum_PortableCompressedTexture2D_CompressionMode>`, normal_map\: :ref:`bool<class_bool>` = false, lossy_quality\: :ref:`float<class_float>` = 0.8\ ) :ref:`🔗<class_PortableCompressedTexture2D_method_create_from_image>`
  123. Initializes the compressed texture from a base image. The compression mode must be provided.
  124. \ ``normal_map`` is recommended to ensure optimum quality if this image will be used as a normal map.
  125. If lossy compression is requested, the quality setting can optionally be provided. This maps to Lossy WebP compression quality.
  126. .. rst-class:: classref-item-separator
  127. ----
  128. .. _class_PortableCompressedTexture2D_method_get_compression_mode:
  129. .. rst-class:: classref-method
  130. :ref:`CompressionMode<enum_PortableCompressedTexture2D_CompressionMode>` **get_compression_mode**\ (\ ) |const| :ref:`🔗<class_PortableCompressedTexture2D_method_get_compression_mode>`
  131. Return the compression mode used (valid after initialized).
  132. .. rst-class:: classref-item-separator
  133. ----
  134. .. _class_PortableCompressedTexture2D_method_get_format:
  135. .. rst-class:: classref-method
  136. :ref:`Format<enum_Image_Format>` **get_format**\ (\ ) |const| :ref:`🔗<class_PortableCompressedTexture2D_method_get_format>`
  137. Return the image format used (valid after initialized).
  138. .. rst-class:: classref-item-separator
  139. ----
  140. .. _class_PortableCompressedTexture2D_method_is_keeping_all_compressed_buffers:
  141. .. rst-class:: classref-method
  142. :ref:`bool<class_bool>` **is_keeping_all_compressed_buffers**\ (\ ) |static| :ref:`🔗<class_PortableCompressedTexture2D_method_is_keeping_all_compressed_buffers>`
  143. Return whether the flag is overridden for all textures of this type.
  144. .. rst-class:: classref-item-separator
  145. ----
  146. .. _class_PortableCompressedTexture2D_method_set_basisu_compressor_params:
  147. .. rst-class:: classref-method
  148. |void| **set_basisu_compressor_params**\ (\ uastc_level\: :ref:`int<class_int>`, rdo_quality_loss\: :ref:`float<class_float>`\ ) :ref:`🔗<class_PortableCompressedTexture2D_method_set_basisu_compressor_params>`
  149. Sets the compressor parameters for Basis Universal compression. See also the settings in :ref:`ResourceImporterTexture<class_ResourceImporterTexture>`.
  150. \ **Note:** This must be set before :ref:`create_from_image()<class_PortableCompressedTexture2D_method_create_from_image>` to take effect.
  151. .. rst-class:: classref-item-separator
  152. ----
  153. .. _class_PortableCompressedTexture2D_method_set_keep_all_compressed_buffers:
  154. .. rst-class:: classref-method
  155. |void| **set_keep_all_compressed_buffers**\ (\ keep\: :ref:`bool<class_bool>`\ ) |static| :ref:`🔗<class_PortableCompressedTexture2D_method_set_keep_all_compressed_buffers>`
  156. Overrides the flag globally for all textures of this type. This is used primarily by the editor.
  157. .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)`
  158. .. |required| replace:: :abbr:`required (This method is required to be overridden when extending its base class.)`
  159. .. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)`
  160. .. |vararg| replace:: :abbr:`vararg (This method accepts any number of arguments after the ones described here.)`
  161. .. |constructor| replace:: :abbr:`constructor (This method is used to construct a type.)`
  162. .. |static| replace:: :abbr:`static (This method doesn't need an instance to be called, so it can be called directly using the class name.)`
  163. .. |operator| replace:: :abbr:`operator (This method describes a valid operator to use with this type as left-hand operand.)`
  164. .. |bitfield| replace:: :abbr:`BitField (This value is an integer composed as a bitmask of the following flags.)`
  165. .. |void| replace:: :abbr:`void (No return value.)`