ddsファイルから画像情報を読み取ろうとしています。私はDXT1とDXT5のフォーマットを正常に動作させることができましたが、DXT3フォーマットのアルファデータに関する質問があります(BC2としても知られています)。 圧縮されたBC2 blockのレイアウトを見ると、16ピクセルブロックのアルファデータがデータの最初の8バイトに格納され、各値は4ビットを占めることが示されます。次のように保存されたアルファ値が唯一の0-15をすることができるので DXT3(BC2)圧縮形式アルファデータ
が、これは、以下のことを意味しています、実際のアルファデータが計算されます。unsigned char bitvalue = GetAlphaBitValue(); // assume this works and gets the 4-bit value i am looking for
unsigned char alpha = (bitvalue/15.0f) * 255;
はこの正しいですか、私は間違ったことで探していますか? this specificationが言うように見える何