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 |
|