✍内容
ASTC (Adaptive Scalable Texture Compression) 是一种先进的纹理压缩格式,主要用于移动设备和图形应用程序。以下是它的主要特点:
- 核心特性:
- 可变块大小:支持从 4x4 到 12x12 像素的块大小
- 固定压缩率:每个块使用 128 位
- 支持 HDR (High Dynamic Range) 和 LDR (Low Dynamic Range) 图像
- 支持 1 到 4 个颜色通道
- 压缩率和块大小关系:
4x4 块 -> 8.00 bpp (bits per pixel)
5x5 块 -> 5.12 bpp
6x6 块 -> 3.56 bpp
8x8 块 -> 2.00 bpp
12x12 块 -> 0.89 bpp
- 主要优势:
- 高压缩率
- 灵活的块大小选择
- 图像质量可控
- 硬件解码支持
- 低内存带宽需求
- 常见用途:
- 移动游戏纹理
- AR/VR 应用
- 3D 图形应用
- UI 资源压缩
- 限制:
- 编码速度较慢
- 不是所有硬件都支持
- 某些块大小可能在特定设备上不可用
- 在 Vulkan 中使用:
// 检查格式支持
VkFormatProperties formatProperties;
vkGetPhysicalDeviceFormatProperties(
physicalDevice,
VK_FORMAT_ASTC_4x4_UNORM_BLOCK, // 或其他 ASTC 格式
&formatProperties
);和其他纹理压缩格式(如 DXT/BC、ETC2)相比,ASTC 提供了更好的压缩质量和更灵活的压缩率选择,特别适合移动平台。