PortableCompressedTexture2D

Наследует: Texture2D < Texture < Resource < RefCounted < Object

Предоставляет сжатую текстуру для диска и/или видеопамяти в переносимом виде.

Описание

Этот класс позволяет хранить сжатые текстуры как автономные (не импортируемые) ресурсы.

Для 2D-использования (сжатые на диске, несжатые в VRAM) рекомендуются режимы с потерями и без потерь. Для 3D-использования (сжатые в VRAM) это зависит от целевой платформы.

Если вы собираетесь использовать только настольные компьютеры, рекомендуются S3TC или BPTC. Только для мобильных устройств рекомендуется ETC2.

Для портативных автономных 3D-текстур, которые работают как на настольных компьютерах, так и на мобильных устройствах, рекомендуется Basis Universal (хотя он имеет небольшую стоимость качества и более длительное время сжатия в качестве компромисса).

Этот ресурс предназначен для создания из кода.

Свойства

bool

keep_compressed_buffer

false

bool

resource_local_to_scene

false (overrides Resource)

Vector2

size_override

Vector2(0, 0)

Методы

void

create_from_image(image: Image, compression_mode: CompressionMode, normal_map: bool = false, lossy_quality: float = 0.8)

CompressionMode

get_compression_mode() const

Format

get_format() const

bool

is_keeping_all_compressed_buffers() static

void

set_basisu_compressor_params(uastc_level: int, rdo_quality_loss: float)

void

set_keep_all_compressed_buffers(keep: bool) static


Перечисления

enum CompressionMode: 🔗

CompressionMode COMPRESSION_MODE_LOSSLESS = 0

There is currently no description for this enum. Please help us by contributing one!

CompressionMode COMPRESSION_MODE_LOSSY = 1

There is currently no description for this enum. Please help us by contributing one!

CompressionMode COMPRESSION_MODE_BASIS_UNIVERSAL = 2

There is currently no description for this enum. Please help us by contributing one!

CompressionMode COMPRESSION_MODE_S3TC = 3

There is currently no description for this enum. Please help us by contributing one!

CompressionMode COMPRESSION_MODE_ETC2 = 4

There is currently no description for this enum. Please help us by contributing one!

CompressionMode COMPRESSION_MODE_BPTC = 5

There is currently no description for this enum. Please help us by contributing one!

CompressionMode COMPRESSION_MODE_ASTC = 6

There is currently no description for this enum. Please help us by contributing one!


Описания свойств

bool keep_compressed_buffer = false 🔗

  • void set_keep_compressed_buffer(value: bool)

  • bool is_keeping_compressed_buffer()

Если true, то при запуске в редакторе эта текстура будет хранить сжатые исходные данные в памяти, что позволит данным сохраняться после загрузки. В противном случае сжатые исходные данные теряются после загрузки, и текстуру нельзя будет сохранить повторно.

Примечание: Для корректной работы этого свойства его необходимо установить перед create_from_image().


Vector2 size_override = Vector2(0, 0) 🔗

Позволяет изменить размер текстуры (только для 2D).


Описания метода

void create_from_image(image: Image, compression_mode: CompressionMode, normal_map: bool = false, lossy_quality: float = 0.8) 🔗

Инициализирует сжатую текстуру из базового изображения. Необходимо указать режим сжатия.

normal_map рекомендуется для обеспечения оптимального качества, если это изображение будет использоваться как карта нормалей.

Если запрашивается сжатие с потерями, можно указать настройку качества. Это соответствует качеству сжатия WebP с потерями.


CompressionMode get_compression_mode() const 🔗

Возвращает используемый режим сжатия (действителен после инициализации).


Format get_format() const 🔗

Возвращает используемый формат изображения (действителен после инициализации).


bool is_keeping_all_compressed_buffers() static 🔗

Возвращает true, если флаг переопределен для всех текстур этого типа.


void set_basisu_compressor_params(uastc_level: int, rdo_quality_loss: float) 🔗

Устанавливает параметры компрессора для сжатия Basis Universal. См. также настройки в ResourceImporterTexture.

Примечание: Для корректной работы этот метод необходимо вызвать перед create_from_image().


void set_keep_all_compressed_buffers(keep: bool) static 🔗

Если keep имеет значение true, то этот флаг переопределяется глобально для всех текстур этого типа. В основном это используется редактором.