Condividi tramite


Struttura DDSCAPS2 (ddraw.h)

La struttura DDSCAPS2 definisce funzionalità aggiuntive di un oggetto superficie Microsoft DirectDraw.

Sintassi

typedef struct _DDSCAPS2 {
  DWORD dwCaps;
  DWORD dwCaps2;
  DWORD dwCaps3;
  union {
    DWORD dwCaps4;
    DWORD dwVolumeDepth;
  } DUMMYUNIONNAMEN;
} DDSCAPS2;

Members

dwCaps

Specifica un set di flag che rappresentano le funzionalità della superficie. I flag in questo membro sono identici a quelli nel membro corrispondente della struttura DDSCAPS .

dwCaps2

Specifica un set di flag che indicano funzionalità di superficie aggiuntive. Questo membro può contenere uno o più flag di funzionalità seguenti. Ognuno di questi flag, ad eccezione di DDSCAPS2_TEXTUREMANAGE, viene impostato dall'applicazione quando l'applicazione chiama il relativo metodo CreateSurface .

Flag Significato

DDSCAPS2_ADDITIONALPRIMARY

Solo Microsoft DirectX 9.0 e versioni successive.

Indica che le teste subordinate di una scheda a testa multipla non sono più sotto controllo della memoria video dopo la creazione delle superfici per le teste subordinate con questo set di bit. Una volta distrutte queste superfici, le teste subordinate riprendono il controllo della loro memoria. Per altre informazioni, vedere Gestione della memoria Multiple-Head.

DDSCAPS2_COMMANDBUFFER

Contrassegna un buffer dei comandi, usato da Microsoft Direct3D per i comandi batch.

DDSCAPS2_CUBEMAP

Questa superficie è una mappa di ambiente cubica. Quando si usa questo flag, specificare anche il viso o i visi della mappa dell'ambiente cubico da creare.

DDSCAPS2_CUBEMAP_POSITIVEX

Questo flag viene usato con il flag DDSCAPS2_CUBEMAP per creare la X faccia positiva di una mappa di ambiente cubica.

DDSCAPS2_CUBEMAP_NEGATIVEX

Questo flag viene usato con il flag DDSCAPS2_CUBEMAP per creare la faccia X negativa di una mappa di ambiente cubica.

DDSCAPS2_CUBEMAP_POSITIVEY

Questo flag viene usato con il flag DDSCAPS2_CUBEMAP per creare la faccia Y positiva di una mappa di ambiente cubica.

DDSCAPS2_CUBEMAP_NEGATIVEY

Questo flag viene usato con il flag DDSCAPS2_CUBEMAP per creare la faccia Y negativa di una mappa di ambiente cubica.

DDSCAPS2_CUBEMAP_POSITIVEZ

Questo flag viene usato con il flag DDSCAPS2_CUBEMAP per creare la faccia Z positiva di una mappa di ambiente cubica.

DDSCAPS2_CUBEMAP_NEGATIVEZ

Questo flag viene usato con il flag DDSCAPS2_CUBEMAP per creare la faccia Z negativa di una mappa di ambiente cubica.

DDSCAPS2_CUBEMAP_ALLFACES

Questo flag viene usato con il flag DDSCAPS2_CUBEMAP per creare tutte e sei le facce di una mappa di ambiente cubica.

DDSCAPS2_D3DTEXTUREMANAGE

La trama è sempre gestita da Direct3D.

DDSCAPS2_DISCARDBACKBUFFER

Solo DirectX 8.0 e versioni successive.

Indica che la conservazione del buffer nascosto non è necessaria. Verrà impostata sulla superficie primaria e i buffer nascosto se l'applicazione ha impostato D3DSWAPEFFECT_DISCARD nell'API Presente. Solo DirectX 9.0 e versioni successive. Indica che la conservazione della superficie depth-stencil non è necessaria.

DDSCAPS2_DONOTPERSIST

La superficie gestita può essere persa in modo sicuro.

DDSCAPS2_ENABLEALPHACHANNEL

Solo DirectX 8.1 e versioni successive.

Indica di creare superfici che fanno parte di una catena di capovolgimento primario o che si trovano in buffer back autonomi. Questo flag attiva il canale alfa. Per altre informazioni, vedere Abilitazione dei canali alfa in Full-Screen back buffer.

