BC7 格式模式参考
本文档包含 BC7 纹理压缩格式块的 8 种块模式和位分配的列表。
块中每个子集的颜色由两种显式终结点颜色和它们之间的一组内插颜色表示。 根据块的索引精度,每个子集可以有 4、8 或 16 种可能的颜色。
模式 0
BC7 模式 0 具有以下特征:
- 仅颜色组件(无 alpha)
- 每个块 3 个子集
- RGBP 4.4.4.1 终结点,每个终结点具有唯一的 P 位
- 3 位索引
- 16 个分区
模式 1
BC7 模式 1 具有以下特征:
- 仅颜色组件(无 alpha)
- 每个块 2 个子集
- 每个子集具有共享 P 位的 RGBP 6.6.6.1 终结点)
- 3 位索引
- 64 个分区
模式 2
BC7 模式 2 具有以下特征:
- 仅颜色组件(无 alpha)
- 每个块 3 个子集
- RGB 5.5.5 终结点
- 2 位索引
- 64 个分区
模式 3
BC7 模式 3 具有以下特征:
- 仅颜色组件(无 alpha)
- 每个块 2 个子集
- RGBP 7.7.7.1 终结点,每个子集具有唯一的 P 位)
- 2 位索引
- 64 个分区
模式 4
BC7 模式 4 具有以下特征:
- 具有单独 alpha 分量的颜色组件
- 每个块 1 个子集
- RGB 5.5.5 颜色终结点
- 6 位 alpha 终结点
- 16 x 2 位索引
- 16 x 3 位索引
- 2 位组件旋转
- 1 位索引选择器(无论是使用 2 位索引还是 3 位索引)
模式 5
BC7 模式 5 具有以下特征:
- 具有单独 alpha 分量的颜色组件
- 每个块 1 个子集
- RGB 7.7.7 颜色终结点
- 8 位 alpha 终结点
- 16 x 2 位颜色索引
- 16 x 2 位 alpha 索引
- 2 位组件旋转
模式 6
BC7 模式 6 具有以下特征:
- 组合的颜色和 alpha 组件
- 每个块一个子集
- RGBAP 7.7.7.7.1 颜色(和 alpha)终结点(每个终结点的唯一 P 位)
- 16 x 4 位索引
模式 7
BC7 模式 7 具有以下特征:
- 组合的颜色和 alpha 组件
- 每个块 2 个子集
- RGBAP 5.5.5.5.1 颜色(和 alpha)终结点(每个终结点唯一的 P 位)
- 2 位索引
- 64 个分区
言论
模式 8(最小有效字节设置为0x00)保留。 不要在编码器中使用它。 如果将此模式传递给硬件,则会返回初始化为所有零的块。
在 BC7 中,可以通过以下方法之一对 alpha 组件进行编码:
不带显式 alpha 组件编码的块类型。 在这些块中,颜色终结点具有仅 RGB 编码,所有纹素的 alpha 组件解码为 1.0。
具有组合颜色和 alpha 组件的块类型。 在这些块中,终结点颜色值以 RGBA 格式指定,alpha 组件值与颜色值一起内插。
具有分隔颜色和 alpha 组件的块类型。 在这些块中,分别指定颜色和 alpha 值,每个值都有其自己的索引集。 因此,它们具有一个有效的矢量和一个单独编码的标量通道,其中矢量通常指定颜色通道 [R, G, B] 和标量指定 alpha 通道 [A]。 为了支持此方法,编码中提供了一个单独的 2 位字段,该字段允许将单独的通道编码规范作为标量值。 因此,块可以具有以下四种不同的 alpha 编码表示形式之一(如 2 位字段所示):
- RGB|答:alpha 通道分隔
- AGB|R:“红色”颜色通道分隔
- RAB|G:“绿色”颜色通道分隔
- RGA|B:“蓝色”颜色通道分隔
解码器在解码后将通道顺序重新排序回 RGBA,因此内部块格式对开发人员不可见。 具有单独颜色和 alpha 组件的块还有两组索引数据:一组用于矢量通道,另一组用于标量通道。 (在模式 4 的情况下,这些索引的宽度不同 [2 位或 3 位]。模式 4 还包含一个 1 位选择器,用于指定向量还是标量通道使用 3 位索引。
相关主题