Bagikan melalui


struktur DDS_HEADER

Menjelaskan header file DDS.

Sintaks

typedef struct {
  DWORD           dwSize;
  DWORD           dwFlags;
  DWORD           dwHeight;
  DWORD           dwWidth;
  DWORD           dwPitchOrLinearSize;
  DWORD           dwDepth;
  DWORD           dwMipMapCount;
  DWORD           dwReserved1[11];
  DDS_PIXELFORMAT ddspf;
  DWORD           dwCaps;
  DWORD           dwCaps2;
  DWORD           dwCaps3;
  DWORD           dwCaps4;
  DWORD           dwReserved2;
} DDS_HEADER;

Anggota

dwSize

Jenis: DWORD

Ukuran struktur. Anggota ini harus diatur ke 124.

dwFlags

Jenis: DWORD

Bendera untuk menunjukkan anggota mana yang berisi data yang valid.

Bendera Deskripsi Nilai
DDSD_CAPS Diperlukan dalam setiap file .dds. 0x1
DDSD_HEIGHT Diperlukan dalam setiap file .dds. 0x2
DDSD_WIDTH Diperlukan dalam setiap file .dds. 0x4
DDSD_PITCH Diperlukan saat pitch disediakan untuk tekstur yang tidak dikompresi. 0x8
DDSD_PIXELFORMAT Diperlukan dalam setiap file .dds. 0x1000
DDSD_MIPMAPCOUNT Diperlukan dalam tekstur mipmapped. 0x20000
DDSD_LINEARSIZE Diperlukan saat pitch disediakan untuk tekstur terkompresi. 0x80000
DDSD_DEPTH Diperlukan dalam tekstur yang mendalam. 0x800000

Catatan

Saat menulis file .dds, Anda harus mengatur bendera DDSD_CAPS dan DDSD_PIXELFORMAT, dan untuk tekstur mipmapped, Anda juga harus mengatur bendera DDSD_MIPMAPCOUNT. Namun, ketika Anda membaca file .dds, Anda tidak boleh mengandalkan bendera DDSD_CAPS, DDSD_PIXELFORMAT, dan DDSD_MIPMAPCOUNT diatur karena beberapa penulis file tersebut mungkin tidak mengatur bendera ini.

Bendera DDS_HEADER_FLAGS_TEXTURE, yang didefinisikan dalam Dds.h, adalah kombinasi bitwise-OR dari bendera DDSD_CAPS, DDSD_HEIGHT, DDSD_WIDTH, dan DDSD_PIXELFORMAT.

Bendera DDS_HEADER_FLAGS_MIPMAP, yang ditentukan dalam Dds.h, sama dengan bendera DDSD_MIPMAPCOUNT.

Bendera DDS_HEADER_FLAGS_VOLUME, yang didefinisikan dalam Dds.h, sama dengan bendera DDSD_DEPTH.

Bendera DDS_HEADER_FLAGS_PITCH, yang didefinisikan dalam Dds.h, sama dengan bendera DDSD_PITCH.

Bendera DDS_HEADER_FLAGS_LINEARSIZE, yang didefinisikan dalam Dds.h, sama dengan bendera DDSD_LINEARSIZE.

dwHeight

Jenis: DWORD

Tinggi permukaan (dalam piksel).

dwWidth

Jenis: DWORD

Lebar permukaan (dalam piksel).

dwPitchOrLinearSize

Jenis: DWORD

Pitch atau jumlah byte per baris pemindaian dalam tekstur yang tidak dikompresi; jumlah total byte dalam tekstur tingkat atas untuk tekstur terkompresi. Untuk informasi tentang cara menghitung pitch, lihat bagian Tata Letak File DDS dari Panduan Pemrograman untuk DDS.

dwDepth

Jenis: DWORD

Kedalaman tekstur volume (dalam piksel), jika tidak digunakan.

dwMipMapCount

Jenis: DWORD

Jumlah tingkat mipmap, jika tidak digunakan.

dwReserved1[11]

Jenis: DWORD

Tidak digunakan.

ddspf

Jenis: DDS_PIXELFORMAT

Format piksel (lihat DDS_PIXELFORMAT).

dwCaps

Jenis: DWORD

Menentukan kompleksitas permukaan yang disimpan.

Bendera Deskripsi Nilai
DDSCAPS_COMPLEX Opsional; harus digunakan pada file apa pun yang berisi lebih dari satu permukaan (mipmap, peta lingkungan kubik, atau tekstur volume mipmapped). 0x8
DDSCAPS_MIPMAP Opsional; harus digunakan untuk mipmap. 0x400000
DDSCAPS_TEXTURE Diperlukan 0x1000

Catatan

Saat menulis file .dds, Anda harus mengatur bendera DDSCAPS_TEXTURE, dan untuk beberapa permukaan, Anda juga harus mengatur bendera DDSCAPS_COMPLEX. Namun, ketika Anda membaca file .dds, Anda tidak boleh mengandalkan bendera DDSCAPS_TEXTURE dan DDSCAPS_COMPLEX yang diatur karena beberapa penulis file tersebut mungkin tidak mengatur bendera ini.

