Struttura D3DCAPS9 (d3d9caps.h)

Rappresenta le funzionalità dell'hardware esposto tramite l'oggetto Direct3D.

Sintassi

typedef struct _D3DCAPS9 {
  D3DDEVTYPE        DeviceType;
  UINT              AdapterOrdinal;
  DWORD             Caps;
  DWORD             Caps2;
  DWORD             Caps3;
  DWORD             PresentationIntervals;
  DWORD             CursorCaps;
  DWORD             DevCaps;
  DWORD             PrimitiveMiscCaps;
  DWORD             RasterCaps;
  DWORD             ZCmpCaps;
  DWORD             SrcBlendCaps;
  DWORD             DestBlendCaps;
  DWORD             AlphaCmpCaps;
  DWORD             ShadeCaps;
  DWORD             TextureCaps;
  DWORD             TextureFilterCaps;
  DWORD             CubeTextureFilterCaps;
  DWORD             VolumeTextureFilterCaps;
  DWORD             TextureAddressCaps;
  DWORD             VolumeTextureAddressCaps;
  DWORD             LineCaps;
  DWORD             MaxTextureWidth;
  DWORD             MaxTextureHeight;
  DWORD             MaxVolumeExtent;
  DWORD             MaxTextureRepeat;
  DWORD             MaxTextureAspectRatio;
  DWORD             MaxAnisotropy;
  float             MaxVertexW;
  float             GuardBandLeft;
  float             GuardBandTop;
  float             GuardBandRight;
  float             GuardBandBottom;
  float             ExtentsAdjust;
  DWORD             StencilCaps;
  DWORD             FVFCaps;
  DWORD             TextureOpCaps;
  DWORD             MaxTextureBlendStages;
  DWORD             MaxSimultaneousTextures;
  DWORD             VertexProcessingCaps;
  DWORD             MaxActiveLights;
  DWORD             MaxUserClipPlanes;
  DWORD             MaxVertexBlendMatrices;
  DWORD             MaxVertexBlendMatrixIndex;
  float             MaxPointSize;
  DWORD             MaxPrimitiveCount;
  DWORD             MaxVertexIndex;
  DWORD             MaxStreams;
  DWORD             MaxStreamStride;
  DWORD             VertexShaderVersion;
  DWORD             MaxVertexShaderConst;
  DWORD             PixelShaderVersion;
  float             PixelShader1xMaxValue;
  DWORD             DevCaps2;
  float             MaxNpatchTessellationLevel;
  DWORD             Reserved5;
  UINT              MasterAdapterOrdinal;
  UINT              AdapterOrdinalInGroup;
  UINT              NumberOfAdaptersInGroup;
  DWORD             DeclTypes;
  DWORD             NumSimultaneousRTs;
  DWORD             StretchRectFilterCaps;
  D3DVSHADERCAPS2_0 VS20Caps;
  D3DPSHADERCAPS2_0 PS20Caps;
  DWORD             VertexTextureFilterCaps;
  DWORD             MaxVShaderInstructionsExecuted;
  DWORD             MaxPShaderInstructionsExecuted;
  DWORD             MaxVertexShader30InstructionSlots;
  DWORD             MaxPixelShader30InstructionSlots;
} D3DCAPS9;

Members

DeviceType

Tipo: D3DDEVTYPE

Membro del tipo enumerato D3DDEVTYPE , che identifica il tipo di risorse utilizzato per l'elaborazione dei vertici.

AdapterOrdinal

Tipo: UINT

Adattatore in cui è stato creato questo dispositivo Direct3D. Questo ordinale è valido solo per passare ai metodi dell'interfaccia IDirect3D9 che ha creato questo dispositivo Direct3D. L'interfaccia IDirect3D9 può sempre essere recuperata chiamando GetDirect3D.

Caps

Tipo: DWORD

Funzionalità specifiche del driver seguenti.

Valore Significato
D3DCAPS_READ_SCANLINE
L'hardware di visualizzazione è in grado di restituire la riga di analisi corrente.
D3DCAPS_OVERLAY
Il driver di visualizzazione supporta un DDI sovrimpressione che consente la verifica delle funzionalità di sovrapposizione. Per altre informazioni sull'DDI sovrimpressione, vedere Sovrimpressione DDI.
Differenze tra Direct3D 9 e Direct3D 9Ex:

Questo flag è disponibile solo in Direct3D 9Ex.

 

Caps2

Tipo: DWORD

Funzionalità specifiche del driver identificate in D3DCAPS2.

Caps3

Tipo: DWORD

Funzionalità specifiche del driver identificate in D3DCAPS3.

PresentationIntervals

Tipo: DWORD

Maschera di bit di valori che rappresentano gli intervalli di scambio di presentazioni disponibili.

Valore Significato
D3DPRESENT_INTERVAL_IMMEDIATE
Il driver supporta un intervallo di scambio di presentazioni immediato.
D3DPRESENT_INTERVAL_ONE
Il driver supporta un intervallo di scambio di presentazioni di ogni aggiornamento dello schermo.
D3DPRESENT_INTERVAL_TWO
Il driver supporta un intervallo di scambio di presentazioni di ogni secondo aggiornamento dello schermo.
D3DPRESENT_INTERVAL_THREE
Il driver supporta un intervallo di scambio di presentazioni di ogni terzo aggiornamento dello schermo.
D3DPRESENT_INTERVAL_FOUR
Il driver supporta un intervallo di scambio di presentazioni di ogni quarto aggiornamento dello schermo.

CursorCaps

Tipo: DWORD

Maschera bit che indica il supporto hardware disponibile per i cursori. Direct3D 9 non definisce le funzionalità del cursore alfa-blending.

Valore Significato
D3DCURSORCAPS_COLOR
Un cursore full-color è supportato nell'hardware. In particolare, questo flag indica che il driver supporta almeno un cursore di colore hardware in modalità ad alta risoluzione (con linee di analisi superiori o uguali a 400).
D3DCURSORCAPS_LOWRES
Un cursore full-color è supportato nell'hardware. In particolare, questo flag indica che il driver supporta un cursore di colore hardware in modalità a risoluzione elevata e bassa risoluzione (con linee di analisi inferiori a 400).

DevCaps

Tipo: DWORD

Contrassegni che identificano le funzionalità del dispositivo.

