Condividi tramite


Struttura FORMATOP (d3dumddi.h)

La struttura FORMATOP descrive un formato di superficie e le operazioni che possono essere eseguite con tale superficie.

Sintassi

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

Membri

[in] Format

Valore D3DDDIFORMATtipizzato che indica il formato pixel della superficie.

[out] Operations

Un OR valido bit per bit dei flag seguenti che indicano le operazioni che possono essere eseguite sulle superfici con il formato pixel specificato nel membro Format. Alcuni dei flag seguenti implicano l'uso di altri flag. Se un driver imposta un flag che implica altri flag, il driver non è necessario per impostare i flag impliciti e il runtime Direct3D determina l'uso dei flag impliciti.

FORMATOP_TEXTURE (0x00000001L)

Le superfici del formato di pixel specificato possono essere usate come trame mappate a MIP.

FORMATOP_VOLUMETEXTURE (0x00000002L)

Le superfici di questo formato possono essere usate come trame di volumi. Si noti che questo flag è indipendente da FORMATOP_TEXTURE. Pertanto, un formato pixel può essere usato per le trame del volume e non per le trame con mapping MIP convenzionali.

FORMATOP_CUBETEXTURE (0x00000004L)

Le superfici di questo formato possono essere usate come trame della mappa dell'ambiente cubico. Si noti che questo flag è indipendente da FORMATOP_TEXTURE. Pertanto, un formato pixel può essere usato per le trame mappate dell'ambiente cubico e non per le trame mappate MIP convenzionali.

FORMATOP_OFFSCREEN_RENDERTARGET (0x00000008L)

Le superfici di questo formato possono essere usate come destinazioni di rendering fuori schermo, indipendentemente dal formato pixel della modalità di visualizzazione, se il formato pixel della modalità di visualizzazione corrente è stato segnalato con FORMATOP_DISPLAYMODE e FORMATOP_3DACCELERATION. Se il formato pixel della modalità di visualizzazione corrente non ha impostato questi flag, in questa modalità non è disponibile alcuna accelerazione 3D anche se la destinazione di rendering è fuori schermo. Il flag FORMATOP_OFFSCREEN_RENDERTARGET può essere combinato con FORMATOP_TEXTURE per indicare che il dispositivo può eseguire il rendering in trame del formato pixel specificato.

Il flag FORMATOP_OFFSCREEN_RENDERTARGET implica anche i flag FORMATOP_SAME_FORMAT_RENDERTARGET e FORMATOP_SAME_FORMAT_UP_TO_ALPHA_RENDERTARGET.

FORMATOP_SAME_FORMAT_RENDERTARGET (0x00000010L)

Le superfici di questo formato possono essere usate come destinazioni di rendering, ma solo quando il formato pixel della superficie corrisponde al formato pixel della modalità di visualizzazione corrente. Questo flag non si applica solo alle destinazioni di rendering offscreen, ma può essere specificato nei formati pixel delle modalità di visualizzazione per indicare la funzionalità di destinazione del rendering. Questo flag può essere combinato con FORMATOP_TEXTURE per indicare che il dispositivo può eseguire il rendering in trame del formato pixel specificato.

Il flag FORMATOP_SAME_FORMAT_RENDERTARGET implica anche il flag di FORMATOP_SAME_FORMAT_UP_TO_ALPHA_RENDERTARGET.

FORMATOP_ZSTENCIL (0x00000040L)

Le superfici di questo formato possono essere usate come buffer Z/stencil, ma solo se la profondità della superficie Z/stencil corrisponde alla profondità del colore della destinazione di rendering a cui è collegato il buffer di profondità. Usa lo stride pixel quando decidi una corrispondenza tra Z/stencil e profondità del buffer dei colori.

FORMATOP_ZSTENCIL_WITH_ARBITRARY_COLOR_DEPTH (0x00000080L)

Le superfici di questo formato possono essere usate come buffer Z/stencil, indipendentemente dalla profondità del colore della destinazione di rendering a cui è collegata la superficie.

Il flag FORMATOP_ZSTENCIL_WITH_ARBITRARY_COLOR_DEPTH implica anche il flag di FORMATOP_ZSTENCIL.

FORMATOP_SAME_FORMAT_UP_TO_ALPHA_RENDERTARGET (0x00000100L)

Le superfici di questo formato possono essere usate come destinazioni di rendering se la modalità di visualizzazione corrente è la stessa profondità e il canale alfa viene ignorato. Ad esempio, se il dispositivo può eseguire il rendering in A8R8G8B8 quando la modalità di visualizzazione è X8R8G8B8, la voce dell'elenco di operazioni di formato per A8R8G8B8 deve avere questo flag impostato.

FORMATOP_DISPLAYMODE (0x00000400L)

Modalità di visualizzazione con questo formato pixel supportato dal modello di driver (incluso Flip). Questo flag non deve essere impostato nei formati alfa.

FORMATOP_3DACCELERATION (0x00000800L)

L'acceleratore di grafica può supportare un certo livello di accelerazione Microsoft Direct3D quando in modalità di visualizzazione con questo formato pixel e il driver può creare un contesto in questa modalità (per alcuni formati di destinazione di rendering). Questo flag può essere usato solo quando si segnalano i formati della modalità di visualizzazione (specificando il FORMATOP_DISPLAYMODE). Questo flag non deve essere usato per segnalare i formati di destinazioni di rendering fuori schermo.

FORMATOP_PIXELSIZE (0x00001000L)

Il driver ha compilato i bit per pixel per il formato nel membro PrivateFormatBitCount.

Se il driver richiede che le superfici gestite e le trame usino un formato privato (un formato che può essere elaborato dal driver ma non in modo nativo dal runtime Direct3D), il driver deve specificare FORMATOP_PIXELSIZE e le dimensioni dei pixel in PrivateFormatBitCount.