Bendera DDS_SURFACE_FLAGS_MIPMAP, yang didefinisikan dalam Dds.h, adalah kombinasi bitwise-OR dari bendera DDSCAPS_COMPLEX dan DDSCAPS_MIPMAP.

Bendera DDS_SURFACE_FLAGS_TEXTURE, yang ditentukan dalam Dds.h, sama dengan bendera DDSCAPS_TEXTURE.

Bendera DDS_SURFACE_FLAGS_CUBEMAP, yang didefinisikan dalam Dds.h, sama dengan bendera DDSCAPS_COMPLEX.

dwCaps2

Jenis: DWORD

Detail tambahan tentang permukaan yang disimpan.

Bendera Deskripsi Nilai
DDSCAPS2_CUBEMAP Diperlukan untuk peta kubus. 0x200
DDSCAPS2_CUBEMAP_POSITIVEX Diperlukan ketika permukaan ini disimpan dalam peta kubus. 0x400
DDSCAPS2_CUBEMAP_NEGATIVEX Diperlukan ketika permukaan ini disimpan dalam peta kubus. 0x800
DDSCAPS2_CUBEMAP_POSITIVEY Diperlukan ketika permukaan ini disimpan dalam peta kubus. 0x1000
DDSCAPS2_CUBEMAP_NEGATIVEY Diperlukan ketika permukaan ini disimpan dalam peta kubus. 0x2000
DDSCAPS2_CUBEMAP_POSITIVEZ Diperlukan ketika permukaan ini disimpan dalam peta kubus. 0x4000
DDSCAPS2_CUBEMAP_NEGATIVEZ Diperlukan ketika permukaan ini disimpan dalam peta kubus. 0x8000
DDSCAPS2_VOLUME Diperlukan untuk tekstur volume. 0x200000

Bendera DDS_CUBEMAP_POSITIVEX, yang didefinisikan dalam Dds.h, adalah kombinasi bitwise-OR dari bendera DDSCAPS2_CUBEMAP dan DDSCAPS2_CUBEMAP_POSITIVEX.

Bendera DDS_CUBEMAP_NEGATIVEX, yang didefinisikan dalam Dds.h, adalah kombinasi bitwise-OR dari bendera DDSCAPS2_CUBEMAP dan DDSCAPS2_CUBEMAP_NEGATIVEX.

Bendera DDS_CUBEMAP_POSITIVEY, yang didefinisikan dalam Dds.h, adalah kombinasi bitwise-OR dari bendera DDSCAPS2_CUBEMAP dan DDSCAPS2_CUBEMAP_POSITIVEY.

Bendera DDS_CUBEMAP_NEGATIVEY, yang didefinisikan dalam Dds.h, adalah kombinasi bitwise-OR dari bendera DDSCAPS2_CUBEMAP dan DDSCAPS2_CUBEMAP_NEGATIVEY.

Bendera DDS_CUBEMAP_POSITIVEZ, yang didefinisikan dalam Dds.h, adalah kombinasi bitwise-OR dari bendera DDSCAPS2_CUBEMAP dan DDSCAPS2_CUBEMAP_POSITIVEZ.

Bendera DDS_CUBEMAP_NEGATIVEZ, yang didefinisikan dalam Dds.h, adalah kombinasi bitwise-OR dari bendera DDSCAPS2_CUBEMAP dan DDSCAPS2_CUBEMAP_NEGATIVEZ.

Bendera DDS_CUBEMAP_ALLFACES, yang didefinisikan dalam Dds.h, adalah kombinasi bitwise-OR dari bendera DDS_CUBEMAP_POSITIVEX, DDS_CUBEMAP_NEGATIVEX, DDS_CUBEMAP_POSITIVEY, DDS_CUBEMAP_NEGATIVEY, DDS_CUBEMAP_POSITIVEZ, dan DDSCAPS2_CUBEMAP_NEGATIVEZ.

Bendera DDS_FLAGS_VOLUME, yang didefinisikan dalam Dds.h, sama dengan bendera DDSCAPS2_VOLUME.

Catatan

Meskipun Direct3D 9 mendukung peta kubus parsial, Direct3D 10, 10.1, dan 11 mengharuskan Anda menentukan keenam wajah peta kubus (artinya, Anda harus mengatur DDS_CUBEMAP_ALLFACES).

dwCaps3

Jenis: DWORD

Tidak digunakan.

dwCaps4

Jenis: DWORD

Tidak digunakan.

dwReserved2

Jenis: DWORD

Tidak digunakan.

Keterangan

Sertakan bendera dalam dwFlags untuk anggota struktur yang berisi data yang valid.

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

DDS_HEADER identik dengan struktur DirectDraw DDSURFACEDESC2 tanpa dependensi DirectDraw.

Persyaratan

Persyaratan Nilai
Header
Dds.h

Lihat juga

Referensi untuk DDS