Valore Significato
D3DDEVCAPS_CANBLTSYSTONONLOCAL
Il dispositivo supporta le trame di memoria di sistema a trame di memoria video non locali.
D3DDEVCAPS_CANRENDERAFTERFLIP
Il dispositivo può eseguire il rendering dei comandi dopo un'inversione di pagina. Le applicazioni non modificano il comportamento se questo flag è impostato; questa funzionalità significa che il dispositivo è relativamente veloce.
D3DDEVCAPS_DRAWPRIMITIVES2
Il dispositivo può supportare almeno un driver conforme a DirectX 5.
D3DDEVCAPS_DRAWPRIMITIVES2EX
Il dispositivo può supportare almeno un driver conforme a DirectX 7.
D3DDEVCAPS_DRAWPRIMTLVERTEX
Il dispositivo esporta un hal IDirect3DDevice9::D rawPrimitive-aware.
D3DDEVCAPS_EXECUTESYSTEMMEMORY
Il dispositivo può usare buffer di esecuzione dalla memoria di sistema.
D3DDEVCAPS_EXECUTEVIDEOMEMORY
Il dispositivo può usare buffer di esecuzione dalla memoria video.
D3DDEVCAPS_HWRASTERIZATION
Il dispositivo ha accelerazione hardware per la rasterizzazione della scena.
D3DDEVCAPS_HWTRANSFORMANDLIGHT
Il dispositivo può supportare la trasformazione e l'illuminazione nell'hardware.
D3DDEVCAPS_NPATCHES
Il dispositivo supporta le patch N.
D3DDEVCAPS_PUREDEVICE
Il dispositivo può supportare la rasterizzazione, la trasformazione, l'illuminazione e l'ombreggiatura nell'hardware.
D3DDEVCAPS_QUINTICRTPATCHES
Il dispositivo supporta curve quintic Bézier e B-splines.
D3DDEVCAPS_RTPATCHES
Il dispositivo supporta patch rettangolari e triangolari.
D3DDEVCAPS_RTPATCHHANDLEZERO
Quando questa funzionalità del dispositivo è impostata, l'architettura hardware non richiede la memorizzazione nella cache di informazioni e le patch non memorizzate (handle zero) verranno disegnate in modo efficiente come quelle memorizzate nella cache. Si noti che l'impostazione D3DDEVCAPS_RTPATCHHANDLEZERO non significa che è possibile disegnare una patch con handle zero. Una patch handle-zero può sempre essere disegnata se questo limite è impostato o meno.
D3DDEVCAPS_SEPARATETEXTUREMEMORIES
Il dispositivo esegue il texturing da pool di memoria separati.
D3DDEVCAPS_TEXTURENONLOCALVIDMEM
Il dispositivo può recuperare trame dalla memoria video non locale.
D3DDEVCAPS_TEXTURESYSTEMMEMORY
Il dispositivo può recuperare trame dalla memoria di sistema.
D3DDEVCAPS_TEXTUREVIDEOMEMORY
Il dispositivo può recuperare trame dalla memoria del dispositivo.
D3DDEVCAPS_TLVERTEXSYSTEMMEMORY
Il dispositivo può usare buffer dalla memoria di sistema per vertici trasformati e illuminati.
D3DDEVCAPS_TLVERTEXVIDEOMEMORY
Il dispositivo può usare buffer dalla memoria video per vertici trasformati e illuminati.

PrimitiveMiscCaps

Tipo: DWORD

Funzionalità primitive del driver varie. Vedere D3DPMISCCAPS.

RasterCaps

Tipo: DWORD

Informazioni sulle funzionalità di disegno raster. Questo membro può essere uno o più dei flag seguenti.

Valore Significato
D3DPRASTERCAPS_ANISOTROPY
Il dispositivo supporta il filtro anisotropico.
D3DPRASTERCAPS_COLORPERSPECTIVE
Il dispositivo scorre correttamente il punto di vista dei colori.
D3DPRASTERCAPS_DITHER
Il dispositivo può dither per migliorare la risoluzione dei colori.
D3DPRASTERCAPS_DEPTHBIAS
Il dispositivo supporta la distorsione della profondità legacy. Per la vera distorsione della profondità, vedere D3DPRASTERCAPS_SLOPESCALEDEPTHBIAS.
D3DPRASTERCAPS_FOGRANGE
Il dispositivo supporta la nebbia basata sull'intervallo. Nella nebbia basata su intervallo, la distanza di un oggetto dal visualizzatore viene usata per calcolare gli effetti della nebbia, non la profondità dell'oggetto , ovvero la coordinata z, nella scena.
D3DPRASTERCAPS_FOGTABLE
Il dispositivo calcola il valore della nebbia facendo riferimento a una tabella di ricerca contenente valori di nebbia indicizzati alla profondità di un determinato pixel.
D3DPRASTERCAPS_FOGVERTEX
Il dispositivo calcola il valore della nebbia durante l'operazione di illuminazione e interpola il valore della nebbia durante la rasterizzazione.
D3DPRASTERCAPS_MIPMAPLODBIAS
Il dispositivo supporta le regolazioni di distorsioni a livello di dettaglio. Queste modifiche di pregiudizio consentono a un'applicazione di visualizzare una mappa mipmap più nitida o meno nitida di quanto normalmente sarebbe. Per altre informazioni sul livello di distorsione dei dettagli nelle mappe mipmap, vedere D3DSAMP_MIPMAPLODBIAS.
D3DPRASTERCAPS_MULTISAMPLE_TOGGLE
Il dispositivo supporta l'attivazione e l'attivazione di multicampionamento tra IDirect3DDevice9::BeginScene e IDirect3DDevice9::EndScene (usando D3DRS_MULTISAMPLEANTIALIAS).
D3DPRASTERCAPS_SCISSORTEST
Il dispositivo supporta test scissor. Vedere Test scissor (Direct3D 9).
D3DPRASTERCAPS_SLOPESCALEDEPTHBIAS
Il dispositivo esegue una vera distorsione della profondità basata su pendenza. Questo è in contrasto con il pregiudizio della profondità dello stile legacy.
D3DPRASTERCAPS_WBUFFER
Il dispositivo supporta il buffer di profondità usando w.
D3DPRASTERCAPS_WFOG
Il dispositivo supporta la nebbia basata su w. La nebbia basata su W viene usata quando viene specificata una matrice di proiezione di prospettiva, ma le proiezioni affine usano ancora la nebbia basata su z. Il sistema considera una matrice di proiezione che contiene un valore diverso da zero nell'elemento [3][4] come matrice di proiezione di prospettiva.
D3DPRASTERCAPS_ZBUFFERLESSHSR
Il dispositivo può eseguire la rimozione della superficie nascosta (HSR) senza richiedere all'applicazione di ordinare poligoni e senza richiedere l'allocazione di un buffer di profondità. Questo lascia più memoria video per le trame. Il metodo usato per eseguire HSR è dipendente dall'hardware ed è trasparente per l'applicazione.

