Class reference
PortableCompressedTexture2D
Inherits Texture2D
Provides a compressed texture for disk and/or VRAM in a way that is portable.
Description
This class allows storing compressed textures as self contained (not imported) resources. 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. If you intend to only use desktop, S3TC or BPTC are recommended. For only mobile, ETC2 is recommended. 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). This resource is intended to be created from code.
Properties
bool keep_compressed_buffer = false
bool keep_compressed_buffer = falseWhen 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. This flag allows to keep the compressed data in memory if you intend it to persist after loading. Note: This must be set before create_from_image() to take effect.
bool resource_local_to_scene = false
bool resource_local_to_scene = falseVector2 size_override = Vector2(0, 0)
Vector2 size_override = Vector2(0, 0)Allow overriding the texture size (for 2D only).
Methods
void create_from_image(Image image, int compression_mode, bool normal_map = false, float lossy_quality = 0.8)
Image image, int compression_mode, bool normal_map = false, float lossy_quality = 0.8)Initializes the compressed texture from a base image. The compression mode must be provided. normal_map is recommended to ensure optimum quality if this image will be used as a normal map. If lossy compression is requested, the quality setting can optionally be provided. This maps to Lossy WebP compression quality.
int get_compression_mode() const
int get_compression_mode() constReturn the compression mode used (valid after initialized).
int get_format() const
int get_format() constReturn the image format used (valid after initialized).
bool is_keeping_all_compressed_buffers() static
bool is_keeping_all_compressed_buffers() staticReturn whether the flag is overridden for all textures of this type.
void set_basisu_compressor_params(int uastc_level, float rdo_quality_loss)
int uastc_level, float rdo_quality_loss)Sets the compressor parameters for Basis Universal compression. See also the settings in ResourceImporterTexture. Note: This must be set before create_from_image() to take effect.
void set_keep_all_compressed_buffers(bool keep) static
bool keep) staticOverrides the flag globally for all textures of this type. This is used primarily by the editor.