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