L'HSR con buffer Z viene eseguito se non è associata alcuna superficie di buffer di profondità alla superficie di rendering e il test di confronto del buffer di profondità è abilitato, ovvero quando il valore di stato associato alla costante di enumerazione D3DRS_ZENABLE è impostato su TRUE.

D3DPRASTERCAPS_ZFOG
Il dispositivo supporta la nebbia basata su z.
D3DPRASTERCAPS_ZTEST
Il dispositivo può eseguire operazioni z-test. Questo esegue in modo efficace il rendering di una primitiva e indica se è stato eseguito il rendering di qualsiasi pixel z.

ZCmpCaps

Tipo: DWORD

Funzionalità di confronto del buffer Z. Questo membro può essere uno o più dei flag seguenti.

Valore Significato
D3DPCMPCAPS_ALWAYS
Passare sempre il test z.
D3DPCMPCAPS_EQUAL
Passare il test z se la nuova z è uguale alla z corrente.
D3DPCMPCAPS_GREATER
Passare il test z se il nuovo z è maggiore dell'oggetto z corrente.
D3DPCMPCAPS_GREATEREQUAL
Passare il test z se il nuovo z è maggiore o uguale all'oggetto z corrente.
D3DPCMPCAPS_LESS
Passare il test z se la nuova z è minore della z corrente.
D3DPCMPCAPS_LESSEQUAL
Passare il test z se il nuovo z è minore o uguale a z corrente.
D3DPCMPCAPS_NEVER
Eseguire sempre il test z.
D3DPCMPCAPS_NOTEQUAL
Passare il test z se la nuova z non è uguale alla z corrente.

SrcBlendCaps

Tipo: DWORD

Funzionalità di fusione di origine. Questo membro può essere uno o più dei flag seguenti. I valori RGBA dell'origine e della destinazione sono indicati dai sottoscritti s e d.)

Valore Significato
D3DPBLENDCAPS_BLENDFACTOR
Il driver supporta sia D3DBLEND_BLENDFACTOR che D3DBLEND_INVBLENDFACTOR. Vedere D3DBLEND.
D3DPBLENDCAPS_BOTHINVSRCALPHA
Il fattore di blend di origine è (1 - As, 1 - As, 1 - As) e il fattore di blend di destinazione è (As, As); la selezione di blend di destinazione viene sostituita.
D3DPBLENDCAPS_BOTHSRCALPHA
Il driver supporta la modalità blend D3DBLEND_BOTHSRCALPHA. Questa modalità di fusione è obsoleta. Per altre informazioni, vedere D3DBLEND.
D3DPBLENDCAPS_DESTALPHA
Il fattore blend è (A d, Ad, A d, Ad, A d, Ad).
D3DPBLENDCAPS_DESTCOLOR
Il fattore blend è (R d, Gd, Bd, Ad).
D3DPBLENDCAPS_INVDESTALPHA
Il fattore di blend è (1 - A d, 1 - Ad, 1 - A d, 1- Ad).
D3DPBLENDCAPS_INVDESTCOLOR
Il fattore di blend è (1 - R d, 1 - Gd, 1- Bd, 1 - Ad).
D3DPBLENDCAPS_INVSRCALPHA
Il fattore di blend è (1 - Come, 1 - Come, 1 - Come, 1 - As).
D3DPBLENDCAPS_INVSRCCOLOR
Il fattore di blend è (1 - Rs, 1 - Gs, 1 - Bs, 1 - As).
D3DPBLENDCAPS_INVSRCCOLOR2
Il fattore blend è (1 - PSOutColor[1]r, 1 - PSOutColor[1]g, 1 - PSOutColor[1]b, non usato)). Vedere Fusione di destinazione di rendering.
Differenze tra Direct3D 9 e Direct3D 9Ex:

Questo flag è disponibile solo in Direct3D 9Ex.

 
D3DPBLENDCAPS_ONE
Il fattore di blend è (1, 1, 1, 1).
D3DPBLENDCAPS_SRCALPHA
Il fattore blend è (As, As, As, As).
D3DPBLENDCAPS_SRCALPHASAT
Il fattore di blend è (f, f, f, 1); f = min(As, 1 - Ad).
D3DPBLENDCAPS_SRCCOLOR
Il fattore blend è (Rs, Gs, Bs, As).
D3DPBLENDCAPS_SRCCOLOR2
Il fattore blend è (PSOutColor[1]r, PSOutColor[1]g, PSOutColor[1]b, non usato). Vedere Fusione di destinazione di rendering.
Differenze tra Direct3D 9 e Direct3D 9Ex:

Questo flag è disponibile solo in Direct3D 9Ex.

 
D3DPBLENDCAPS_ZERO
Il fattore di blend è (0, 0, 0, 0).

DestBlendCaps

Tipo: DWORD

Funzionalità di fusione di destinazione. Questo membro può essere la stessa funzionalità definita per il membro SrcBlendCaps.

AlphaCmpCaps

Tipo: DWORD

Funzionalità di confronto di test alfa. Questo membro può includere gli stessi flag di funzionalità definiti per il membro ZCmpCaps. Se questo membro contiene solo la funzionalità D3DPCMPCAPS_ALWAYS o solo la funzionalità D3DPCMPCAPS_NEVER, il driver non supporta i test alfa. In caso contrario, i flag identificano i singoli confronti supportati per i test alfa.

ShadeCaps

Tipo: DWORD

Funzionalità di ombreggiatura delle operazioni. Si presuppone, in generale, che se un dispositivo supporta un determinato comando, supporta la modalità D3DSHADE_FLAT (come specificato nel tipo enumerato D3DSHADEMODE ). Questo flag specifica se il driver può supportare anche l'ombreggiatura gouraud e se i componenti di colore alfa sono supportati. Quando i componenti alfa non sono supportati, il valore alfa dei colori generato è implicitamente 255. Questo è il massimo possibile alfa ,ovvero il componente alfa è a intensità completa.

