DDS 磁片區紋理範例

針對磁片區紋理,請使用 DDSCAPS_COMPLEXDDSCAPS2_VOLUMEDDSD_DEPTH旗標,並設定 dwDepth。 磁片區紋理是 Direct3D 9 的標準紋理延伸;您可以使用或不含 mipmap 來定義磁片區紋理。

對於沒有 Mipmap 的磁片區,每個深度配量都會依序寫入檔案。 如果包含 mipmap,則指定 Mipmap 層級的所有深度配量都會一起寫入,每個層級包含一半的配量,至少為 1 個層級。

例如,使用 R8G8B8 像素格式的 64 by-64-64 磁片區對應,每個) 圖元 (3 個位元組,且所有 mipmap 層級都會包含下列專案:

DDS 元件 # 位元組
header 128 個位元組
64 by-64 配量 1/4 個主要影像。 12288 個位元組
64 by-64 配量 2 的 4 個主要影像。 12288 個位元組
4 個主要影像的 64 位元組 64 配量 3。 12288 個位元組
64 by-64 配量 4 的 4 個主要影像。 12288 個位元組
32-by-32 配量 1/2 mipmap 影像。 3072 個位元組
32-by-32 配量 2/2 mipmap 影像。 3072 個位元組
16-by-16 配量 1/1 mipmap 影像。 768 個位元組
8-by-8 配量 1/1 mipmap 影像。 192 個位元組
4-by-4 配量 1/1 mipmap 影像。 48 個位元組
2-by-2 配量 1/1 mipmap 影像。 12 個位元組
1-by-1 配量 1/1 mipmap 影像。 3 個位元組

 

請注意,最小的 mipmap 層級只有 3 個位元組,因為 bitcount 是 24,而且此層級沒有新增的壓縮。

DirectX 8 已新增磁片區紋理的支援。

DDS 的程式設計指南