Struktur DDSCAPS2 (ddraw.h)
Struktur DDSCAPS2 mendefinisikan kemampuan tambahan dari objek permukaan Microsoft DirectDraw.
Sintaks
typedef struct _DDSCAPS2 {
DWORD dwCaps;
DWORD dwCaps2;
DWORD dwCaps3;
union {
DWORD dwCaps4;
DWORD dwVolumeDepth;
} DUMMYUNIONNAMEN;
} DDSCAPS2;
Anggota
dwCaps
Menentukan sekumpulan bendera yang mewakili kemampuan permukaan. Bendera dalam anggota ini identik dengan bendera di anggota struktur DDSCAPS yang sesuai.
dwCaps2
Menentukan sekumpulan bendera yang menunjukkan kemampuan permukaan tambahan. Anggota ini dapat berisi satu atau beberapa bendera kapabilitas berikut. Masing-masing bendera ini, kecuali DDSCAPS2_TEXTUREMANAGE, diatur oleh aplikasi ketika aplikasi memanggil metode CreateSurface-nya .
Bendera | Makna |
---|---|
DDSCAPS2_ADDITIONALPRIMARY |
Microsoft DirectX 9.0 dan versi yang lebih baru saja. Menunjukkan bahwa kepala bawahan dari kartu multi-kepala tidak lagi mengontrol memori video mereka setelah permukaan dibuat untuk kepala bawahan tersebut dengan set bit ini. Setelah permukaan seperti itu dihancurkan, kepala bawahan mendapatkan kembali kontrol memori mereka. Untuk informasi selengkapnya, lihat Mengelola memori Multiple-Head. |
DDSCAPS2_COMMANDBUFFER |
Menandai buffer perintah, yang digunakan oleh Microsoft Direct3D untuk perintah batch. |
DDSCAPS2_CUBEMAP |
Permukaan ini adalah peta lingkungan kubik. Saat menggunakan bendera ini, tentukan juga wajah atau wajah peta lingkungan kubik untuk dibuat. |
DDSCAPS2_CUBEMAP_POSITIVEX |
Bendera ini digunakan dengan bendera DDSCAPS2_CUBEMAP untuk membuat wajah X positif dari peta lingkungan kubik. |
DDSCAPS2_CUBEMAP_NEGATIVEX |
Bendera ini digunakan dengan bendera DDSCAPS2_CUBEMAP untuk membuat wajah X negatif dari peta lingkungan kubik. |
DDSCAPS2_CUBEMAP_POSITIVEY |
Bendera ini digunakan dengan bendera DDSCAPS2_CUBEMAP untuk membuat wajah Y positif dari peta lingkungan kubik. |
DDSCAPS2_CUBEMAP_NEGATIVEY |
Bendera ini digunakan dengan bendera DDSCAPS2_CUBEMAP untuk membuat wajah Y negatif dari peta lingkungan kubik. |
DDSCAPS2_CUBEMAP_POSITIVEZ |
Bendera ini digunakan dengan bendera DDSCAPS2_CUBEMAP untuk membuat wajah Z positif dari peta lingkungan kubik. |
DDSCAPS2_CUBEMAP_NEGATIVEZ |
Bendera ini digunakan dengan bendera DDSCAPS2_CUBEMAP untuk membuat wajah Z negatif dari peta lingkungan kubik. |
DDSCAPS2_CUBEMAP_ALLFACES |
Bendera ini digunakan dengan bendera DDSCAPS2_CUBEMAP untuk membuat keenam wajah peta lingkungan kubik. |
DDSCAPS2_D3DTEXTUREMANAGE |
Tekstur selalu dikelola oleh Direct3D. |
DDSCAPS2_DISCARDBACKBUFFER |
DirectX 8.0 dan versi yang lebih baru saja. Menunjukkan bahwa pelestarian buffer belakang tidak diperlukan. Ini akan diatur pada permukaan utama dan buffer belakang jika aplikasi telah mengatur D3DSWAPEFFECT_DISCARD pada Present API. DirectX 9.0 dan versi yang lebih baru saja. Menunjukkan bahwa pelestarian permukaan stensil kedalaman tidak diperlukan. |
DDSCAPS2_DONOTPERSIST |
Permukaan yang dikelola dapat hilang dengan aman. |
DDSCAPS2_ENABLEALPHACHANNEL |
DirectX 8.1 dan versi yang lebih baru saja. Menunjukkan untuk membuat permukaan yang merupakan bagian dari rantai pembalik utama atau yang berada di buffer belakang yang berdiri sendiri. Bendera ini menyala di saluran alfa. Untuk informasi selengkapnya, lihat Mengaktifkan Saluran Alfa Pada buffer Full-Screen Back. |
DDSCAPS2_EXTENDEDFORMATPRIMARY |
DirectX 9.0 dan versi yang lebih baru saja. Menunjukkan untuk membuat permukaan utama dummy untuk digunakan dengan mode tampilan nonstandar. Untuk informasi selengkapnya, lihat Beralih Antara Mode Standar dan Nonstandar. |
DDSCAPS2_HARDWAREDEINTERLACE |
Driver harus mengonversi sinyal yang saling terkait ke bingkai progresif. Bendera DDSCAPS_VIDEOPORT dan DDSCAPS_OVERLAY dalam struktur ini juga harus diatur. |
DDSCAPS2_HINTANTIALIASING |
Aplikasi akan menggunakan antialias. Bendera ini hanya valid jika bendera DDSCAPS_3DDEVICE juga diatur. |
DDSCAPS2_HINTDYNAMIC |
Aplikasi akan sering memperbarui permukaan. Permukaan dengan set bendera ini juga harus memiliki bendera DDSCAPS_TEXTURE dalam kumpulan struktur ini. Bendera ini tidak dapat digunakan dengan bendera DDSCAPS2_HINTSTATIC atau DDSCAPS2_OPAQUE. |
DDSCAPS2_HINTSTATIC |
Aplikasi ini jarang memperbarui permukaan, tetapi masih memerlukan akses. Permukaan dengan set bendera ini juga harus memiliki bendera DDSCAPS_TEXTURE dalam kumpulan struktur ini. Bendera ini tidak dapat digunakan dengan bendera DDSCAPS2_HINTDYNAMIC atau DDSCAPS2_OPAQUE. |
DDSCAPS2_INDEXBUFFER |
DirectX 8.0 dan versi yang lebih baru saja. Menandai buffer indeks, dibuat dan dikontrol oleh aplikasi. |
DDSCAPS2_MIPMAPSUBLEVEL |
Ini memungkinkan penggunaan GetAttachedSurface yang lebih mudah, daripada EnumAttachedSurfaces, untuk konstruksi permukaan seperti peta kubus, di mana ada lebih dari satu permukaan mipmap yang melekat pada permukaan akar. Ini harus diatur pada semua permukaan tingkat nontop dalam peta kubus mipmapped sehingga panggilan ke GetAttachedSurface dapat membedakan antara wajah tingkat atas dan tingkat mipmap yang terpasang. Bit kemampuan ini diabaikan oleh CreateSurface. |
DDSCAPS2_NOTUSERLOCKABLE |
DirectX 8.0 dan versi yang lebih baru saja. Atur pada buffer utama dan belakang jika rantai membalik tidak dapat dikunci, atau pada target render apa pun yang tidak dapat dikunci. Ini memungkinkan driver untuk melakukan pengoptimalan di belakang layar. Perhatikan bahwa masih mungkin untuk mengunci permukaan sehingga pengemudi harus menangani kasus-kasus ini, tetapi kunci tersebut jarang dan tidak diharapkan cepat. Driver juga dapat menentukan apakah buffer kedalaman/stensil dapat dikunci dengan adanya bendera ini. |
DDSCAPS2_NPATCHES |
DirectX 8.0 dan versi yang lebih baru saja. Menunjukkan bahwa data buffer vertex dapat digunakan untuk merender n-patch. |
DDSCAPS2_OPAQUE |
Aplikasi tidak akan pernah mengunci, memamerkan, atau memperbarui permukaan selama sisa masa pakai permukaan tersebut. Driver dapat mengompresi atau menyusun ulang permukaan tanpa harus mendekompresinya. Permukaan dengan set bendera ini juga harus memiliki bendera DDSCAPS_TEXTURE dalam kumpulan struktur ini. Bendera ini tidak dapat digunakan dengan bendera DDSCAPS2_HINTDYNAMIC atau DDSCAPS2_HINTSTATIC. |
DDSCAPS2_POINTS |
DirectX 8.0 dan versi yang lebih baru saja. Menunjukkan bahwa data buffer vertex dapat digunakan untuk merender titik dan sprite titik. |
DDSCAPS2_RTPATCHES |
DirectX 8.0 dan versi yang lebih baru saja. Menunjukkan bahwa data buffer vertex dapat digunakan untuk merender rt-patch. |
DDSCAPS2_STEREOSURFACELEFT |
Permukaan ini adalah bagian dari rantai membalik stereo. Ketika bendera ini diatur selama panggilan CreateSurface , sepasang permukaan stereo dibuat untuk setiap buffer dalam rantai pembalik utama. Anda harus membuat rantai balik yang kompleks (dengan buffer belakang). Anda tidak dapat membuat satu set permukaan stereo. Metode Balik memerlukan buffer belakang, jadi setidaknya 4 permukaan harus dibuat. Selain itu, ketika bendera ini diatur dalam struktur DDSURFACEDESC sebagai hasil dari panggilan EnumDisplayModes atau GetDisplayMode , bendera ini menunjukkan dukungan untuk stereo dalam mode tersebut. |
DDSCAPS2_TEXTUREMANAGE |
Klien menunjukkan bahwa permukaan tekstur ini harus dikelola oleh driver jika memungkinkan; jika tidak, ini dikelola oleh Mode Langsung Direct3D. Bendera ini hanya dapat digunakan untuk permukaan tekstur (bendera DDSCAPS_TEXTURE diatur dalam anggota dwCaps ). Untuk informasi selengkapnya, lihat Manajemen Tekstur Otomatis dalam dokumentasi Mode Langsung Direct3D. |
DDSCAPS2_VERTEXBUFFER |
Menandai buffer vertex eksplisit, dibuat dan dikontrol oleh aplikasi. |
DDSCAPS2_VOLUME |
DirectX 8.0 dan versi yang lebih baru saja. Bendera ini diatur jika tekstur memiliki kedalaman selain lebar dan tinggi. |
dwCaps3
Hanya versi DirectX 8.0 dan DirectX 8.1.
Menentukan jumlah sampel untuk permukaan multisampel. Bidang ini menyimpan salah satu nilai dari jenis enumerasi D3DMULTISAMPLE_TYPE. Jika permukaan tidak multisampled, dwCaps3 memiliki nilai D3DMULTISAMPLE_NONE (0).
DirectX 9.0 dan versi yang lebih baru saja.
Menentukan sekumpulan bit yang menunjukkan kemampuan permukaan tambahan. Anggota ini bisa menjadi bitwise ATAU dari bit berikut.
Bit | Makna |
---|---|
Bit dalam masker DDSCAPS3_MULTISAMPLE_MASK (0x0000001FL). |
Lima bit pertama dwCaps3 menunjukkan jumlah sampel untuk permukaan beberapa sampel. Jumlah sampel dapat ditentukan menggunakan salah satu nilai jenis enumerasi D3DMULTISAMPLE_TYPE. Jika permukaan tidak multisampel, nilai ini D3DMULTISAMPLE_NONE (0). |
Bit dalam masker DDSCAPS3_MULTISAMPLE_QUALITY_MASK (0x000000E0L). |
Tiga bit dwCaps3 berikutnya menunjukkan tingkat kualitas sampel penyajian di permukaan beberapa sampel. Tingkat kualitas harus berupa angka dari 0 hingga 7 yang mewakili tingkat kualitas masing-masing dari 1 hingga 8. Perhatikan bahwa meskipun permukaan tidak multisampel (ditentukan dalam lima bit pertama menggunakan D3DMULTISAMPLE_NONE) permukaan masih dapat memiliki tingkat kualitas yang lebih besar dari-1 (ditentukan menggunakan angka yang lebih besar dari 0). |
DDSCAPS3_RESERVED1 (0x00000100L) | Dicadangkan |
DDSCAPS3_VIDEO (0x00000200L) | Menunjukkan bahwa target render berisi data video. Perhatikan bahwa beberapa target render dapat dibuat dengan bendera ini, dan jika dua atau lebih target render ini termasuk dalam konteks Direct3D yang sama, maka driver menentukan bahwa render ini menargetkan semua menampilkan aliran video yang sama terlepas dari apakah permukaan target render melekat satu sama lain. |
DDSCAPS3_LIGHTWEIGHTMIPMAP (0x00000400L) | Menunjukkan apakah permukaan ini memiliki tingkat mip ringan |
DDSCAPS3_AUTOGENMIPMAP (0x00000800L) | Menunjukkan bahwa sublevel mip untuk permukaan ini secara otomatis dihasilkan. |
DDSCAPS3_DMAP (0x00001000L) | Menunjukkan tekstur displacement-map yang dapat diambil sampelnya oleh sampler displacement-map di unit tessellation. |
DUMMYUNIONNAMEN
T/A
DUMMYUNIONNAMEN.dwCaps4
Kata rendah adalah kedalaman untuk tekstur volume.
DUMMYUNIONNAMEN.dwVolumeDepth
Menentukan kedalaman bit tekstur volume.
Keterangan
Struktur ini digunakan oleh driver untuk melaporkan jenis permukaan yang didukung driver. Ini juga diisi oleh aplikasi untuk menentukan jenis permukaan yang akan dibuat.
Persyaratan
Header | ddraw.h |