Il colore, le evidenziazioni speculari, la nebbia e gli interpolanti alfa di un triangolo hanno flag di funzionalità che un'applicazione può usare per scoprire come vengono implementate dal driver del dispositivo.

Questo membro può essere uno o più dei flag seguenti.

Valore Significato
D3DPSHADECAPS_ALPHAGOURAUDBLEND
Il dispositivo può supportare un componente alfa per la trasparenza miscelata da Gouraud (lo stato D3DSHADE_GOURAUD per il tipo enumerato D3DSHADEMODE). In questa modalità, il componente di colore alfa di una primitiva viene fornito ai vertici e interpolato in un viso insieme agli altri componenti del colore.
D3DPSHADECAPS_COLORGOURAUDRGB
Il dispositivo può supportare l'ombreggiatura colorata di Gouraud. In questa modalità, i componenti del colore per vertice (rosso, verde e blu) vengono interpolati in un viso triangolo.
D3DPSHADECAPS_FOGGOURAUD
Il dispositivo può supportare la nebbia nella modalità ombreggiaturaud.
D3DPSHADECAPS_SPECULARGOURAUDRGB
Il dispositivo supporta l'ombreggiatura gouraud di evidenziazioni speculari.

TextureCaps

Tipo: DWORD

Funzionalità di mapping di trame varie. Questo membro può essere uno o più dei flag seguenti.

Valore Significato
D3DPTEXTURECAPS_ALPHA
Alfa in pixel di trama è supportato.
D3DPTEXTURECAPS_ALPHAPALETTE
Il dispositivo può disegnare alfa dalle tavolozze delle trame.
D3DPTEXTURECAPS_CUBEMAP
Supporta trame del cubo.
D3DPTEXTURECAPS_CUBEMAP_POW2
Il dispositivo richiede che le mappe della trama del cubo abbiano dimensioni specificate come poteri di due.
D3DPTEXTURECAPS_MIPCUBEMAP
Il dispositivo supporta trame del cubo mipmapped.
D3DPTEXTURECAPS_MIPMAP
Il dispositivo supporta trame mipmapped.
D3DPTEXTURECAPS_MIPVOLUMEMAP
Il dispositivo supporta trame del volume mipmapped.
D3DPTEXTURECAPS_NONPOW2CONDITIONAL
D3DPTEXTURECAPS_POW2 è impostato anche, supporta in modo condizionale l'uso di trame 2D con dimensioni che non sono poteri di due. Un dispositivo che espone questa funzionalità può usare tale trama se vengono soddisfatti tutti i requisiti seguenti.
  • La modalità di indirizzamento della trama per la fase di trama è impostata su D3DTADDRESS_CLAMP.
  • Il wrapping della trama per la fase di trama è disabilitato (D3DRS_WRAP n impostato su 0).
  • Mipmapping non è in uso (usare solo il filtro di ingrandimento).
  • I formati di trama non devono essere D3DFMT_DXT1 tramite D3DFMT_DXT5.

Se questo flag non è impostato e D3DPTEXTURECAPS_POW2 non è impostato, il supporto incondizionato viene fornito per trame 2D con dimensioni che non sono poteri di due.

Una trama che non è una potenza di due non può essere impostata in una fase che verrà letto in base a un calcolo shader (ad esempio il bem - ps e texm3x3 - istruzioni ps nelle versioni di pixel shader 1_0 su 1_3). Ad esempio, queste trame possono essere usate per archiviare le urte che verranno inserite in letture di trama, ma non le mappe dell'ambiente usate in texbem - ps, texbeml - ps e texm3x3spec - ps. Ciò significa che una trama con dimensioni che non sono poteri di due non possono essere risolti o campionati usando coordinate di trama calcolate all'interno dello shader. Questo tipo di operazione è noto come lettura dipendente e non può essere eseguito su questi tipi di trame.

D3DPTEXTURECAPS_NOPROJECTEDBUMPENV
Il dispositivo non supporta un'operazione di ricerca dell'ambiente di urto proiettata in shader programmabili e fissi.
D3DPTEXTURECAPS_PERSPECTIVE
La correzione della prospettiva è supportata.
D3DPTEXTURECAPS_POW2
Se D3DPTEXTURECAPS_NONPOW2CONDITIONAL non è impostato, tutte le trame devono avere larghezze e altezze specificate come poteri di due. Questo requisito non si applica alle trame del cubo o alle trame del volume.

Se D3DPTEXTURECAPS_NONPOW2CONDITIONAL è impostato anche, supporta in modo condizionale l'uso di trame 2D con dimensioni che non sono poteri di due. Vedere D3DPTEXTURECAPS_NONPOW2CONDITIONAL descrizione.

Se questo flag non è impostato e D3DPTEXTURECAPS_NONPOW2CONDITIONAL non è impostato, il supporto incondizionato viene fornito per trame 2D con dimensioni che non sono poteri di due.

D3DPTEXTURECAPS_PROJECTED
Supporta il flag di trasformazione trama D3DTTFF_PROJECTED. Quando applicato, il dispositivo divide le coordinate della trama trasformate in base all'ultima coordinata della trama. Se questa funzionalità è presente, la divisione proiettata si verifica per pixel. Se questa funzionalità non è presente, ma la divisione proiettata deve verificarsi comunque, viene eseguita in base a un vertice dal runtime Direct3D.
D3DPTEXTURECAPS_SQUAREONLY
Tutte le trame devono essere quadrate.
D3DPTEXTURECAPS_TEXREPEATNOTSCALEDBYSIZE
Gli indici di trama non vengono ridimensionati in base alle dimensioni della trama prima dell'interpolazione.
D3DPTEXTURECAPS_VOLUMEMAP
Il dispositivo supporta trame di volumi.
D3DPTEXTURECAPS_VOLUMEMAP_POW2
Il dispositivo richiede che le mappe della trama del volume abbiano dimensioni specificate come poteri di due.

TextureFilterCaps

Tipo: DWORD

Funzionalità di filtro trama per una trama. Le funzionalità di filtro per fase riflettono le modalità di filtro supportate per le fasi della trama durante l'esecuzione della fusione di più trame. Questo membro può essere qualsiasi combinazione dei flag di filtro trama per fase definiti in D3DPTFILTERCAPS.

CubeTextureFilterCaps

