DDS_PIXELFORMAT 結構
Surface 像素格式。
語法
struct DDS_PIXELFORMAT {
DWORD dwSize;
DWORD dwFlags;
DWORD dwFourCC;
DWORD dwRGBBitCount;
DWORD dwRBitMask;
DWORD dwGBitMask;
DWORD dwBBitMask;
DWORD dwABitMask;
};
成員
-
dwSize
-
類型: DWORD
-
結構大小;設定為 32 (個位元組) 。
-
dwFlags
-
類型: DWORD
-
指出介面中資料類型的值。
旗標 描述 值 DDPF_ALPHAPIXELS 紋理包含 Alpha 資料; dwRGBAlphaBitMask 包含有效的資料。 0x1 DDPF_ALPHA 用於某些舊版 DDS 檔案中的 Alpha 色板,僅適用于 dwRGBBitCount (dwRGBBitCount 包含 Alpha 通道位數的資料;dwABitMask 包含有效的資料) 0x2 DDPF_FOURCC 紋理包含壓縮的 RGB 資料; dwFourCC 包含有效的資料。 0x4 DDPF_RGB 紋理包含未壓縮的 RGB 資料; dwRGBBitCount 和 RGB 遮罩 (dwRBitMask、 dwGBitMask、 dwBBitMask) 包含有效資料。 0x40 DDPF_YUV 用於某些舊版的 DDS 檔案中,用於 YUV 未壓縮的資料 (dwRGBBitCount 包含 YUV 位元數目;dwRBitMask 包含 Y 遮罩,dwGBitMask 包含 U 遮罩,dwBBitMask 包含 V 遮罩) 0x200 DDPF_LUMINANCE 用於某些較舊的 DDS 檔案中,用於單一通道色彩未壓縮的資料, (dwRGBBitCount 包含亮度通道位元數目;dwRBitMask 包含通道遮罩) 。 可以結合兩個通道 DDS 檔案的 DDPF_ALPHAPIXELS。 0x20000 -
dwFourCC
-
類型: DWORD
-
用於指定壓縮或自訂格式的四個字元代碼。 可能的值包括: DXT1、 DXT2、 DXT3、 DXT4或 DXT5。 DX10 的 FourCC 表示 DDS_HEADER_DXT10 擴充標頭的前置詞,而該結構的 dxgiFormat 成員則表示 true 格式。 使用四個字元的程式碼時,dwFlags 必須包含 DDPF_FOURCC。
-
dwRGBBitCount
-
類型: DWORD
-
RGB (中可能包含 Alpha) 格式的位數。 dwFlags包含DDPF_RGB、DDPF_LUMINANCE或DDPF_YUV時有效。
-
dwRBitMask
-
類型: DWORD
-
紅色 (或亮度或 Y) 遮罩,用於讀取色彩資料。 例如,假設 A8R8G8B8 格式,紅色遮罩會0x00ff0000。
-
dwGBitMask
-
類型: DWORD
-
用於讀取色彩資料的綠色 (或 U) 遮罩。 例如,假設 A8R8G8B8 格式,綠色遮罩會0x0000ff00。
-
dwBBitMask
-
類型: DWORD
-
用於讀取色彩資料的藍色 (或 V) 遮罩。 例如,假設 A8R8G8B8 格式,藍色遮罩會0x000000ff。
-
dwABitMask
-
類型: DWORD
-
用於讀取 Alpha 資料的 Alpha 遮罩。 dwFlags 必須包含 DDPF_ALPHAPIXELS 或 DDPF_ALPHA。 例如,假設 A8R8G8B8 格式,Alpha 遮罩會0xff000000。
備註
若要儲存 DXGI 格式,例如浮點數據,請使用DDPF_FOURCC的 dwFlags ,並將 dwFourCC 設定為 'D','X','1','0'。 使用 DDS_HEADER_DXT10 延伸模組標頭,將 DXGI 格式儲存在 dxgiFormat 成員中。
請注意,DDS 檔案有非標準變體, 其中 dwFlags 具有DDPF_FOURCC, 而 dwFourCC 值會直接設定為 D3DFORMAT 或 DXGI_FORMAT 列舉值。 您無法使用這個非標準配置來厘清 D3DFORMAT 與DXGI_FORMAT值,因此建議改用 DX10 擴充標頭。
規格需求
需求 | 值 |
---|---|
標頭 |
|