Struktur FORMATOP (d3dumddi.h)

Struktur FORMATOP menjelaskan format permukaan dan operasi yang dapat dilakukan dengan permukaan seperti itu.

Sintaks

typedef struct _FORMATOP {
  [in]  D3DDDIFORMAT Format;
  [out] UINT         Operations;
  [out] UINT         FlipMsTypes;
  [out] UINT         BltMsTypes;
  [out] UINT         PrivateFormatBitCount;
} FORMATOP;

Anggota

[in] Format

Nilai jenis D3DDDIFORMAT yang menunjukkan format piksel permukaan.

[out] Operations

Bitwise ATAU yang valid dari bendera berikut yang menunjukkan operasi yang dapat dilakukan pada permukaan dengan format piksel yang ditentukan dalam anggota Format . Beberapa bendera berikut menyiratkan bahwa bendera lain harus digunakan. Jika driver menetapkan bendera yang menyiratkan bendera lain, driver tidak diperlukan untuk mengatur bendera tersirat, dan runtime Direct3D menentukan penggunaan bendera tersirat.

FORMATOP_TEXTURE (0x00000001L)

Permukaan format piksel yang ditentukan dapat digunakan sebagai tekstur yang dipetakan MIP.

FORMATOP_VOLUMETEXTURE (0x00000002L)

Permukaan format ini dapat digunakan sebagai tekstur volume. Perhatikan bahwa bendera ini tidak bergantung pada FORMATOP_TEXTURE. Oleh karena itu, format piksel dapat digunakan untuk tekstur volume dan bukan untuk tekstur konvensional yang dipetakan MIP.

FORMATOP_CUBETEXTURE (0x00000004L)

Permukaan format ini dapat digunakan sebagai tekstur peta lingkungan kubik. Perhatikan bahwa bendera ini tidak bergantung pada FORMATOP_TEXTURE. Oleh karena itu, format piksel dapat digunakan untuk tekstur peta lingkungan kubik dan bukan untuk tekstur konvensional yang dipetakan MIP.

FORMATOP_OFFSCREEN_RENDERTARGET (0x00000008L)

Permukaan format ini dapat digunakan sebagai target render di luar layar, terlepas dari format piksel mode tampilan, jika format piksel mode tampilan saat ini dilaporkan dengan FORMATOP_DISPLAYMODE dan FORMATOP_3DACCELERATION. Jika format piksel mode tampilan saat ini tidak memiliki bendera ini yang ditetapkan, tidak ada akselerasi 3-D yang tersedia dalam mode ini meskipun target render di luar layar. Bendera FORMATOP_OFFSCREEN_RENDERTARGET dapat dikombinasikan dengan FORMATOP_TEXTURE untuk menunjukkan bahwa perangkat dapat merender ke tekstur format piksel yang ditentukan.

Bendera FORMATOP_OFFSCREEN_RENDERTARGET juga menyiratkan bendera FORMATOP_SAME_FORMAT_RENDERTARGET dan FORMATOP_SAME_FORMAT_UP_TO_ALPHA_RENDERTARGET.

FORMATOP_SAME_FORMAT_RENDERTARGET (0x00000010L)

Permukaan format ini dapat digunakan sebagai target render tetapi hanya ketika format piksel permukaan cocok dengan format piksel mode tampilan saat ini. Bendera ini tidak hanya berlaku untuk target render di luar layar tetapi dapat ditentukan pada format piksel mode tampilan untuk menunjukkan kemampuan target penyajian. Bendera ini dapat dikombinasikan dengan FORMATOP_TEXTURE untuk menunjukkan bahwa perangkat dapat merender ke tekstur format piksel yang ditentukan.

Bendera FORMATOP_SAME_FORMAT_RENDERTARGET juga menyiratkan bendera FORMATOP_SAME_FORMAT_UP_TO_ALPHA_RENDERTARGET.

FORMATOP_ZSTENCIL (0x00000040L)