Tipo: DWORD

Funzionalità di filtro trama per una trama del cubo. Le funzionalità di filtro per fase riflettono le modalità di filtro supportate per le fasi della trama durante l'esecuzione della fusione di più trame. Questo membro può essere qualsiasi combinazione dei flag di filtro trama per fase definiti in D3DPTFILTERCAPS.

VolumeTextureFilterCaps

Tipo: DWORD

Funzionalità di filtro trama per una trama del volume. Le funzionalità di filtro per fase riflettono le modalità di filtro supportate per le fasi della trama durante l'esecuzione della fusione di più trame. Questo membro può essere qualsiasi combinazione dei flag di filtro trama per fase definiti in D3DPTFILTERCAPS.

TextureAddressCaps

Tipo: DWORD

Funzionalità di indirizzamento della trama per gli oggetti trama. Questo membro può essere uno o più dei flag seguenti.

Valore Significato
D3DPTADDRESSCAPS_BORDER
Il dispositivo supporta le coordinate di impostazione all'esterno dell'intervallo [0.0, 1.0] al colore del bordo, come specificato dallo stato D3DSAMP_BORDERCOLOR fase trama.
D3DPTADDRESSCAPS_CLAMP
Il dispositivo può bloccare le trame agli indirizzi.
D3DPTADDRESSCAPS_INDEPENDENTUV
Il dispositivo può separare le modalità di indirizzamento della trama delle coordinate dell'utente e della v della trama. Questa capacità corrisponde ai valori D3DSAMP_ADDRESSU e D3DSAMP_ADDRESSV di stato di rendering.
D3DPTADDRESSCAPS_MIRROR
Il dispositivo può eseguire il mirroring delle trame per gli indirizzi.
D3DPTADDRESSCAPS_MIRRORONCE
Il dispositivo può accettare il valore assoluto della coordinata della trama (quindi, mirroring intorno a 0) e quindi bloccare il valore massimo.
D3DPTADDRESSCAPS_WRAP
Il dispositivo può eseguire il wrapping di trame agli indirizzi.

VolumeTextureAddressCaps

Tipo: DWORD

Funzionalità di indirizzamento della trama per una trama del volume. Questo membro può essere uno o più dei flag definiti per il membro TextureAddressCaps.

LineCaps

Tipo: DWORD

Definisce le funzionalità per le primitive di disegno linea.

Valore Significato
D3DLINECAPS_ALPHACMP
Supporta confronti alfa-test.
D3DLINECAPS_ANTIALIAS
Le righe antialiased sono supportate.
D3DLINECAPS_BLEND
Supporta la fusione di origine.
D3DLINECAPS_FOG
Supporta la nebbia.
D3DLINECAPS_TEXTURE
Supporta il mapping delle trame.
D3DLINECAPS_ZTEST
Supporta confronti con z-buffer.

MaxTextureWidth

Tipo: DWORD

Larghezza massima della trama per questo dispositivo.

MaxTextureHeight

Tipo: DWORD

Altezza massima della trama per questo dispositivo.

MaxVolumeExtent

Tipo: DWORD

Valore massimo per una delle tre dimensioni (larghezza, altezza e profondità) di una trama del volume.

MaxTextureRepeat

Tipo: DWORD

Questo numero rappresenta l'intervallo massimo dei bit interi delle coordinate della trama post normalizzata. Una coordinata di trama viene archiviata come intero con segno a 32 bit usando 27 bit per archiviare la parte intero e 5 bit per la frazione a virgola mobile. L'indice intero massimo, 2²⁷, viene usato per determinare la coordinata massima della trama, a seconda del modo in cui l'hardware esegue il ridimensionamento delle coordinate della trama.

Alcuni hardware segnalano il limite di D3DPTEXTURECAPS_TEXREPEATNOTSCALEDBYSIZE. Per questo caso, il dispositivo disattiva le coordinate della trama in base alle dimensioni della trama fino a dopo l'interpolazione e l'applicazione della modalità di indirizzo della trama, quindi il numero di volte in cui è possibile eseguire il wrapping di una trama viene dato dal valore intero in MaxTextureRepeat.

In alcuni D3DPTEXTURECAPS_TEXREPEATNOTSCALEDBYSIZE hardware non è impostato e il dispositivo ridimensiona le coordinate della trama in base alle dimensioni della trama (usando il livello più alto di dettaglio) prima dell'interpolazione. Questo limita il numero di volte in cui è possibile eseguire il wrapping di una trama in MaxTextureRepeat/texture size.

Si supponga, ad esempio, che MaxTextureRepeat sia uguale a 32k e che la dimensione della trama sia 4k. Se l'hardware imposta D3DPTEXTURECAPS_TEXREPEATNOTSCALEDBYSIZE, il numero di volte in cui è possibile eseguire il wrapping di una trama è uguale a MaxTextureRepeat, ovvero 32k in questo esempio. In caso contrario, il numero di volte in cui è possibile eseguire il wrapping di una trama è uguale a MaxTextureRepeat diviso per dimensioni della trama, ovvero 32k/4k in questo esempio.

MaxTextureAspectRatio

Tipo: DWORD

Rapporto di aspetto massimo della trama supportato dall'hardware, in genere una potenza di 2.

MaxAnisotropy

Tipo: DWORD

Valore massimo valido per lo stato della trama D3DSAMP_MAXANISOTROPY.

MaxVertexW

Tipo: float

Valore massimo di profondità basato su W supportato dal dispositivo.

GuardBandLeft

Tipo: float

Coordinata dello spazio dello schermo dell'area di ritaglio della banda di guardia. Le coordinate all'interno di questo rettangolo, ma all'esterno del rettangolo di visualizzazione vengono ritagliate automaticamente.

GuardBandTop

Tipo: float

Coordinata dello spazio dello schermo dell'area di ritaglio della banda di guardia. Le coordinate all'interno di questo rettangolo, ma all'esterno del rettangolo di visualizzazione vengono ritagliate automaticamente.

GuardBandRight

Tipo: float

Coordinata dello spazio dello schermo dell'area di ritaglio della banda di guardia. Le coordinate all'interno di questo rettangolo, ma all'esterno del rettangolo di visualizzazione vengono ritagliate automaticamente.

GuardBandBottom

Tipo: float

Coordinata dello spazio dello schermo dell'area di ritaglio della banda di guardia. Le coordinate all'interno di questo rettangolo, ma all'esterno del rettangolo di visualizzazione vengono ritagliate automaticamente.

