struttura D3DHAL_D3DEXTENDEDCAPS (d3dhal.h)
D3DHAL_D3DEXTENDEDCAPS descrive le funzionalità 3D aggiuntive del driver.
Sintassi
typedef struct _D3DHAL_D3DEXTENDEDCAPS {
DWORD dwSize;
DWORD dwMinTextureWidth;
DWORD dwMaxTextureWidth;
DWORD dwMinTextureHeight;
DWORD dwMaxTextureHeight;
DWORD dwMinStippleWidth;
DWORD dwMaxStippleWidth;
DWORD dwMinStippleHeight;
DWORD dwMaxStippleHeight;
DWORD dwMaxTextureRepeat;
DWORD dwMaxTextureAspectRatio;
DWORD dwMaxAnisotropy;
D3DVALUE dvGuardBandLeft;
D3DVALUE dvGuardBandTop;
D3DVALUE dvGuardBandRight;
D3DVALUE dvGuardBandBottom;
D3DVALUE dvExtentsAdjust;
DWORD dwStencilCaps;
DWORD dwFVFCaps;
DWORD dwTextureOpCaps;
WORD wMaxTextureBlendStages;
WORD wMaxSimultaneousTextures;
DWORD dwMaxActiveLights;
D3DVALUE dvMaxVertexW;
WORD wMaxUserClipPlanes;
WORD wMaxVertexBlendMatrices;
DWORD dwVertexProcessingCaps;
DWORD dwReserved1;
DWORD dwReserved2;
DWORD dwReserved3;
DWORD dwReserved4;
} D3DHAL_D3DEXTENDEDCAPS;
Membri
dwSize
Specifica le dimensioni in byte di questa struttura D3DHAL_D3DEXTENDEDCAPS.
dwMinTextureWidth
Specificare la larghezza minima della trama, in pixel, supportata dal driver o dal dispositivo. Questo membro è in genere una potenza di 2. Questi membri vengono forniti come suggerimenti all'applicazione ed è responsabilità dell'applicazione regolare le dimensioni della trama quando necessario.
dwMaxTextureWidth
Specificare la larghezza massima della trama, in pixel, supportata dal driver o dal dispositivo. Questo membro è in genere una potenza di 2. Questi membri vengono forniti come suggerimenti all'applicazione ed è responsabilità dell'applicazione regolare le dimensioni della trama quando necessario.
dwMinTextureHeight
Specificare l'altezza minima della trama, in pixel, supportata dal driver. Questo membro è in genere una potenza di 2.
dwMaxTextureHeight
Specificare l'altezza massima della trama, in pixel, supportata dal driver. Questo membro è in genere una potenza di 2.
dwMinStippleWidth
Specificare la larghezza minima dello stipple, in pixel, supportata dal driver.
dwMaxStippleWidth
Specificare la larghezza massima dello stipple, in pixel, supportata dal driver.
dwMinStippleHeight
Specificare l'altezza minima dello stipple, in pixel, supportata dal driver.
dwMaxStippleHeight
Specificare l'altezza massima dello stipple, in pixel, supportata dal driver.
dwMaxTextureRepeat
Specifica l'intervallo completo di bit interi (sottofractional) degli indici delle trame postnormali. Se il bit D3DDEVCAPS_TEXREPEATNOTSCALEDBYSIZE è impostato, il numero di volte in cui è possibile eseguire il wrapping di una trama viene specificato da questo membro. Se il bit D3DDEVCAPS_TEXREPEATNOTSCALEDBYSIZE non è impostato, il numero di volte in cui è possibile eseguire il wrapping di una trama viene fornito dall'espressione: dwMaxTextureRepeat * (dimensione trama).
dwMaxTextureAspectRatio
Specifica le proporzioni massime della trama supportate dall'hardware. Questo membro è in genere una potenza di 2. Questo rapporto di aspetto massimo viene fornito come misura dell'altezza della trama in pixel divisa per la larghezza in pixel o la larghezza divisa per altezza, a condizione che produa il risultato maggiore. Ad esempio, una trama di 8192 pixel di larghezza di 1 pixel alta o 1 pixel di 8192 alta non è valida con un dispositivo di visualizzazione che supporta solo un rapporto di aspetto massimo pari a 4092. Se l'hardware non è limitato alle proporzioni, dwMaxTextureAspectRatio è maggiore di dwMaxTextureWidth e dwMaxTextureHeight.
dwMaxAnisotropy
Specifica il valore massimo valido per lo stato di rendering D3DRENDERSTATE_ANISOTROPY. Se l'hardware del driver non supporta il filtro anisotropico, il driver deve impostare questo membro su 1. L'impostazione di questo membro su 0 rappresenta un valore non valido.
dvGuardBandLeft
dvGuardBandTop
dvGuardBandRight
dvGuardBandBottom
Specificare le coordinate dello spazio dello schermo, in pixel, dell'area clip della banda di protezione. L'angolo superiore sinistro di questo rettangolo ha coordinate (dvGuardBandLeft, dvGuardBandTop). L'angolo in basso a sinistra include coordinate (dvGuardBandRight, dvGuardBandBottom). Le coordinate all'interno di questo rettangolo, ma all'esterno del rettangolo del riquadro di visualizzazione vengono ritagliate automaticamente.
dvExtentsAdjust
Specifica il numero di pixel necessari per regolare il rettangolo extent verso l'esterno per contenere i kernel anti-aliasing.
dwStencilCaps
Specifica le operazioni del buffer degli stencil supportate dal driver o dal dispositivo. Per altre descrizioni delle operazioni del buffer degli stencil illustrate nella tabella seguente, vedere D3DSTENCILOP nella documentazione di DirectX SDK. Si presuppone che le operazioni di stencil siano valide per tutti e tre gli stati di rendering dell'operazione buffer stencil (D3DRENDERSTATE_STENCILFAIL, D3DRENDERSTATE_STENCILPASS e D3DRENDERSTATE_STENCILZFAIL). Questo membro può essere un OR bit per bit di uno dei valori seguenti:
Valore | Operazione buffer stencil |
---|---|
D3DSTENCILCAPS_DECR | L'operazione di D3DSTENCILOP_DECR è supportata. |
D3DSTENCILCAPS_DECRSAT | L'operazione di D3DSTENCILOP_DECRSAT è supportata. |
D3DSTENCILCAPS_INCR | L'operazione di D3DSTENCILOP_INCR è supportata. |
D3DSTENCILCAPS_INCRSAT | L'operazione di D3DSTENCILOP_INCRSAT è supportata. |
D3DSTENCILCAPS_INVERT | L'operazione di D3DSTENCILOP_INVERT è supportata. |
D3DSTENCILCAPS_KEEP | L'operazione di D3DSTENCILOP_KEEP è supportata. |
D3DSTENCILCAPS_REPLACE | L'operazione di D3DSTENCILOP_REPLACE è supportata. |
D3DSTENCILCAPS_ZERO | L'operazione di D3DSTENCILOP_ZERO è supportata. |
dwFVFCaps
Specifica il numero di coordinate di trama che il driver può elaborare. Questo valore può essere un numero intero compreso nell'intervallo compreso tra 0 e 8, dove 0 indica che il driver non supporta l'uso del testo, 1 indica che il driver può elaborare un solo set di coordinate di trama, 2 indica che il driver può elaborare due set di coordinate di trama e così via.
Un driver deve essere in grado di analizzare tutte le coordinate della trama presenti nei dati dei vertici indipendentemente dal numero di coordinate di trama effettivamente usate dal driver. Il driver deve usare l'indice fornito con il valore D3DTSS_TEXCOORDINDEX dell'enumerazione D3DTEXTURESTAGESTATETYPE, descritto nella documentazione di DirectX SDK, per determinare quale coordinata della trama impostare da usare durante il rendering.
dwTextureOpCaps
Specifica le operazioni di trama supportate dal dispositivo. Vedere D3DTEXTUREOP nella documentazione di DirectX SDK per le descrizioni delle operazioni di trama elencate nella tabella seguente. Questo membro può essere un OR bit per bit dei valori seguenti:
Valore | Operazione trama supportata |
---|---|
D3DTEXOPCAPS_ADD | L'operazione di fusione delle trame D3DTOP_ADD è supportata da questo dispositivo. |
D3DTEXOPCAPS_ADDSIGNED | L'operazione di fusione delle trame D3DTOP_ADDSIGNED è supportata da questo dispositivo. |
D3DTEXOPCAPS_ADDSIGNED2X | L'operazione di fusione delle trame D3DTOP_ADDSIGNED2X è supportata da questo dispositivo. |
D3DTEXOPCAPS_ADDSMOOTH | L'operazione di fusione delle trame D3DTOP_ADDSMOOTH è supportata da questo dispositivo. |
D3DTEXOPCAPS_BLENDCURRENTALPHA | L'operazione di fusione delle trame D3DTOP_BLENDCURRENTALPHA è supportata da questo dispositivo. |
D3DTEXOPCAPS_BLENDDIFFUSEALPHA | L'operazione di fusione delle trame D3DTOP_BLENDDIFFUSEALPHA è supportata da questo dispositivo. |
D3DTEXOPCAPS_BLENDFACTORALPHA | L'operazione di fusione delle trame D3DTOP_BLENDFACTORALPHA è supportata da questo dispositivo. |
D3DTEXOPCAPS_BLENDTEXTUREALPHA | L'operazione di fusione delle trame D3DTOP_BLENDTEXTUREALPHA è supportata da questo dispositivo. |
D3DTEXOPCAPS_BLENDTEXTUREALPHAPM | L'operazione di fusione delle trame D3DTOP_BLENDTEXTUREALPHAPM è supportata da questo dispositivo. |
D3DTEXOPCAPS_BUMPENVMAP. | L'operazione di fusione delle trame D3DTOP_BUMPENVMAP è supportata da questo dispositivo. |
D3DTEXOPCAPS_BUMPENVMAPLUMINANCE | L'operazione di fusione delle trame D3DTOP_BUMPENVMAPLUMINANCE è supportata da questo dispositivo. |
D3DTEXOPCAPS_DISABLE | L'operazione di fusione delle trame D3DTOP_DISABLE è supportata da questo dispositivo. |
D3DTEXOPCAPS_DOTPRODUCT3 | L'operazione di fusione delle trame D3DTOP_DOTPRODUCT3 è supportata da questo dispositivo. |
D3DTEXOPCAPS_MODULATE | L'operazione di fusione delle trame D3DTOP_MODULATE è supportata da questo dispositivo. |
D3DTEXOPCAPS_MODULATE2X | L'operazione di fusione delle trame D3DTOP_MODULATE2X è supportata da questo dispositivo. |
D3DTEXOPCAPS_MODULATE4X | L'operazione di fusione delle trame D3DTOP_MODULATE4X è supportata da questo dispositivo. |
D3DTEXOPCAPS_MODULATEALPHA_ADDCOLOR | L'operazione di fusione delle trame D3DTOP_MODULATEALPHA_ADDCOLOR è supportata da questo dispositivo. |
D3DTEXOPCAPS_MODULATECOLOR_ADDALPHA | L'operazione di fusione delle trame D3DTOP_MODULATEALPHA_ADDCOLOR è supportata da questo dispositivo. |
D3DTEXOPCAPS_MODULATEINVALPHA_ADDCOLOR | L'operazione di fusione delle trame D3DTOP_MODULATEINVALPHA_ADDCOLOR è supportata da questo dispositivo. |
D3DTEXOPCAPS_MODULATEINVCOLOR_ADDALPHA | L'operazione di fusione delle trame D3DTOP_MODULATEINVCOLOR_ADDALPHA è supportata da questo dispositivo. |
D3DTEXOPCAPS_PREMODULATE | L'operazione di fusione delle trame D3DTOP_PREMODULATE è supportata da questo dispositivo. |
D3DTEXOPCAPS_SELECTARG1 | L'operazione di fusione delle trame D3DTOP_SELECTARG1 è supportata da questo dispositivo. |
D3DTEXOPCAPS_SELECTARG2 | L'operazione di fusione delle trame D3DTOP_SELECTARG2 è supportata da questo dispositivo. |
D3DTEXOPCAPS_SUBTRACT | L'operazione di fusione delle trame D3DTOP_SUBTRACT è supportata da questo dispositivo. |
wMaxTextureBlendStages
Specifica il numero massimo di fasi di fusione delle trame supportate dal dispositivo.
wMaxSimultaneousTextures
Specifica il numero massimo di trame che possono essere associate simultaneamente alle fasi di fusione delle trame per questo dispositivo. Ovvero, wMaxSimultaneousTextures specifica quante fasi della trama possono avere trame associate attraverso il metodo lDirect3DDevice7::SetTexture. Per altre informazioni su questo metodo, vedere la documentazione di Microsoft Windows SDK.
dwMaxActiveLights
Specifica il numero massimo di luci attive supportate dal dispositivo. Questo deve essere specificato solo nei driver che supportano la trasformazione hardware e l'illuminazione (e quindi specificare D3DDEVCAPS_HWTRANSFORMANDLIGHT nei relativi limiti di dispositivo).
dvMaxVertexW
Specifica l'intervallo W massimo supportato dal dispositivo. Questa operazione deve essere specificata solo nei driver che supportano il buffer W (e quindi specificare D3DPRASTERCAPS_WBUFFER nei relativi limiti di rasterizzazione). Le unità per i valori di profondità W dipendono dall'applicazione in esecuzione. Ad esempio, l'applicazione potrebbe specificare la profondità in metri.
wMaxUserClipPlanes
Specifica il numero massimo di piani clip definiti dall'utente supportati.
wMaxVertexBlendMatrices
Specifica il numero di matrici mondiali supportate per la fusione dei vertici.
dwVertexProcessingCaps
Specifica i limiti di elaborazione dei vertici supportati dal driver. Questo membro può essere un OR bit per bit dei valori seguenti:
Valore | Significato |
---|---|
D3DVTXPCAPS_DIRECTIONALLIGHTS | Il dispositivo può fare luci direzionali. |
D3DVTXPCAPS_LOCALVIEWER | Il dispositivo può eseguire il visualizzatore locale. |
D3DVTXPCAPS_MATERIALSOURCE7 | Il dispositivo può eseguire operazioni directX 7.0 color-material-source. |
D3DVTXPCAPS_NO_TEXGEN_NONLOCALVIEWER | Il dispositivo non supporta la generazione di trame in modalità visualizzatore non locale. |
D3DVTXPCAPS_POSITIONALLIGHTS | Il dispositivo può eseguire luci posizionale (include punto e punto). |
D3DVTXPCAPS_TEXGEN | Il dispositivo può eseguire texgen. |
D3DVTXPCAPS_TEXGEN_SPHEREMAP | Il dispositivo supporta D3DTSS_TCI_SPHEREMAP. |
D3DVTXPCAPS_TWEENING | Il dispositivo può eseguire il tweening dei vertici. |
dwReserved1
Riservato per l'uso del sistema.
dwReserved2
Riservato per l'uso del sistema.
dwReserved3
Riservato per l'uso del sistema.
dwReserved4
Riservato per l'uso del sistema.
Osservazioni
Il driver alloca e inizializza zero questa struttura e imposta i valori appropriati nei membri supportati. La funzione DdGetDriverInfo del driver restituisce un puntatore a questa struttura quando tale funzione viene chiamata con il GUID GUID_D3DExtendedCaps.
Quando il driver compila questa struttura, può impostare i valori per le funzionalità del buffer di esecuzione anche quando l'interfaccia usata per recuperare le funzionalità (ad esempio lDirect3DDevice3) non supporta i buffer di esecuzione.
Fabbisogno
Requisito | Valore |
---|---|
intestazione | d3dhal.h (include D3dhal.h) |