【发布时间】:2017-04-21 01:39:51
【问题描述】:
我正在尝试从 dds 文件中读取图像信息。我设法让 DXT1 和 DXT5 格式正常工作,但是我对 DXT3 格式的 alpha 数据有疑问(也称为BC2)。 查看压缩的BC2 block 的布局时,它显示 16 像素块的 alpha 数据存储在数据的前 8 个字节中,每个值占用 4 位。
这是否意味着,由于存储的 alpha 值只能是 0-15,所以实际的 alpha 数据计算如下:
unsigned char bitvalue = GetAlphaBitValue(); // assume this works and gets the 4-bit value i am looking for
unsigned char alpha = (bitvalue / 15.0f) * 255;
这是正确的,还是我看错了?
【问题讨论】:
标签: c++ dds-format dxt