ExtentsAdjust

Tipo: float

Numero di pixel per regolare il rettangolo di estensione verso l'esterno per supportare kernel antialiasing.

StencilCaps

Tipo: DWORD

Flag che specificano operazioni stencil-buffer supportate. Si presuppone che le operazioni Stencil siano valide per tutti e tre gli stati di rendering dell'operazione buffer stencil (D3DRS_STENCILFAIL, D3DRS_STENCILPASS e D3DRS_STENCILZFAIL).

Per altre informazioni, vedere D3DSTENCILCAPS.

FVFCaps

Tipo: DWORD

Funzionalità di formato dei vertici flessibili.

Valore Significato
D3DFVFCAPS_DONOTSTRIPELEMENTS
È preferibile che gli elementi del vertice non vengano rimossi. Ovvero, se il formato del vertice contiene elementi che non vengono usati con gli stati di rendering correnti, non è necessario rigenerare i vertici. Se questo flag di funzionalità non è presente, rimuovere elementi extranei dal formato del vertice offre prestazioni migliori.
D3DFVFCAPS_PSIZE
La dimensione del punto è determinata dallo stato di rendering o dai dati dei vertici. Se viene usato un FVF, le dimensioni dei punti possono provenire dai dati relativi alle dimensioni del punto nella dichiarazione dei vertici. In caso contrario, la dimensione del punto è determinata dallo stato di rendering D3DRS_POINTSIZE. Se l'applicazione fornisce le dimensioni dei punti sia nello stato di rendering che nella dichiarazione del vertice, i dati dei vertici sostituiscono i dati dello stato di rendering.
D3DFVFCAPS_TEXCOORDCOUNTMASK
Maschera la parola bassa di FVFCaps. Questi bit, eseguendo il cast al tipo di dati WORD, descrivono il numero totale di set di coordinate di trama che il dispositivo può usare contemporaneamente per la fusione di più trame. È possibile usare fino a otto set di coordinate di trama per qualsiasi vertice, ma il dispositivo può fondersi usando solo il numero specificato di set di coordinate della trama.

TextureOpCaps

Tipo: DWORD

Combinazione di flag che descrivono le operazioni di trama supportate da questo dispositivo. Vengono definiti i flag seguenti.

Valore Significato
D3DTEXOPCAPS_ADD
È supportata l'operazione di fusione delle trame D3DTOP_ADD.
D3DTEXOPCAPS_ADDSIGNED
È supportata l'operazione di fusione delle trame D3DTOP_ADDSIGNED.
D3DTEXOPCAPS_ADDSIGNED2X
È supportata l'operazione di fusione delle trame D3DTOP_ADDSIGNED2X.
D3DTEXOPCAPS_ADDSMOOTH
È supportata l'operazione di fusione delle trame D3DTOP_ADDSMOOTH.
D3DTEXOPCAPS_BLENDCURRENTALPHA
L'D3DTOP_BLENDCURRENTALPHA'operazione di fusione delle trame è supportata.
D3DTEXOPCAPS_BLENDDIFFUSEALPHA
È supportata D3DTOP_BLENDDIFFUSEALPHA'operazione di fusione delle trame.
D3DTEXOPCAPS_BLENDFACTORALPHA
È supportata l'operazione di fusione delle trame D3DTOP_BLENDFACTORALPHA.
D3DTEXOPCAPS_BLENDTEXTUREALPHA
È supportata D3DTOP_BLENDTEXTUREALPHA'operazione di fusione delle trame.
D3DTEXOPCAPS_BLENDTEXTUREALPHAPM
L'D3DTOP_BLENDTEXTUREALPHAPM'operazione di fusione delle trame è supportata.
D3DTEXOPCAPS_BUMPENVMAP
L'D3DTOP_BUMPENVMAP'operazione di fusione delle trame è supportata.
D3DTEXOPCAPS_BUMPENVMAPLUMINANCE
L'operazione di fusione delle trame D3DTOP_BUMPENVMAPLUMINANCE è supportata.
D3DTEXOPCAPS_DISABLE
È supportata l'operazione di fusione delle trame D3DTOP_DISABLE.
D3DTEXOPCAPS_DOTPRODUCT3
È supportata l'operazione di fusione delle trame D3DTOP_DOTPRODUCT3.
D3DTEXOPCAPS_LERP
L'D3DTOP_LERP'operazione di fusione delle trame è supportata.
D3DTEXOPCAPS_MODULATE
È supportata D3DTOP_MODULATE'operazione di fusione delle trame.
D3DTEXOPCAPS_MODULATE2X
È supportata D3DTOP_MODULATE2X'operazione di fusione delle trame.
D3DTEXOPCAPS_MODULATE4X
È supportata l'operazione di fusione delle trame D3DTOP_MODULATE4X.
D3DTEXOPCAPS_MODULATEALPHA_ADDCOLOR
È supportata D3DTOP_MODULATEALPHA_ADDCOLOR'operazione di fusione delle trame.
D3DTEXOPCAPS_MODULATECOLOR_ADDALPHA
L'operazione di fusione delle trame D3DTOP_MODULATECOLOR_ADDALPHA è supportata.
D3DTEXOPCAPS_MODULATEINVALPHA_ADDCOLOR
È supportata l'operazione di fusione delle trame D3DTOP_MODULATEINVALPHA_ADDCOLOR.
D3DTEXOPCAPS_MODULATEINVCOLOR_ADDALPHA
È supportata D3DTOP_MODULATEINVCOLOR_ADDALPHA'operazione di fusione delle trame.
D3DTEXOPCAPS_MULTIPLYADD
È supportata l'operazione di fusione delle trame D3DTOP_MULTIPLYADD.
D3DTEXOPCAPS_PREMODULATE
È supportata l'operazione di fusione delle trame D3DTOP_PREMODULATE.
D3DTEXOPCAPS_SELECTARG1
È supportata D3DTOP_SELECTARG1'operazione di fusione delle trame.
D3DTEXOPCAPS_SELECTARG2
È supportata l'operazione di fusione delle trame D3DTOP_SELECTARG2.
D3DTEXOPCAPS_SUBTRACT
È supportata l'operazione di fusione delle trame D3DTOP_SUBTRACT.

MaxTextureBlendStages

Tipo: DWORD

