struktur DDS_HEADER_DXT10

Ekstensi header DDS untuk menangani array sumber daya, format piksel DXGI yang tidak dipetakan ke struktur format piksel Microsoft DirectDraw warisan, dan metadata tambahan.

Sintaks

typedef struct {
  DXGI_FORMAT              dxgiFormat;
  D3D10_RESOURCE_DIMENSION resourceDimension;
  UINT                     miscFlag;
  UINT                     arraySize;
  UINT                     miscFlags2;
} DDS_HEADER_DXT10;

Anggota

dxgiFormat

Jenis: DXGI_FORMAT

Format piksel permukaan (lihat DXGI_FORMAT).

resourceDimension

Jenis: D3D10_RESOURCE_DIMENSION

Mengidentifikasi jenis sumber daya. Nilai berikut untuk anggota ini adalah subkumpulan nilai dalam enumerasi D3D10_RESOURCE_DIMENSION atau D3D11_RESOURCE_DIMENSION :

Jenis Deskripsi Nilai
DDS_DIMENSION_TEXTURE1D (D3D10_RESOURCE_DIMENSION_TEXTURE1D) Sumber daya adalah tekstur 1D. Anggota dwWidthdari DDS_HEADER menentukan ukuran tekstur. Biasanya, Anda menetapkan anggota dwHeightdari DDS_HEADER ke 1; Anda juga harus mengatur bendera DDSD_HEIGHT di anggota dwFlagsDDS_HEADER. 2
DDS_DIMENSION_TEXTURE2D (D3D10_RESOURCE_DIMENSION_TEXTURE2D) Sumber daya adalah tekstur 2D dengan area yang ditentukan oleh anggota dwWidth dan dwHeightdari DDS_HEADER. Anda juga dapat menggunakan jenis ini untuk mengidentifikasi tekstur peta kubus. Untuk informasi selengkapnya tentang cara mengidentifikasi tekstur peta kubus, lihat anggota miscFlag dan arraySize . 3
DDS_DIMENSION_TEXTURE3D (D3D10_RESOURCE_DIMENSION_TEXTURE3D) Sumber daya adalah tekstur 3D dengan volume yang ditentukan oleh anggota dwWidth, dwHeight, dan dwDepthdari DDS_HEADER. Anda juga harus mengatur bendera DDSD_DEPTH di anggota dwFlagsDDS_HEADER. 4

miscFlag

Jenis: UINT

Mengidentifikasi opsi lain yang kurang umum untuk sumber daya. Nilai berikut untuk anggota ini adalah subset nilai dalam enumerasi D3D10_RESOURCE_MISC_FLAG atau D3D11_RESOURCE_MISC_FLAG :

Jenis Deskripsi Nilai
DDS_RESOURCE_MISC_TEXTURECUBE Menunjukkan tekstur 2D adalah tekstur peta kubus. 0x4

arraySize

Jenis: UINT

Jumlah elemen dalam array.

Untuk tekstur 2D yang juga tekstur peta kubus, angka ini menunjukkan jumlah kubus. Angka ini sama dengan angka di anggota NumCubesdari D3D10_TEXCUBE_ARRAY_SRV1 atau D3D11_TEXCUBE_ARRAY_SRV). Dalam hal ini, file DDS berisi tekstur arraySize*6 2D. Untuk informasi selengkapnya tentang kasus ini, lihat deskripsi miscFlag .

Untuk tekstur 3D, Anda harus mengatur angka ini ke 1.

miscFlags2

Jenis: UINT

Berisi metadata tambahan (sebelumnya dicadangkan). 3 bit yang lebih rendah menunjukkan mode alfa sumber daya terkait. 29 bit atas dicadangkan dan biasanya 0.

Jenis Deskripsi Nilai
DDS_ALPHA_MODE_UNKNOWN Konten saluran alfa tidak diketahui. Ini adalah nilai untuk file warisan, yang biasanya diasumsikan sebagai alfa 'lurus'. 0x0
DDS_ALPHA_MODE_STRAIGHT Setiap konten saluran alfa dianggap menggunakan alfa lurus. 0x1
DDS_ALPHA_MODE_PREMULTIPLIED Konten saluran alfa apa pun menggunakan alfa yang telah ditentukan sebelumnya. Satu-satunya format file warisan yang menunjukkan informasi ini adalah 'DX2' dan 'DX4'. 0x2
DDS_ALPHA_MODE_OPAQUE Semua konten saluran alfa diatur ke buram sepenuhnya. 0x3
DDS_ALPHA_MODE_CUSTOM Konten saluran alfa apa pun digunakan sebagai saluran ke-4 dan tidak dimaksudkan untuk mewakili transparansi (lurus atau tersimpan sebelumnya). 0x4

Catatan

Pustaka utilitas D3DX 10 dan D3DX 11 warisan akan gagal memuat apa pun. File DDS dengan miscFlags2 tidak sama dengan nol.

Keterangan

Gunakan struktur ini bersama dengan DDS_HEADER untuk menyimpan array sumber daya dalam file DDS. Untuk informasi selengkapnya, lihat array tekstur.

Header ini ada jika anggota dwFourCC dari struktur DDS_PIXELFORMAT diatur ke 'DX10'.

Persyaratan

Persyaratan Nilai
Header
Dds.h

Lihat juga

Referensi untuk DDS