Permukaan format ini dapat digunakan sebagai buffer Z/stensil tetapi hanya jika kedalaman permukaan Z/stensil cocok dengan kedalaman warna target penyajian tempat buffer kedalaman terpasang. Gunakan langkah piksel saat Anda memutuskan kecocokan antara Z/stensil dan kedalaman buffer warna.

FORMATOP_ZSTENCIL_WITH_ARBITRARY_COLOR_DEPTH (0x00000080L)

Permukaan format ini dapat digunakan sebagai buffer Z/stensil, terlepas dari kedalaman warna target render tempat permukaan terpasang.

Bendera FORMATOP_ZSTENCIL_WITH_ARBITRARY_COLOR_DEPTH juga menyiratkan bendera FORMATOP_ZSTENCIL.

FORMATOP_SAME_FORMAT_UP_TO_ALPHA_RENDERTARGET (0x00000100L)

Permukaan format ini dapat digunakan sebagai target render jika mode tampilan saat ini adalah kedalaman yang sama dan saluran alfa diabaikan. Misalnya, jika perangkat dapat dirender ke A8R8G8B8 saat mode tampilan X8R8G8B8, entri daftar operasi format untuk A8R8G8B8 harus mengatur bendera ini.

FORMATOP_DISPLAYMODE (0x00000400L)

Mode tampilan dengan format piksel ini yang didukung oleh model driver (termasuk Balik). Bendera ini tidak boleh diatur pada format alfa.

FORMATOP_3DACCELERATION (0x00000800L)

Akselerator grafis dapat mendukung beberapa tingkat akselerasi Microsoft Direct3D saat dalam mode tampilan dengan format piksel ini, dan driver dapat membuat konteks dalam mode ini (untuk beberapa format target render). Bendera ini hanya dapat digunakan saat melaporkan format mode tampilan (dengan menentukan FORMATOP_DISPLAYMODE). Bendera ini tidak boleh digunakan untuk melaporkan format target render di luar layar.

FORMATOP_PIXELSIZE (0x00001000L)

Driver mengisi bit per piksel untuk format di anggota PrivateFormatBitCount .

Jika driver mengharuskan permukaan dan tekstur terkelola menggunakan format privat (format yang dapat diproses oleh driver tetapi tidak secara asli oleh runtime Direct3D), driver harus menentukan FORMATOP_PIXELSIZE dan ukuran piksel dalam PrivateFormatBitCount.

FORMATOP_CONVERT_TO_ARGB (0x00002000L)

Permukaan sumber format ini dapat dikonversi ke permukaan target apa pun dengan format piksel RGB yang memiliki bendera FORMATOP_MEMBEROFGROUP_ARGB ditentukan.

FORMATOP_OFFSCREENPLAIN (0x00004000L)

Driver dapat meregangkan ke dan dari dan permukaan isian warna dari format ini.

FORMATOP_SRGBREAD (0x00008000L)

Permukaan format ini dapat dibaca dari sebagai tekstur berformat sRGB (yaitu, sampler melirik data yang dicari).

FORMATOP_BUMPMAP (0x00010000L)

Permukaan format ini dapat digunakan sebagai tekstur peta lingkungan benjolan. Perhatikan bahwa bendera ini tidak bergantung pada FORMATOP_TEXTURE. Oleh karena itu, format piksel dapat digunakan untuk tekstur peta lingkungan benjolan dan bukan untuk tekstur konvensional yang dipetakan MIP.

FORMATOP_DMAP (0x00020000L)

Sampler peta perpindahan dapat mengambil sampel permukaan format ini.

FORMATOP_NOFILTER (0x00040000L)

Permukaan format ini tidak dapat digunakan dengan pemfilteran tekstur.

FORMATOP_MEMBEROFGROUP_ARGB (0x00080000L)