DDSCAPS2_EXTENDEDFORMATPRIMARY

Solo DirectX 9.0 e versioni successive.

Indica di creare una superficie primaria fittizia da utilizzare con una modalità di visualizzazione non standard. Per altre informazioni, vedere Passaggio tra modalità standard e non standard.

DDSCAPS2_HARDWAREDEINTERLACE

Il driver deve convertire il segnale interlacciato in fotogrammi progressivi. È necessario impostare anche i flag DDSCAPS_VIDEOPORT e DDSCAPS_OVERLAY in questa struttura.

DDSCAPS2_HINTANTIALIASING

L'applicazione userà l'anti-aliasing. Questo flag è valido solo se è impostato anche il flag di DDSCAPS_3DDEVICE.

DDSCAPS2_HINTDYNAMIC

L'applicazione aggiornerà frequentemente la superficie. Anche le superfici con questo set di flag devono avere il flag DDSCAPS_TEXTURE in questa struttura impostata. Questo flag non può essere usato con i flag DDSCAPS2_HINTSTATIC o DDSCAPS2_OPAQUE.

DDSCAPS2_HINTSTATIC

L'applicazione aggiornerà raramente la superficie, ma richiede comunque l'accesso. Anche le superfici con questo set di flag devono avere il flag DDSCAPS_TEXTURE in questa struttura impostata. Questo flag non può essere usato con i flag DDSCAPS2_HINTDYNAMIC o DDSCAPS2_OPAQUE.

DDSCAPS2_INDEXBUFFER

Solo DirectX 8.0 e versioni successive.

Contrassegna un buffer di indice, creato e controllato dall'applicazione.

DDSCAPS2_MIPMAPSUBLEVEL

Consente un uso più semplice di GetAttachedSurface, invece di EnumAttachedSurfaces, per costrutti di superficie come le mappe dei cubi, in cui è presente più di una superficie mipmap collegata alla superficie radice. Questa impostazione deve essere impostata su tutte le superfici non di livello superiore in una mappa del cubo mipmapped in modo che una chiamata a GetAttachedSurface possa distinguere tra i visi di primo livello e i livelli mipmap associati. Questo bit di funzionalità viene ignorato da CreateSurface.

DDSCAPS2_NOTUSERLOCKABLE

Solo DirectX 8.0 e versioni successive.

Impostare sul buffer primario e indietro se la catena di capovolgimento non è bloccabile o su qualsiasi destinazione di rendering non bloccabile. Ciò consente ai driver di eseguire l'ottimizzazione in background. Si noti che è ancora possibile bloccare le superfici in modo che il driver debba gestire questi casi, ma tali blocchi sono poco frequenti e non dovrebbero essere veloci. Il driver può anche determinare se il buffer depth/stencil è bloccato dalla presenza di questo flag.

DDSCAPS2_NPATCHES

Solo DirectX 8.0 e versioni successive.

Indica che i dati del vertex buffer possono essere usati per eseguire il rendering di n patch.

DDSCAPS2_OPAQUE

L'applicazione non bloccherà mai, bloccherà o aggiornerà la superficie per il resto della durata della superficie. Il driver può comprimere o riordinare la superficie senza doverla decomprimere. Anche le superfici con questo set di flag devono avere il flag DDSCAPS_TEXTURE in questa struttura impostata. Questo flag non può essere usato con i flag DDSCAPS2_HINTDYNAMIC o DDSCAPS2_HINTSTATIC.

DDSCAPS2_POINTS

Solo DirectX 8.0 e versioni successive.

Indica che i dati del vertex buffer possono essere usati per eseguire il rendering dei punti e degli sprite dei punti.

DDSCAPS2_RTPATCHES

Solo DirectX 8.0 e versioni successive.

Indica che i dati del vertex buffer possono essere usati per eseguire il rendering delle patch rt.

DDSCAPS2_STEREOSURFACELEFT

Questa superficie fa parte di una catena di capovolgimento stereo. Quando questo flag viene impostato durante una chiamata CreateSurface , viene creata una coppia di superfici stereo per ogni buffer nella catena di capovolgimento principale. È necessario creare una catena di capovolgimento complessa (con buffer nascosto). Non è possibile creare un singolo set di superfici stereo. Il metodo Flip richiede buffer back, quindi è necessario creare almeno 4 superfici.