Numero massimo di fasi di fusione delle trame supportate nella pipeline di funzioni fisse. Questo valore è il numero di frullatori disponibili. Nella pipeline pixel programmabile corrisponde al numero di registri di trama univoci usati dalle istruzioni del pixel shader.

MaxSimultaneousTextures

Tipo: DWORD

Numero massimo di trame che possono essere associate contemporaneamente alle fasi del campionatore di pipeline a funzione fissa. Se la stessa trama è associata a due fasi del campionatore, viene conteggiato come due trame.

Questo valore non ha alcun significato nella pipeline programmabile in cui il numero di fasi del campionatore è determinato da ogni versione del pixel shader. Ogni versione del pixel shader determina anche il numero di istruzioni per la dichiarazione di trama. Vedi Pixel Shader.

VertexProcessingCaps

Tipo: DWORD

Funzionalità di elaborazione dei vertici. Per un determinato dispositivo fisico, questa funzionalità può variare tra i dispositivi Direct3D a seconda dei parametri forniti a CreateDevice. Vedere D3DVTXPCAPS.

MaxActiveLights

Tipo: DWORD

Numero massimo di luci che possono essere attive contemporaneamente. Per un determinato dispositivo fisico, questa funzionalità può variare tra i dispositivi Direct3D a seconda dei parametri forniti a CreateDevice.

MaxUserClipPlanes

Tipo: DWORD

Numero massimo di piani di ritaglio definiti dall'utente supportati. Questo membro può essere 0. Per un determinato dispositivo fisico, questa funzionalità può variare tra i dispositivi Direct3D a seconda dei parametri forniti a CreateDevice.

MaxVertexBlendMatrices

Tipo: DWORD

Numero massimo di matrici che questo dispositivo può applicare quando si esegue la fusione dei vertici multimatrix. Per un determinato dispositivo fisico, questa funzionalità può variare tra i dispositivi Direct3D a seconda dei parametri forniti a CreateDevice.

MaxVertexBlendMatrixIndex

Tipo: DWORD

Valore DWORD che specifica l'indice di matrice massimo che può essere indicizzato in usando gli indici per vertice. Il numero di matrici è MaxVertexBlendMatrixIndex + 1, ovvero la dimensione della tavolozza matrice. Se le normali sono presenti nei dati dei vertici che devono essere combinate per l'illuminazione, il numero di matrici è metà del numero specificato da questo flag di funzionalità. Se MaxVertexBlendMatrixIndex è impostato su zero, il driver non supporta la fusione dei vertici indicizzati. Se questo valore non è zero, l'intervallo valido di indici è zero tramite MaxVertexBlendMatrixIndex.

Un valore zero per MaxVertexBlendMatrixIndex indica che il driver non supporta le matrici indicizzate.

Quando viene usata l'elaborazione dei vertici software, è possibile usare 256 matrici per la fusione dei vertici indicizzati, con o senza fusione normale.

Per un determinato dispositivo fisico, questa funzionalità può variare tra i dispositivi Direct3D a seconda dei parametri forniti a CreateDevice.

MaxPointSize

Tipo: float

Dimensione massima di una primitiva punto. Se impostato su 1.0f, il dispositivo non supporta il controllo delle dimensioni del punto. L'intervallo è maggiore o uguale a 1,0f.

MaxPrimitiveCount

Tipo: DWORD

Numero massimo di primitive per ogni chiamata DrawPrimitive . I casi possibili sono due:

  • Se MaxPrimitiveCount non è uguale a 0xffff, è possibile disegnare al massimo le primitive MaxPrimitiveCount con ogni chiamata di disegno.
  • Tuttavia, se MaxPrimitiveCount è uguale a 0xffff, è comunque possibile disegnare al massimo la primitiva MaxPrimitiveCount, ma è anche possibile usare vertici univoci di MaxPrimitiveCount (poiché ogni primitiva può potenzialmente usare tre vertici diversi).

MaxVertexIndex

Tipo: DWORD

Dimensioni massime degli indici supportati per l'elaborazione dei vertici hardware. È possibile creare buffer di indice a 32 bit; Tuttavia, non sarà possibile eseguire il rendering con il buffer di indice, a meno che questo valore non sia maggiore di 0x0000FFFF.

MaxStreams

Tipo: DWORD

Numero massimo di flussi di dati simultanei per SetStreamSource. L'intervallo valido è compreso tra 1 e 16. Si noti che se questo valore è 0, il driver non è un driver Direct3D 9.

MaxStreamStride

Tipo: DWORD

Stride massimo per SetStreamSource.

VertexShaderVersion

Tipo: DWORD

Due numeri che rappresentano la versione principale e secondaria del vertex shader. Per altre informazioni sulle istruzioni supportate per ogni versione del vertex shader, vedere Version 1_x, Version 2_0, Version 2_0 Extended o Version 3_0.

MaxVertexShaderConst

Tipo: DWORD

Numero di registri vertex shader vertex shader riservati per le costanti.

PixelShaderVersion

Tipo: DWORD

Due numeri che rappresentano le versioni principali e secondarie del pixel shader. Per altre informazioni sulle istruzioni supportate per ogni versione del pixel shader, vedere Versione 1_x, versione 2_0, versione 2_0 estesa o versione 3_0.

PixelShader1xMaxValue

Tipo: float

Valore massimo del componente aritmetico del pixel shader. Questo valore indica l'intervallo interno di valori supportati per le operazioni di fusione dei colori pixel. All'interno dell'intervallo a cui segnalano, le implementazioni devono consentire ai dati di passare attraverso l'elaborazione pixel non modificata (non crittografata). In genere, il valore di questo membro è un valore assoluto. Ad esempio, 1.0 indica che l'intervallo è da -1.0 a 1 e 8.0 indica che l'intervallo è da -8.0 a 8.0. Il valore deve essere >= 1,0 per qualsiasi hardware che supporti pixel shader.

DevCaps2

Tipo: DWORD

Funzionalità del driver di dispositivo per la tassellatura adattiva. Per altre informazioni, vedere D3DDEVCAPS2

MaxNpatchTessellationLevel

TBD

Reserved5

TBD

MasterAdapterOrdinal

Tipo: UINT

Questo numero indica quale dispositivo è il master per questo subordinato. Questo numero viene ricavato dallo stesso spazio dei valori dell'adattatore.

