PortableCompressedTexture2D

继承: Texture2D < Texture < Resource < RefCounted < Object

以可移植的方式为磁盘和/或VRAM提供压缩纹理。

描述

此类允许将压缩纹理存储为自包含(非导入)资源。

对于2D使用(在磁盘上压缩,在VRAM上未压缩),建议使用有损和无损模式。对于3D使用(在VRAM上压缩),它取决于目标平台。

如果您打算只使用台式机,建议使用S3TC或BPTC。对于仅移动设备,建议使用ETC2。

对于可在桌面和移动设备上工作的便携式、自包含的3D纹理,推荐使用基础通用(尽管它具有较小的质量成本和较长的压缩时间作为权衡)。

此资源旨在从代码创建。

属性

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_keep_all_compressed_buffers(keep: bool) static


枚举

enum CompressionMode: 🔗

CompressionMode COMPRESSION_MODE_LOSSLESS = 0

CompressionMode COMPRESSION_MODE_LOSSY = 1

CompressionMode COMPRESSION_MODE_BASIS_UNIVERSAL = 2

CompressionMode COMPRESSION_MODE_S3TC = 3

CompressionMode COMPRESSION_MODE_ETC2 = 4

CompressionMode COMPRESSION_MODE_BPTC = 5


属性说明

bool keep_compressed_buffer = false 🔗

  • void set_keep_compressed_buffer(value: bool)

  • bool is_keeping_compressed_buffer()

在编辑器上运行时,此类会将源压缩数据保存在内存中。否则,源压缩数据在加载后丢失,无法重新保存资源。

如果您希望压缩数据在加载后保持不变,此标志允许将压缩数据保留在内存中。


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以确保最佳质量。

如果请求有损压缩,可以选择提供质量设置。这映射到Lossy WebP压缩质量。


CompressionMode get_compression_mode() const 🔗

返回使用的压缩模式(初始化后有效)。


Format get_format() const 🔗

返回使用的图像格式(初始化后有效)。


bool is_keeping_all_compressed_buffers() static 🔗

返回是否为此类型的所有纹理覆盖标志。


void set_keep_all_compressed_buffers(keep: bool) static 🔗

全局覆盖此类型的所有纹理的标志。这主要由编辑器使用。