Permukaan target format ini dapat dikonversi dari permukaan sumber apa pun dengan format piksel yang memiliki bendera FORMATOP_CONVERT_TO_ARGB ditentukan. Driver dapat menentukan FORMATOP_MEMBEROFGROUP_ARGB hanya untuk permukaan ARGB dengan setidaknya 5 bit informasi warna untuk setiap saluran. Artinya, format D3DDDIFMT_A1R5G5B5 valid, tetapi format D3DDDIFMT_A4R4G4B4 tidak valid. Jika driver menentukan FORMATOP_MEMBEROFGROUP_ARGB dengan format yang tidak valid, runtime Direct3D mencegah Direct3D HAL dimuat. Perhatikan bahwa meskipun bendera ini menunjukkan format ARGB, runtime juga memungkinkan driver untuk menentukan permukaan dengan format XRGB (misalnya, D3DDDIFMT_X1R5G5B5).

FORMATOP_SRGBWRITE (0x00100000L)

Permukaan format ini dapat ditulis sebagai target berformat sRGB (yaitu, pipa piksel menguraikan data pada output ke format ini).

FORMATOP_NOALPHABLEND (0x00200000L)

Permukaan format ini tidak dapat digunakan dengan penpaduan alfa.

FORMATOP_AUTOGENMIPMAP (0x00400000L)

Sublevel tekstur yang dipetakan MIP dengan format ini dapat dibuat secara otomatis. Agar driver menerima panggilan ke fungsi GenerateMipSubLevels - nya, bendera ini harus diekspos.

FORMATOP_VERTEXTEXTURE (0x00800000L)

Sampler tekstur verteks dapat menggunakan permukaan format ini. Artinya, hanya permukaan format ini yang dapat digunakan sebagai tekstur puncak.

FORMATOP_NOTEXCOORDWRAPNORMIP (0x01000000L)

Permukaan format ini hanya dapat digunakan secara kondisional untuk pemetaan tekstur tekstur 2-D dengan dimensi yang bukan kekuatan 2. Untuk informasi selengkapnya, lihat definisi untuk D3DPTEXTURECAPS_POW2 dan D3DPTEXTURECAPS_NONPOW2CONDITIONAL di halaman referensi D3DPRIMCAPS .

FORMATOP_PLANAR (0x02000000L)

Permukaan format ini planar versus dikemas. Runtime Direct3D harus mengalokasikan buffer jika memanggil fungsi Kunci driver tampilan mode pengguna pada permukaan dengan format planar saat permukaan hilang dan perhitungan khas dari tinggi waktu yang dikalikan pitch tidak dimungkinkan. Sebagian besar format dikemas kecuali format yang digunakan Microsoft DirectX Video Acceleration (misalnya, format YUV).

FORMATOP_OVERLAY (0x04000000L)

Permukaan format ini digunakan untuk operasi overlay.

FORMATOP_CAPTURE (0x08000000L)

Jika anggota VideoEncoder dari struktur D3DDDI_RESOURCEFLAGS2 diatur, permukaan format ini dapat digunakan sebagai buffer pengambilan.

Didukung dimulai dengan Windows 8.

FORMATOP_VIDEO_ENCODER (0x10000000L)

Jika anggota VideoEncoder dari struktur D3DDDI_RESOURCEFLAGS2 diatur, permukaan format ini dapat digunakan sebagai sumber daya input encoder video.

Didukung dimulai dengan Windows 8.

FORMATOP_MULTIPLANE_OVERLAY (0x20000000L)

Permukaan format ini mendukung overlay multiplane.

Didukung dimulai dengan Windows 8.

[out] FlipMsTypes

32-bitmask untuk beberapa pengambilan sampel layar penuh.

[out] BltMsTypes

32-bitmask untuk beberapa pengambilan sampel berjendela.

[out] PrivateFormatBitCount

Bit per piksel dari format piksel yang privat untuk driver (yaitu, bukan salah satu format piksel standar yang ditentukan oleh jenis enumerasi D3DDDIFORMAT ).

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Tersedia di Windows Vista dan versi yang lebih baru dari sistem operasi Windows.
Header d3dumddi.h (termasuk D3dumddi.h)

Lihat juga

D3DDDIARG_GETCAPS

D3DDDICAPS_TYPE

D3DDDIFORMAT

D3DDDI_RESOURCEFLAGS2

GetCaps