Per il supporto multitesta, una testa verrà indicata dalla testa master e tutte le altre teste sulla stessa scheda saranno indicate teste subordinate. Se in un sistema sono presenti più adattatori multihead, il master e i relativi subordinati da un adattatore multihead vengono chiamati gruppo.

AdapterOrdinalInGroup

Tipo: UINT

Questo numero indica l'ordine in cui le teste fanno riferimento all'API. Il valore per l'adattatore master è sempre 0. Questi valori non corrispondono ai ordinali dell'adattatore. Si applicano solo alle teste all'interno di un gruppo.

NumberOfAdaptersInGroup

Tipo: UINT

Numero di adattatori in questo gruppo di adattatori (solo se master). Sarà 1 per gli adattatori convenzionali. Il valore sarà maggiore di 1 per l'adattatore master di una scheda multihead. Il valore sarà 0 per un adattatore subordinato di una scheda multihead. Ogni scheda può avere al massimo un master, ma può avere molti subordinati.

DeclTypes

Tipo: DWORD

Combinazione di uno o più tipi di dati contenuti in una dichiarazione di vertice. Vedere D3DDTCAPS.

NumSimultaneousRTs

Tipo: DWORD

Numero di destinazioni di rendering simultanee. Questo numero deve essere almeno uno.

StretchRectFilterCaps

Tipo: DWORD

Combinazione di costanti che descrivono le operazioni supportate da StretchRect. I flag che possono essere impostati in questo campo sono:

Costante Descrizione
D3DPTFILTERCAPS_MINFPOINT Il dispositivo supporta il filtro dei campioni di punti per i rettangoli di minimizzazione. Questo tipo di filtro viene richiesto chiamando StretchRect usando D3DTEXF_POINT.
D3DPTFILTERCAPS_MAGFPOINT Il dispositivo supporta il filtro dei campioni di punti per i rettangoli di ingrandimento. Questo tipo di filtro viene richiesto chiamando StretchRect usando D3DTEXF_POINT.
D3DPTFILTERCAPS_MINFLINEAR Il dispositivo supporta il filtro di interpolazione bilineare per i rettangoli di minificazione. Questo tipo di filtro viene richiesto chiamando StretchRect usando D3DTEXF_LINEAR.
D3DPTFILTERCAPS_MAGFLINEAR Il dispositivo supporta il filtro di interpolazione bilineare per i rettangoli di ingrandimento. Questo tipo di filtro viene richiesto chiamando StretchRect usando D3DTEXF_LINEAR.
 

Per altre informazioni, vedere D3DTEXTUREFILTERTYPE e D3DTEXTUREFILTERTYPE.

VS20Caps

Tipo: D3DVSHADERCAPS2_0

Il dispositivo supporta la funzionalità estesa vertex shader versione 2_0. Vedere D3DVSHADERCAPS2_0.

PS20Caps

Tipo: D3DPSHADERCAPS2_0

Il dispositivo supporta la funzionalità estesa pixel shader versione 2_0. Vedere D3DPSHADERCAPS2_0.

VertexTextureFilterCaps

Tipo: DWORD

Il dispositivo supporta la funzionalità di filtro trama vertex shader. Vedere D3DPTFILTERCAPS.

MaxVShaderInstructionsExecuted

Tipo: DWORD

Numero massimo di istruzioni del vertex shader che possono essere eseguite quando si usa il controllo del flusso. Il numero massimo di istruzioni programmabili è MaxVertexShader30InstructionSlots.

MaxPShaderInstructionsExecuted

Tipo: DWORD

Numero massimo di istruzioni pixel shader che possono essere eseguite quando si usa il controllo del flusso. Il numero massimo di istruzioni programmabili è MaxPixelShader30InstructionSlots.

MaxVertexShader30InstructionSlots

Tipo: DWORD

Numero massimo di slot di istruzioni del vertex shader supportati. Il valore massimo che può essere impostato su questo limite è 32768. I dispositivi che supportano vs_3_0 sono necessari per supportare almeno 512 slot di istruzioni.

MaxPixelShader30InstructionSlots

Tipo: DWORD

Numero massimo di slot di istruzioni pixel shader supportati. Il valore massimo che può essere impostato su questo limite è 32768. I dispositivi che supportano ps_3_0 sono necessari per supportare almeno 512 slot di istruzioni.

Commenti

I membri MaxTextureBlendStages e MaxSimultaneousTextures potrebbero sembrare simili, ma contengono informazioni diverse. Il membro MaxTextureBlendStages contiene il numero totale di fasi di texture-blend supportate dal dispositivo corrente e il membro MaxSimultaneousTextures descrive quanti di queste fasi possono avere trame associate usando il metodo SetTexture .

Quando il driver riempie questa struttura, può impostare valori per le funzionalità del buffer di esecuzione, anche quando l'interfaccia usata per recuperare le funzionalità (ad esempio IDirect3DDevice9) non supporta i buffer eseguiti.

In generale, i problemi di prestazioni possono verificarsi se si usa una trama e quindi modificarla durante una scena. Assicurarsi che non venga eliminata alcuna trama utilizzata nel blocco BeginScene e EndScene corrente, a meno che non sia assolutamente necessario. Nel caso di utilizzo estremamente elevato della trama all'interno di una scena, i risultati non sono definiti. Ciò si verifica quando si modifica una trama usata nella scena e non è disponibile alcuna memoria trama di riserva. Per tali sistemi, il contenuto del buffer z diventa non valido in EndScene. Le applicazioni non devono chiamare UpdateSurface a o dal buffer back in questo tipo di hardware all'interno di una coppia BeginScene/EndScene. Inoltre, le applicazioni non devono provare ad accedere al buffer z se il flag di funzionalità D3DPRASTERCAPS_ZBUFFERLESSHSR è impostato. Infine, le applicazioni non devono bloccare il buffer indietro o il buffer z all'interno di una coppia BeginScene/EndScene.

I flag seguenti relativi alle trame mipmapped non sono supportati in Direct3D 9.

  • D3DPTFILTERCAPS_LINEAR
  • D3DPTFILTERCAPS_LINEARMIPLINEAR
  • D3DPTFILTERCAPS_LINEARMIPNEAREST
  • D3DPTFILTERCAPS_MIPNEAREST
  • D3DPTFILTERCAPS_NEAREST

Requisiti

   
Intestazione d3d9caps.h

Vedi anche

Strutture Direct3D

GetDeviceCaps