Inoltre, quando questo flag viene impostato in una struttura DDSURFACEDESC come risultato di una chiamata EnumDisplayModes o GetDisplayMode , indica il supporto per stereo in tale modalità.

DDSCAPS2_TEXTUREMANAGE

Il client indica che questa superficie di trama deve essere gestita dal driver, se possibile; in caso contrario, viene gestito dalla modalità immediata Direct3D. Questo flag può essere usato solo per le superfici di trama (DDSCAPS_TEXTURE flag impostato nel membro dwCaps ). Per altre informazioni, vedere Gestione automatica delle trame nella documentazione relativa alla modalità immediata Direct3D.

DDSCAPS2_VERTEXBUFFER

Contrassegna un buffer di vertici esplicito, creato e controllato dall'applicazione.

DDSCAPS2_VOLUME

Solo DirectX 8.0 e versioni successive.

Questo flag viene impostato se la trama ha profondità oltre alla larghezza e all'altezza.

dwCaps3

Solo versioni DirectX 8.0 e DirectX 8.1.

Specifica il numero di campioni per una superficie multicampionato. Questo campo contiene uno dei valori del tipo enumerato D3DMULTISAMPLE_TYPE. Se una superficie non è multicampionata, dwCaps3 ha il valore D3DMULTISAMPLE_NONE (0).

Solo DirectX 9.0 e versioni successive.

Specifica un set di bit che indicano funzionalità di superficie aggiuntive. Questo membro può essere un OR bit per bit dei bit seguenti.

BITS Significato

Bit nella maschera DDSCAPS3_MULTISAMPLE_MASK (0x0000001FL).

I primi cinque bit di dwCaps3 indicano il numero di campioni per una superficie a più campioni. È possibile specificare il numero di campioni usando uno dei valori del tipo enumerato D3DMULTISAMPLE_TYPE. Se una superficie non è multicampionata, questo valore è D3DMULTISAMPLE_NONE (0).

Bit nella maschera DDSCAPS3_MULTISAMPLE_QUALITY_MASK (0x000000E0L).

I tre bit successivi di dwCaps3 indicano il livello di qualità dei campioni di rendering in una superficie a più campioni. Il livello di qualità deve essere un numero compreso tra 0 e 7 che rappresenta rispettivamente un livello di qualità compreso tra 1 e 8. Si noti che anche se una superficie non è multicampionato (specificata nei primi cinque bit usando D3DMULTISAMPLE_NONE) può comunque avere un livello di qualità maggiore di 1 (specificato usando un numero maggiore di 0).

DDSCAPS3_RESERVED1 (0x00000100L)

Riservato

DDSCAPS3_VIDEO (0x00000200L)

Indica che la destinazione di rendering contiene dati video. Si noti che è possibile creare più destinazioni di rendering con questo flag e se due o più di queste destinazioni di rendering appartengono allo stesso contesto Direct3D, il driver determina che queste destinazioni di rendering visualizzano tutti lo stesso flusso video indipendentemente dal fatto che le superfici di destinazione di rendering siano collegate tra loro.

DDSCAPS3_LIGHTWEIGHTMIPMAP (0x00000400L)

Indica se questa superficie ha livelli mip leggeri

DDSCAPS3_AUTOGENMIPMAP (0x00000800L)

Indica che i sublevel mip per questa superficie vengono generati automaticamente.

DDSCAPS3_DMAP (0x00001000L)

Indica una trama della mappa di spostamento che può essere campionata dal campionatore di mappa di spostamento nell'unità a mosaico.

DUMMYUNIONNAMEN

N/D

DUMMYUNIONNAMEN.dwCaps4

La parola bassa è la profondità per una trama del volume.

DUMMYUNIONNAMEN.dwVolumeDepth

Specifica la profondità in bit della trama del volume.

Commenti

Questa struttura viene utilizzata dal driver per segnalare i tipi di superfici supportate dal driver. Viene inoltre compilato da un'applicazione per specificare il tipo di superficie da creare.

Requisiti

   
Intestazione ddraw.h