FORMATOP_CONVERT_TO_ARGB (0x00002000L)

Le superfici di origine di questo formato possono essere convertite in qualsiasi superficie di destinazione con un formato pixel RGB con il flag FORMATOP_MEMBEROFGROUP_ARGB specificato.

FORMATOP_OFFSCREENPLAIN (0x00004000L)

Il driver può estendersi da e verso e superfici di riempimento di colore di questo formato.

FORMATOP_SRGBREAD (0x00008000L)

Le superfici di questo formato possono essere lette da come sRGBtrame formattate, ovvero il campionatore linearizza i dati ricercati.

FORMATOP_BUMPMAP (0x00010000L)

Le superfici di questo formato possono essere usate come trame della mappa dell'ambiente d'urto. Si noti che questo flag è indipendente da FORMATOP_TEXTURE. Pertanto, un formato pixel può essere usato per le trame della mappa dell'ambiente d'urto e non per le trame mappate MIP convenzionali.

FORMATOP_DMAP (0x00020000L)

Il campionatore di mappe di spostamento può campionarne le superfici di questo formato.

FORMATOP_NOFILTER (0x00040000L)

Le superfici di questo formato non possono essere utilizzate con il filtro delle trame.

FORMATOP_MEMBEROFGROUP_ARGB (0x00080000L)

Le superfici di destinazione di questo formato possono essere convertite da qualsiasi superficie di origine con un formato pixel con il flag FORMATOP_CONVERT_TO_ARGB specificato. Il driver può specificare FORMATOP_MEMBEROFGROUP_ARGB solo per le superfici ARGB con almeno 5 bit di informazioni sul colore per ogni canale. Ovvero, il formato D3DDDIFMT_A1R5G5B5 è valido, ma il formato D3DDDIFMT_A4R4G4B4 non è valido. Se il driver specifica FORMATOP_MEMBEROFGROUP_ARGB con un formato non valido, il runtime Direct3D impedisce il caricamento di Direct3D HAL. Si noti che anche se questo flag indica i formati ARGB, il runtime consente anche al driver di specificare superfici con formati XRGB (ad esempio, D3DDDIFMT_X1R5G5B5).

FORMATOP_SRGBWRITE (0x00100000L)

Le superfici di questo formato possono essere scritte come destinazioni con formattazione sRGB( ovvero, la pipe pixel delinea i dati sull'output in questo formato).

FORMATOP_NOALPHABLEND (0x00200000L)

Le superfici di questo formato non possono essere utilizzate con la fusione alfa.

FORMATOP_AUTOGENMIPMAP (0x00400000L)

I sottolivello delle trame mappate a MIP con questo formato possono essere generati automaticamente. Affinché il driver riceva le chiamate al relativo Funzione GenerateMipSubLevels, questo flag deve essere esposto.

FORMATOP_VERTEXTEXTURE (0x00800000L)

Un campionatore di trame dei vertici può usare superfici di questo formato. Ovvero, solo le superfici di questo formato possono essere usate come trame dei vertici.

FORMATOP_NOTEXCOORDWRAPNORMIP (0x01000000L)

Le superfici di questo formato possono essere usate solo in modo condizionale per il mapping delle trame 2D con dimensioni che non sono potenze di 2. Per altre informazioni, vedere le definizioni per D3DPTEXTURECAPS_POW2 e D3DPTEXTURECAPS_NONPOW2CONDITIONAL nella pagina di riferimento D3DPRIMCAPS.

FORMATOP_PLANAR (0x02000000L)

Le superfici di questo formato sono planari e compresse. Il runtime Direct3D deve allocare un buffer se chiama la funzione lock del driver di visualizzazione in modalità utente su una superficie con un formato planare mentre la superficie viene persa e il tipico calcolo dell'altezza del passo moltiplicato non è possibile. La maggior parte dei formati sono compressi, ad eccezione di quelli usati da Microsoft DirectX Video Acceleration (ad esempio, i formati YUV).

FORMATOP_OVERLAY (0x04000000L)

Le superfici di questo formato vengono usate per le operazioni di sovrapposizione.

FORMATOP_CAPTURE (0x08000000L)

Se la VideoEncoder membro della struttura D3DDDI_RESOURCEFLAGS2 è impostata, le superfici di questo formato possono essere usate come buffer di acquisizione.

Supportato a partire da Windows 8.

FORMATOP_VIDEO_ENCODER (0x10000000L)

Se il VideoEncoder membro della struttura D3DDDI_RESOURCEFLAGS2 è impostato, le superfici di questo formato possono essere usate come risorse di input del codificatore video.

Supportato a partire da Windows 8.

FORMATOP_MULTIPLANE_OVERLAY (0x20000000L)

Le superfici di questo formato supportano una sovrapposizione multiplane.

Supportato a partire da Windows 8.

[out] FlipMsTypes

Maschera a 32 bit per il campionamento multiplo a schermo intero.

[out] BltMsTypes

Maschera a 32 bit per il campionamento multiplo finestrato.

[out] PrivateFormatBitCount

I bit per pixel di un formato pixel privato per il driver (ovvero non uno dei formati di pixel standard definiti dal tipo di enumerazione D3DDDIFORMAT).

Fabbisogno

Requisito Valore
client minimo supportato Disponibile in Windows Vista e versioni successive dei sistemi operativi Windows.
intestazione d3dumddi.h (include D3dumddi.h)

Vedere anche

D3DDDIARG_GETCAPS

D3DDDICAPS_TYPE

D3DDDIFORMAT

D3DDDI_RESOURCEFLAGS2

GetCaps